From 9efa9b19c5333e1b2b3b41d2a6bcaa61c1c0c544 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder <65698588+gooyeduck@users.noreply.github.com> Date: Wed, 17 Jan 2024 15:39:25 +0600 Subject: [PATCH 01/22] feat(quick-view): initial module structure --- Includes/Modules/QuickView/Includes/Ajax.php | 60 + .../QuickView/Includes/CommonHooks.php | 58 + .../QuickView/Includes/EnqueueScript.php | 128 + .../Modules/QuickView/QuickViewModule.php | 118 + .../fonts/Inter-semibold/Inter-SemiBold.woff | Bin 0 -> 159760 bytes .../fonts/Inter-semibold/Inter-SemiBold.woff2 | Bin 0 -> 98184 bytes .../fonts/Inter-semibold/stylesheet.css | 9 + .../assets/fonts/inter-bold/Inter-Bold.woff | Bin 0 -> 159380 bytes .../assets/fonts/inter-bold/Inter-Bold.woff2 | Bin 0 -> 107236 bytes .../assets/fonts/inter-bold/stylesheet.css | 9 + .../fonts/inter-medium/Inter-Medium.woff | Bin 0 -> 158424 bytes .../fonts/inter-medium/Inter-Medium.woff2 | Bin 0 -> 97644 bytes .../assets/fonts/inter-medium/stylesheet.css | 9 + .../fonts/inter-regular/Inter-Regular.woff | Bin 0 -> 149344 bytes .../fonts/inter-regular/Inter-Regular.woff2 | Bin 0 -> 98756 bytes .../assets/fonts/inter-regular/stylesheet.css | 9 + .../assets/images/stock-bar-icon.svg | 81 + .../assets/images/stock-bar-instruction.png | Bin 0 -> 22200 bytes .../assets/images/stock-bar-module-img.svg | 50 + .../QuickView/assets/package-lock.json | 17222 ++++++++++++++++ .../Modules/QuickView/assets/package.json | 21 + .../QuickView/assets/scripts/jqmeter.min.js | 11 + .../assets/scripts/sgsb-quick-view-style.css | 57 + .../assets/scripts/sgsb-stock-bar.js | 32 + .../assets/src/components/DesingTab.js | 63 + .../src/components/GeneralSettingsTab.js | 50 + .../assets/src/components/Preview.js | 136 + .../assets/src/components/QuickViewLayout.js | 185 + .../src/components/SettingInstruction.js | 59 + .../src/components/Templates/QuickViewOne.js | 78 + .../components/Templates/QuickViewThree.js | 80 + .../src/components/Templates/QuickViewTwo.js | 78 + .../assets/src/components/Templates/index.js | 107 + .../Modules/QuickView/assets/src/settings.js | 41 + .../templates/simple-stock-status.php | 65 + package.json | 2 + 36 files changed, 18818 insertions(+) create mode 100644 Includes/Modules/QuickView/Includes/Ajax.php create mode 100644 Includes/Modules/QuickView/Includes/CommonHooks.php create mode 100644 Includes/Modules/QuickView/Includes/EnqueueScript.php create mode 100644 Includes/Modules/QuickView/QuickViewModule.php create mode 100644 Includes/Modules/QuickView/assets/fonts/Inter-semibold/Inter-SemiBold.woff create mode 100644 Includes/Modules/QuickView/assets/fonts/Inter-semibold/Inter-SemiBold.woff2 create mode 100644 Includes/Modules/QuickView/assets/fonts/Inter-semibold/stylesheet.css create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-bold/Inter-Bold.woff create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-bold/Inter-Bold.woff2 create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-bold/stylesheet.css create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-medium/Inter-Medium.woff create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-medium/Inter-Medium.woff2 create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-medium/stylesheet.css create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-regular/Inter-Regular.woff create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-regular/Inter-Regular.woff2 create mode 100644 Includes/Modules/QuickView/assets/fonts/inter-regular/stylesheet.css create mode 100644 Includes/Modules/QuickView/assets/images/stock-bar-icon.svg create mode 100644 Includes/Modules/QuickView/assets/images/stock-bar-instruction.png create mode 100644 Includes/Modules/QuickView/assets/images/stock-bar-module-img.svg create mode 100644 Includes/Modules/QuickView/assets/package-lock.json create mode 100644 Includes/Modules/QuickView/assets/package.json create mode 100644 Includes/Modules/QuickView/assets/scripts/jqmeter.min.js create mode 100644 Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css create mode 100644 Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js create mode 100644 Includes/Modules/QuickView/assets/src/components/DesingTab.js create mode 100644 Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js create mode 100644 Includes/Modules/QuickView/assets/src/components/Preview.js create mode 100644 Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js create mode 100644 Includes/Modules/QuickView/assets/src/components/SettingInstruction.js create mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js create mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js create mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js create mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/index.js create mode 100644 Includes/Modules/QuickView/assets/src/settings.js create mode 100644 Includes/Modules/QuickView/templates/simple-stock-status.php diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php new file mode 100644 index 00000000..20f3b982 --- /dev/null +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -0,0 +1,60 @@ +get_stock_status(); + if ( $product->is_type( 'simple' ) && 'outofstock' !== $stock_status ) { + include __DIR__ . '/../templates/simple-stock-status.php'; + } + } + + /** + * WooCommerce get stock html. + * + * @param string $html HTML string. + * @param WC_Product $product Product Object. + */ + public function woocommerce_get_stock_html( $html, $product ) { + $stock_status = $product->get_stock_status(); + if ( 'outofstock' === $stock_status ) { + return $html; + } else { + return ''; + } + } +} diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php new file mode 100644 index 00000000..7d325cd3 --- /dev/null +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -0,0 +1,128 @@ +inline_styles(); + } + + /** + * Add JS scripts to admin. + * + * @param string $hook Page slug. + */ + public function admin_enqueue_scripts( $hook ) { + if ( 'storegrowth_page_sgsb-settings' !== $hook ) { + return; + } + + $settings_file = require sgsb_modules_path( 'QuickView/assets/build/settings.asset.php' ); + + wp_enqueue_script( + 'sgsb-quick-view-settings', + sgsb_modules_url( 'QuickView/assets/build/settings.js' ), + $settings_file['dependencies'], + $settings_file['version'], + false + ); + } + + /** + * All inline styles + */ + private function inline_styles() { + // Get settings options. + $settings = get_option( 'sgsb_stock_bar_settings' ); + + $bar_height = sgsb_find_option_setting( $settings, 'stockbar_height', '10' ); + $bg_color = sgsb_find_option_setting( $settings, 'stockbar_bg_color', '#e7efff' ); + $fg_color = sgsb_find_option_setting( $settings, 'stockbar_fg_color', '#0875ff' ); + $border_color = sgsb_find_option_setting( $settings, 'stockbar_border_color', '#dde6f9' ); + + $theme = wp_get_theme(); + $is_twenty_one_theme = ! empty( $theme->name ) ? $theme->name === 'Twenty Twenty-One' : false; + + $custom_css = " + .sgsb-stock-progress-bar-section { + border: 2px solid {$border_color}; + } + .sgsb-stock-progress { + height: {$bar_height}px; + background: {$fg_color}; + } + .sgsb-stock-progress-bar { + background-color: {$bg_color}; + } + "; + + if ( $is_twenty_one_theme ) { + $custom_css .= ' + .sgsb-stock-counter-and-bar { + margin-top: 18px; + } + '; + } + + wp_add_inline_style( 'sgsb-stock-cd-custom-style', $custom_css ); + } +} diff --git a/Includes/Modules/QuickView/QuickViewModule.php b/Includes/Modules/QuickView/QuickViewModule.php new file mode 100644 index 00000000..400d83cb --- /dev/null +++ b/Includes/Modules/QuickView/QuickViewModule.php @@ -0,0 +1,118 @@ +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 z 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 e3m+9FBPv(vjuU= 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 X96R$#?##dA93(*C-|! literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/fonts/Inter-semibold/Inter-SemiBold.woff2 b/Includes/Modules/QuickView/assets/fonts/Inter-semibold/Inter-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..17a8bcf7f830d5e4961511bf0cba2da39f245b17 GIT binary patch literal 98184 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 BXb1oR literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/fonts/Inter-semibold/stylesheet.css b/Includes/Modules/QuickView/assets/fonts/Inter-semibold/stylesheet.css new file mode 100644 index 00000000..eac496c4 --- /dev/null +++ b/Includes/Modules/QuickView/assets/fonts/Inter-semibold/stylesheet.css @@ -0,0 +1,9 @@ +@font-face { + font-family: 'Inter'; + src: url('Inter-SemiBold.woff2') format('woff2'), + url('Inter-SemiBold.woff') format('woff'); + font-weight: 600; + font-style: normal; + font-display: swap; +} + diff --git a/Includes/Modules/QuickView/assets/fonts/inter-bold/Inter-Bold.woff b/Includes/Modules/QuickView/assets/fonts/inter-bold/Inter-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..80b6ba9a2f9b3629ed146eeb33313ca5de0026b2 GIT binary patch literal 159380 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

qG?%v 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 Y-`HB`51py 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 M9?o22aG)Um4?PGCD*ylh literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/fonts/inter-bold/stylesheet.css b/Includes/Modules/QuickView/assets/fonts/inter-bold/stylesheet.css new file mode 100644 index 00000000..2de67aa8 --- /dev/null +++ b/Includes/Modules/QuickView/assets/fonts/inter-bold/stylesheet.css @@ -0,0 +1,9 @@ +@font-face { + font-family: 'Inter'; + src: url('Inter-Bold.woff2') format('woff2'), + url('Inter-Bold.woff') format('woff'); + font-weight: bold; + font-style: normal; + font-display: swap; +} + diff --git a/Includes/Modules/QuickView/assets/fonts/inter-medium/Inter-Medium.woff b/Includes/Modules/QuickView/assets/fonts/inter-medium/Inter-Medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..aa6000ca949ad99a43a1fd9710b565c532c5c7b4 GIT binary patch literal 158424 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

@KKZ$siNjDer1 zb?u`72(pBTUZxokM=vd|_z$%W3K+IzYG2p5<`E7~K6#V-xb;kI+QgST8R6G5y!FU% za4vj!IQs7^BgFPK9J;WfeZ#<};*2HDngx`5goP!Cg}Zr#hb4!EXsrW^j1%!eeQlJa zg7?4HF<8pA1(x$>T>7Sz+o-Py)bl!k$h09ogVrih;d-D}fxSol<6D8(UlU3L&8>in z|B>I%KfWcXmH)+D{EIt}zq!K21Nf^1HSZ(8k9T~HP%H1RRJRAUb8f4;J>c&`4w18& zg^*d1uTr6qlWI}8tP?r#k*ZFilg>_pzkx<;mM>oipX}U*4{Gp3>7e3i(cItEg|)zF z73iwDTBD|kFY!F^=6YFBbn z0}{Am`U;OoxI&o;1gLnMLU^;)&zm+Tr6z|!qPcLc#^w+${~6Dx`i}h@d}u8*k*O%Y&;5JcS+^^IJP#2hMm?yRwZHss}6+CIWk*8W`=PO2ySM=`^80qRaY*`zj zZKl_r#6ivnEEf#nx~gqt9?$ch)V=vXx z4b0=C-lMas38~|&sFe%dQ*dpZQ2n@gFuZndC~uu3E|Osa=1IukW2=WN+;J_V1J-eI zoAiy)<$?muv0lI%sm96rYaG_j*LVUjs?N?AUu>sVZGy$ZxLD}nzzX|4wCR4y#cPxM zBe8W;tDZ4O(0Xts`8oxBk1gF8FlH8voMd>U$kKG9n*#?kF9%N##!53H^zTMnrsNbV zJmW*1^S};R2CKfnn}+4$-t!X{9cttr8}GFnP6W*!Jp^)=d!afg#S9oZp`UYvn^I=z zI2fKi@&1or;)i<9O#i=l`woC8j_=`}-Mu?eQITdtffKNza=-~n?@d4jyVy~%_ujkM z#ok-&JyB!VM5Dh%V`4O-Mvbv0nnYvN05|u|%&F@?tt5w_ujmDZQgt1 z7typqtt!n20ME0(zc@w*iagj;|B`u)_ECM@xeKTWpzcbydO#?q;PbHq5tLkPPXgqf zFWm-q>plU1cHNGwU8TQv`c>`k{H_j|zVQsa{`Ty_TW~7BoJ^`ZDyv;&%UHLD>cY{h zFK%7oxwB(*zPe%D+ZD&xfM78mHUJJ_&nTY#|DoF}`{-6&PlU54;`7(!uA%=6x=pZ& zZpHh=+#|wo6#$}JbE>r+l*18R0v4BBZ6E#iFDm*5E{bj$8UsLdtB@#L`OgO^VKMM* z5f#&{MPxLWQ-t|Ym5J!t0DBg;QPkNB(4uKxHd$4dK~?zj%ec_6*!WhVWiVxBTwD$= z_m7R!1jbMzjdKx=NuN`jY3#1mxGK~>L0X9$VIQHpE?RUIzAc3B??tz46^;CeXd6k* zIE^1){ig@cYXc&qS`Zh)K!zg6)h1eFB!C)-NFW@_BDn6=@)cjf*URA__hVbN zj*A~1Yn|qFs|_0}!`Hy2(&vG3u|a{caU9*TOyFf{WVximzm%&%<&&=;eiQ8@A}@G3 z+tPlCQ4X0KW|!>!XSApjIwM=|9-=pic5}CHNn`Hh&aOwp1Us$Tg$u=hDyo6OhB#4( z{tx<)65mM`{kNz&TW~UU)eF86v_7r_hHK1Ih_!V==oz2F_w{ zDVzs+I4g;8V*7-H5M0%@5uht>$;Y(<;X(QtfvuKB*hmh92~?mNwnk(j`b{`5=nVVt z@Kh7wF~t2jpnMFGGJ$UGjbdaP*oS^j;Hzhuc7{AH6ClqEgIj=9CFX@~heH)Hqz_JA zQc;eJjJebh!!7dSHt{mNV|zW`4BzjZcxQ9hN8hjC@SW})&sCt%;9r#bZF@I9aptuN z%-zz)s}3GmT{@D>(-5*XI3H^Y+nn45;z{cJWct*E({d0n*+sW2HQYCD=hdP~{hD=6 zYX*~ehCv|kZ*I_wO153-KK%YQ`m(P5uzBj}A*Js)zLDktZHHrc8Z@y$0WQ2l8^_zs zXz=T@sl6Jc2E=-r9BZ2sVgfs6Sv{Y6VrY$zi_YR{(bOU(WFvp(v=}LO@GVP^V$rMrfCaBacGgvHxFWXHv&Wm_n|AuX@`i!h|3;R}@#CXlf z(L!#ur|*9HNRB*AC;6~0%hReWi5S(lL@j(4;o~bBT0VwqL0?mHx#`ltmmnrIBnq3b zFfcl#Wh}O>WN4+RyJ5rifQZNz%_AZLn#Dx*3XkAoha9a`L{8Ty`%{)$IC5v`r{!Ir zkGz^uYM?H~Ar?b19L$Uv9v3%UjzDa)b?bKaiHQkl5fh1C`b1LPy)KGe6}}g|F4qMS z_d)cL&u{Ss8=b(WzjQBPsqO_hC!gz562qRshrV--nFQ~@P=t6Jg z0p71+ub<)NO7JpRbKvn)1mF~QTFGQ~dT}$hYsq$e3eNQ@q$p)~Wt3rDXZ}Alq?#e) z&V(l(-K%u}aZ#nakKu`*o;W=LacD#YI=HZY1E`)S%$BHvB$p4W}r(llx=s#p74Q1~JcCTz_0Kt3cW*_j|Fw>^<0k9xMh=xlXz6LVw)-hP5EQX3<)3c>uLZ zyG?QnuVe=9K3vJGH?~3P z8^%r7POvstvg0olmdv`K>`(~=!T$-q+63HSLFvuc=}5Xv8b+HychenbI--^AqT4E% z$b}53cxI!nLd7%e6C>Ym4AP@JNw0BdBiIaxOM!dBlT(0AlCLuXPGL&P9pA1da2ZCD z00uSuNFrR4vBn@Dd#7-(jR+IYuaiJ?N!LbzgU?Hx01xsoR5gYHKPj1ggszP^?+GzC zlFM6mw~)8YrL#zrtJ`teEGBu%IGcsh|4rg1H-vjMEP4HwZhSCtvf(-NR`RkDm63A$ zmD3MjkshOJbID5K6~fahxbB9eBtynB=~T38^^b*6-!dg-XiAEi^1r+A`ikZKb8F(u zJJQpGG-;AM623zFt0vB+Hrrv<md2>Vju_5*XkI4t zkgpFaiICPH0aAl>Qt6I&sdJFlNm_fPb;Yg70%o0CI3P{aqD5N#`SV5ecUPJNx58~? ztle>!<4X@RG#&@>5q(4Hf+d<4DPuAmtEq5%_0L{?vZw0h?U6|iUSW$p?mlF-+g5L_ zcA~=gZMbei|4LC`@eId+G`K*?QvvvEw1lv!zXD&eW?ooYr=}-^D9LJGox>QhM%8{ND;HLW|law7^~F z{DOVeT5`&zGN(w+K4oe&09kRWZTkV}7$sf~yL$!e?d78$+pkM>Qbogky2|B*K5_Qn zr)vs|9XIM$+^bBD0-$}Ik^|CSA9v>;yfR9F@ z_EY)b141)`!G)l~R?y(~mTlnc)j!=4>9sa zy>;tt-~*Sg-0-7#Kl4H~LFpm*H>iZ`YK{|rDkwLNfCL0Pm z*r6MRQ47!QkQy3ZL8Pggr>U$u!^{cW2Kb*par^@C|IoQ}v}T;Tj(>+vQ4MC) zuhUedZtvfhEcsnmC#+{&)7tJ~y`udkcVHjn>6>A{Hn0Mw?L;od@SivjnttruC0a8U z!QZiSRD

-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 MU;m%|MtmyxKbFc%5C8xG literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/fonts/inter-medium/Inter-Medium.woff2 b/Includes/Modules/QuickView/assets/fonts/inter-medium/Inter-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..838c1ed6e61dc8df2f170a87601a9663a3bfe62c GIT binary patch literal 97644 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 z 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

*sNG%k4pX`!{UlY3tHaFaXsF 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 literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/fonts/inter-medium/stylesheet.css b/Includes/Modules/QuickView/assets/fonts/inter-medium/stylesheet.css new file mode 100644 index 00000000..603d09f5 --- /dev/null +++ b/Includes/Modules/QuickView/assets/fonts/inter-medium/stylesheet.css @@ -0,0 +1,9 @@ +@font-face { + font-family: 'Inter'; + src: url('Inter-Medium.woff2') format('woff2'), + url('Inter-Medium.woff') format('woff'); + font-weight: 500; + font-style: normal; + font-display: swap; +} + diff --git a/Includes/Modules/QuickView/assets/fonts/inter-regular/Inter-Regular.woff b/Includes/Modules/QuickView/assets/fonts/inter-regular/Inter-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..14283566ad22afcf27aaec6c4aea413b656badec GIT binary patch literal 149344 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�S*&iO;2f9}V^GbDt}V{}J^iz#F^K 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�UHG3oGUI*H*4fp+(W+esf&&yw^5cwu33Q3%t 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 Y=O3Of;v)VhT{`Jt{3l(0^J?aQ0f2)WkpKVy literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/fonts/inter-regular/Inter-Regular.woff2 b/Includes/Modules/QuickView/assets/fonts/inter-regular/Inter-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e0355799b9bdaa5c8a4f4200a5f2f8b01b831b6a GIT binary patch literal 98756 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[f&2~H|^>X6``At{czm_P#Ppw^w5|DMr7L5yrX@TqU~0x zdT<3(O7GLdA?zL6aMI!kL(EYRB$vNyu}mW$LcY<(ZYw3KKVv64>ve!$bm_L))LhZ- zep%C&s3K(pJ-u8iqN_b%;;FiK;Lvy8-F$jm#@E)CaaSOyykE*-vAPBS(w#jKIBU$= zMBd=@JTcAfF*=6_Gdcy1c^8nxm@^s24_LCqO#|sRVg; z47X%_L!*PDBQg{Zd`Hq_x|IsrSt1H($Uz@4U^$72VhxktTpr~$JMOu#nuqx9e5w!T z*s2+r6$~ste3HTlPJ}dt+od^%fxi*+rxV=TVeM+jnh9WoUcG101SZqbm{OkjI;cmz z5Azl~tS>a8s@u*CS*LiXMZ@RWKZB#g z^T~L6vj-OUAv3-Hvd38v>onJyj_1o`=`Ajt@U0D1I2iltDZp4BVynf-D6$->dkXq% zR|3hc$p^!#)!zlmQl+Nm!@9RkBz{jMBEhJ(!kEOn)Lyk^KxJHm!I;5|Ko@8qAQ10t z(B$rwiE!<|1P`bbASxgw7&t(R;ff~m6ZtBAW!k-E6$05{GMY{2b7p;Nfp;M=*sP`l zNtm0iR~wI$cAq~-`lT*mYG1Z~00M%Dsudz(NWet0=@E^}w|J|^7G#=TEPP^T~ zEt{V2CmSlja<8Y%sauVhjqYW|X?a0r_yBVzCV8&SV^=8eW(eD3pLw(@F>> zSZJCki^WRCblQD-Ur{-a+x2(AukQnnilMS`^HK>h=Xq6RO~-jnXpYA@tvbH<^WrW5 zFf7}U{2&bbfOz3eb`@EDa-#F3!^(`Ii>~+F=L*-YHvqu@WLb!seXW-}?U`3s6fBtsAstMx~hX11(+;@wc>Z|p@$Ot~8&g*Yz^ zpoJg!$Br;a;0;3(#xoKp!MP&Gh6}YE4whpg44IExh+t@Gdir8Vw*FgKbcbzqIWoz@(3_o45or zq28UEZE9r6Yd*mWa>?jOZ-4%RKzo82fHd}=%r6LJkWPoDS&g|&O$)RYZHbLQ?sN+r zP)_>5r|4?J;R%_1yljn!K_7T&U}*RQxBGIHjWj?hVC4@W4O5F|kt1=xGKDwj;*(jS z(o%_7HUwHW3QM$XQm*5D;@FSHf0OsTos90J^j;}oSrSAMC}Y^Bte>P=<>0z*kgnf+ zJ4VkeCD}t42uC7P%XUex zUYb%P!{8`(%65M!So-4M*f_yu{Z(}``!^WNPU`Z$R z0(QIuHOcv9T9#HE~`Pcg@oUC7m1sxN=Lud*eYjM;VMgs>HXwQ7+H~|I8|Q zYWgP}V9g`bvt`qyNkk7x-j7m>6SSQF^ke&^E+Zp^nXQ6I~rx2kL~=P1<=F?c@sDC-X! z9h{&hm8Qf7wP@1(H{oR^uD81c>qP_|VRaaBC#^=c4>`$s}meAec;CdPbku<&jw z={}2>?Kk!#3uiL1R-O_iszQM)VR39LrOI|FiXoQNiYPJdCW-MW$if;saI(oM_jQE9 zH-bI*P8KH^XA~1DBDg4YL0q>CPqV2|$T^&HDot%K#%AtjxDXlMEO{3Rh;2fn91v=q{F(2CXKGMw48ukmv# z`R`T^ncCxZGK< zBmUaT=$#)Pb7%rRIo%cxIP8^O4M6A-rrn%T$Z?=wkQXszPSCcnB+AcaS~Cbdyf4V) z@fK(%1BYWK!=J@8m&GhDw5`UYo=`jm55sjQ>c6aVfxI8ezS@EFb4EXzHcw}pw%~yr zGw_7uGumyA*bp&J;Go#>eS{#8$-=@k8WGAC3(Xd8JD|8VnRyH*8&T_9t7eE-n3?XY zGcy#Va`H(2XUm+XQPt6oi$$pP)4>wp73Mz)UKPt_Dy6!CqB0rH<}#Z;7Yv-M9vzMg zmGEttF!3Q}{c0TtEt{3N$qSruM&K3a7foUa42mYtm*yMl7wiYHg&cGWV{T#Tit{%IY$9FQFT?UOS z=%0Y$w|b=z!xuX@ z_?rNBdp0C@R2&1BV1Fs%dzN2-Jpbh)bO|isWi2oWc90HGv|`(yta4w>GT)Vlk5NcE zf1>rd(VT3lP}=XOklP(Z9gk$Tqk3P$F>gH?+e<(=cd@q@=`1y&sr>=8bG%8V9wu)P zPQ*y^9t1??!KihJ_`+81wvj}k0@ggbY{xnGj}!+A({Y=>>eyWgUwugO zb&LWY(-quy?fZ`cTETK5$`bI8pIG?QWYhMjkcR=bLLeyPEU9!vr|^##=rZS$L2A`< z^?VWf3=0Q150T)I$huuU>qkgDA}zftEf*ISaZ@N!*~Ocm(B}I9y6zw$E8YPFAiDoB zeCHJ`T?&CnWj#FcnPAepB}z{p6w!6I6X4VUZnF~j>^#P0va|FYn^ zRTj)AGzIGP7wJLE34wA;Ud%uIIJ4rH%&iJd`0>;QH2;O9hnpF5dZ1QivR8JuH?`lkgD z0)d1?u!!QnpiM1=G~*kV14Ld2jNlL`Fszb6TC2ml%%%+cx1YmoFnxE&`@+dPj-6AN zT?R3Z@t3&L7z!UZY`gB$yGcUs!Y1#UBN8B=Dn1<`KczqbNSv9yI4+*+Q@gt6K=utK zoSC3tZs=^LVKRmP#+xP`H>Sy6*1JYmX%X+?@T1+ci8<1N{z8_kzRkB;0#@b%aFy*mKSH0!qk9OdOB1)IEkyNBEMx)Yg#Bbtk zW3?bsVFyfB^bXtYy{qz2zgNe{>!?BG>rVb_Kf}Jm)VuTNG|Oq`U((xI7%1mhD?w6A zRMgJEwxy};$gDlp%SVpO%N*op?~k93z0b*a0P0i&7W2ly%O|XvNez5m8G8(~b2V%~ z+@0q;>e)N>?ng$FF{x?9RMg1W+ue39|SKhEGco)Jidyx zCR0OfYgoRtxFKOmcLaXU+l=`t;C)OInA$NxO~5UHm~$G!4iyQmSu|$86~!00&HaV5 z72&Sj&w;ULOuG-9br9 zUr!>ltKbAQHRL}cux7cY1s~*$%qI)#=@?|jQV3<|j=6rFw`zG^~^!Hp&Q4T)0%PO3wXRE!U$t zqbkQpJ*&&uK|;?xrhJ_{_)`nhf7(S&64}MJXWmaZYxLQCyPRYqeqv=Z6K^eIH%X}G zNJXnS?s6|N2jS9<9C6w8bQ<(LmDP+CB`J%wA&Q?r4&Wb2UxMhIS(jatplRO+7nUwe zlSz*Xjy-c=u~2uvxDUG~0~WUitJ`Fhvi`q_LQ62Nvfm zIAgb(6|hW{<*Cg^K%`6CIbpK%$~m!=^1$g)?Pb3HfiERNarfo4;b00zzW$sPmvs*` zVkQwB$;3CeO3Ewl?wjc{&{`1cK)xoEdVX46GA9qNYPg5z~7yd!)jqj%G(|;53i?}-e26GaM%M#MJ|r3_*@Lq7ZLgz`C!%~yC37#@`g z+z`V!jA6vba^7`2gI#v|Wy78%<-yPm1q5wRvqv=J&i$Xw$8UoZK*JHCni)o9W!#M% z93&?oiYHQn3sSV(FqyUWx^(F)Q!1Itcz{ezWzh358uP1q&Dp5+eF@|HQt@*G!C*ER zj}8H)p*1l}-}=04+(F!ngRFJLGiPL(A#l8z4FJmW@PA~t-U^bYJtZv5P z+>po4d})GS)BV6jAoY`U)-Vkc~Uz7lVci&nWuludJ7bV-MBXntN{2l;(kwS3zFVobdAE3z0e&`UPR z-k94vKI=EFU((gs;%)J0G$$!y%2r1YLj+4MH91SuSX**(*hD9nEua6V%{Z%R1w;r$ zL>ZKbG*yp9XVJ{=`KBZN`yiO{!h{ke#80KB^G65OtlV*z0^vW%g^A*5mP%i_qT(67 z3xrPKcG zfLwbkM?nZwtL8f@E_+_uXTN|3ZCQTC(qh!`cqr9HP=hN@T7#@cDp)mKjd-<3lHJ8G zfT+4U1+2%cosx_OT3zrJC{7>VL@mLpaV~mLNbycX&6Mt3)lW9{a))x4uw&kPSPk2u zq-HOUPkuf_TP)`IPDcJJ8xD!8$`SSb&^A{86E749INDrNPqd75AuNf1S@P2?izCsT zDi414NF?kua(Pf*v)%98#MMjH{)e+G>V?;wV#(B9g}IqcbN#N$ty^5WlSV-bmpNpN z(kl@WPQtCTO6FtbHf1;=nttLiWCtbs_8k*&1wP;(Fkq?s;>kmBTW6UtC8FI2hlIm2 zUBH^WqZ}IuVFQCByl~WOT7iqEXdmI69NT;`|TOW3@r-dT*|g zB3uN1eWgZy6{a+CvJ zRJLv+VZ&7X`&yF0x0GkY%O9MOGOu%n_^M=ljf?^&6AD#?8*!LHeV~fRqkexj# zBeK{Fxl~UwnetUxcJp1(TB6CFPZiF|6ihO zWhcNuhGCRO$6v3z_y+;4d)7CcsOOKooxfFEbL|Jrqta$$KV&NM!OFqdE%fD|2XS>- zq{`<1`Jnw+tQO0fHg2;DaK41ZA9}j2gl6|B6t0cp=06Wi2Y~N;=?Bhyn2=iI`@Y|( zT$oy`!bF7hy1V(@1{Yl^d0Hok@x?OK= zXJ~r9pL*c8KJYdG0BKDQ#}R0<(az@*^d+$XxjGAjbkB1zSQr*-k_uvcRE`(sMJ;kp zUPwz$^*>ShO=k0nL_{V@Z$)f*6U7hkpK+Oefd=Q+152tu{4?(3@esK@?r{Z0qv>pvz9gIJfM&sI#;D3(Qux{dlhp=AE*wMK;Kv- z8WFb2i9u}73=zvn_{0*g{&AgXDm%yV95FL#_x51Z_hEV@kKl#`XjnB+)Y>s8e6}`; z@vdm+|E8zp(a*`{fdPS77b#>U8=dvHB3KU8+DD3OeTS<_&tX(u*Dw+;9Pyq{MPd}RAObuyTas8&Bs=!+rMZD4UA27m+bEBMEpnT%`NR7)2)Vh?yk zv*i!!D1@dv>v9N|c0BF$ciAIKn9qhI z$}Tuen>=v%M}M}dinO3>-?Mu@84Xm7Pf zv66dtzb3(coG0T~-VwZncfBqLhaHUGsuKp|P#C1X8+RSex9_wL&FfW+(>X}YsHY)D z0*99z3$1ikx1QBhC)Apsj%-fYtCI)Esb+s1K?X4%;x7aiOyCxH z0;CqhnO>dEjwSk@Y(?1%Ve38uAP{G7pY96k-OvjLq?u8Qv`QmGLd4^-98f_MxS?cVy;1Ur!>S=g2Mhb?Uo_ zFR|yS0&c6NBD&LLsM<13V$%AeFN-#?dVqIdq6zb2_igmdwyXiQ#GD7J@d8D@Elg%ysvcbIyqTFtYCJfln=5Oa8@E!iS_M?WL52WeyQ9!H@NkCu16jb zT9zNpupKI*0){4GEX`GWr-oI&pY@x=o^XGPk1no zBtJ$KLcd!4f<*w9YYyODpgx9T$>?ZZ$CXgdD=WKeitpq>Q%H_Qu7GS1m>hFsX5dc4%!3fXl5W6 z!1J6(O5if~+1;j^6`4E(eqw)7pctTp`S&J3bEsMAJO+Yo%PU8Q8e9rI3P5wv*@|=E z*$(GCmok?&mm-%cmx4gG(F&GqnUerGU|flVGpgD0N4#0iJZKfOrRZPV83#e+b1fP)y%Fcq$~#k`^a9}Q)BB|$-N$_VRQq;m0|+&SKn3kVjA6!KzJw9fLRy5z z=4sIZ+Oa+OgLUQz@|yBypCwCz1@zokWpcYmHRG zus##!u)XNt5%XcDoGw@9N@&#X@gjXFg1gaI#y^Cl9<@5vd%EHCX;ZkDpy9fy!kp~l7+*u=o+i$+Usg)CcM?Xw{%?u0yq;0_|&hBAyucAj~NGgLU zQzI5xBPQA-Hil^JWg_&Z^-)@%NJbi?h=}ossB?(Of55cvc7-mbii9nThO)QVJ8zhc zXM#KuKls{PiN4XjD)|K{qlpxqJq0WtbC}A~c7q8>l9Q-tRaBu=Dzavk1u!be2DEe9 zdCs+S(7kB9ti5o&wATZmrUg+mVpNTqCpfPU0L0qb@T2(q0sxRmDS)Al_zQtBlnbD) zPVL2fJ7%Z2b2ZT1tlEar;HvHe?*~K*Iq6t7-ND@X!C`Q3^l_wvJnD9h@~hc=k?{)Q zOif+V($kkrRC6_eO#vr?(pim{!!?jir_x-QXij5#PQx6+lT_H&j{Yjqwbuht*F#m- zgI#=bix1lx6DaAvjiPIe4l^I_lJf2`_v}*N|FwH9ggGknhxIcE3uK6h=O-!`7vgdx zaXaQte=w~ znPxkWON`2szw#K$TTV$;z!%xcN20PWzFs5-K9*HAnh}ej>%2#&dW$6H4h)Ttzz-tP z#UIL7RwhQQIT!kHDh&TV8z&aSG&}1M!*W%$hiPZM?o$(><~K%=WweQOA*H z2$vUv2IuGp1#9aE&bbX__uh>fFAJ<-=!ds}{x7@u%`fU36dVOm`~w4os6qlmB~TTM zIQNp6r`vZEsO#f}y7t`wK_HMKS&pW{YR4L(;frU+7ms|FG+rXoOw_PwQ@ zYQFd2<7!Qn0!Fkpdg^*!sqlnUnQyPi3p{}ZqIeq7YXK$*wL~#rGS`Va|JfJz+s>Ht zW;D{VuOiZU{}Z;mWIYkh-{*VKYZnM0VBV2m@+Yilkz?@jLsvfG;6wiy^iVdB`sTL| zQcXHKV%N}6gJo4gnKT-*B!@iprP#rG3FpMo$2rm1MOWJXZ@SVerIBX@xx7YW&v~-! zGLB{Zdk1;&l@<~GmeL@+{I(2JJguq3W+CEzIvVBB^xzSd=pR3_It;4vT1LUU-gf|x`CIn4~J5kf;1k=mRFu)DK~2A zwCKsKtDMG@=3Y+18(4hbj}?Y!A5zGz9~$>^2xgI12?%2IMg}QE%>f|FGf&FSh4~^< z@B#u4hT9|p!avZ(L@Fv3^YYdC4;jtQDw)$PE?UwnOrGpjdno&bpESJn>~|^y1qB&X z1(cR+K$#-sEwid~A+&}RuN_xto;*pxdi1cD8`;&% z$dbw1MV>P3CL7aJYmIKuz8^kOu6sXxwtfz6+#X`13-CqUAHrh~^i5r_!=n@URbB5x zV;6kW9uMea_N}_35PCYYXSpnDf}>T=upWv#^S>(XGZ@Wz{m|xQ6SD~{OEqe&;j&~I zg}uOzrHjp-M(izVPDHWdtXa> zARA>0QQn$Ze3+mgs!WBA*TL`%=2Chk{^%d(Krpm^SSzTI)br3u7x>ALo{0IAh-(MwYs=uguqK zzvesSmcq|;=jP^cNgFq99oRO64%)i2+O2!}1EQW3H_)74FK*YVH;Jo!EZ@T|a*6RB zuD~l#ir6tul3Jgid)4O+%0-eS1+@ha1+yy_z6^_LiBl_muI8$0Ttq58myxf|we*}V z^;b`qUrh`2oU|e>;#<+ESM$O7gBSQzZ08>eT?1C4?)0Xe?f%qsefAGjmAnHSzF$G77g6YgeqhOYFBD9c}@8$iwhL!s~|ISdDqZ zC+@#-X`l@DmtdvTc`e>yzT|qO)Lji^M=W24>VS5%p)64!ja@e-WcNaY=R1jLX`*^I z2t_ObVk~<0oDXks8g+BZt#Nw{tj#FieKc1VyyiFR?E2<2LaDu&z@C5K)-ijFk@1+T zAD#VEm}u1>u@FsST`8hWJe1T^TXKB_&rZ_1Z)$!xvY5M7+6evU)?k3=@jTGl1b{0p z|5To1nv3?bSTQfqlpZ!(-GqzQa)j~dPU)}>PGk3TdxB;2gOa7Ym7KidB7_@BzoT0K zW}yO2vCYI*wo~V2##-qm56@IX1lB`t&_(l+$QEPRRr_W|_efsAOH-3*B0|j~dAu5N zV@ekT>(b;;AP0+hK&+DPw%RE94+NzFGcm|jefEa%=|-^lLd52b?CJeE1s;CRtiIvJ z$RGz%*AKoQy1z2I)p^yFo}R-*tzDKR^>iS4AKyZ66Uk^h3r+Nf5~>IK0Aar|3w)cB zneY7Fq*E8j*5d8FOPO?V$rU)f7MC7Mq zuiEN%OHk{KV-W@v1@NFosk?TH0<3|KvQKZ4S@xeSiAhL8qhab$rcoer$<3KI1kYx# z^Y*D-JJ?n3BG=NHE!eQ{Qbxh{=Wed|BwPa-Eqn*JOIrcz6N2DtsQdhpa&qknQyKzZfa=f_*=If_c5&}m6K_P z(|HaLu`NrtphuQ0yQ_I-bti%J1(rWK8mp`TktU+`h_sH zF|~M?hW6;)((V}fP*Djb#xD>%H~JGBJxO{HAw_K6JCB9ECNnrm@2t-TCJVL`k#i@3 zJHvb5-=_>TNWFXU&u{Jf)Ma)Xluy1U-zc^yjhUN}z%hjKm1mM-Tw-oD*`XH>=A{3M=x?xHId34Lehc)(E0bwE@f?!412*Ez_sk9VJO<-(CXG|BX{`{Oj z>+dBQze4G7Z`*!GlI)M;94>f$Ybof5j!I4wnesXFHoJUuO@`r@)=kPloYtz2f}lx47t z)S!yVz83G0Y{AQIk4+k20(gL-h^R+O&#y=z{sT!0O47FaH$`QzL_qe+H>t4E*T1nK zL{NwGirw5?2#jc#Q2rFuxS1r!LuPBvnoo=hR*34>jReqFFQpg}spO?@r2X_a&>;Pw zV!JkS6qJwE<7Gi3z1*`a^kS6r@QRgEk0I*-SgAshk=0TBDhURnX+iD0i9ik?37vG} zXzdhG0E|EGGI>Wz=!l50`qHeqzwYDpU622Ueq2*ITs|;;$|o}NCvYpdXRFm!vBPy8 z(^&yrEy94K%CS@b(XF_c@}$f;ro^uu=7!YCo>?4ZVG6+WLCLC5++3s%1@vuxX_1HpPbsF$%$r#p?>x*3197 zk(32w>mjfOMjT|hBEVM6pB+YDXKPF?$0yh_XIAvy^=1hjU;VLjphn0wOJgGIL7Ijj z)lEpP73v7aG>Z)@q!MPB2iGK&F3GLzL1BqmhJaG?z{KYQqp=KZ;MicT8v(MMW(7eE z7zeSY6ijnrG*LNo$!XSz2GI9`URX7W(G$uyoF!|7mk#a7t%RZj0j7#HS@ z8%F)_)!s!JMS*V~?1~;>8g!Wk$ay4g+Uc|^#d1Y{*Bzji1pqsN+7b&{Cx}lKn<2~M z4iQe61w9-H2p>a(h`JCZWBVQV8pLr5Of?iTa~t#;?d7mtz^H8wQQ&q6><|j)BQ{Ok zsP^XY{a2c&J;D@ce#{5stS`+nuwbFUxSd+jLy@m?{R6Go;;TPIRf2ibPi{(H&k>_RVhHuvDfd-=Nx>#g;dGsc;F}q!Fl*S!MxzE0 zhHPlv!x@*6JgSL4{Gm1CQESlNZswZT=V~O5RlR+0e=g?IQ+InPmN5gHF&rMN$e$%5 zOT2z*9t%X$u|psh5^8S=g^Wepl2HVL7$g-1xWk0n43&^RNl^nN1hgV)?w>SI*$$37 z)J>XEK|Zj*;qDG_dP^1Y{Gq}rfks1huVf;eqtL`Mk`r0!!=TIzj=5F~U}Qd2o)pDX zDf#`;b2YpEXy+TP)|gOlEeCoYUjl$IT=D>{2@A;S42j%VX2d@eWiNL5ulQHdPFWWz zXb8YtjL>t{Wp_+QO!heo=7aj*xn#r=v?g#2VI->jV1fUNFY{GDMdRDBQ3&frMOejg^|p9&WWX*c<8f zKg|)(q1?%&0pjVXAgD`ego=o}$iaD~!$EXMXNT~Si1WUyGD#VPvE=Fk2qgpBS2q$Z zPV4^Bqr}yj1Tlj{9{~(cp@ahQ$i0pL)u9kUdgRI35XDyJpM&~&&{4o^U zGL!g{#N4ydq(zRQ0ITy$bhGSd&UBIz^WQlQI+cVde)fucuf79_DI z%nj`s!o7bO_kKOk8Jt|RccJ}ERQrn_k4%?ZvN2xFtbzFzlSeL0zN84oGwV7*G(u7Z zgRD4KAn1y;LNRsAIr|;Fd8S#zpJLH)pvW@ut8dtHtL2nwQBibE=TN5gx>KSsxs2&C zAtw)a95#Y+FiZG`Bonu2XRM=l6o@l3|Lm@*nvEL+vOBnQ1X&}xy5mr;LQ!#Y^s|DM z_ss*Opy(EdZByO?GQz=0hKa0WzVgo$ydyz^7`%oBT@21DA+nV6yWy>B#Li+A1urFWijT5!qcdZkDFp zePJ+GYc&*gN&yXC|SwyM03Xp&G~Dx}1MOdm4e#>EGCE)sJre^mypb ztZ1F;L?4)g6>Kc~>6tufbQOPUU^RN))Y*dnyesQ%=O*@Q^`-I$LbUjOO9(o5YJXl= z^Jbj)BC3&DN42|+U(w4}WzvfOC~@l%C?iFXDyBCehGcYvmZY@A)+q28L7ApiHM8Sv zzOtp_c<=e(Io@VgF`tF~{4?Y8b9|%@)9lv!Q9{MV)BO;A7E9>wjM8CybtHuZ{P|9k z2SAP}i#SS?I4qJ7SvM{)cT}*VJlr?#L!Y`KM)>-I%48VzRncL31(X$m@lnS`jdlY2 z*>(_nooBp@zaC;taafGYII`}17pn`@)4I|)qlXOOp9}_Kj!){5r%A)Ne4|@lFh8I0 zLsk`S{rbeS2FiQ*>qU>L*&ND)9uU?6oXgF;z=~k|vFm!hD|@|fd%dT7ec+3?>qzVU zlBTVaUsGOPS!$<0|7gCbL_oOw$$F$Y=;jM*AH-9ZzeUk!JKtxkI%5l3vu9bO-F}`L z@Hv7C{uco6Ub=?86NUpAf#8e&Oy5=0Ohb*(<=ITU{5fVl35I}I%%eF8;#^uxq02*%qWq=y5b_D#9 z5fG!6dIdlvbK(An9yA0K)Ar5)lWv*@P<^1z+w|aSfdH7%>`zey`O~~=NUqc(1~OE} zQF!2njhQz(y8YC%Avw%<2Gd1$9*IUB2u>x=Q|XqeS>^N@d>5iCT;=aGl6lt!shPB> ztz?R95vEFhaihbg%zH|ImN?hesycCSt>I4ovV70!?dr1h?ajM6wYqhEc-1*^4<~XD zI%OSc4@NsSXKr2D;oUW*$}nzp+P2O|E@ooNbyO<^%~0{oSer3?aPfkBW^u~t*Qlhu zyOwZ{mS&6HFm0(w_a@IU2+S}YNK7^%4LZdo^TP*U`MYoP?-}p%<5i}pj)hTVik45} znhPGk-HTFtlr7wu2(J$xchM7tOdn?e*{^9HUSE1%F;_S9!WppU>2QrQOQ~-b)*tyg|AMa!Y*rS8UsH#7+U3!L!Mktwaek zD*3&DqQ?pE&!i@=Q-nNQKKOaN3LFZ9ipc(fCPj$m`J_&A|3S|KSIW zFq|a4wg{JSxbuu?-LIbxLa2?6bQQ18-j7D_tgDKAs%}X_XSzlav@Kf(#D3#6R%GQ> zmt|fnQ+J-$X?ukjTs%L1zG2h0YY?Tj0?xhO7s(8axHLay0iiwS@|?o#vo)==vWZ7u zyPVI2j@4uP!tG*)xKp?6|Fe1Ry_Mr(;TykGHy4=KzxC14-I*UE;xp(Pe6|f zzXAOt7`cC9h7LAI@=8Ic5N}|N??z1%jB zU7apd_v+kn-_T^S2o8^Wis$3%f51ao+7VdwYTjO;3`Zbkmyl1<4z1Hy__f-3tN&q2 zzY_pcq?%FiL%*VXOmcCi6!jqm_-Tea$g7v#4{s=2uhgL~z9>#n^~5wu3E3UPSm|z_ z$M!XP{#Rk4bFncy%+}m8Wn*ErVSQWz!MO4dE|E6BFAD0UZGi!k)T!lm3bNOLK(^y55(4QGH}%GjVM{+e=$-jTD=8_zN(8%{2>21;h%Ou(BAVfs&7XLz(2Nl7TIx#kDBQ%`$6%Ru-FIxU7ZVU7;UvsE>=+e^1j>BkFM@b|F6qU(p z;-3ye8*t6CPV7rmg}Xds8|^p6idkYNo*P}ut%(;znt)4 z3d4G}ZS>o-4fi)#yWxr15H6{574x!CJ=|&eH(~cPegd*`$0B#YB4MM;w9?fe*S#ng z#3EhDvLtPWf1ccX9OjE!dt`u^L9vrJS!oE}jo1ixz#cPrE2A zgC07S+9j=;m(sSS;f?ei6A=6!d1G))&a_=0n-gf--zg!u*hq@vYXAqx!q|6%G?$WG z!ozLE@qC*TONaRlpmJX1spu;q4zwn^!@l~Kg&52}RAa$&cuvlBU)*PESSAilsFkSJ z?PrJ<7HUDEl5)G{+0gD5FSSG?o53lm=Eu7US8I&Af<-K{%B&z#18Mc@LZX5S8-3SP zh)2^)AbT~-4<1$#tC%fAQ)#Qn(X=WbY30Ii6~?9mX}!T1_Car{Ax)dcY&da;;bMc4 zVjWo?4x^cLiHiCX-0;0&#w>!}2F+orW4L7!*r(cd9#d1KJg~9Lmd206uyB9565nZC zR(f{=7*G7j&`7Zf9?J2yg1uWAQ7w*7s4IIumlifO4R^ieG!F7|~gC?B=A&^{#dW;3QN zX23m&D9(~DnTl6Wtg!eA zF^XC&Q*upqz1@73NT%${Q^#3sCz#wi{L@mNLE-V=>Ouqky;YFE=HyhQPR2Faww)^3 z67POVV`Qn`P?RNEy32D$zf55A(CAIH$RKLTE@25_#iB&<6tV?y4}!lXwCW9(xVUQd zNX6e}5T;B6_2nkS;v@+)Djm{_ze4w2zdvyC*C2zA9X!1E{`$ecJZrbuAF#4!&%!lJ zxA(OE{aX;C2x-6pJg0L1e>_(90=PBb87&uKtrRR^QG>{7G;CrN3FE)-`fI`O5j?O9 zK>{U{KYt2CHgRH|t_|q_wPEw~cwO4!>*b2ttRHJLo+4ekk)1>)Mq~+ZB>F)WK7?GL zlmqo7k4Vxvdt6ecTJJs_J>}Uw^sng}o~!~rj8&oE8LJ_JXql~rwARugq_emmjWA?? zOou(0PTk!ULfRRoqwt~Z6%N@f;$epn!O!H7wD2Gnxbe7JS^?uoRphyK!lTGqgIt4) z0ldX_TQq302A}M_gkMJYPq{`x%#o8z9idy0rgpow}7 zFC2q2)?GGKgGfL9Uw(yNee&*VZ8S@KDYb%n6olG&Z5N$e-aCQq@3? z))2{fhyCm%0)+%6S*g^$Kqo8+R?B(mB9Tfq!z(W5gti(f_Ht~`$AtE?6yEfPL;ca@ zE20u^<*{k;crJ6heb!}VX$R^S5YkVxJG$t)aSz<~BR6;XSBtycA1~hme?+77GXUBW zz0c#7ZwFO*NzIT&m?%zNVsjCR-|-Re;)Jb?nJAq_I5oOzy4TR{UQrN9W;E{ z*cWWH_~(&=9fS%tYg~hiQ;&lAdq~+Arxgre+;cWc*&B;jF!uv>gU-n%*TxuF3v?@( zVwez^M=>Vw&eu*)qyK^%m|)HH3|*FV`G!*smS-TDDCyH3TDD!(sc&$qSl#fJXLbCW zBOm;mQ|Jb;N~9R#B%uOJWJ{L@xkWM5E4lGO`eWKM>r`D@5mQ{52a6sI9A|s$#o$G<5z5&Z=gou*iNjGSUpE{d#Whv(YCyj> z93IVMEBKY(v4CjDEM|+k7>D$d=!Pzj2BTF1Df8Bf(u+|RM#3~;;U&bn2R8l`8Mp0= z0)Ijh{H=K`THy=XHm?ZbVA;+6E2>va+dYHrn=SR0)*YD6 z=jB7I>t#l(=jB(e?Pu-N^1bQV_B|+CF0=+TLJNUFC=d!&%`^Z^|GTw=ktwGxg3ZX2 zw`;h!BubzkGjFlh8g|hWsH;*hIFO88yHXy0(R=3ZLtcGg_O82+qXB&akGRQUs|}w> zy};8(nx|HwfSQR>NTTdvi9(yMpAl!M%ExfD`wWDz7N5ehm~mxlngl+&W-NalFJbvZT<)2=$7`Ts-PLH%l*pYBC`dr2%w8-Fktm0gsC-{|H(29 z{Ub}#%Qy-1FShGkpLKPn19dp^1rV#36M&DowBGs_*@IhQU^HOV3$&Gk0~Lq>(ln z)y+6KCDV<+b~oNKeJ0AE$xP-3MsI;4;y)VM z0q6l11FTO1plss05_{-;kJUK(v{v)yT;uzwRh>L=1NScrbU}yQwa#3rg~Qk^CR^&k z{4k;mWWK2LLz6okwG^Co6It(T+U)Di@E^_^y#FF;!Kdeah8JUmm}nN)&yqPJAR|m7 ziax+%^)8JD1Du{%7u6Gkd;HrP6cUVmT8(5mP9iU^8^)jKJ4w_XSa-dHOlDH7EHsF- znCVhBB6w|-JJTkBtL7?oy9LlPi(jmUA%qR03w~nCdR^fq3d#@GalWkgi(}>{&|GuM zmM^WsHnSVY?~L&^r_iF47NpoV9iHw6{*oXIXCub-s=3tqbws;o7ZG#J1>M;^y-i8G ze^_TI2T~NjCkj4F!Fesmg;_{Y5Q2PogDobWJGN6y=h4(Z%6PRQpQ0k0# z0VFiMI_T zk28c@pv)ISCG||CX||h7j^8uZ|GLCl78_M!B@(eK)H^0>v*?J9d)d<}Uii*=$F_Xz zT2)tj4*PV?$a7<1?Wxfc*weGbs;fT)&EX+pK{y$&$yNQg0?86NlT4{+l;2~>Vm4l$ z%Q@AtlHo7|&+su?TE&Gb<67C8&iUeGx|TVZh5u3fZ2QP6|9$(>=k*y4zIia+4@Vpd zAqdg8^VZf0$Q?kI(HKJ+q%8@{>9Vdgh%N#0XJq2ST&g81mzuLsr3%bQS}&8V*1g~9 z`=lJ-XjB2W+-vNLgZq{8yClNVhepSJMr->~`rbJ}yWE2)494tr`XnSJ!ISCjIdz<% zGu{CZcCkFK%gkUUVXStjR7!)N#I?0p(%z`fo@sQha_`O=3rl{Ip+B507C_MXWQ^Q8 zV(9uD&bA|0Xn7Zm+4~7lY4!w8RNPf-3#{=R57%d-s>%Asf>qsYVs4wiMIp0juS!yE zk(~J4n3F_;4=`(wrPTTP4LHk6rwu0(nY}F*8#$UV>d{?Mk)4~huA+syEq|RJA3s;> z?xsJPnm>}BJdqprDsrQ<5a-7+)6bg_*=l8JeI@ZU+Cv-h7{y`>4R=aSOBQ~A<+_>D zbbb-74ELhuxM^9mDk{?afIys`cW!xzRSQk+tAWdTE}bib?t0_O$^SIxDZjt1Q?1k! zvGuvh0x|b7x6{mnTacHu`*xX=>Z+jn0g7rx;~Eq=W0}|}edtl|1dZ;COvrPQ{j%lc zT{auwLdUoPVQ6aJq`@;LEfWNjsY}EEa-1>MEydpDor)@;vr3&$wW;)(Q_YL7=@!A= z=Mv$qS~M}YC_Y1x>{VAxWobkFMT6IwGgGedVN4u9Rl4YO3c^){aS#PL8rMBZ#kX$Y zJ^)?gfZVv}g?_Ab{REM6%4md%-Xdyo1|05(m>IZIf2(IQU4NU7RorC-WAM`F4(lz6 zB*tfuP{w-(ROag+?bN48eqJ352JL=J$UIX4P0Dh;S#cAOVh_rCyhe|xRK5O;Ph0P9 zMABFqr9sne(U4(vvT-iTiE#(LR*hZc>Vjq3X0ZNVRB4bHawL6(Fk_CVArDwIL3(SX z&1nq=GB+8;kk9u&DCb@ZZnJFk&*XEMP4(xf^N%M@L}xr1b8@L0PONPd;Oev{7pp`e zAONFi#%k>$erg~hqK?PU%@O>{qg_$}%Atl#&{{b2m%M(+tD@^Z#a2;~GYXn3N5SUS4?4y@bpvNAFvy^wx{f2<};7WT~PPYH^Gn5DR0;JBV;+9I*ZB zW@HyjPIpNDNW&2cQEW&63Dr@uBm@Lz>kQTJSB(5)veU}Q)4_3WZEJc zY0kHIVYJhL6lLh%Xz|z970-ao_Pv7L1so9-1`>+tK9QWG{T)2Df`quJ;{)X^k^jud zvp#de+9w2aCjbdn$R2{CgorRYS*UsoO#3bamdhY!Yq;ScFK^J5+rwRnN^e$N97m|Q z(L)5nygHBOP2KBxoo?=(bp7%=s=)pz44s}hXDpMTh>Ops&#TX`&x6m0Pv}qVPw>rs zLi#tzKRu7J+kEan$2==u4l8P8Nws<_J3+ym{|$hgR`czM09EM>P8T>xfM~|yrU7YW z87B-R#JPkU(gOwTt>E92xzaq3KHNANgE&Y40KdvyO@oq%5>A+i@UnKhnuXL{p#RM+ z{ypfM{y)uVLp%YEh=^$4G2?N75Fjmm%}^Uo!@JFcLSj9ML?YpTI*XYhINw?Wl^gJi zIYam_ogtSD3s%wgcRUWGvH4>XRK@)Y-=-UACL%fIv6D5Xs!Z7?4Ecg<#q7{84q488 zYj1t?IGbcQrv+BW6;!5Qmn4<9Qm%ja8|;$j)8~Y0(*xcH)PK3#HvK` zDCJDX2^7u}@F*VU~HR7@L-$rS& ze^I9DaOlIYB8$9<#m4A=%I2WLb@c@pp<*#B{|XwRtGZ_qMMi5WcfE?BC;G$EdZK7< zY&@+F1RsPWj1}@os(g&Nv=2 zogaIL=p$rlPMJGo9P<%IrOj_4h>o)bT|?#6l>22i15kDC@3XROM-yn#T%A! z??gi8hblmzhNm5W=xiL3qVUBKiW5)0WtL991C~a2})jM@un;5~X(R`3)Xp zaEbKUFrf^~@q#F!vya{l)3O~G9G|8bR2xF%|6nJGlB}qjZkQIU&F*lz+yKE)I0A`6 zW3V_p5um?$wL@Qe2z&1nKO!`0@pc8u4~$=b}a4T5l3~j=QJg%4-=9(#`njN zS{hP@M`nNaa%ppY_Tc-O>v`T<0gbdP6})b|cw;<${a`9~mGx+UJ6GL$_3kItA3q4A zI7zd-tm>xghjCi2*4y3w7K9O8QZ(H#E!+7y+wH4=h$$C92KuK(Nmi6~(@*oV9_K5= zNxzrpw7s!HH@laiWj3Zw7cEoE=>WL%Ku4d+_K?hlJ2N~DOFvXt3its@YF$@G+Vj)E zvbicV2#Tr=_6FL<0#d$aYMysHIq1&)z_uYkp0r`vUBL{e2mQgLE(uIN>@8sFCErogopc5sbTryss%EY56^rrnAQ)4ik=4Gg=l zp|ynPL&`_)>4J}4p<9{s{OQfy&_&JpEo^b*{TR8cTO0EFsCDUMj5*fWlk4;(UG(+@aJu;7O%5;031chJz6rfACp>4P zJzCi;UuK)F4$vlBX`T=}DHHloP^U{a%XpdpId>$O)Q4N7w5;=jcPyCH={IY0dD+V_ zHK-1}stJ7}Cp%|@!VtfEQP`LVr#nnq)o4hp1O2J8&}V{6owQlz>=|eo=iE7hTD`hO zYV6sql?&dvf?B(Q&AU8a^*YQACZ7AbwF!Nmoa~$p8509-#ry}uusc%^0-Uc9(;dQh zoxhjIIvKZ;J;l>Jr|`r#JzCVn2k9V_&=h2*8ye;TjqI?nt-&QxM)}G>~fn zxcC4)5#Rs@ms^EMx#4(_RgFF2MPM1Yf&pv_b_IKJZgok)$jZ&f?%aDc|G5O)Ro2k_q4v~*GcLHp zKj&|^oVNRL)Ju;50qvY7QE?FekgEPHMex@D}FWY4zp_y+WO771rG5Fo( z7wE?`AxjdT3l{>rUiPR~HFCY>=v7h`Ra*_!e(|nK()AJVwh6PVMI*A*F4OI5^=@{% zdu`gkM14I;=qb8;=JS=G=CYal_RTSTto;6+SKjZd`^rxH(!Q|I?9=-cP*8j4UjP4- zpUc@4D`I7l$0%qzGZ!C{1V0}?pV#9?Tuz7GX0@2K8npq9_$uVf!<1uXp*!DtWMVc7 z2?IE7niXbCk?|Kyg$Jn2rRkl3Z?D)^cw3X&u(KGfEr-##n>G9TkdAbxa z;S9v>{*W2C+;wTdrH%j1?sons^-Y!^n$!QA^`k$-e_WrEAtg)7M=76V&ep!Vwa*zR z0B<7zz^8y7coi_f7eF=w+zGM?kY|8Q1d!)|nFHiZVCDvMG|&%#IS!bUfms2}8Ni$e z%xYjRSZQ6lh_0vg=tg>wcCvoRUKe&S57S3x`$HZm#H~ zk81t&Q)7@p_(pPE^@2AkeBn!@zV`#QpZwybKmFww+iWv#haC{R?DDH4j(X#i(=^UH z>#Yke)Vp&87Z+#=1n;3BfHnJ6m2$^$?+=qrsn2Hy z9~bBe1b?cjrmvc5VOkq){EZ;KvDpktmHNk4#rpTmY{G&$<4yOUUsD8tn!Dh_iU$yx zWj@4eU-}ZkkAAYouYTj`&&@wvInMH%&_8kSg>6UHFz6ps2wJoY$p;20P>%!xe5UFaod9;onsIS{8d&(fV%32 zReNvdu4ajS)>&8kZ;j6Wn6$wU3V3MJ_Ic2OUz4`)gAVSb?f0O=Zzpa42jsHE0PYk6 zUG6H6-RyHu>zC>6Y?IEjy`95;qht7GRDT9td?@*S(yeOtr}8>h!`NnvQ@kONuN3sf(SB*`&Ypd89hK*ne5)I`dSm{;p`$Ed z<2&z_`oGSx#*u^o?~0RPg$)wzwAUW{9I)R(haGjqF~_A!ktW?qr=4=fIcHsR(PdZm zZ)UTYXzKpKLc4L(tC;zw)m!2v6`eWt?l?@gpjK}EC|_K@VTQ#=Fo#?aVS>>5TQ_p; zb7rO``xnjY!ziWlerkyw0|57L!uO}4G#T)=m7=V& ze7&Y#UAeLte8hG;O0$0VESy+FnYF5%?*jf=XIyA7gp6SwAovx6$_w~Eg6E!qA3Wf~ zA6R$+zySbs42t3)_wM@T={#i6I;)!p zRIyX5`OqxV6dBmfoEvcSiAg!wY=|%@Ny40Dx$YH?ykjt2XwYMmB3CV(zE)tO-{LD;VkIhV(?Sv{4I|h^v z9i1S#j5)HHk%29QNlB)5Z5t3{qz+A(PyZ zA-Sp;EV8)-)K{jv@Md@76oK*okL!4Y)2?2Cf7LUm|8i=K9kQxIu4CmZz zU_NK(P{*&-TRtz~Spxel31!SCr+Jcn2G}sH*SDGR*&A}jw{Xq_R1sjK#%C?J*{PA4 z%b>2Q)_`8?A6Ox1y;l|K8zIz^i8(7B49_YmHd-q*ONHGfo)TZ+c1|Ei1q4WhfkT8l zd{Rt-+7>WpWiGUw4#aH_! z0Lr@c(!j0Z$j@|CtE{5o(4^AQ1i1i;?NU<#UeigmbS7wRb;n4u;bQl@n<8MU%4#H@ z13eyluh-_br5I`t@gPF*q?k+Qn2NpVDw7zUc)l?k2k#m{ zv_X`+JM$tN!}mXZNxkAA1RS09%Lz5dG7NmNvIz^v!$OHa<+Dy)UjWaHZ(f<(EQDOD zn?l=5>pfFrh4qL`Tdl~LBYKG0>dO+eA;#LQ^Vr-M3vSe*fp=P~O4Q#$)WcmIl!_(k5B4PmoY(z(@S3SKEKYccNpoqdKK}?(HDRY6eS})o#p|F09_Dac*Ezh+EH;^k6%DToU}L@kxK-^LOx^$# zI*boePAjw)hPiBUvGB54%W<|(D#`#!@W4_ebeZS`oMCG$Qs&E zMce1h>^FipA@G6Q$c!rrs6Dcnk?K?$x5)hQ+kXO`?Td@zyetrMyWF+8?J{y-${}OQ zLXvdZ0caM+1F;VZDe)x-pgB<#g_#>Yg7;oH?#!#u4imv`G_-{L!b|}Q^XNSfaKPyt3wgwmz>obcAahB{FjVYtSCu|>XM;#out}U6+}DgKvf&EI$~(wax~D(ud8K%CgKL(4XReoPKBHmc$VE3n7M_Ju*9pbxp8GuvFN%Ok%S& ztYyzWGe07LJ?WvF$?Xj6wVv+}BdI@e>sn%V;7F$DkR4phx(-4VJcvF&gs#;$$B}|} z%V5y79{mhy*X%K@vG{7FT%>;-t#aqdY1q;ic!!c zCJF3K73u$;>GCm4cP>rY!PX@I?-RBA>1db@THG8Z{Xsm;Mc6tNIK(Fn1ieU7l?ku` zNHsDfxht7h#eK3><5KJL+L>22;zu`66fKMMZ3T#)DKEP<{AIa*YZU{PTpoa{DM!JsxLS zil-@=Br|8TEm%hZJ7m;(0?+K3usUT$5;LJeb+*zsNFmuhFpvFpM&z=VnRK!{EPTwh z@K}K?{V32K`Xp+T$j!$aMe)qnz*m2sU;_;P=n&(}bMUL2Z+CbnvHF}zEhSI91)7R# z{_n!b>{!}Y>Ey}=ndQ!m}>~-uN+{98hV&Oug$d-!rf>`no9ss_Q z@gC2|S+r;<*9>@U)IhW?;03dW9C_EaB-c*JrPec@oqB+pn=Ve(8%nu%sWke&I@TViEg|j`E}ur;BD&pdzD8 zs_hyukqBTl>@Mvrwt`v|3WLm*_UKEVH^8Axb$dxt{=oxK4ogt&>P6>fok*YI}+uw4Dh{*V@h2RUSG$g5d(Q8e-| zcc=o?s{tOI)?_3q@TFxd{(E+3{L=Dn6|A+bQudmE@tI$9CvVWeEACOBL{%z~d|(Dm z7N{5}0KSOJz&JtJTrc5upYVv=IA^rQJG~}zU@qEbR^T})3<5Pi%_l~Q%3>=}xU>~* z_yvQ|09SadhGhOkivf9s1-Eul0o}GWg}QlYC;UsN{P>OP0rN3|b{~A19oZ6$8j?*I z2d{0!^}_1p#V*cgGSPjXnl{)gIyV*L1pt_tct7{ir?^<@`9dw{YPDP(c~^ETvC5pO z51kPBSoO#z1chS@82c7 z5oZwvmnz@@DsxIE?9ZiimY8WaF`l@`7aKb(+F*&w_rbDw3M(#<6sRafc*f5T-r+=e za1c|5F^dsX=Z5bLN7D+wNQ_+XS9-Y@2k(dgzQdjvwC4jP!Z6OL>1BN^>DJVp>q&M{ zr;4}Q&PG`v&ooxMB3$^@+H*Q5|tJ9 z<$HotFw3c>&#h6)eBd;WkiiQD(mzyP6c2h1Y|C5{oJp7MVm~pZ*7{HYAsj{7l94d( zW(l!kLjU)mwjN&y7Xkq6Wfz_ysUWIkw<>Zg!HDB3WuDsKaVb(CD_)5xdxmXI9p)1t zll-U0gK|=5BaL9N1$)LE!4-+dI{xobz0pQl;K&PM7*@YzdWfmmODeLhc-)h&a*oTa zNhKLzJ+}J0CbksT-&uv_K$171j-+uoFxt1Y5&g8U^4WG}cAIpn#{7b@wxVRRCN2ZVd8^$M;(*Y4j8KcJ zg=QYP<3n&-3Lp}<3}ro2mm)Md0Wz6gz#6;*4P7B(RH}Cda~y^%TFN{LOT^gR&DVC} zKOe9NdhXizLk|v#OfG+xT2g2l8;*O5P*k zUj_k{CKG=U*vxeJY(-3Q_W`pdde92ZUP;6rpCVASrB#*IiRK+BOv&l}i1$(qR=FCRB9VACVeVX?-`2_q!RzoaI+B`VWpSS&N08fiDm*?x!!% zbm>!vKBbB;c{pw+TgO^hy{C&Obrdjh=$Nf|YVN1+@>ket2})D2b9{SBk)rpvIA*{r zqfF0AgR9J%9Jab;@uyQb?+pMpTn4AImsI(Vg^=;!Kx-@b&**4wNSrJOqAj!?qJv>) zej^WvZL?&@@D)HtA4dJe1VUF{l@t(U?lmAW=Nt*JNb(&iv-xu$eiEft}q_ zzRs$?{bc6t$J16V0|HcgQBYwR=D360lF@PZbyv46XskFQwZm00kqf8NEC?IgzX1OGn=ftZbw!VFg^H5={b}X{`^|N9EU&EXsUK za-~htH31Mn05sSc9$tkg$KwaHThrd;`Q+W(DH}D-Rcbedr9W1_*!Lw9lHr+$Tn8#olpqq_*|pd@qlD!Rucy$@tC9DnW^?4|Yv9E&Df{I5 z!Kw1z8M1FOTx?;K;Xz(9t(&Tad%0w_Kg4nJ+by5X)P1)VYO@w{3>@2u9-mjYNOzfC zu+WkN(jkofc#$FZrgwA|uL%Enb5Ead^3S{2K+Y}w(QVW;Y*iCB%_WJX)?uk#P)_G^ z?}z6peOKJh+2pU=0jX;bp(Szad1sRcoPlJwqhT%Cib(xl`aUrz4%0mP0g=Vt%-%4q z^0tY4a4_TLQFe4=kM#JeNw_CmS(gR%l+4OkCFX_|U>`XwummnR+dn*yqgx5f$=j_M z<{=P7co7vm1;^2q*DD8H>UhcDW4Yo>_|p7ij)iyy8y6e!bmmU0T#*P>{LNt2p(??< zNnFHWqV|7eKPp5N`mjxj5Hv5Hwy)XEGNtFGD(*I@uX~5xsGuo|-y3q=6Cv>cp)kUw zY18Hfhpl?p%SE;*es;Gpu3DLx^7pT%se+H14%vRQR2DiZ(wAFjTh8z@HLln^dW*`#d=ur|Kb%O|y zjAkIM?l0*wqTq_edxx3XvNf8&icd4xb{y`aUwp3^@N3H3x*osxE z7|Ddg0Ii6)0UQ8_l(khUmzyh4J;W0AKECB4^6_PaP#hDiRk>3aAqQP$Or4Eis@pX- zQE;sh{~M!RQB#>G&2EG~C_Bh^GV=QlL@$(!G*7$qBdU@TwbG^{y0o7|^VH=Ido6UM z7~68VEQd_GM0gtPT=qn{(#d$KYD3i>>D!2F6#4>mCV6u$W#VN~$hiZY#5zqefZ*Sw zn3Kq`2rmQ18Z?Xj756LBUVyj9yq`qKc2GHZurS-Y`{9Y^m%nHeG`Q>yKkZKfnNAdS zA=0S7W&M8aMmiEy_ga^SGr)wT8EdXi0zg2W)h7%@0X|&5cr#1R#;67=9Im1@l6G?G zEw$M6pqXZL1y9={o&xva%5dToCC6o42%oB(rU)Zrkf1bM27RLoFiZy{RdYVnfe=QI zz)wVsR~G^mT4_+%FbNWP=ZgU%y|_NX#w!6A!w(;;v#O zcx@66P1mZt9n)3?R$_KS&xO+=muVyL@ym1xr_<{itSaJaD?YK}>Mm+9QT+iVqR!?W z+?G^EB&gM-f*LQT7SsiX1AU-6lBEzaVWd+*h#6c-T9+6?VG=2DaIGH49dZ{5Is1}E ze(;#OsW}2_p}_?zHW1y20ee%hH?;36qDNp=6K)k@MPo{N zsy#6G^I8tzQmN-~zw|FyElxKsXkHZ147^<^?+gTmC$n)lxG%#8XbnCbLF~5JR)w1# zY1i^2^F=PLCgF@H5KV@F>dFC*i*AxBRsQp~8Abq~y&f6L-CiS(KzqU$E_nz45_z9k zqrT>_G|wfd3Y)BT5+`G_kI(eD(#D0msfe>O-6frEwvpZpl)1?19ZyWX>08>&lGiu* zdTZui&iQ}uya3)x&kMvaWD}57bj6E+D*1uO3u-lKHI>o2LvmK1lh5+jDk%OO$X}?% z*J??XSEM~PNU~C21k3`-eT#mVFhBb9t8TI6JfW=3^GTCde9=mIk>gY7PM+XkV249| z{0K)Qs8zhd(@HT`@e_K*!32p)UO^!TEsWqNc|ux*$c$8w;zrvezXrOg2Nc@D?5uVA zn5LPVxT_s7M+Aw?)RUTUT+`Y1LgA)5=N2qqLaqd{$K&C>wBxPY*)Nv}DdoCV%2idk z0?%EC96Z1XuAZdQA*<`SJ7Dskq_W0I_CV`go_Pvi^6>RLM`phE-fuU&8Q$Han~{t2 zWA877Re;f)@!4zL)%IyqB!hQxw?`wd9CGW9sh2N{(%8~Rh^bz@9y3=07PF8xh&;m? zlBZ$9D42TMUsD-&mUcYdrQOFqACIJl96P(Ld5A;Hmxs4(3AP%=g%YOs}mS!Zpcl! zl0}%Fx-XD|*X%5_g~`$^NjY{4;v`OEv&}=^;UaT)&*c+U&GE>3R0*Hx_Cu22!`0Cm zWAbbnOkBoici4;(ag^RG@)a+TV5S!|^cTg_)8q+HV&@;)2*42=NzM4-rdLzcj)xhA zqJU+OOBcrvC+`-I6;PNSI@Way_Dz0lcOzhd-jD2|FK7jm)cV!Y;E>PWvvcv~NYABZ z)#k!0Jq_pM1m{A81kYcs@O-31o@RXMaTwBqj057m>1(dl z<~eoqoR%)(>os#qV`{eqZ0MHJFA15MUa&U7W8iE_>X=h%HE{T|5rNexWd)7Ourz$&b%=2{EG1nMiv6%K&&PHsc#`trWnf6HvjWTE{-vv8q9xU2&Og{t*@}XUYDboiE-FVtc2Pt7-!$~EOkRAiB_|UZ zD6pXGOvRV~Ly2XIn;0-dK6yK#Ol~?MocsTjU1j8y!t?&HGvH^#vgR8)4~pr7XYKYzzE z+w3XU&`208_^hu|QZ{w&##%>MsI6iL8!l_5;%w;AC-U5tXE6SMlCazx!b&4rU z-pu7Y7;3K&52K<4(j%n4SQ0NSx;NGbQ)WJz!o^B;2*vi%>Jd}ut`)_yf@Pv3Y`bzF zNR3&qLVMX@&V6>V^!3=#&n%CGk{J{rOFa8VjL!7|D&%drgxWK<1*&?F0u?5Z2FeBp z?R&%4$a@?g)BBS$4$@?Gk!zE0X`Vl$A9e=>RFE-@ijqpKi;~HH|z^ zHm&F8pOd|;Q1XZW8yh;j)10W@%&gI~&98}R92l^bl>-K%?sPWQKFcqOi$fA0Q|D937Ci#D+p=>|&Z>Eft_kt+LSV$n71T_rKKqegm0 z`nkE!gRP_!_Q6|5;FHv`Ne!4vvEjGPkAh-`4s&3zV&e4GibtZ-&Z4HzP{`Wdo`R61 zop!Fx8AEA6co%Rbl`~gVe3}gz@G?~M2>bk;fuG$;>l$mo2&hsDBIKL@8DV-5L@l)t zd~=|_PtnIgZNk-Pqj+a`ie`n{S2iFY{9Gv+?)MYUL%x&Lk%r}feCPFQQt6yD$7y6I-a56=f8-H6seo?pY%FP~wA_)N#W&3w$nh#R6f^%IEf+?s=+J z>B~CGCo~1c(8{t$K`wj@LkesRL|NBQsKXsVR8CUHNnXNZlf3-SfQ?D1WympqNbMyN zs9lTF=u&2ioJs@}oEXW!qd)&}?qq0#x*Mn{v4#&^}IYOroyJk&mrJod&5 z4w71N?0d)ovHHpPU}4c;8jL(s5ab<0bM%RwaIbw#(ngTNhj#w=rp>L_2DP{hQKWkZ#SE!I2Khqze$V$l_vNuR@uc1KEXso zW})fD`a-eTEGO#Kme(3N+89=rl-*j(ATDT&)~h?LrP;8FI0fbQ0M_eAqPz3Jb!SpkG+i1&MG=1 z=y*kj9z(!-I$MxsC_p2 za9Eh$+m>m?nI4|fDajarCEA57^eKP95&m=_!P^P1QhtmL?=rDf(AiHbcG-jSwQeS+ zP~WtJyQSBTU8Nbr(vPY_jgN$0H=4cU1@NzMh%ju~*$LKTTTp7We3LNEJ!b6N_TEWf z1!}b=tS#b@WZl;J>T0R|FUUy=?PDlaDi&I6ho*BYSgneinXm=%z&qp!f|C#s(lTcK zPXPjyS(i6~=dU_OP~V#zI3gorzSKvp3M0UpsP6XdpjuR?2r@rxRxeaS{cpG;((4n` z$Vzzy%Acie&gU7A`|z1oPqT%TaeQ%F|M0K2JPN#vqA=w56$B1EJsbY7vGg^`i|_e~ znQ*Rzb`z5tylN0ma6+V`rF#ZC*laEz=J6#^65OGcj63&e5HkqGX-sN^Rje6Odub}- z(|U7NX{N^y%u?>>R(GogAHx12{Ayh$q=Z&9;!oHiAAP+tzW4+d>4-Bfd6cHvAa)pK z+T^Mev*^kRrEV61#s|kUol`3M+U8h&C&r_YM>>?t4kR;6jRU?4J@7b@2>)SB|lH=^j$4UpJ}tCy)56#a&Rmb zr>V$uWp#ux!yzVeTW@G8c9H5&#sAXd{-^{8icjZ+D<)8Mr9#8%C1@gyxw)MfD}jg{WHJ&0+v_ZdlOw?qYCNL@%=B40G>{!FQgx8k95glevyY= zFQq60zx;U*q(oV$eTA_rII``Ejz;O+Oyg zzAY#7yE4!hl3#nKb*{I$*)-`Ex{qJF6I|MAIWu6C^g4y9+KH7Bz%k&;%!!0 z%2kaF;5IIo?AFo+T3Y2&gO?@%2Gv$kGClPI5-8r?mLi}vLm*g;t8Jb-yWfG4z0?6f z#Q6>^uO?yGnxBj>b>Ip2qH6lSP6OJ;%z_re>;~1e&?N`XImAO8yqA2Rs^Fs8y$euH zahIPW{| z5u0R%d5B7zn=(b6!=u;(is40t7Uz5=mPiP5=|L6JAkR!u_((cBNp)wQ>&-Haiub%D*b@gKi;u4`H@@hKEW@a3wuBd{{ur8Om%+jmr z`Asix9%H^iTL(&m?-BqxHeVR#xn^HSE$<7}I-RjmmM@6(9Kuoq9U=YcxXcz(#aeTl zZTdwn40p+T_XSx{^GX%>2mp<5$me!Y!@aR)mF&t2l^|*@qziM*QwIbZq|BuZb$EfS z!JJ#y(VI;Q4T_6~`08RL83fy!LE+$CR{a}e}>`>u$CH%@UtFEHKY_w_H2 z7Dt7-t@{Bi1ZGi|Ncb$z^wJ9`^i8}r@Qz)IbB0(dlja%A5yLA04+zX{=OaZfJTU|) zxi2;o2dDlw$2>UbY-z882S21+Ljjc;cwNuAay^efcf9DBk{zy8fX8KF;Y#{i9b9u% z$r-gSneu_-pP|?oW`azdw{L~cn25Us!lN>KOr>ssb6vrqrJfx}zO4e3|J*b_8f{+~ zekA;Eo_ItaE~``gpX^-z)}1I+c1wkjrLYR&mqBeIp!$*4x0R$ zoi;0{n{9@hBIIFpe2!q`!dFhQjmgnT2d%&AgY-j*H|8BmfRcH()MxB*QrJN6@vzls z-$%glsTGh2prxCd{p6un_xs-^6;P2UFX%~Vi}0egyGns-ByjLzL2^rv7r;_{MGF~o zse&+{;T@`E;l#Mu*h>Dp0#xw`-)WpM0x9g9nS^7kD7H`6pxzFad98=ZC{dXx%qIt} z9E(#SjnW|?R171>m_}MQo))^zYMISfWIN)fJx4J?W`1tv8~AI*XOBS);f-(#($B>{ z`|fssHm_cKy?^YRuTJMDt-`pxbR`p815vw02Yjx-UgZQE)t#bwOTb z2QJAS&+p^H`JtbOUuu?ZIjbRn+TT)__}7uVo`M27XaxfdCW5Y0$xfUAcqIz8IQ|w> zkb7B8;>RjOQmZJ@Gx_}=W?m*jsyhGBo(wDtpF;(pbda|C3{pe`cq2 zx_B=Go)kR2;std(8EPo4c&?Yc5Kw&V*e(?;>FUgQSn?Vks&KNMT?H-HX+rd!K((>ba(%$?XJTKRHeN6fk_8{_LsRt zCvMxuJ$Hm(rp28z98zasZ{49Qt?}N36E@TK7Mj^(Qd;QxMo)pK>J*$+d`n%IH;t^_ z`AI6^nLtd9GV|ROO0vVx+9k>S-G*t_k20ug>B0|py^XXX#op7b&!WIiJidsnlg3OQbkZKLWuc;AdC zS6+jI2pXb=t77hu6G@E_T$;vc8n5Fua?pzFx&=d#|126qDz?+K2D(e+{nz zQiQ=0WDUOlM}Srcn6hg0NhtBQvTs({0$K=~=H&gs(-__H`eNB0~;g!u8K(W zdndE83!_1=33o6M^b@pw@toL4ARV`CG_#HDNvd7y83Nn(rO*yFGuQxh-!0Y>1d-%g1mjx?TvtYuph zTU*=TzYn=dYo=OFHEHUM+e-L))}3vt?xF@J-&fq4L>RdfQm+MKJYBuZ6GFTMWgE`b z!xgxvB-==09+Fo>*4v#0F~nB$ncOcwo)g4W5S;;5cVOg$oRr@6*j9n_FV02II(Xxr z798(yPxdst89D-OaX`XjN~fI1)b!a~MzQK(oI;2wI>1ES~^<#G@Fj?&jA@2cCkEW zcO{CF?^{x$luo{qWP>_UTe&peD03rM7STl>u@13XJG`LW$(kLj`*`n&7+~@XEN}_5 z1&4urDgf8gcXjo)qwi66Ah_@n4`cjHy&jMs7crqfq3G+W2zNwr$JS!sL*SX2>@eg3 zM@%4>Jj&i-y0T`$@P8{QG3n$lih2L$4)+1atARs!oiM&OLe-lru3BmHHbLlzZG&m( z5de`o0QsPEC2z(Bu`1Tq(#1dei=sg+LkC$1wSA0Y@yCxjwNIu2Mb_I)1YovezFQe`^< z*~Cj`G1%Vo9fBWRC`xG zdcPy)w5XOak-;ybHH_5(wyQ;KQ%e}t_W3nPeGgqwR8&*AHk!c`yQVlf(AHyz_fC)E z5id;X>~`&*W1Q7XR00+PgyTpQw=DJ~O6iHhgr>rqGN>cv832+@=pdo)08>0CNv;=d zDppP&lU$x3$vc)$Mg)Xo8TUJXp(Zx?eT^n6jn!cv=MiPeuS(SSC=`kloJunl>spF@h)pfCmxa0jmL@ z*XP^*%)J>-s}A+WC#2%!wnb092$adavW&zjZfmC&<{xVa>GI|OEZe~2{6NJ$a%R!9 zC|0YG6PtO3z}x*J;ESK#uV>@8f$F*85sw1dC(~NUF(iCp&~TqnlHDx~7#2n{`f!g> zuP|`<)_8I>wUp2GFJ%OjyrYWc!&v zK0=J_<>GTs3GhjHxEO}Um!?#C5L_o2I9sWhm({(P_%ppYW#LU)b_F;sr=CeL|_mg zCk^g7+~CaR5GGgvSq&X3DORVt_uqDi$@z76*Kb%d?0805=Y8-Y z2?H4jIkDs4wwDJ3+wbpO*JuXtbl|}h%3rzuHm>>B&D|{AbZ?0F<{w%4X2HgLKSI0? z015`cb5_&)=jI2&oUHl9g}mzVeI3Dk&Y506K~fhh_+sLktVL%}P4B?=%4;h1XNmVm z%)19}eL@c*ASbwKPr2+L3*nr_iMFEa2QJ8NMV@cw#|khz0>HL`0Nlj*cOtiptQk1ytfV(@U=f0OnaLwYA9 zA|O!vx4XL{Mi2Ih9cG5RHXZE&nTtzbH5>W#b@l~g-Eil1{I=8AJGFD$KVj=-xWZjdlvTm&a8?FPxEXaIRF2mpnRprWw?OjZ1oOp3IldolNTm8$tc-=37TmL&}s6 zYRDN-4eaA;&QoIJJ1C4AUdg}9_-xlWgD)Mv z)%4cpOs15Qk0dLidd#}Iln2Dl$F4km6T?Wm$7DukBH8jlaopV;%b9moLYkDD(%KWm zB+y>q;G!@%y96ZUkX)zCIS>G{iHxbn4j2ayB|uqh!HQ5l!Vr9{jPC7!R#Fn;+8iC~ zm=zQnSX}KB>|2QlKc$iQhef;aBPw^SM=ihXlOP4&o0d;?ph~&zHs_2|iK&L@f2ENh zGd}ivs}JJz@2&@0f8Ggy(!P3U>n&r)BG#P>`$GZl+cgcIZB|()wGI<6mPOPbk6n{z zI(3>o1pi!CM0i@(HXfg<73a}R;OZY+3FkOrj7&O*pKoEhQb<;-d^d63CG^glbKDL3 zg~dPSX{n}8Q7LHHy{_5a07gK$zs+gzml2QU)mxfzIW0WwAFX2YNHbO(*O)|^Ok*OJ zuNH$W=!yd1NnpCx|F*6P;<%v_3*10K`EqG#(ZAK~ppFVQ)j*#C-Ob2++EknWWkdPb zPvg32v+w?}chaD7ZklTo7@`0|m_IW;)alJ%vh>(181j5u*_9v+cKZ(b-pb9m%7 zXT+%{h2OND>$VqEeI1ve1CDL1oc}oQ=lA!kntAhDbigY~)xXfR9H78k-!}7`Vkhji zviI-4aoYa}hMG@(H|$RE7}uAA8z`s|L?%!Q`qz+{9s?1zjIN~ffL&nX!)h8!W3RXg z-a9nX9ld$sjWaeQ_jm*@T%Ku)b)8}T;we#9}zv+DT`z2ocrkb!UOj`BX zo(FEAU|8!{q9``{m4k2tphj}gIACm`{^9Z^>X&=k)l&|=xHc1hL{jM$!aE&+@5*#J zEM;C>r3Syv3c=>dc$dS{{$Hy`UPAyO^dsQS0ZyA7ks)|2018t8V=xv2s=+Y8G6kDL zi>2>6LdF1?jIXk8=7F08f-VanN`tg`nEJ&R!5U=8Lshs>1jzo}B&j-Z>1L_<(XKCg zWUA%i*<%w~S@i3VQrZRpLV!e$iGJbiMldPRPo15xYy~+Ah2Ep7%80+r;As74w`Hdm zMeMPj;XQ$aH{x4=H*`_(S4sIMdsX?cjvg2UMT-bZ3IL1^2m#p!D92h6wD#2<#jFic=KmuuJHd6H?Q6}>c5|AsvaUi6Lbij~?!T1Pr61N@*lQPssT9Gn> z1ZIPW%=ZBvg7Y*$=}nXH!egu2LySZ*49FIP^WkZa0(c}r6o6nDx9VCAqv^`%T_`EYA zWBmI8s_2it8J)^1wlVe!A!M;se&)nQ*2CZ8aoLy@uQ01ty(g=Ro_aYAxPgLh22&H2 z))iVY;ds3z?w^_c@dqa4yc?m+jB4XGlV83R)<0PKvrEF>FvR6nO!H5u zHHpGDj|f2G;-8R)B`4N&k|f8QD*DHu!M@l758{P$(tOUXfpkgXT=AJdb2(k&53d;I zj0*ecn%#ugKBn;(y1r3Bj=>Y}S?e4Cu$rCKJr$lpjW+7=y|wh2M`C4S9DoHNj@dfC z9BC@BA>5LFJDz-jm_PinS5DNgj!EeWt{6Vp-9h-EYl$%*zh5m44Nj{x{Hz7oWu(X8 zl14NM+@r`l`KhCo{ohbIw_>{H#4kZM?DI%5gv5{6tpN%;J!W%~tMulXH;jDnNTrka z4a~NsT@HyH0WN?+2QXL!fRu?0I6RbrQp~`!&{PC%4{QGZS)R6`6=J1tm0X^Ycx*|V z27Jv`)xoWy)9luB%pQdcKp{>06#lKP*;*lh5FKb$VNG$Z9^;zwF{irfCWn|pa!vZW zwB?Q&ur}41UijfuMpN&^l_@=r)!vvBR3F0Xj2&MGm8(FT6JC{d)%~552Odz0`aqsk9C!MEMOU20#pS$7&o<6UC+<080wl-wbTQ$it-{QHU6wE2fDD5txY@~69YFo@uAxOH_U4Aq zT^H$xx4|o}`K5K|fDA5eFioX8Q{4}L-PBd`G$%K-cwnX~;&MRR6;Oo0fx-%6K#-+C z3xl|xCvY2w`DlF^|0l-ppf^qO45fW(shR-G3<#jmxJXNN-_J`)jV7t?tND=xLoW!! z*U)YL@KUKIr^+%RM#RWL1vtGqfyOzhx9$QKjLRHl6kQy~7;sRFAn`GPSy5?iviufU zp8bss){IZta2ngou_C<$Z;@Fac+>rm+0Uv5uc*)dMlq>Hmfx1vq~Q+jn|Dr0qT^{c zI>8R{K(EsSqYMu`ofP2d1d4b?VCx+1c)C^v+e`eLSmTznH*Q68IPElkus4(@a_}!t zQ@P-($!ItFl-p?0!Dwhe)1)e)Ngw%3X1LyWvn8>x zq!B}B_0nTUfm#kZ@0hLml)ZJZFWq_hqhnV41&b`r$6VrIU#83QC#UT8$5}7q8+!v+ z***29+Sf%bTQ3St`=pI#Te~*Ohz)IeM$K)TJvn+t4b27ytZ8vkhe31mX2eP<+6;^U znE@@IHb^+AHoQ)j_M$M7Hh4Z<`n(3{172ALa|Hy5BO*o?-C&B8A}~m9$PSXy*%X zh;TNlTQZUGw2BWYiAH;!PERBmXnqb9u+q}U$5YB`p5|YCX@>ZI+h*1}+>fGnKb$*C z>7uX_QZR?(=W8-;f;WK(5q!qmpeP$1iYla|pmf_0b(nw)LDaBiOM|HB!^La&Y-C?; z6aJZ<5Y`+L(i|2B@ZpCgG-m5_zPDjl-TQE{tYu3>!xl3Z<55oY{{1c4;3d4&jD7pl zPd^$jqD}TUqs>UBz+|U$<`=)^t_K(3Vy@Lb}S0t5eV3anFpk>oqs)wTl71dGS&N=omZ^D}V#(TNbji z7IJeLxcOYj&6y#mqfm)xGy^w}hD;DVZXuWn*ub)Y-v_2^(939m4#V;14SS9=*4qS% z={va`zBG=p(D|Qgg#9okwI$NmBR~IiG*k5*Dr^Eo`ugIr$egn(T+EnwC{&PG!J|+b zdGfHvFhMz+f=>_Ua7x)5LT8P*oeg)6GP9?`Q>#PyWhZ&RX;xzD8U&p5#y_KgfmG8^ zF;4Tl55DEn?8wn;T#4jb6eXs$r(tQWj?+KQVM>%aJH^$*H17abjF!DqkGmtVb@X8OY56ZE!d6c}a1ITWJj2 zQ4)N*Ddn8nxH|Lp#>mvAwAVCGIUd#dvUOyjV&v>bz+{?CKYw0K^pQ$^h(v%-ATF7N zVt11H_;F5hhuZ-9o|+IVgCnyuuLXp_+dM;P_Ejp7lc+9fo=-x)pXB)Dma{NG7Yk|h zltornI*X^IN&$)mu7p-b1ZaBuRf9DZVgumCIkMx|_*--zZK$u?+|*RNS^Qqg*JvfW zXejJtQ$j*`t0JOI7q|h|$nLtZCG*%DQFs5la(Dd+oAre+o2ve|tduPy+B5Z3 zYHe8k??2y?Ei+G+atJL!CD&$J>gM{Z05o%8?~BUc!KwD9jC7*tZvUAe3Sd>USgeK? zCWq6+3~petf~%VX!Ye7fcr=zLrU;`Li(W4kpaszWU;FP`h4YVn*Nvx?q`=N&Pjb-Y zB`Ygf(6}lE^&%IGRaaz7XYk@iE)lW)8qS(kjV(>><2M8oYri|=n{{Ge3^XLc?DlgO zzdkHx__9(1U+x-aA6b^CXf7sE;NdZdD04hUv%ya`Ty4hQe=Q$R-+rYd;UYmKGSat7 zy<&QF-`k6cZEgPOEsGLHM>W>lVyuTAJ+FLF6!%wIe!#Dx3-zVfuf%@gasu8B@~Cv5 zPzM83DWZ($YJveQIH@}AuZqN?BP002Mns^o5s_+at7C_FHYDL82Xqapj6iJkbbdYP z2{Ll20#6PsCvTT-e^1e&W&+a$hoT9`;S_G6c?lPhFKn<+Dn~WB=Jxm#7c%59yU=@5 zG3Ax>+uSOvUpUkjrZLbk05D(x48g~M7jFo)dShdn1z&;k?QX?JDFsN=FuCbEOj=F? zkUecPS^#PDFKJzwcy}vQ3BbxecFf=qQ)q@>EmpowTgvLAigi#z85BLP>#Y$rI1r&g zw)k{JMiTfq{PNZCrE-%!idO%>IAV?vI7m_gOrDrtKht{ZA3dEHEN_ee#3BzF5A}0I zIVo3sTDWJj0X&K;Hjmt-dAo;g8I3skP(1;q3shABe0nVIiTWJRmhC;e>T&u_GjUg$ z48+-l$>2cG9YPIml|y3;U5b&-nxcWMG)|IvZ{ zX+yrbO=*fi>FrvRK^ZCC_t2*3@AksoHI=Ws_AGv~S zsobGIG-L;#(7Bu~OcTb(YMS|(jq8KINy_tbJBxk4)#I9K{)ye$UT9X*mqS%T0Ru_> z_qv2E?p?wwMeUl-sBv&fT_&?FwMBKqDnkX>$3iJ-TjSk#C+fZHwl{7dG7!&{*{-Dy z^)>`*)gKeG4UJ3h-OT?9Ddy6Y!ZYLYJF)c2kL?A+KW#Z7{n~*me9CX^V6>jda5w>IeUO?iF*`MrEDZpK}FV3whjoamr zK>S`Y?jc<*G@28h4k!eb5(}WDH^0q{uE!u$@&htuqs^fjxfno6Zl!@g{U>g2&Bw$j zAM810Chn5Ts(_=woU?po7AmWX$(Z#uLiAcmhPKX~y-G}p6R+ruJW5TD*?9>cNqP&+z$BwJgUMWr^{iGXX4nF={| z1c`Cc6q~d2PoYjIV-Ds*-O@i9XMGc^bSll@VXy64jw^SQf*C};f*9FNQn05y4&~b5 za=qep9(REedqv;FIUT^His%JoOjh3Zixe>1D*tdQWWZ%=clxh zhBA_^nYwP!^6K`gE22X@=3g_GZueJe+b^&ffB(a3-?sfBtv0DaGQaA~-Iz@KV_Rrr z3uaUg$juP|jGzGurWU=qs;aa8-v*SGq&yc$~&_$Pl%G@ZRvUc zA9e6vXVAC5i@?Y*JqZKp%EmnboIw-^txDyVWiq~PbY6Jwym)!rCh>HOwbxh<3(BvX zN2vmHXhstqpLM zN@8p5-`!cTDH5P05`Yos?kM&kpbDBPvjt~klwPi*OcI%+p%*Lmb=}krtl$6^yHx{y zHfVT8;Slc=wTZNqyhjcE&oK*%E*P2^?#&mhY|U%bo-97|>}f-VIX0NJI8Zvw3Toj9 zDXl|66=?ujjt^L+-}r#(VxvwYfuI0ZRJFaIJW5A~y^C&x@uzmbzSYeJPX6n<#BL)t|a2^>Z%^#im=jp2ec!d3NJX zrPBR{SMKVJ4K((!q_Czme-8nO5Y{#xz`D!PG4yTfdtBqumV_bsU%#*OT+YwF_neV0 zSz_ee%V%aRsdJdwi#gd#&%?JdcupZ1e6fHEVG5i=^nzqQxYYN?wP0lOg?PB~MY~W$ zg&~a^bKBFos8oW-zKD3-0$uiK;x4cYbC{pvd@BfzGbKuG_%g_-ZVr~>)T@`L6cCdgXSA|X4nm#Zcz)u$_-rEvJG?Ew?riHu>T zUVnZlAdSClKWcUBe&yFR>B8})jq(E0pC4FWh7S=5dMf*Uhr?rb^2Y`H_DzqV6dxC` zlYxxj?(DrXX7wB(ddQ%7^L6aeBjHI|Q39X0Esmlbi(Ks1_pc$_(%Z+*K8FBKLD!aU z?8~l{&e#c5NGxu?C#9Phu!l2O~> z+D2$~^SJs<0z1NgE-0>D{C1(L>;IPGUA>Af2fKzxd{yV5E^Q$az~u93%)14Qmk-ka zyq)Is;JtJD)Z>%gkBFd=&^9Z_iD6fiea`9g@6)`7|9p@h^XTmY{pZuNNB|Zh&>e#d ze1&I2m+9<{;$8o@bd`O*P`8N6gK`-V+6OlG^pj{xK zJAe%!uDPI|e-R=SeX`wX;wjP%I3hk2ZSq;&V)7;<`|sAuq&LPVM=6TU=TjnEg&KCL z<1+cViq=dk)L+HJS|`+jHdpHB6&UNCiHnW!s*DAcdxrz~vDi#hEY(XEAuG9I z8hd%xrl|CJ4n{T6F0MX?FOxfZx)%pMS?1AqboC;&f@S}gD2eM8YL zX^N>^{GL`ARCxgjJ^8{}z5=g`W@GYO%6I$ykou9X#+)pSS6RbJsTpuNAFxi_^B&@TqN988+)j+ zma^75Bae)FH`ai4Uis{rxOKy|BK_-K$LAoX!JLlhHGbhKJ3C*N!^nkU6G^(|<-TgbVFPxKQ({qbO($Y~Z{x0Fen|rqt2=vY!WH zJ(Rx){jOO=y^lS8+xhw4`y4<44Nw3>BzSoyfyTw6sdN++ZCVYmJSUyY$f~S$f-=k2 z;#1E(8fi%mZ5{|rtGSX*o=$k4s@D%GwFXS?hhMs3eN+ADJLJ?sJJsH5C>!O)Ot@Om&fd zM<6ME{&(6HjfYHpcA2a|l6!AGkXrpF_YW7%EV`+F_?_Q9WQRF3^h0Z+zdR+(Vg|FA zk^a7LHmrryit!xvHVMC=BBx1mZ0?HL=R)p!&yy$9A*Uoc?I6%kdNQa$b+B{HO*u^! z1=&?g+tL8OhyViV-`w5T6Ega8;I@4c1`p4l`{e^N3>Xf!C&r8<+RtuLi)vB|2OK7o z;J$jQlLO|1bU0K~XmtleGYEK=jO*?}HT`EGACvdS9ZLvsig_o1-5gWueTzSf4a=~u z3f!vTs(f~l;qr9!>l?Ktgdllu_0KZu-q@vd@#%=vPtG&-14Y_0z_>lNp+rO&fp{ES z7-=5Lms0zClO>h49fKdWFHSQj9z3cJbv{XDS2{A2-QP@+O|!UJAj97%0>dVnxVIJ2 zIu8ffbMX~p)a_fP5qfXR53WmlN3_SwWArp|wfnz`tMdEC-mhpQ8pW<3YT%3W&Ykl9 zy3=SAz#0rdVXl3?4!2ewqbj<(! z95Hv+(E9J?v7VXo>J zn=bJU&kiYz%dYi}vDbTy^s-3+4yQuu+DkoN<|v~HeMe4J`XyBKbZZt{sW-wkxDVB$$8DEP zl`Pw?uWn|S3xqnJIvfB{5j~U2+Me*GLQLL32pe*Uu7*^_t)hJ{!iVPNJ8CAEr*D6w zWn{m!bFcn!boWinSwo1q-1E8Z7HGYC;OuZ@4D|773k=jSfDzBe zO(@ElAOTLFX1Lz@L1CWUPXXXM+H(L8;~xbj=*m`p`t{YNdi&0Nz<2RuM!S{Q691lT zJ#pa1VCk*XWmj!eicEP#mZ{QGVY-!^a6PfFQ5=^tQpQ#9Xk}~m^2LJY6u~fZ+8Tq8 z@M3_#Ib;~^QjcD{e+nv0H1c&}lA3aWb1SZRl(c2Bn4$NA9q>87!)9Z{L1BiTl|66iq{E-to zP6%i0Vy@*b?`}zBcWd+9D_A!(+q>?vlD+*B&Y<{1LRj5UTT48PcU4wjGn#1_;kGTl zHf_$m(yhrmaHDL8MbiVOW(MclTkQ{18s_f|WUs{yS3ePcamz^`aLs}_2FX}5U5a#C~urX%#+lTjNf z_r;=O!;;b`m7S7%X^d%xCMR=NoyOsxv*bxhOKb$hF%zU;a5R$as3%v=*^GJM zY)F^K5f7!Kqer5ZJLR%}kCl2F&b`njlj?`~2R8nA9ViyRqXS92mLcYz6cV$ z$sC3^X_c9KmuS3Wj|m-Wjxz8utq=Ah!ndZ(738Z4MaWU#9cfQ_qH-dg@`^W`ge*hQh^tr!fpB4^I`D+|!= zLKFC10Bb=$TTz`zb*f3E%eD^d#d}^r0EM-~T8>Bsw`o7EFsG>vEo6Okv_WlH3B=&Q zkbG<`Y0Om3(BQ7#@Ft}m*^*6bd}myZS{`+q5gopdzb`s`WJa|!0ihELEby+RMy+bg zpzXb7(pi=cx^bnr6tSdJM)<;m;YgYoS)i&X=~6--cg(| z^R&ZCMqjp>^Lcpo3BN3gv7H@lm_65hH)?r1ez_^e)Yk;1ccYi<&EVq&H{$q}ejE%dd#j6*F~ZJ%!``cATe8-X+MxHUGJ2q6#K9{QBP#4EVR*b)Ws~3w zYcNAv@L*%FHGm}tk+c{ySYu`_h!1XF88&R6Xopv_fsj)=^*?rUS69(*{Yo#m&CZwH z{+c0~MHH8F%Bj@+s=Bas4CqX?3(!METM4ipFUYT^Q!>g5@0pUX>C7{5?hg5U8yrZT z69nTZNqb=4&)zG=`!}xcoO(7w_FEFshV)wtU{3pC0sOw6hF4fWZXv4^(zoZ!UT_Lu zPsQ^s*OlpgiKNR$69B1U7OO~XhK5=!AJm0wt^a)inARtf%w&c6iAUaR{a6vP@SzTs zL7Yt?Psy^H(uNt4%~8G2@3o{Z#wYn>5e?1r<5X&QCIwBVLZCP!lv3^o-zhqf8vwpu zwFYqT4}WC|9d3g`jmWkE{VM}CJulV8m->@o;Q9d-ivD4G$%wqXixiY$Qm_rjkZn$u z#53X(Ot(kp#f)NGm3SHnu7YPdWCi3obZ13C=jvMx!(1=1VV>bJmzd?$-FjNuOREmC;QCzueM_jj}2Xo(s{9B0`TGPJW?1QUv$u zY0+gU@hVFU!Fko(uO#1`xLJ$2ejW-*s11$&E~+T+5nz?$&^UEl)^>SQ`^CJ zdjDQkw&wxFipUPERjg7wwllgIHv6Iq^enVqk_UTJDoN3+w?uA}@KA6fJXwDc2||(C zLAWV`T>0eD+tti~S_wFdJkc{$e*KE$TzT-c_jGx%`J7g` z>hTPI1_Yko8}U9WBaKvue%oVS#QSVkW2(uLj#Si~uS2|JkkUNfg$#}NGwAN>;zFk&27TZ+py3c%RLrnoKG2s8hy=9FfH1Lwhaw-M0rDGdfeSyrb}%k_+++w%=aAMB5Oxc)eRKyN{3qH<*A6}eL6|P zzt7kWl|wQft0lf|s1B^>X9h&mq8FX!!lQ^yi#4l}DQ=`R3#>C2ES`3r>W+<}XUg3T z#U4p#FXTxdT_F6cc}&fbGC*lj(hyfdU0XJ|K){meSvtP*Bg0ECyFdpv!$}Qw4JQ)X^MAmNHxp&xJ&W{mgB4|Ikw(Kn$~T zgM=l8LHU)$A=v)Ihp7WTCyoB!M7S}OUv&4MEJ@F={LBgulQ?vtHa|B%6ov3T>An-hNd?Zibmb8yz~bi5j*`DxF(OFQ>Ko+o)ma2-szxt; z>kz>X-jpd=3bYuluoS5#y|j_0&03Bdq4q`h4hm{eHTr7TW%8n_CVc@R)yKE%#5j`$ zd=ShkeiJ*H#tXP0Dh`kW5;bjf9=wyPAx;EmCnYVrDMbG&k=3uC2Og2x@4Vd5ISK3LBz+_O9@R^r``Yxim7sPX-OHd`E_eBKlUr z>W_Gb2l&0nthK;7x;#B001l;FxY{bBM8*z27s_IvyBZGs62KS2*w8HM;jH@cY#N*$ zOEa{O$E|GX0ZCPO`igmNp}S&OCggB3RSm1LR=8*)y$#AG_vUR4xfM zamGDSl3>f~Zgpj79i&d z`@*rJ_MK9#e%X*#6eoH^1x5ul+$lYy1EijTivtPj$5!q!SV~ei?JrUI3vQrv-fsXx zfr{O0W31&jI)IIb9Ps%kx!X8XHNt{A+|B2Dt*Z=Bde=$i)ZJ@4?gq5+$nhi)F~FK8 zewN>T^K%n&@JJ$;OHTxTBIU7vf~kazqf3s3UuUn#0YQJCMs?Rj-c~A$AfT`uUGNrY zzja;LU=}LiAWGoFa&f^}Km_7@w4r$C_)ptR&D((R&E)ZP>=Hp}xi1E%gS>TKJRZJf zLwtKMvV1!Mkdb#$k%1AEI(caVE_u711JnA z(9DqaYD@?nAB%?CVv>lzbvvG1ak7NNiY^`_qzpW{hB^7v`nP?xI66HM2en4%$iHy3sLL1-=Ykv0kw>u0OV$Ad^LtMVjrZ&a)uJdd<)d0XHkACM%0mQFwU4 zt>DdR=KUsN_7hE7Y0jS~SeG;6XXYa2K%~t9qQ(G3twKDNs~ve-Bzs$=%8;w7(-wqE z8x1p84lpDcu~0MBpqD`sTSTzR^RpVvGFh#*d;R8j@cgXuA!=&H49h@$ww)TdQ)aa$SUQ@rIgSG60-;Z68RwpTLKr1EA% zr4?e2y-L2LQPtbfPae^VM0|Q{fW#QHaFb*e8%J1mDX#`J3G@YV3bQz@GGuVeGFU4& zBQ??vsk5`j5MoDJ(;$HoEcRMQ8mi>J6wkneo+Zc#9keKm)}8eCFK0pkE_BhK!`up$ z6UHGp5YY=5Q=R?!ns#ogyHzf=X48O*h*Ip?ZUwqZslf`TAJuqGlJPohDg1T!!+XN^65CU-VEN0T^w zYBC-u)vTY#wkc9>`XFi}+(UH>bjWqj`jtRAB7T^FUO=0+$uZ-gO@-;sp~qGP`*c*z zNaD|8`#_w^6rchIK)BN!K#TRxO$Y2E2KPojGqjS0M~&?Ee6|nK43>3qkftRs7%ks#atP6ur z%PWvULmLVixUw8FjZ=kZyXG@M z)i@u}^6{TRr~GU)^|cR+oZ-^>o^!$vTy$(S`fHsOqXDVVbgAe)&kd{yjEm26dj+#o1a+W|#fL4CaNndM0A6az}9Kg^Y z^x1OO=Dna$Q1pYI0vyZP4rO^RMoy!+1fc#~z*y#Ad;3`N^rZtNL}3vqVAYi;{2F@|`#2L%^x&5OlIebmG$9o$->gV;u%3|z3YBS~F{ z1WK^EWW7PHUyJH)^8$sdXhkk02m zgxp+O2uXU^{+tLdc~Pzw1=GGyFo69 zNF>QgEG45CpobJkj(BkoWx)$WQ1f6IAeVIF(65A|y5C1I{08Ue9Elwij4rWivVHWgwpv-hjXhYdRU{W^QxMY3N`oNHs z@+zW%|6v>blT+8bDx-~Z)}=-H220|K2|$Hy%9A|b8S>PI)UMSHGi07`xROY`UH0v~ zGyHs;rN?jQ?v{bX2#1jj1Kl$`5oV za%XeRsBimOTQOu@YaN>GVQG2Q+rpP2#p;|lhyvM(c`00ekEj9g5T&(=NjVo~EQ#)_ zr3JS)KNR{PTdOqDdM1_Rn<_Tumc=o!{zw0ajnpZL1JRk}b(z7scfGgxn0K@}T4aX? zd~9o&eb$BURg5+?O}*$scRWxxRx$iD`MQEU34`G;5$K%B%LE*eK%QLZ*fM`;D!MJ8 z=b!GJkPRQ(>6gOrjRSmaORI~*bcPvMOP=>tH@B$Aj2}klqFsFw%_B9&aCT%i#1)E7 zERd)o@)HU@0b2x_3|9Bbwy@(-3%aB2AvYn5gs9fwRcKJP)mbEuGAz?i-)D3yaf3gW z2iDnk5f*VtW6vj%>ZFT; ziuB^}P^7CF2qeeTk%Miw|6vnujOC!~(ie*ffSE}vpXC(|4h=c}y;>(ew;zb;YlXaPISf7x|j4!!kC0|OujD5*9Qv+;}v4~qSma+i~ zIDi6-W72Yt23sxNb<}VBTds_msY?HmzSFS!fRR{{gmX#XT&k$9JztMl=MZyu ztq;NLWD{*Dsi}I2Xl-Fp#QRQtmq~Jp6869J7OH1owTsj@SJel(^FrQ>^#4Ky54ci* zm$}4u5l%h_PRI=q=oY8Sosx!{*_5N>+u>^iipl|SU?)(-07FoL7ux^@(Bs^$heo&v zaUW^{4N71NMnOWEF)(6Jz7F~enhqTTfbC_qD6vZN5OV@bYHYSNgn)YVd{|Carw##F zI$*Aw3I?#`rO@Dxs*XuiP6~{L0=Faqy|H!f_mqKqAsWq#urt?I)LQDmVucoYpS%K8&0* zHJJWTy>6C$&Z5mMeR%zc6$(>=(!=@X25ZWE-_|;hmn&4Nn68F7`{n`_{r!NO7@ZwO z^)h}d={mc^sOgsAVMu7gSI!C6xjuGU_DFPie^eN~uSF=Fv_R^Mm67}!{8)HK=DLMQ znWm(rwJ`mw{qyeKyvk`Ohn)@usHYB4&w9Z(n{t570Rj_4hLc>Nr!^EE1xWPejivYh zPVO)bVyyN3?8Rx%qoXF3B2#%8ZT~o+>L9V38_cg@wcp3Ipc$d}HekpUe)L=y|?>?9I zboV7`x0ihAf=YW(-5a?lrfu>J*u-0zwe?rmkA6Ug1KPh|j7vS$xOn7MZDQi-@I8ZG z=RK~AVp%y4X)(pAZU}AGk%KYWETdG0g7|dtK(51s_y-k3$4XgwjE5s;IhC{>6*1l-zIcg08{m#w?Th)6d zsq5Ln%{a+lFh(iv5;DV_x^Kny9z@Y;sssbHziNe~528^NB z@qx@kp4IIUluplIseU>vQa<-iy7Hi+tnK%8q6bMouFzH8q!bNzd_10^;MI@(-o38Y zVQRy_Wa@c&wf ziLFy_E1M5BIJJkmhiZ~bU&n_Qr;>t>h6<5+4r#%EZn7BT8IKZQ3n>g)|^K33YH~6KbG$ISAeD>}p zD$zO_qtI150@1=*RcB=-u}bx`ggN463Am3fM8p$S2T^<-@Fy`q~Z9!#dqQP|LTL; zwAb5D_V?HTM z*~QlFN0wl8{Nk0{;tp8wnw?@o-Hh0&+h2TOO|BydQ92#}mj|@Riq{EA2sJm7dVXIc zI+o^&ul&$qyCZq*r9;o9tp&z`LDx4ZwvRec{&?fn>O8sZ!P$nOeYf9*$!Vj z?fb_%K)E{b{}hN6XPAn^`>e$s>rS)kRwtAL%3scH_*2ku@$+C_1sr>k&6S)6mS*Cx*8^JOOru*M2#Eu8jCQGlrc$hPHS+Pkw zRzZ8Wsxy;tSTWo-0ZNr9wJ8?tyrZi3w7f7n=J>d#7a8VW^Sk$s&zX>hs$vUZC*#D~{7 z&1|3XO5c1k%a-6Z<1tZic)R85347I!l|Uv3ys*W7)O+L!A`9`kqg^uoehKa)S%`8% z7LL39-e%De;3-Rhr-XlMM6Ze%zp7tP`##m!sMFr4v)ah`UQ?a+Ys%TE3wD?TB$ouR z&rKukTvxuXzu(XY#5JE)UsyrXU7UM-a_!^ldA{*YQ7{nRZhP^~vdZ!GhRaJ)ti;@_ zsBWv#jCg2YdPwtwPC<|`|r5@f4zAjmwalz==@Y)aqP)0!O0`@4J}S*+tN7UH4`zQ zOj)fQjD|v>G~JuHP}a`gh};UoN()6-t0?2CtGCyzm(GqeC6Cr!5guqHPn8@jD$66; zpE$#8wFf4PsHQbNI3%SfIDTe{G8yqvodf6*2&Di}Z!|bNCv;=jhg&z$PeR-=cUiwu zi2(2UT(Ss_Seo{w;t+G@VRG!MK-#AG+OU*ur9B3JHisHLc<~u^$8JMdmd~Qk#9Z}A z#)&aLWHT3qF_b}@QOG*YeK6IJvoTq`?YCaL2hAp6pT$xpAvjgxvPp&}7^~*8MXJN9 zVdj<%Q#3%yf57jk%{%by6Zw+z;L!f}d*~(N4;$}$LcmJbzgq5CmTzl+y&v`0b(52= z8mBD~$wI*xB3szjkI3eeZ|%BI0rcV6x1zpr|4(6Qn@n(DXX7d`rC0Zo?^$I?LMsv3 zLf#kxF5IQ+`G*CvR8PR+4tH&DH%cc?xhHkPvi;n?%N)|Qaq5d#vz>+W>gBf&A8^bo z)sRDpr;mh?Pp|m*>J4>P=P%|l=8_jA*P=Q_U$a=RZ=^-?ah?z7)yasO5QPVORCVoeFNu zi{6G`p^d7KOBB)6?v(M_aU^@8C-g4^h}u96yvAMluGavSF78#_XGQap@l^{yq<;UR z@@*R5xcQmsrb|WBs?!%+!TVg&WBHRyJ3jT+OO&U|rxwahwVo)P38P2*1uJ1%ke?!w zJ5l65TTgUe5P@lt8Dn3*mg$yk$Jgidj$mYqM-{F6g#&i5ngBr~T*bFKC*%E!QnIOPsfT{9HwS(M97ypL2`gzB7)++19+CA>=mM9Q z%vHj;EKIgTv|HFI*qdbxpg-j;x!mj?jo)DGi)lo-huEC4iJRrFV#TLF-a>huRp!1h z7r2$Q7t8geX*>A2@qTWUi~r;yW=->Db{$aKR>;NUj~`L>`a5Ti-_~yNy&LcPT#>m+ z){~;)JLp2LSf-x`^7G7YY1a`@ zNowsE8M4+J@sWe6sq~)NSdqoD+dKFADuYWm%Z%)r^fGT`mEm4hJ|36=GeFG087ZR} zg&1^rWm#y}V0O3std8{qjL%*@dHulNwl?p7{yY+WZ1l;K%@dtW;})YJpI|g=&5tI< zOLw=O$e%5t{(oJ}fAc8oazryKUhb|iN?-lwW^e%vY4;o^`b*DMW$mI6gt6S#&AQShzPO$ zTBPQH@emPZb#%^Kxo$4EZvy~>4j_W3fvLv8rahdy?Z+h`IYOe#qEyz;r#Tz5@^K_+#Tl22*hpyGvR!LB-G!r-)!wX% zf3|>U;ak*C^OGQ=OOp#=h^e$Mo9R~|CkxEZ4_7z_m;}ji9$LJ6$-Uy-`Bi`ai znJtcr&C0KQyE+wqqM|-10BnO>Eg|1>iP@C(+s&yHh!6p#Nm05eA2vL!D~C`Y-(}JY zASZtDnM`3!QF{6ZL@)U5%*DCOWtq1=pJ@>T7&N`JU|Z+*!ig@IkzD8d@Jt^e1|Cwfw z<~^kNg~bV2{?5W$b(L!bMpUk{v)8o;x;SigX3BI@o-Lmu$io;1ReubE5}M?(g|!>u zJOF9=!I)U8WFxSRMozWzl50LfRKh6kXYfe__r``FySq;Xy%x{m=YIRK zengmm5l(HbAm*s85?AfjBG@Yte%39+vXw2vPGJ>p%n9q2;hpR!L}O?00HX{h>zR(q zZIcdYFC!S`q*&N7+I7D1)$Rubr3Cp-8nxRrNNOq_7A<8zSkWAB!*rS|hCL=UczqMl zXoV>ckpO0-5ah6Mx9cD~mijoXMbrx&%)NCR25H<;@m^%&`VS*-4vgM2&u(86)}Mdt zE>$YT!{Y-(-0GoTg>dkJA~-`=>vsD_^Wu9*F5Mr6#)Wd+V;lRa2ih}Zdc?i|OI{Gg z7Xky?;s&4JdojFVBk#+X=`V7$pe>gt(gm)Lb%T-<}l>i|&Y`Le7QN zH;z43?C`xgUr@2MFm(z!%fI&cL~8$ejN%WY9O=8h_ui*Fk`ofIrcDeRPc_Au@7_`j z<|4uHd=~PWaArK`RyP+8$iq@_hV6S@^rFFU1y4zciVTZvO){96%?Ge~RL#d_qbFsX zr`A}Q`zgM!5cw*w0BQ3I&!p3BX8 z#cPSC$%nkf?;ox5k+{1-i5jfos9RlEaW$#rXob&3_t)X6*x5~Nk!-4T3#yJyyW238 zUVH5Z`bO>jbnf8!F64@zocrIuON5O-IhFeN&S;~J%VaN)2KfHXN!zwtCNAWkVWGr@Xw zZ?g-|CTr&k^yYf;A+a-|UP|Wn-%;v2@}5nkmJR&Q9eRwuDytyXI$PC9JwGt!EPl>k z!xS^RKD~!S{-@aPvNyKxOD5xbbKC5o&dVx3#wK9G)sNTpX0S9MA* zuR9f2=K}G~M7#O^J#{>_wnWBoBv73rgp`SLC;6xvpF_)maEj%pM??JtS@$4Kkga5n z5I-ADkn>C!d5CMtet=v?dHsKpa+$2*rtpD0u=>>YlpXuR!A4r7Kk_^>R#zb&kCpq( zw5^!L=+xa^4Q~ySu7}0G80cXWRgy~s%k&H#sNAGDtdzQcW+*)JJW(VCYEg}-krgtS z%Fokj0-+&mP}GolSWWtRR7|ahoi}NyL17*Co%Zxc%sCE3VGtq79Zb5&u&hN)X7OZq z2HE>a;LqFJdd$bK6=}ZjsoUi=pRl|>JKzFKlB7_ja!jO@h~pTQmLnXb!3&^ZNYt)S z@bUX5fe8WAK*5+{h)xXQNUiRtcg5gvx@AQRoCRtO%t{G$vV3Bf2*H5ppAV}z08EK| zp98#?;|vNQge#ikd7L`zpc?@~N2pce)ZL^h)u?2u_gx!3Fc-M>I^*um%N0AlUSzFm zq7z#}bL5KOP89}k5VDDXj@Kg})|s?d9Mcw^eM)&*b{IUCbo{!%`^Xc9k`wcv8D;-N z`L>eZOjE2kG3(b#jb7f(+L61Z_RXB+ZN0v)ojzC31r-`7(?r?lvs~*VgUVud~Q)y~%^w!LoSgau7{$7|n z`*Xn}T+l!@>CwlJ2d8>(Sl5M&!xPWLM>Ze*&nK%$C60qM8S#GEnk<0Mb6Q-dRskGa z@UW<$s$%Y+e>MBpjQM#P%}7(EblPz4?nvUlpBh3eEXJ2Q1=jW9PVSn@%eKDOmt{D{Uax(mU{`N$jUmJR6ji(p~=F;krhLy-{P9N+1 zzI@m1h-Wvr?oT#>Yx8sX#P*`=ukm42^fcHWMT#0F%hm1wEiN^D0n z^ABcspRQ}|lUweYcRs?TH;M;sJA8#*5 z8l)aH5L5$J(0!$1D9v#tgSRFU^WWUgN}z}#_!2u!ta_1Zn8Pznmh47#5~T4Qok)xe zfHVNZ*Hyn}U3gnB5WRg-P$pSO%X}{K!{y3|9%=EO7`zydlo7>+6r^0bX-2yvs4-v5lLZ1B-3Sc++$(URH{(SP6LeiGWS(M##?~^;G5?z`O4dT6N8~m z36ani()t2LOA-g#G+Ll97eGw)Fp8WLEQa{E3?=j5bTo0-`j|=nNk8;tO>fYWI{6H; zCn-w@PM4PQPiplZvZLMh&u<-?)34g*7e1^NWh|MRvw5twEbPl$R&)Fl^b6 z{~W|DVSr56Xw~SbH6vs=$*(iog&~@;coO9(?D6hkKP(B4%WH{3I-E6xWP*_Ly^%U& zadMNu)JpSPUDcxfJYW@!3X-eOZ!u`kiis_TG3_hRk;LYMrr+VOMf;(r$}ppg6_ zyTk%@?rMt6;^4KM`*Xf+$}wLU1Ox&S43E2m^Y#X*)1LWRCZ$K$;y{se-fT5mz!3eU}UZ zhN0?V2<78~%vn;rpGeJ}`?jyzAPi~*3KBIcrxHW5}YwLIC|WPL^e0_U`%+kqh4bQxA&}8-_o3qU6LPxD16@k1Aml>{ zEdYh)D&C3zn=WjI;{Eo+B{g-`o*nA-HhW_G^z@vNp%>ySH#}@0!4k?59Y2MTk!Z|c zFQ7wNoMS^_M3&P1AC}XN!GWC#x=GfHXPHs_v#fxwgpR@c!kwTvz}4ShuyD13!50dz zucGs{zV6t}*B8YBjTT>pIt))vA|-0X@*VdX9s3d&+O7DBMb$1<)Dvla4OmECoVb)%1IRRcF~!e?wDynI_MJkLAibaJ%E-IyaXdNwr#n!i_@;(zD=N}QlEmnWO4vD0K#ol zIk$XogXe%J5Zc7AsX~2)XBBjfPWf51QT6m3@&rm}priNl%P$59N19x!)qF`DIIPva z`|T4?8&xYuws<5tI(i9ghlB(6{Go=dIDBMW=q?gjKla6NlRqLpRN!RIR3ZJDH)^$q z{5D4WAr&wdP%&8$d$(V7p#NdPh$P0Bk(%!RBQcig5V#I)r+@f}Z|Lho4?Pst3LiCC zANo0>`Jq$~?@TGa2+cX4m?0l3V7C__9I=XaM@tMF=~LiPe}Wr#H8vyav^OE%z1`TO z#o7`63Sw#608-wVD=@sYSug*s*2WT*00-eAs@$pE_UXIx@wx9)BOv9da**MwvYxpH zD{;=15^fkPg$ZlZ;Bhxy)SXKqI}}F;rx}DYe+##tpt}<^2a=51r}E+q@W%Xjbsy4+}Y&xG-m4#uIwEfjV1x<6alK1C}vo2-l zLBdq{Y$VQ|u17%x8NB;4^#y8SGZcsrr7@6W(}F02P8ID5FG*y;8CK9ht3y$ABFO-f z;W$GFk{aQ5PY!FoM1KSNGm6%v2^X+IT z?3o8Gy+sjbi7F(N_Ah!4i?+lh5VfC3n*5}PZF0kje7h4Sit1F<5NcGh?(_(Z+Ku=t z68B?!d&0vuG4oKeI@5HQgo8hxb3y2Q@(us@&Z2hQcr*SrF!IX)M2tU1rqHoqXpN}$SHviTBZe<)JIIgS?cuk22EWN6X3+D zwIZ8HBEVm3w!3Gcuv;qS%b%)JKLL)7S!}XI`e+zw95=ov3e{8wC@(P$3mRdO$E20PYhB64RifXLb_tj5j zXT1xBgw%Zz@G`|%jk5>0BP65le1XSvCP2Z!65^F1On}W!3{8-PNY8=;4^q;ewy#rB zmao4&T#DaOuWI?qx%TXUOGTOot%uOogxy=tal(bp>{?-M?T!?Q!r5=tacsQ95K&%X zR@QKx^e`)j+)H*7X{!z-ri1}GS;N_Q#4}4@vb`T?!it|Uf}!#lm%`LU5+mSfAeEPF z^iypVhS_WvTp-LalEcn;zs!lx6wO9uDdbT^gy#g1@IC=>h)+H~q*0}AM-*|&K2qJ| z8SJ-G1W84D5$kAV6uLklIoN=LMN+p6@H0P(No|V;`Gvz{CTbL}C&f9QDjQfL59t)J zq^$CenSRw?jh1e89qDo^1_X&=wuSgT2NFk85o9;QyUZ;SURb~oIkR4K-Ck|)4jrUI zQYh6yHDxp)&nY;xT4kM1KWBp=l)AVL;!JAq7y{owj*Y8*5QqUow?=jw@C1PcYZ9P^ zN04&>FtCJ(2y`Ms>cx%4lK{=My9X3ar1pa#2lNag87%atz95Di zYEXx*R)#of`Le5&M4UQ@M+{(xqhrfLHQ>=`Kpu%}aM*Olm{(xXlV>hmn7NplH0?pt z(-%mdc`<3`Y=SRRnJ)&xlNFpcr2sjKgfC@nP?FMJk=VbCQEl)fgqG>R9dBEhPHAbTo0U=}t2FTvUj zA0A3OJ+XHK_|XS=ug|U8CLm0}OP-U<3PjF&!_wDLTgG_rS+TFgH9Q~$n5rsVenQPcz9SwR$qPRf^ z#A26r$x)Z>iG6{U5z!)aZ(hiqH@xE>y}=@omKxu3f?mmVwvBsSCFhsYM=C1N4PG?xVEkY-C4;v4_gO%vtFq|U?QImQQ^zwYPrRfSPh*h z{a+sj-gE|$0cwQ-#0}njbI~L5uQ#;U?H{_0O|4sB$9=1%(*dV)047-`K@c^(T!jG8G{ zARZOJ@i~SNOIgPdd;`Qt+BoP|>-f>6MI%%UV1EZ~_Lk?B00RQPid1AE73LA>k3PpWg^R0?Gz3 z2Qa&|rzCZ+NjfiG{-fcPm>~5o*GDx#HSv;+S2%Rlf)bd%K3^Gm;j9XG&Y0LA!%wWp z=L^o{#=#Shy4-T`>H-siR%|qN(2deQ7B1*dN)cbZPX$(dB~Ip1SVVd*9L{k0tD{x% zQN6fSy_ncVXH-;w97P>Ia*HKM7!Koi2~(1;E>TO`Fd`T#28l%RMedlKR2U*oeLr+` z?@2%~g*6a^l1K{%%qFoQ($tqt9L=i@<PIaV# zW~NX34SuM!_SwN?Vs45578<>*>Yo>=L!r0Waq(94#EFwel*-$1 zNigJSa!#L&!=)loF-%SBAt|84sH`EJ0d_KB03_p}KUYt4+NAw}hsV$yE)YgsJ~5h7 zuFUzKj5Kg{sS>(FB1urjOy;e$7C_rjyuR3xewi5;xy{wNPJpdOQV<*FvVTbK=u=BK zBh_m-9mYo_?LD*hzw3$?U08pj)Ly6NOVOpbwJw)y{`<(vYucaYFWs@$GCX*_FcryU;ys`twAvfsKGrlLUhG(C>}`3trb} z!i5(T@8Ad_);p@f#qHg1X~F}pK{ zC_>4-3yjYLI^7JNax%{acD&;T^cCpO<}v{r@_Lj4onzPWc^n=d??zM-Yg&ZRzW6Zc z<(7mRKpy^TgW-c+WA2Wgp3LnA4cXV}Pq+833$&vA1(I00{a(7k(`);PmtR1#3C}l6 zO{TjxU&!qDPN|qVo6)UrWPlDJ?y$1Vu{~(zH70-|Z&@ku;z_9iUyq~xsWfY)jL#}${ipCcv&K2aFBU*e;qMa@?R=w$CR|GO3IPx-!tuY zxIj9*lpg}_Ab$Vtc-7a%%+x=V*IphVt~))#0VFBcx;8$o6`eBt*UwEip5JbXZ|4+N zovOOT$xt?Hk_6RBRf2GYO2FzMBLs>zLn#It6d>Zbd>DWj-!%Ceo|9I+O>4b>#G%KJ zd|1h^j-nxLI5BoM;Qvm6ZA?&6Pc=Dna6}L~!N&MJT7BAAAP`fiLa~7F`wf565Ala% zMqCdjhggW*8j8*{Mg~1RfG@JK!y0{2_}v9qgURHj2wu(Vfn+h`_JeFe%S3M2?F;GT z9evDQ2d3Ej=O=oh3$c-NBml!Mv@|^1CL*SgDUtkK$aGE)dHl!Z)`2oQIEmi1qugw$ zzu3~c2huV(mAmOWe+)fLcu21}#RM?q%_&|Y^UVfXC_7n5>T79{Yv*RHEh>F`+mtu3 zDA=|;Ud;`D;rsvoTvS}!Nt^jdIbfXB4ex|;yaG@7>Gy5>lXQ^|zru}a@ElU&m7K1o zyMVB+y_9fSCrUYlVek#8kLYh>a0%4gqi#*m)yvgMw+&mRvLw ze5xsJ@UcqE^nL36nJBE@(bJH(*|zat^Yy+e-EFy`J?k@$LVOO<3;+t>^ngNdk}=o4 z75wDszkQ0$PEU^u=Cf<8HT{+iJB;MQ02DZ+5RYkTXM<)wA4QOxOKc}j((9f7J|POX>}l&gN7KH6*0KmIAmGT5*yf**JL)GOqL zb@1T|*S38pqQ`o~vs;61^}p}EGXpIE{Aep!wdcQPapV8ZJk&pPMYez^y~%&;W=?-p z^lr4AG6m*f01S|3!gQ7Bk~?96T|yxP*DF~n@*Jhs@m#rHYbyhXnjS;|1C!4~l9A<; z$$EymXaW)s0CNYL8>ydv=ELfrGpTnze?9Z+am9D*8t&TvxuUvX6|b8$WLmCRC4|O=y^A@zs?q3KyI?3u)7)xW%);v50t^f3Tdl+^!z(tE&JZl>gd?o z{vEpv;9)g>Z(k-BXs@~q8?*yhJn4LQcRL`c{<^;kfGX6O$?A_JV0`sGAYvRYI0#w9 zpAKTb9|2h)wt%#IC?npxRxK>+ctLW?&b1*!c#zGR#x zi3q)3=v{Eks`oq9Uk~NqhUXjV2Y*B^OI2}|p?p+wNts%jxGN_J>`Y}X3ke3o%u?bX zFdEpS$^5w_Wp7sb{q(fOGEPza;*0dk@}=~1G9z~Jd3wbRWiL<76~~u}zwh|urY4kw zn3KG>VJA!S1hJI`QENHKMkre5cpS^EIZYT8exw|{IWRu6v9omd1!2rbbz_Y=mYlGt zlKq@;xG#={8W~Hy+>{0kCIODm#vVfS7nr!~g@#~V)XKeBU$@F8kJg{*RQCNQIX9~L zEkIbFe>qW@;N~gyGZBv+Jyg0!>yRgf#II5bT}9ayoeH|ac3Mn=%f}$d0x4~^%ma^* zwj}$;HPATav0KeFOwF4;6YO{PFYIM|p1z4k4MYN7Bd3voW`1L%q>(8Q!i2Y6g<|0y z=rVIH0`#Zxjw70IBx~$lykH%Zl5Ps8c3?PKMdzP}Hwer0P_r1iC1<@hgzl(N6F+>O zV%N}+Y;gNIwA-Wh*KY;gH`z%rncU|$9+I5(D;TTapP-03fRU`026$Z~gM0=Y*Cz^U zhS!K`77w8ba2i`ZO>=z8d>1egVBMM27^&!-o+$fkBE^zrp>&{7M;p|K-^?;sV++lVc7!LOag_Vt}!=` zm6hB;o!8(d^A@T6>G%aZ;W;|D2rfr(aAgeU}<-@x#jhTXezUmn7k@N7?pwBcodc>qtF(4mU zSp4BvsT+SWJMryo2x~Vju)C;zAi|7eGS0Gnrz(SA_dn}&8+Y5fH}4Sc!4=&08Ym@z zXflWj2;cPps_9pKR$Cx3>4r}Fj(;A_ zApIlz;Sa^kiYFL7MfXPg&R@cgx3{PQQeO%{|?R2irOglq#K>9d3T_X1?50 z^6lgYdDHR_*auD2)qk~HIweQ+6ljw>ikY$7f6CHf_w@1v-M_SLM)%hywBja%6fwC<%SN2TPQF0fQd%2A=k+=hU zP<+~242F?An)`6Dzk$|pZRi=;WiXBQy_V;=C;Fu6|^xWBW>wvrNk*wT*f2}6IGekDtN~-@EqXew&dDs zXH#>mrdk2uWKiO6M^|0_b~~Z)95{6I)p!~P9E3PcRCTgw<7L3i#ZPUbWPrvC!ml{j zga!nJ5Fm0Aapo(%Vv=QfwYB5~7zCagy^@le`Rh!M#`{*$XB*zSru;8YE*fuxq-da% zWn8$CnJJoin32g*CiGeL^;ivF;(WMy>wUr{lyqD48T_hOA0Dm{ANRfN(%*A*uIrlU%j84tXVrdNKFB03UTS`LmCCR79Ge3_?QcQ z0FILa5s8#{;++PstE^$HbbMn&68_qlZd7Zu5)*kPw_LphSmZUp%;2f6v0yp4Kx%CC znHoJT0?Z--d2z1ZaA*CwCH1v)J9n=1?`mjws(FysEYm*`hqSY8#KDlP@7vna_WP{w z(<;9P-~eU-K6XT%xfE4@&d`LkeNQL@O$DOPrR1k%a%e?%(VZE;p|~w?H5sc~Yrb{) z;*?GS3FJB@|$4R3dv2I)t%juN4SMP})|f2p^oZSOZx= zLXg~m9$_049EIzD0N)ye$w9S0&Hzb6_j*=~M~FmT*dao1HYi=Lh8Bt(YkVj?`C=>v z4_r`|>k^SjqUB@>8hD)zBnbPU&<+m;^uUSU2(SYCkvAZXh@x08A%oDW!8QrYO(OeX z$Q!PY+5vzr5u9&^5-t<5mspSyOo2C(U+{{AJ2FdEIjq{N?w6j?;1j`(^8KWp_R&-v|Y z3Ef^<*6GoTqftvPA>2Kqgh_=0b)l|wO|A5Rpir|h7<}G)~L%h zi&O=|6tZL%Q34jgYfK3niCGIX#9f?Bjo(u~3j^iB2v1xgB%!aYv_pt3_={Lu4agz^ zNdSOF4I^ee{PA(3hiPe38FXZOke;zxIkk#S(#c5y6%efSN&1J%4}u;}M{kaARK3|~Hwc1A2fATp0fXkZN* zLdtcCkZlq+lJ+X1K_JGhCqJto#}PF*((VrXYRU%^Ng1~AqovaTK~+oeK5{R@1Yj7K z8A8c#5C8xQ83d?5{^IDB_ETjZD>!4>WQJ34a%G=lg-L*rCkQ;KPLcFAaxbpMfH6n_ zz~nitFr8-G>aoBJAQdbHsc$28-*fgF5>JDf@XMP0#ju^^9*O1C)Y<;UK^s#bJ&u@r zt86xzB@A!|7X`TK_{JKVlfND% z02Mpm3Gj+%zrx^R+e;hPHGbk`=gk4aH1WzvyuHjX&*je_{a>^LY78Wh9i6YFvH?BqEQnx4BzbT%Ue;$5T;ri@d%Rpmw9-7xAQMxwXL?GZL0 z6I?~M(O_$qi!5{Wm`Kf<1ff6?w|IKBO*8$AgV08mZpqOFk8@=vWP=D2cvSR?bVkbi z3I}IBthr4RA7jST?`>Z2 zWMJSOYxCm4gFZTdX7CO8+S{D5PaWUqTl`_aAD6UY0ht%n)aq#X>0q_Bcr^s>eDg-! zq{1PaQ~)O?^cH>y2q4_D2;>tm2vL?xHkt6Tz86KEWXu8OPuti4gyWREJ4GUZ25)g| z-}>VVjR5O7WWO8}0w5YW+-}+X+&>S(@#i1km&*aOT7v*zDa{0nYK8?>w zt2TPYy4hS?S;?lkP`#3{#px7~?U)=ca4CBwGswKN4T}Bm!t4m8WwT#u?6777y%uo` z^()G`L{9`sqJ>lIi!4YpmZPBda?m&_YgLQ! zU+MMQiUT5vba0JlZ?!HntT(Z0Q2gA5i?d!h8ytlxbP8+(Or2p-I?__i=@+uma6y-!m}6khqhq_(Rf46TK-r_+2VdL+wIAv-jF z>whA+EzF8O?^Hv4Psd3Fyv zPr1nVhqweLU~K#%c9EFXmX>$o+WQmrh0pi=z?@g|{8LKLi6V(1qTfATzZ=Iu zc8ju9^c7~6*N%YfvGrr?lfy@51Y82fZG=$sQt4A#kbj!UHAk0D1lw@ER^+)d4=a6750)1Olp86)VJIu0=vqR$@B z%JaT?xs|u+SzT?%pLZ9ZR9PZx@Fbb^_uD9w0}~8R)VTm=ZDV)4ksT9#3if?q*2sSBU7|YM{ zrHG1n`kI-P@~aGgQU2{id1c5b8wi1q9*AJW`PMMQG4%F`$oJv&5I9`Spwbf=aCl+} zpu@0OejOs-=4XQ1u1D`PJ#dl1MfqZ4a~ohBCkP{+(l278qo9t=QiE*njyf6SR^dj( zSMtH%bW@+^J$MWQy80KImm*T+lU=7%C#Y!JA4?f1B8S-|+1jv)^#>e~16yeV;noQ$}yX-f>z~NK7f+mlt(DL<^RL z4}=g^N9Am=!mva&=4lCm1Vg7oLiJnWffsGmPrCh-S962a0s{-tcbHbc1CD0=4AyaJt*oVcDjZK!Pzqb4#l* zIdc^5)v`Q}{9w6jH{EZSqbnlx!CG{EGVsgHDa4BB^Gw5h(TUi^=wp5r7H>IW1otQ! z>l&z{EIEkS-0-81QvH4lfE(f?_>E^TDWVsaYp<%~gGsEFgrRvYkv{XT5bf zgzHRn4W_MrL81amIINT?Elsl_E*V}3u2A4J;9*9LsWW2;&g%wckVj@F9~VxCW_Gm) zrs{&zuXJIfzbv@d>M z?0Y3hf+wdtDa50a(FC6=FA(UQ)Y^6HS<6|2pOu3h?L%bsAeyyp6q|&wWP`~ZdJGY% z2_Ci@$s2E#-+j}Xr}Xi+ak>61>b(pHPVXrWCg3PR03lIYAo#tZNH#k3Ji;zRW7z0N z@Z?WZup}Vd0Cgsz2&KXOG|hroWohJ%w-S7k9JdyToBL1==OrMMcQPu7f8zMr@EtBbV!uh8^C5PkFkQhy{ z@>lhQ!PWtRj3_(?f{_g9wn}k%sFHmcqOMsYyV1?W-Maq^|QQiHX}hmf5 zY7?k`Z8rmelCZqDtNH_y;`PZC{gd_6bJ=7F07yJG7y$X1oen+bBu1a?i0}7$z6z`f zm{ZNDKxnH~2G!k-5hI6L=#jKr!GAqJQ07d;s%ywI0q87(vm-HgP=>Om4ytW%pi(`k>L+m8Tkzt zu7>g*&zm=+`lkhpE?9$fQE;PPUaVRd=Hw}9d`$f1EWLEbuBt8MnL=}H}kGa zu#!pyK0a3zcQ0k}k{3eN9oZVVp5#>&NfKATK^df7tLury5RT_nW0fDH3-u{Nnrf_k zrsy;E(jUQ2shG4qO&>48MCe&bR)TZT)3G+m#ZR9JtcV!h8}LEL;IDhkzgI*zG>ZE*2%%C^cF$?yF~|Y9F@%{_p$H$Vh{4qY_#U4jzH# zQrowrlgamC5Js8z_kQ8K23qf8`R5PwF)&hm8e;hj)VA5Y4#`wlFh0}Jej|#^x+i+6 z5dy9Hwl!H3gl3;Ynm3n5=RWapgGYJ8tjWkGHQp|UtIW+Gt%uCqj)zSN)_u1bmXzga zZdb#n1UtjQ#Eu9lp~ymus)#2{{Z0`npqdP&UM&kklasopaQ-Q=>SQvF2RfPeR2Uc) zHpalWSeOYX-%F>!J=XzdoNw_QbTSUilY-`Yp$-O^A~4hkOA!d`H}AE#pzJT|Xb^>4 z#=QyCt}=b&RmYkXBH|)5Ene1H;Ta|cwBUw-C6$TFbA@aIpBo7{%k{q74H*Wik_dqq zuLGQPLBP>QjZpDXET8+*!#e@?5{%Lnp6qCpN?tVrKD2yn>iStT$=|)OM$1NqOV56- zd>_aq)drbHyom?V$5t%)8*T%dX2ZVxwb@TY?cBF7FWdR8@&PSAe|$tNr&=5?x_~<13>!c^w-~ zua5ccQj26|&tdG8OfM1ziGzP(lVR{xB*4VKB?uhH`WD-_FnAe;8nGinN{Fuz;YA+= z1K$mLpa9?V-H=}J+{}2}H6e~C>&ike8{vG!dj1P7MM+@7_X|WiE!Dv}m|MUW3YGHt zNvNQcQk*nIhNBIU2rBUBjxI4TKd);#x;h;bb*p@_ozJ$KW?*7~9D9I1osiVXf1_zR z!N;F(#p++4yJUb5Nnl~Emu5FNSog|rX8~htJRCSa9v)*ofQ&oT&YX$no1O8dbvQTe z2e{18|8j(}A>i*E9>3Rt4{u~9>c9L){+w^(^w6%vi^<)zl6Cj}aw2%T$3f#erw&7mHErB4C~bbg#;g9ZyMVSA z=V-&x)px;?hVERyDZ3Yky^s8gpioyrLNA6 z(}O-3)A0d=v9r8C)rW2}YnXL8Z*04ElO<`L&gbmP~OSc9ZqvLegu{ySG+qPG1+qTuQZQHhu4mx&6H+%1Ie|_$`=f|Bt>Umeq!l+RL z^O>vW82v6j;N{xkWa?KjqZ9|LD_Hgz8E0rWx-V*L7!SX~MaD0jERwY7pk6Mi2GX~3 znWd`Ls$PA)t7m@2F1SxrO63xJjn!caETR@9xH#+^wSFjDTZ6g3p7%(7hW~wxAb+zs&Sudte_@ zsq_OL#vqd#9B+!3-JS0C<6C1-0#8T6^Uynm-8^q+^ta_7-C^AigWt)a&4(6k)fCyz z5$m}YcUAY`rga8gF!|-0G{1e5p@g5h4dct8>7JCq_{K^A0#heNjXF>;}}f+iTPavG+n`a7&b|(`ZB)M!7K^heMAnp~34a?VAEl zLUQ5wvagk6(Am;3yIZoXeAHvykk|4e4jc|44!KU$crTkk1s!RDt#H2&;^--QmW~5! zTIH9U>sJbpwP{K$p>JPwTRG{VhBKS((9gRY3nbe`8b7`c0lq~}L1FSD-IAosL>lIv zV;xF)=5NijI0Lq>80<`H-eQg|nXdS!X!lKmN0kVuqzoDgh}1Wx_8y9V1XH90ieFxV z6VMGz8T~RedjS0=Sf60tT46`{n0?+C&rrb7fn6WcK_#CEa`4p3uAaTVlSk;;Epvtj{CTar{4f`w`x&Z)3FR=bz)vCHyrZxizRy0&j?LG}Q}iEYbxQc{y?_%m?I}OiG1K z;26XYIYQV>a{Lq0ccZG(c)?X|!OpZ@s(P28oGAe()#Hyy*mxz0Yysy!Fq5{U*brLU6*zOKm-rT3}^ zW~iaQe$Cs~&5D3!x6y7v|CsJ#Z4KP5?mW8<=*045w2p*Tmx?&jZ%gwCN5986dZj$G zBtDby2D#Hr4pI{}Ifgmd*HS#(VQ7kXec=gbZj%fw#>@;l%P}0ND}ZXX(gV-lp`!cu zfTmyLS3mkT^dk8Y)E<^fUhz|p?PUX!Wi0y(I74d#mg53$s!ymCgSHBSU2&~Bb$88R zv6~^tTzzZLhNI4krKPWz5jW_w997ovrvwQ%qqZ5y4wsG>#Ro-4(fB-+9zXf3G}!n1 zqSkN*XB;FtK?X#8gg0#jWG*XQ>*6P|1y}0S&>HTTY1tU+))ZH2qk!L4JbbFuP#O{d zk-{+YdN#?9Y9@&p?nFzSDD>7rCiJ+5iG{YsRPr2MN<%{Z337#^YmVNBnf*AG(Mz(` z+HEsU&A`->0&6ezxfM=;uFZQPdHVY6KH6h zZ)epTtS_>D6k!@9nz)t#Vo>rCc^Y0$Pdwh44%rN^eENYJGnLL3!m<(qJEoUew%uf0 zvt#_33!D+whPz~i44w?*fsp3wV$V5-^;H<68|;9ay$6(62?wS`rq>|P$CCX-Hlkae zFwGhA>Or#q4-asXs9kuJAfc$dBu1L`g$K;J)aDd!MhXj^z=gXz71 zznEv81YtVEmC4FUC8`H9r{8hMP48qndafWKiO+s-M?HZpeWgJ8X}PEI+uI{*IDq8j zvN0BRM^U^{jJz)oo{tyX901wn8lpbdbJ+FOz`RA=ek-M^`2$r)ZvS4>NW>We{% zj*>&&mjIyeuiEc=;6vIRj=wMze17fXcNkz2m2#kZ<3bd4Xzx)D7P^hpq&lCs)-^}njX_2AM-e3H z!JwG_0jvBD%9@D-aw)mU9l@lSQ9bl*Exd5sgJLHa-X_osEv!y%=Vi<4E-{FbJE1S| z17jrG?+#jQBo)XITS}Dx!kI|V1_~9{A2tjh3WNx%uVY*!v^h-|;%*w_+9MF#^!+nV zU=3@cB-$~Ze3*6H0E*$c4G7LLghg9#y7iAaINLUU0oI-4@A)z<1S1aX)nC#g2i?Cn z3ZzksIU3)31YcVc^gj=wXi*B|$lD6=haoT5BR|q9GS@`x)TA_4sQX;_r?;14rieW~ zHyB{-z%weFD5OZY#tv0TO5?v_E~e_~b1*k{=OmaxxOf2k6nr;RX7gXv=CHq}x4RzW z(F!0Z2XF2#Xo%$ru;EXj)RudJ)ZDNre_jxo$ z#CKZ;$P&Cq=e5Vgw*hOX9!D}C_NDg4+)}V8V+rqtYIU97;bp9goxL=kiCpw>q=G7n zgOyseP+!MY-Dw9LvLBs}jdEm~j!;fJ8Ps127_G%~@E(JEs&tx$hwaf3+po@NT>oyy z1gWl)5RrcJ#jY-WFcoo7;|(4XekuvVf#1tPn)GAUqpMf$>B*plu1TIgp zH=gau@&96Y7N(L!_Y1 zISp69nIdhoTaU-ituLG!hF?smpw-dnfl`kyIvSYY+JtIfe0CAsSD1WhD_R!4Q|g{D zVqLJ&nKDfHX`^p(TCzK9MjxzbP_cQFdXOV6O44bH0fcM%s8o(=ZjKs7h(2q} z#a~Dd9qoQuoewSpx0Qi6Hkn&#yWe5b84aXD*H47xmtm*~lp+c%o6`mMmd7^L}c2C;R2Eax63J zt8%m!5Ic-#W>m3{`jJ@*pMDMN4vBs52`m}85Q>#p~?DiR>UoV;aJ-A5V&38#MCV9B0EJ86?<7k-5H@tJxz8ov|9 z|Bf9h{c;y&bqw1d(`T>go}ANEyQ%G@wcZ53#k-@ z;1WBd_-jQzG{qHvFX>b_ckFF)@=bx0{!ZpQsD+K&{*oNb%`8IFvnDI{+DUJ8zDNN3}MNZw!F)wT|Y)b#y{*JN`)2enj>FIH+gg zlBB|?UNFe_CzNO24@oea?+0Nd9LOQZ#HYyGmM%rvFmoQg{*OeY7r*s;0R&j&d2x{tEYlS;CtV+ZviCvg*zIy`SMU|3qocLe1_28;>QcLUiB^VKH`X+uMM zE}O{5(j!@U_ddwD$5p?#3VeTGUm|ytdhJX(I~UnLTRp1Vo{v$%U!Bw|OzIA8INhG4 zYIY|ltUM?raSRL%9ijLdp{WGM2G8Ze%w}F3P+P!A126;p5cU~Ri@AIvrwm;5{f0&F zLIjW;D1%Uh1&rw`Lp)LYgloY~tP*iu=YQchfi|`3Uibn3tq!T14#`7b^*A!Z6|)WT zaTdB-L_6mD)$e3*mE4ycV^!&*h_+FI=i~K{M>v@;pC7}or||eLWhDjiWh=|Oe{}N+ zQ==pbGrb~JrBp+i?LL~me{q1>0`B>=Kut?w5``ZHQ0cso3m&Si_m7}hO%M1v>y?~U zmQIhqS>K$>50GAw5byXd5J1a#O}lemKjbmq9~_vhsLAA<=Bi8YxHa|xjMLZK^8+qOAgf1KYK#D<3aiOjw6Pm#O6?n4gbF9Id$VN zAzs23B{cxQ|3g(NK?S(Lvl&)SaY0>{q(QFjQ3IkaKPVq;d$^^A zt(V(wm;v;@9DLCRTs;{G5U{3%^gUDew4PY0*Gn1lB8FzZuRfJ_yBR8H|CZcAHt}aWSZVl8s~ZII%x=Hzb5i<<76OH0Df*L^M|Lw1P%K{?NrIy) z>>^A*^G_b>UgRYK(};dh`noM*s?Z?Zf{8L3gYs5S9QaEfNB_a5#&5fsW+ut z7Yxs0Eqh@Vr=KRE`mylnm=ibKR}sV{`fY{ExgM>oz6=o0?*?!BpxJ3R)_wz96{WYn z$TBT6Pf@vX`V4UNkZW$3iidI~q8`Y5VAh;ncMgdo98$@2Dp@_gUsASqIt0Hwl51jZ zYqp(glyf+PcbsbrnC5Dm>zbA6ftEed2ONXDm%6m0OWVutRJ0n0^`HU)0m+#w*b^6J zpxpOQpL~Xj-v)La^-tGCyU}-6xcB{`@yn;&AAE>*+JrxT-onp!sOFpi^6Mr?u$6XTBJXaUB!{AYlfO;qd zHG&O-V7{Q_S8%sUS-GGcF0hm4y}|=oHBO1<)^UevIWt}ll~@y`Y?M@1ymI59^(}C; zI?#Su@x856>qGFuzFsSOEZX|l!+S?9I}fEY-*%9u7h@Dw>zBY@S+!es-$tGgU!d~c z$~&rI6yEu&U1eN*BJSGjEm#EHyR@n+4p+@M^gEWtoHH7mS=scugqtVi#yfZ-l4IoF z^}Zj5GnHfVCo02DowK_5K`}iwQ5eBL`YAc8+0R52%!k#PlNQuZD=(PvA0EE8&U-%X z@Rv-Y1p|a}%)r0ll&!@B)uDM5un{}}yIn=)2im%zHeV?3suwb5-3%TFt2iEHxue#` z*}&5t!H?6dqEAkynM}dgP?+l-!Ikv+fp%+gGZvp+COv>EVgml0`2XylG@C;n}`rg}RB3oZWKh**ZiBTo?tRLmWT z_)$*mzV9K3;~Nq3?6%CEjRzC68r$gvEnFPI^G$`=#^DQo473vWHuiOy(+T zhN(pGw0gj{b}g=?D5b>gZKbpw3DsPHY)k=h+D#-oHFWj>0i#k;M91P$t6eq{ZI#|&qcF13R9b|lv}08dkkrw;5>GjVbwku(Sd zcM~MBDN&1Ze9O}?*1fM%s+W(q|NIAgl_N4(!myZ#z3{kElsng!xJ?16?7^{ixt5z! zD>&(R!^cp6sVgWyL`GvH0;RI6ctiOFMsH?(pSos!DVS;iaV}ny(JioCuukv-Z?kwr zOHbT+15evx;DureQsnTIj!n4KaW5vQapT3>v0J6m0N`@+{a7@qe+=UoxS!PF#Ff}p zXY~x}i>*1e@F_ktUevDlLF~eivRF^4JvkVmJ&du`1ZWmkFFY4f<1NMz_$5*fhAIQZ z2J)9lsS^gqWNBu#Sm8;XV$S|Lc0Ou`bZl(4K5j-YHi!%rA18{N z+t>4&3f!LfF-yn&Nk^nYZ9QDoNg*YuNvNPTPglrLq?dSQN?WP+lIEGi0mV3aiA;vm zfL|t^1SBRf-SB48e6ag#)03|)nlsxfh3EeBFbM< z68+YN2VrziwIfNuq&GEXe~F*<#%s>CpQO@olOr5pIzZSOxVIYAYOuncrcunfovL>E zVZoIMWA+h0VL|aJYwgYEWQk2Jpi8rr@hv%h^IFjHf+_Dz&N{*d=|n(jT++!%Ic+qX zPoUgVkTHb!^TnSUz^5K<590rp`jku3aK{X!Ugbcm8qPtu0yhty=)op1XRt+a2pq?R zQdqry8)0%NW6#6V@}XJY?@^1vZ6Evb!CLSgI#7n|$A>OllkU*ea+0)~NGDe~dIojphN8yvWkE2w8KzF`*3)hRt;O z6b%B@7*PYIc~)PXp*6k1mqXG#n>US+6how7>pSy?6?GoLYP|hAv+)$V8~vPlZRPij z<1cb{WdsTl-GzRsFrky-XIJrgpM*JXl#VxyVF3^lla)AAV{CUr=ZjiOU~xf&%^C_V z&l)J2_Y74`?go%mVO?V+YZvw9rZ;!^NbI+Thwu=l27kTFp$9IRFUZ7jUz+`rG7ql#JXZL(UsM~liI|M?}HPmaltAu8(=yV#2%da_D!P_`hakuq3 z>-XT*fw?0SlTA@o@4F(bpQ#P=B^vX{`;hm0ne~%<>9zS7-DxsJiRzPDw;H5YJeJfk z-X}EjhBi76zCX&E&Z2T2+21(-VlSj~mM`st<1D=IuGrSk7sK*3)x}~?BKyaoYDVGr zQV<_rHiH=M%$*953NTp*+>(*pkx;N@`)q~Gc(l;ADbZp_8&OA7s5ubs<}aS(m-b`~ z{;8~sR7uiq(+xexV5MXp@`oi2uV5>c^-Lq7-g|P6SdZ^ubf~>_bY?)+CNtFdE0L== z-f*m)OXp}+XMW|a${7Pxo4R}On+977;n?Wx5$^mF6ttV^(!b?xnVWyFl{n~Q4y}M( z0b~K)4hhzTM>a?B>?mn4RY$K?c(&u;SyH>Q zZrVQCo0plY->cnTmRCn6f1K;*-t2EYdfsVVW32{b!EaN(W7Ce|3Yvc!dYOs*AhK$b_ zlVl;XJS{M?pQYvT?#QR{5@$P|_*a$8$UfB4v&7fKIHL<<3OC7kfl`Z%Zx=#{=S;};V{8bGk^cInrBS8yf-2*+=xb@>09;=<62-f@8X&8_P2 z88yS27iisDhmD>|NhDzSJw%q41ekS0AvLxDmSY=T*W={vHdAlQnCn2c*}kum7Wy`O zIr95iPH?O~0Gn}k-J3fx3!XIilHx?ieN5WQV;W#&lJurDt(Tp}x$j4Su>Ki#0MmsX z%$f;r{phDZOE#CwRHN%G26LpHRIJi0Ae=3E76>Zv_3Z>$x$ z3qH9jKD`I_&^}l?vCH*#jbh@Bi>2+7swaJU=$If>v^1&PUMwocu}JH^dJj9LCU==& z(D93!rT9SeC-)!AH4fi|(nqTQHyaO|G;UPn2Ub3M(&`~(8YKI>^f{-LYXP6hW{8_q2x z-aUV&cuhCsnK*P54H$_=v2DoT4!5UqKtb^`FKRBxX0*1Gpz{YG`a5I5F#HPT&v^xI zA$iA9rE^Om-4J={o_+@xQWy;-j!5f^uykN#j{2VSaz;0Ci7J55UUwsQJB;Aj+6KFd zow9#yIL2Tqc{7_i5(31i!U-e!CEONw{(RgJpu_&WRE9cG-RG_XZZ(H{Ha=#fb?rrI zpXivK*+2^%KutGKvDcC*djYL5S9|To>qn;7pdiJ(dXvRYppM|Ozv_W_ps^XO>)6Z_ zT<)VJsr1{gn}KIG^j@S{w%uF&qRVaAR?HHkb5lxX_x`chc`Whmg38KKM|`I^|Jul* zwx9_1L&tvZF*kXR*-G}dD{?S1t$E_X^o zHglq7@M^)ofaT1mSR`tgLzN>Tz))lD1>DNzvF$k{bjy@2Et^AVJtc>G z{#F>7aFZ`OC%se04&?dbX2KynQOHDl0JzIk@XafM|B{#cb4j6I<}Xi;2e?z!In9X6u6=ZW8QZU$hNIE!_lqHUPL2| z_Ly%+x!POjU^s8|7=s9X7JXPZv;ojh>oUWZHQp5WPcK+kT{ybMetR^xNyTBkx($8> z*(26)5OsH5zomD0-b15T@q{#9`a?gCbs2pm&yOkXe!^pW@8)TEqIW+@gSPTkL~QqJ zx^8q=d(a&DsCI;R@V2y7DS!*RHHuyC7hy{${1`wEK@dI>0C7HG&v$}-cABuCPbV7@ zQ9Vc$f=)dJ7a*`*gYY8)R#fl|WH@L-ToLoUWfY-jl|*TP{s_D~p9Az2iQwNJuRU4-NFx$j5WY%xA3IYymygpULf zip&wB(mtm3UQ5X!R|Mq^1d~uKx7Be-Wzdb1$wI6);!Azq1vPO3?$Ug05SU%)CRr?j z0+6vK<QYqo*yGQb|UX$8Y9i2M$mO1}ICEDv}rB=kz zNGp*Tt;l}(Ix;0`9X*8c7mss6^>z)4N`IbeuQ5ifnDO6m>}%y30#~Ued?L1(5hm0V z9KG%{yu*H^i59~zC-gmKHIh^Uq_F^HM3#_6GS@c{UBYEHHcbiG=+5!%`q47W5Ap^F zCJ6x07Ag#|^W2mQkB36nfci8YW)+UpoqO0;DS?j+X+YI6FA~g9sgEjV;!kP+YXM1azXx~clQJkN`G{snuIvQBOq%%eq=0no-)NxYd4v%*&ti98t z#rhLfNw`xFIt*T|5W~Ofspmt=-bmJGw1`u@cX%ncwVZ~3a-l6kQb(EM8QnS?Ig1UW z)o@pkGSz&W+kjMx=rz2^4@T2lYYbh)lquV_EVpr>-gO*|eEyMNIj2!g&j~i5;LEHS zBy5-ctOXAlO! zamw+r7) zG69n`{VJYur_NmxZ$*^^RaVBP(L+ zj?8`fg{cf7$%qbHp|Yco4Edo)B~*%ZNFEN)bVqM{K_o;}Oq`komm&)H_vt-0{IA?G zrb&2U!@})@OnS3sx#aPfsYNHg-8@1P>Dt^Yigiir=Bpm)fQYegMaJs`FAHf4RBri+ zP3QW@dzNfcTpn1fw>42_!3wT5CmC2QJ8)`VM~v8Xjh6%F7#g@==kk*yCq{FfcPbc| zRDB8TC&IP3`~XAg(yTa9;q>Zx{>+0}j{%g5M7yYf6TwQ{ybKE>=+&`+4%E9!IC-?f zHSQ#!r4@#_oo9B6WbMmKa+u#IN+lM*<26!5xdv?@X~gQ0*DvxhAB5mrTbnduMLjv( zI{Qks*5ga`&s@ZdcE;H0aa8&wG~&vZIXDS3nmtrEa4I=ht<^fRX*--@+pLx= zew#G-TU_=twJhHWP_o1j3zj>=o;@!sWgF|IsMo1rqKRQ{<`I&pIsfA4ulaeJf(bFS znp4gqnaRwc)OwL=0e*M#NxsMnUb-*s-s6Qi!D#jD*O#37zBk7fl3Rbvl!{ATw0b|L zah#cvk%mZ*X4@SkX++}Byn~@=uz5&nEbEUDI8xLX# z8G*v_K|H6}fPV@D*T{PC>4R&&QSn`(OI1%%wP0chHA!x zclDjCln`~+T3-agS$8Tgz!|$CV5ZK=&cwr;42!f$MN=8wi*zrMNKgfTM+LS6w_BC# zcU-S0jn$T5m}K+ep>X}gt;0;N4Hq*RbzTcOo=eS)Pv8~HP*2>C^-z0CSV_a*TRu8fMVbJSHx|eBeiaLG1O=e z*1JV!CI+qEA{*~PjPKw$Jyj0 zFy7-unY@XsrY0-H=om}^^~RnkP$#@H!3dMEjO%4qnY6!W7bCCIl4>kZYGo4y=K`3n=BAt?GI=gn{*p3{wE|z-; zidcN=fJ`gNY}w%|x3qO5Jywd#-rRy`#ea}t(IoZPHH&Ch>A8QLSEjS(zBGw{WS~VL zn`7lj`CUp0e@2V%U~mjs$(8Bn`9T=S z&(;uUs63|0boSS)_x*#W`qXPgeVr3nez#BOrZ8cm!J0*h{As$d zoxL4Ea!3}Lvb*n&xKiCvyLev8z*|78FT8JF=`ESl8|UTaxxh~RC|;@v(#CYMO1s=a z8;=&y6n_v>D<&>{uN*vZd2dydlG(LmYK#pZ~y z0#6!tuG~ACFkZI~n>ld?5oHrimb)8G+;Xx5_h?*y^IzJ(!=1Cn0Wwa3gCh23KL(X@ zv>L43o_o1wEuex&3zxJSErWTeAgY=RHISMMaQfVQ(<}@LQsAYS@{l9MssPFpO~omj zT~1;tsy6`_5u70W_SYDfaMr^I((x<^VT<4NM$*r=D#SX+SLmiSGWI0CsOQA%8^`#l zt@t3tLyG{7K-j__Lvgtkdow%>zsANgDIm(+{{D7cx2GtZF>tPb|_ADK8ReEFV0t1h225N?V8c zF%cBV7@P*=n}l6GgF7>!^^Ri%S;juSp1R&*rkQMG=8U2PsUR-o;BQ`mtY)ympgE{8 zqDZcybEx7zxL21*!I@I3(BHVSbZZn-ta`kT!vo$)R2iTc&pbz@cabi@7AE^Vw8}{BH&&$^Q#!lCM>dA!lu<;azp}W3I?gz$3zKf2 z+KnZUxVy>ff^ouLbtG$F69Fn1A^Ib0*7J!=fm{u-?L=>g%BKv{XjNc<1O^!*O2!K` zw}27;SMunn7FW+?KUtioUm-vDFZ@KUyRlqe+zU@358Ov~SxHisgYkB(G4EXnu8?z_ zVeXp!he%I&>oka>70%giy0oLuFfoT~nyxkH=dh~Afb&~VU5vUTSLWtDqFf}6HIzU4 z#eBft&e(;)uN50t=v=1fu5(vR+k5vXKy1NJO?xy1vrtK$I}IV&erx&`U~C02z&1I; zN-%49NMHt>^SxWZ@3Ff6yjZ*Zg3<(!30nzSzEMQyW|^f>nvBHJ68cP-mxD*S!mU=C za#k0L8k`iCDrRJPjQP8C27PrCdrcHUjkMe~iSza+`bHJ&OFRoqTYO zeo>En8`L7*hZI75QQ2d*Jf?Z8262N6sd@dD6;r}P5i9?o$wke29u_Yz#bVl2ckVML zyy5__n5Y8gvgRwPeFv0LzO`W!e@_ZPudKT%0L_9*yd%m4LnMjy5Mw$Ks%}Jl3HB*) z#KUq?>N4I+h}93Eux$hTwv%=QmeJ8Da)5oV4N2*|_vQUu)Ob6 zxEuGe*Dn~WacBcYJ z5fc^GkC0|pBCg0v@Syp13JL6Mpi2zYa2tzXlR%$-$YX>H5QbH%;sz|v!iK($7<7K2K_ztWl zuMoQW$AxYB`z9_M69L$i_JwRkkeKe6Gma!RyCor8_v;ezv1DUwZ90@#El35FzvLy` zw}G-3PFDyvHTz7KL_@z6(yV5fZ+nnrlJ7Bl1I~uI(V%t)fg;WcNAlKRM>(sM!p^bP z993`RIcWEjX`Dtghb%mZEK@TQt#2RRwv+v`Qj^W@1cZ$Yg1jnt2=Z*B0kfw9FAED^ zJZwyFOwo&{&wCzwkII(V^4h?LgkK-1q|-q;%m6lTb5g5^Lv&w{Q>1_{?K@*T-&q3m zpA^+yF$?SF)-d9q{8rAm#H*qbc~UK&2sJnh8|cG_Ly`1Gx$BkFcPSEd1=hz>+=sL; z*Adi%raD`ixzxI?xi&*prGiE#$U)g{W}}BC$5M zd8ZsCOk%KKYjK*}ps-v$wD1^-TxL3)6f@g3D<+mk%5iSi2lTq%sGGb!M zqz&fAr81tJ>DiFHS!D#?nD=u9*9!ZLur8mFgiK_Xnw;iQj685e30HBNDz8b#Truhs z?n58MB@h0p^>OXAKjHoM83>HXPe>syovDBXhdq{vJ&v(8HXGLSi7@|aKZb(u2Y#Md}6}y1SCX1QxYT?fXflV?XkiNxPQ7`O7L7E zI%I!fkkW*DGC43L!c!t_;vos`N)P{-aH~xSYcS&vS4v|SiG0y@VwdGXa}GInm9J>g zJhc}cFVRA!P~L6L(}3$L2fU52FuK}ZL4}Hqkd-8+7baRqQr!N^+~As}tFis3+ETmkn$S3hvugdO6aNxek@;*`$hlfA34?RLU77 zP@o>zpsjy_S@5ANf1;6a5E@2Ca?DOkHeR57W`Vj+qVi^gHgDv7N5#5#=JJ~>?!9T< zJnVcO&hl*xSZPW{l1ZH98?aES+>o&PqV)Q`Jw~ycdh?ro<|&@RSRn{?Lln5p=k7ZT2Q}8Czl>&|3qEZ zF?e?mf~61(R+q9#5*bsV-!&LvTDD((d2}kBVQ)AbCr!&!(l*(^koJuL1=oif8bBsQ(L93> z5zE{88Xy;5tpXw*DozjuOH6#5jG`b;8bHN!6J}}eCkKRrVM}r#VLYp-XcI19TILM+ z?sO{D8N60PG^tThN{wYc(<-y+es?-=1GJ>N4cpgCgdxCWIY1UqzyDn-oxy6Tg8dea zN~7*qJE{@yYXbmokb~kI2gLVJnS#q`vZXa4Ub!#t^L{mS*g>3@AvDX&hn=@))3#pU z2S?Nwz(iLt?{BaizJJA!+#{a6$*VXmI{&Sod1So#u-{>ghyfDRizJ5fEnsjLS_nB! zpl}vb3N54m@ETkoPK_{W6jdTgBY*J(P9$NqZ*FXD=rb>J@9gO6U=qQgk$Apk^lQt3 zyaYR{lDr_!J=2^JOl5r01OLlvFh7Q(_pJB+XaG_xf}%R$+e9&re&fE3=0Lpu8G~j;9%VD0j6}+Sq~Z((RtIHaK8Emj=$%q@ zzwh!cPeBT@#zhDpz<;rjbV-pz@1er@MRWH5#m2R^yz%m_{f;UxWfTFi0G(83w~W$$g1Eh1`D$*sNoeTA00}xkm2=! z_OjQ9iHfs~wT?HxzPz2dxw@OMv9go2mA03lp`wGNg{Ft-=Njc~#mv-Pg^ZLOr7X2P zb>@!&8tx+h?N>FYz|gw?+0A5rIU`-O!E&)pdfoY))A83rtK>2d7#IY2NMLY~sE~-T zuBUmOFb@I!NkXO@H8;_1xBGeKM#rmvU*2B)T-{ChSlMa%THEj7p`xSYrKX4IDH^w= z1e)?Pi#z4_Oisl&m_dbB1-L#knK>#*rZj4mj7@?}n&#bW5PUEqvf!_u%u1zV2^rsq z2_&o)qDY`jq-Yc=pT~;)UOxz^=gg#Gg@X0#+kqnf64kqR1x6Sql{B-Y-MO+dbx9a@N4fB6bK4L@CO|mNSJ_O4I7uA7@=Yb6Gy

6H2e`4?9>OT9wC-}$I|I?J)oGyI=t$gxg&sO2R z&--nC`~nDU`<@vN>3gExu6SY8`4G^5;rBnV=npjc1CRcN((PcObh(i*vJ_U9%^-gu z#2*O!2ZH~Bp#Q>OPP`@aB7A|+##*il=7#MAf8f3w6y)cjG_JpE#6C%kUIzaA_gcb# z=LGt99Lr|NzfEPf(%OnO^dI<-0sXrc4pD!s<*HzA$QkQzJ^BmcRx~bYSXBO1WI0T+ z|IGX>mc5WW{Qgq3zuOA_x2-eLA2@u5BmhMai1=55i{BT>K*LqqP`i2Ux%^4t=hgED z`VaVDB?1%Vf7#6PFBhZEoBlxO|H96TL7+bif%+FVkp7+k`Cr2V^@PZL@}>v0wfJ*+ zFn{d`U>&D=2*WUv{+|Nj(_;sbCb2YW{_VVjKG}5PTCWT9pMiXRT+`tHyS%P_QdiLb z(i!|;iq1v;z-X8M4-r5JeF+j+>(oGmQe^vo!}EV8BTceS{?k+C4~%~NcaSUJfA`d- z1NW1tC(W?x;ceH#)u$;fTL<0SE|p*8FqZ{f7(O;f#iQ6JKyI6$=~|)w`2Va zHhBDJN0n(m>Hp8xSN>U*l|;tF))U856cD{}Cjp~%I}%@DAz)ZZx+tUWFLj0ZSF~5G z;s3zDho^n`dzie(xWg~_-<4Fb_y(Lcb6>~MfoH8l#hO?bsp&!OPa^#0u?!0$Rbh4( z-K$^XE?F7>5@pxg|7hj6KMHDo%_|L*XD_T~zgYpyK%?B;$c|_;1|(%{+n(!4&2DdW zP?D5b^Rw9G2<^c@1}&8c6Jf=g6xZPd?wIf#=c$rALU-#Uy|`x-@n5_7e{09k9~uAt z2NwN-CV$}3A9&&WnL*jZ@Nawcr#SEbA1nCW*?+AK+9x#O{0||W7eW7*wQwFzcpd&* zQa+0vPZH>z#-(>&3;1f1f3@9=`KJrsYs4Y`6(q)gyxHAf?hFe7_#aOd{#3JJU1c5E zN8*+Cp>;v){dSQvdOJy*R^8HcdoG(2-DRjDTKsb>-KV<;m)fL3vtm~M1ldr#ozOE0 zEk=C)YM*Wp0mQb_{JGW{rXZqxp~#D}^l0l+bPdP!k_HFm#^}`{VF7@5jyluiFxTllu?ZW#(Q;E@e%8uUVLb{M*pq_{5DOqLm_6 zcesGLd-csq1p6c@O+%R4(ATHxTCBUg-49`?jMzN%92h5suH3K7NX;JxJSka-eTO+V j+&QZWPgOkC*9VmJ8?Jtm-fYG9<$@I5TVB;FP(c3=*;6hv literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/fonts/inter-regular/stylesheet.css b/Includes/Modules/QuickView/assets/fonts/inter-regular/stylesheet.css new file mode 100644 index 00000000..1c93e188 --- /dev/null +++ b/Includes/Modules/QuickView/assets/fonts/inter-regular/stylesheet.css @@ -0,0 +1,9 @@ +@font-face { + font-family: 'Inter'; + src: url('Inter-Regular.woff2') format('woff2'), + url('Inter-Regular.woff') format('woff'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + diff --git a/Includes/Modules/QuickView/assets/images/stock-bar-icon.svg b/Includes/Modules/QuickView/assets/images/stock-bar-icon.svg new file mode 100644 index 00000000..e478a1a4 --- /dev/null +++ b/Includes/Modules/QuickView/assets/images/stock-bar-icon.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Includes/Modules/QuickView/assets/images/stock-bar-instruction.png b/Includes/Modules/QuickView/assets/images/stock-bar-instruction.png new file mode 100644 index 0000000000000000000000000000000000000000..ee790a1c1a2b728ff69795a2a8b71ea1d39822f0 GIT binary patch literal 22200 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 literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/images/stock-bar-module-img.svg b/Includes/Modules/QuickView/assets/images/stock-bar-module-img.svg new file mode 100644 index 00000000..9d6d22ed --- /dev/null +++ b/Includes/Modules/QuickView/assets/images/stock-bar-module-img.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Includes/Modules/QuickView/assets/package-lock.json b/Includes/Modules/QuickView/assets/package-lock.json new file mode 100644 index 00000000..ee22f116 --- /dev/null +++ b/Includes/Modules/QuickView/assets/package-lock.json @@ -0,0 +1,17222 @@ +{ + "name": "sgsb-stock-bar", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "sgsb-stock-bar", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "antd": "^5.5.0", + "nanoid": "^3.3.4", + "react-input-color": "^4.0.0" + }, + "devDependencies": { + "@wordpress/scripts": "^23.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ant-design/colors": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz", + "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.17.0.tgz", + "integrity": "sha512-MgGCZ6sfD3yQB0XW0hN4jgixMxApTlDYyct+pc7fRZNO4CaqWWm/9iXkkljNR27lyWLZmm+XiDfcIOo1bnrnMA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.0.10", + "rc-util": "^5.35.0", + "stylis": "^4.0.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz", + "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz", + "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==" + }, + "node_modules/@ant-design/react-slick": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz", + "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", + "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helpers": "^7.18.2", + "@babel/parser": "^7.18.5", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.5", + "@babel/types": "^7.18.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz", + "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==", + "dev": true, + "dependencies": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.0", + "@babel/types": "^7.18.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", + "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", + "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.17.12.tgz", + "integrity": "sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", + "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz", + "integrity": "sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz", + "integrity": "sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.17.12.tgz", + "integrity": "sha512-maEkX2xs2STuv2Px8QuqxqjhV2LsFobT1elCgyU5704fcyTu9DyD/bJXxD/mrRiVyhpHweOQ00OJ5FKhHq9oEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", + "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.12.tgz", + "integrity": "sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/types": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz", + "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.0.tgz", + "integrity": "sha512-6+0IK6ouvqDn9bmEG7mEyF/pwlJXVj5lwydybpyyH3D0A7Hftk+NCTdYjnLNZksn261xaOV5ksmp20pQEmc2RQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.5.tgz", + "integrity": "sha512-Q17hHxXr2fplrE+5BSC1j1Fo5cOA8YeP8XW3/1paI8MzF/faZGh0MaH1KC4jLAvqLPamQWHB5/B7KqSLY1kuHA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.4.tgz", + "integrity": "sha512-l4vHuSLUajptpHNEOUDEGsnpl9pfRLsN1XUoDQDD/YBuXTM+v37SHGS+c6n4jdcZy96QtuUuSvZYMLSSsjH8Mw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-typescript": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", + "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.18.0", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.18.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.18.0", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.18.1", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.18.0", + "@babel/plugin-transform-modules-commonjs": "^7.18.2", + "@babel/plugin-transform-modules-systemjs": "^7.18.0", + "@babel/plugin-transform-modules-umd": "^7.18.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.18.0", + "@babel/plugin-transform-reserved-words": "^7.17.12", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.18.2", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.2", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.17.12.tgz", + "integrity": "sha512-h5U+rwreXtZaRBEQhW1hOJLMq8XNJBQ/9oymXiCXTuT/0uOwpbT0gUt+sXeOqoXBgNuUKI7TaObVwoEyWkpFgA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-react-display-name": "^7.16.7", + "@babel/plugin-transform-react-jsx": "^7.17.12", + "@babel/plugin-transform-react-jsx-development": "^7.16.7", + "@babel/plugin-transform-react-pure-annotations": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.17.12.tgz", + "integrity": "sha512-S1ViF8W2QwAKUGJXxP9NAfNaqGDdEBJKpYkxHf5Yy2C4NPPzXGeR3Lhk7G8xJaaLcFTRfNjVbtbVtm8Gb0mqvg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", + "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz", + "integrity": "sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.20.2", + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz", + "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.18.5", + "@babel/types": "^7.18.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.1.tgz", + "integrity": "sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3", + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@emotion/cache": { + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", + "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", + "dependencies": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "node_modules/@emotion/core": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz", + "integrity": "sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + }, + "peerDependencies": { + "react": ">=16.3.0" + } + }, + "node_modules/@emotion/css": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", + "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", + "dependencies": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + }, + "node_modules/@emotion/serialize": { + "version": "0.11.16", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", + "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", + "dependencies": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + } + }, + "node_modules/@emotion/serialize/node_modules/csstype": { + "version": "2.6.20", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", + "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + }, + "node_modules/@emotion/sheet": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", + "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" + }, + "node_modules/@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@emotion/utils": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz", + "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==", + "dev": true, + "dependencies": { + "comment-parser": "1.3.0", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "~2.2.3" + }, + "engines": { + "node": "^12 || ^14 || ^16 || ^17" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.2", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz", + "integrity": "sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==", + "dev": true, + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.8.1", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <3.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "node_modules/@rc-component/color-picker": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.4.1.tgz", + "integrity": "sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@ctrl/tinycolor": "^3.6.0", + "classnames": "^2.2.6", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.8.1.tgz", + "integrity": "sha512-CsrQnfKgNArxx2j1RNHVLZgVA+rLrEj06lIsl4KSynMqADsqz8eKvVkr0F3p9PA10948M6WEEZt5a/FGAbGR2A==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^1.3.6", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.15.6.tgz", + "integrity": "sha512-Tl19KaGsShf4yzqxumsXVT4c7j0l20Dxe5hgP5S0HmxyhCg3oKen28ntGavRCIPW7cl7wgsGotntqcIokgDHzg==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.33.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz", + "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz", + "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz", + "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz", + "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz", + "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz", + "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz", + "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz", + "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz", + "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==", + "dev": true, + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0", + "@svgr/babel-plugin-transform-svg-component": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz", + "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==", + "dev": true, + "dependencies": { + "@svgr/plugin-jsx": "^6.2.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz", + "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.15.6", + "entities": "^3.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz", + "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.15.5", + "@svgr/babel-preset": "^6.2.0", + "@svgr/hast-util-to-babel-ast": "^6.2.1", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz", + "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@svgr/webpack": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.2.1.tgz", + "integrity": "sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.15.5", + "@babel/plugin-transform-react-constant-elements": "^7.14.5", + "@babel/preset-env": "^7.15.6", + "@babel/preset-react": "^7.14.5", + "@babel/preset-typescript": "^7.15.0", + "@svgr/core": "^6.2.1", + "@svgr/plugin-jsx": "^6.2.1", + "@svgr/plugin-svgo": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swiftcarrot/color-fns": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz", + "integrity": "sha512-6SCpc4LwmGGqWHpBY9WaBzJwPF4nfgvFfejOX7Ub0kTehJysFkLUAvGID8zEx39n0pGlfr9pTiQE/7/buC7X5w==", + "dependencies": { + "@babel/runtime": "^7.10.3" + } + }, + "node_modules/@swiftcarrot/react-hooks": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@swiftcarrot/react-hooks/-/react-hooks-0.1.4.tgz", + "integrity": "sha512-5sLrCIh5x47lIbiv9kZsSDWvGsMfDOvbq25VWKj0n3yLMo20aLlTXBZb7h42Fjcg6cLXqzbwbEQi650/UCJfjg==", + "dependencies": { + "@babel/runtime": "^7.5.5" + } + }, + "node_modules/@swiftcarrot/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@swiftcarrot/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-4wsnz0YPEebWeUNm2pvZeZVXQ7ukY5FOReMEKpZi0hs6bj19fWQi4m+BXUw6tzt6hPtHpdCy+izI56+4/7B/xA==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "lodash": "^4.17.15", + "qss": "^2.0.3" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cheerio": { + "version": "0.22.31", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.31.tgz", + "integrity": "sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz", + "integrity": "sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.29", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", + "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.43.tgz", + "integrity": "sha512-jnUpgw8fL9kP2iszfIDyBQtw5Mf4/XSqy0Loc1J9pI14ejL83XcCEvSf50Gs/4ET0I9VCCDoOfufQysj0S66xA==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prettier": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/react": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.45.tgz", + "integrity": "sha512-YfhQ22Lah2e3CHPsb93tRwIGNiSwkuz1/blk4e6QrWS0jQzCSNbGLtOEYhPg02W0yGTTmpajp7dCTbBAMN3qsg==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "17.0.17", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz", + "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==", + "dev": true, + "dependencies": { + "@types/react": "^17" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "dev": true + }, + "node_modules/@types/uglify-js": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.16.0.tgz", + "integrity": "sha512-0yeUr92L3r0GLRnBOvtYK1v2SjqMIqQDHMl7GLb+l2L8+6LSFWEEWEIgVsPdMn5ImLM8qzWT8xFPtQYpp8co0g==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/@types/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/webpack": { + "version": "4.41.32", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", + "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.28.0.tgz", + "integrity": "sha512-DXVU6Cg29H2M6EybqSg2A+x8DgO9TCUBRp4QEXQHJceLS7ogVDP0g3Lkg/SZCqcvkAP/RruuQqK0gdlkgmhSUA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.28.0", + "@typescript-eslint/type-utils": "5.28.0", + "@typescript-eslint/utils": "5.28.0", + "debug": "^4.3.4", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.28.0.tgz", + "integrity": "sha512-pPQ1Ng4qezQijXBBfYlogcOPnMs1q14l8C4fWJJ4PnFla4MA2b2oBfdkf02r1lNak2tpBVNJxvey9oWlPQWc4w==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "5.28.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.28.0.tgz", + "integrity": "sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.28.0", + "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/typescript-estree": "5.28.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.28.0.tgz", + "integrity": "sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/visitor-keys": "5.28.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.28.0.tgz", + "integrity": "sha512-SyKjKh4CXPglueyC6ceAFytjYWMoPHMswPQae236zqe1YbhvCVQyIawesYywGiu98L9DwrxsBN69vGIVxJ4mQQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "5.28.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.28.0.tgz", + "integrity": "sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.28.0.tgz", + "integrity": "sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/visitor-keys": "5.28.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.28.0.tgz", + "integrity": "sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.28.0", + "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/typescript-estree": "5.28.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.28.0.tgz", + "integrity": "sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.28.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "dev": true, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", + "dev": true, + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "dev": true, + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@wojtekmaj/enzyme-adapter-react-17": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.7.tgz", + "integrity": "sha512-B+byiwi/T1bx5hcj9wc0fUL5Hlb5giSXJzcnEfJVl2j6dGV2NJfcxDBYX0WWwIxlzNiFz8kAvlkFWI2y/nscZQ==", + "dev": true, + "dependencies": { + "@wojtekmaj/enzyme-adapter-utils": "^0.1.4", + "enzyme-shallow-equal": "^1.0.0", + "has": "^1.0.0", + "prop-types": "^15.7.0", + "react-is": "^17.0.0", + "react-test-renderer": "^17.0.0" + }, + "peerDependencies": { + "enzyme": "^3.0.0", + "react": "^17.0.0-0", + "react-dom": "^17.0.0-0" + } + }, + "node_modules/@wojtekmaj/enzyme-adapter-utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.1.4.tgz", + "integrity": "sha512-ARGIQSIIv3oBia1m5Ihn1VU0FGmft6KPe39SBKTb8p7LSXO23YI4kNtc4M/cKoIY7P+IYdrZcgMObvedyjoSQA==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.0", + "has": "^1.0.0", + "object.fromentries": "^2.0.0", + "prop-types": "^15.7.0" + }, + "peerDependencies": { + "react": "^17.0.0-0" + } + }, + "node_modules/@wordpress/babel-plugin-import-jsx-pragma": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-3.1.2.tgz", + "integrity": "sha512-oMJnM3cJlu1hQMO4XmTFDhNPclj0cLRIeV5Y6uIF/9oNhhSfaMFu+ty0B4zBYodqwes/vbndwRg4j2q2bhG/Dg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@babel/core": "^7.12.9" + } + }, + "node_modules/@wordpress/babel-preset-default": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-6.12.0.tgz", + "integrity": "sha512-gUfX1mwV0pLQ0LvLSgDvRyrZfIXmwLNG1vXgaAaYtsiO7VZXmG/D5JgBGxb9ePF+7XjxuS/ggktVOML54dy6Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-transform-react-jsx": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^3.1.2", + "@wordpress/browserslist-config": "^4.1.2", + "@wordpress/element": "^4.8.0", + "@wordpress/warning": "^2.10.0", + "browserslist": "^4.17.6", + "core-js": "^3.19.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@wordpress/base-styles": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-4.5.0.tgz", + "integrity": "sha512-iz2bDZSDWEgBNOXx3072avn/+zsI+9akhTF2DA/wDdRX0TpS4SSs/vrfhvWfruq5PPLRjJ7ogLKHMnN9VvB9yg==", + "dev": true + }, + "node_modules/@wordpress/browserslist-config": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-4.1.2.tgz", + "integrity": "sha512-UH0Ifmm4tEjVPOtiqH6yxDvk2EKtqSAhnyhyfSIb0wUnEoGsWTjREZjzuhgjt/I2nTqfg+0gUSzL5D0yQH6wDQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@wordpress/dependency-extraction-webpack-plugin": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-3.5.0.tgz", + "integrity": "sha512-LxW0Ii08X6ny4yfQL/CuXVIvcClki7/FNbe4xnZG1GrF3PSzde5a0FabI/exJhDQY6RFdRGiraUDLbOtbymfqw==", + "dev": true, + "dependencies": { + "json2php": "^0.0.4", + "webpack-sources": "^3.2.2" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "^4.8.3 || ^5.0.0" + } + }, + "node_modules/@wordpress/element": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-4.8.0.tgz", + "integrity": "sha512-f2Mb70xvGxZWNWh5pFhOoRgrd+tKs9Xk9hpDgRB7iPel/zbAIxNebr0Jqm5Nt+MDiDl/dogTPc9GyrkYCm9u0g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.0", + "@types/react": "^17.0.37", + "@types/react-dom": "^17.0.11", + "@wordpress/escape-html": "^2.10.0", + "lodash": "^4.17.21", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@wordpress/escape-html": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.10.0.tgz", + "integrity": "sha512-EGG8MD5AAhK4UWcUBjxHjxYbxf7XZUKPQaGyaYB/Ns9YgNMCTo6unnULNLXIvOBEN6skc2U4yZI5PE3P6EAqlg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@wordpress/eslint-plugin": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-12.4.0.tgz", + "integrity": "sha512-agjO1A34r3S/B8si/G3wo9ahz07RF4AjAU9uPlLE1hEdkuAATj1t5ky964RPCZstJLtTDa+oNUnPXqU4b0o9HA==", + "dev": true, + "dependencies": { + "@babel/eslint-parser": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^5.3.0", + "@typescript-eslint/parser": "^5.3.0", + "@wordpress/babel-preset-default": "^6.12.0", + "@wordpress/prettier-config": "^1.3.0", + "cosmiconfig": "^7.0.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-jest": "^25.2.3", + "eslint-plugin-jsdoc": "^37.0.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-prettier": "^3.3.0", + "eslint-plugin-react": "^7.27.0", + "eslint-plugin-react-hooks": "^4.3.0", + "globals": "^13.12.0", + "requireindex": "^1.2.0" + }, + "engines": { + "node": ">=12", + "npm": ">=6.9" + }, + "peerDependencies": { + "@babel/core": ">=7", + "eslint": ">=8", + "prettier": ">=2", + "typescript": ">=4" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/globals": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@wordpress/jest-console": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-5.2.0.tgz", + "integrity": "sha512-MUlhEamIaoWFtEx8iyBm/UEHEhDKXbEM4iejNnhK8nvHfYYaQZ7TngUNOV37bH7Z8JHEC3kaN2SO/q02RJmz4g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.0", + "jest-matcher-utils": "^27.4.2", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "jest": ">=27" + } + }, + "node_modules/@wordpress/jest-preset-default": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-8.3.0.tgz", + "integrity": "sha512-gG9fCVY7zFbuVR/SntlP+HdDWDsKdLp7U58KQJwI7n1sMavybMj/k2UL63bUqqDPL/BFSBjbWGP6ZvKiaBOAQw==", + "dev": true, + "dependencies": { + "@wojtekmaj/enzyme-adapter-react-17": "^0.6.1", + "@wordpress/jest-console": "^5.2.0", + "babel-jest": "^27.4.5", + "enzyme": "^3.11.0", + "enzyme-to-json": "^3.4.4" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@babel/core": ">=7", + "jest": ">=27", + "react": "^17.0.0", + "react-dom": "^17.0.0" + } + }, + "node_modules/@wordpress/npm-package-json-lint-config": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-4.1.2.tgz", + "integrity": "sha512-Cq1qoSqt+nF2KOkzyH141YnHEnmd5jDRNbCmyC4lkofy6Qxpl4cVwFDX1dZ4S9WVjqqbLp3CEgRKxUzehyGInA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "npm-package-json-lint": ">=3.6.0" + } + }, + "node_modules/@wordpress/postcss-plugins-preset": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-3.8.0.tgz", + "integrity": "sha512-Z+fHDY73QpxJZQxGZDQIsNhHJ1ubeqqwDVQcjOR5rhoo2EAgDtvbDTvf080/QGEzcQVenykmcb4M+5VduQypnA==", + "dev": true, + "dependencies": { + "@wordpress/base-styles": "^4.5.0", + "autoprefixer": "^10.2.5" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/@wordpress/prettier-config": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-1.3.0.tgz", + "integrity": "sha512-eMoGXob2adaKqaVXBiGQ7Hp97pnRSLty4yWydIq8DL9ZC5z9GpWpOq7IB8iPc6QwvLszjfcs+h/rjsr2GZYkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "prettier": ">=2" + } + }, + "node_modules/@wordpress/scripts": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-23.2.0.tgz", + "integrity": "sha512-YpG5bwAZe3hIFHQW6MxBgQNQPAM37ZXFGIfcbzHtZyFpyE8M5yWZblSOjMVRrylc8uQ4zersll5OPFf24UGK2A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.2", + "@svgr/webpack": "^6.2.1", + "@wordpress/babel-preset-default": "^6.12.0", + "@wordpress/browserslist-config": "^4.1.2", + "@wordpress/dependency-extraction-webpack-plugin": "^3.5.0", + "@wordpress/eslint-plugin": "^12.4.0", + "@wordpress/jest-preset-default": "^8.3.0", + "@wordpress/npm-package-json-lint-config": "^4.1.2", + "@wordpress/postcss-plugins-preset": "^3.8.0", + "@wordpress/prettier-config": "^1.3.0", + "@wordpress/stylelint-config": "^20.0.2", + "adm-zip": "^0.5.9", + "babel-jest": "^27.4.5", + "babel-loader": "^8.2.3", + "browserslist": "^4.17.6", + "chalk": "^4.0.0", + "check-node-version": "^4.1.0", + "clean-webpack-plugin": "^3.0.0", + "copy-webpack-plugin": "^10.2.0", + "cross-spawn": "^5.1.0", + "css-loader": "^6.2.0", + "cssnano": "^5.0.7", + "cwd": "^0.10.0", + "dir-glob": "^3.0.1", + "eslint": "^8.3.0", + "expect-puppeteer": "^4.4.0", + "fast-glob": "^3.2.7", + "filenamify": "^4.2.0", + "jest": "^27.4.5", + "jest-dev-server": "^6.0.2", + "jest-environment-node": "^27.4.4", + "markdownlint-cli": "^0.31.1", + "merge-deep": "^3.0.3", + "mini-css-extract-plugin": "^2.5.1", + "minimist": "^1.2.0", + "npm-package-json-lint": "^5.0.0", + "npm-packlist": "^3.0.0", + "postcss": "^8.4.5", + "postcss-loader": "^6.2.1", + "prettier": "npm:wp-prettier@2.2.1-beta-1", + "puppeteer-core": "^13.2.0", + "react-refresh": "^0.10.0", + "read-pkg-up": "^7.0.1", + "resolve-bin": "^0.4.0", + "sass": "^1.35.2", + "sass-loader": "^12.1.0", + "source-map-loader": "^3.0.0", + "stylelint": "^14.2.0", + "terser-webpack-plugin": "^5.1.4", + "url-loader": "^4.1.1", + "webpack": "^5.47.1", + "webpack-bundle-analyzer": "^4.4.2", + "webpack-cli": "^4.9.1", + "webpack-dev-server": "^4.4.0" + }, + "bin": { + "wp-scripts": "bin/wp-scripts.js" + }, + "engines": { + "node": ">=12.13", + "npm": ">=6.9" + }, + "peerDependencies": { + "react": "^17.0.0", + "react-dom": "^17.0.0" + } + }, + "node_modules/@wordpress/stylelint-config": { + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-20.0.2.tgz", + "integrity": "sha512-guP0Cwc4PysbRJroxWcBxViYaqaTlxrkcZ/dfsoB0ZLO+RrZ8YFktt02mt6q6MASLTBEWIBHVQ5nKLVFPWAWJg==", + "dev": true, + "dependencies": { + "stylelint-config-recommended": "^6.0.0", + "stylelint-config-recommended-scss": "^5.0.2" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "stylelint": "^14.2" + } + }, + "node_modules/@wordpress/warning": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-2.10.0.tgz", + "integrity": "sha512-CZiByt1/puje/EahYIHFGBCnys3u6kRdlvPPI+F53Hu79Kyb+6r97AGY7tdjXVTjlC+slnVX/hwFZEe3rVLYgg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@xkit/popover": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/@xkit/popover/-/popover-0.1.24.tgz", + "integrity": "sha512-oKB5EmGSCa4c4T6ByXzRpn7hetYXuGXGYlMIUcQBRBgnUD/d5IE81F5UHOgmsVNqsnTSt6nEXvnkhUERJu3F5Q==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/core": "^10.0.14", + "@swiftcarrot/react-hooks": "^0.1.4", + "@swiftcarrot/utils": "^0.1.2", + "popper.js": "^1.15.0" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adm-zip": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", + "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antd": { + "version": "5.8.6", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.8.6.tgz", + "integrity": "sha512-DQdHJSq7AH303NgAUZcMRrWqwRYLT9LjesrfhB9xwwi3ooWTMAnS0LrL2NIYHvXZQy1kV0C4mMSiSbBqEKatLA==", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/cssinjs": "^1.16.0", + "@ant-design/icons": "^5.2.2", + "@ant-design/react-slick": "~1.0.0", + "@babel/runtime": "^7.18.3", + "@ctrl/tinycolor": "^3.6.0", + "@rc-component/color-picker": "~1.4.0", + "@rc-component/mutate-observer": "^1.0.0", + "@rc-component/tour": "~1.8.1", + "@rc-component/trigger": "^1.15.0", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "dayjs": "^1.11.1", + "qrcode.react": "^3.1.0", + "rc-cascader": "~3.14.0", + "rc-checkbox": "~3.1.0", + "rc-collapse": "~3.7.0", + "rc-dialog": "~9.1.0", + "rc-drawer": "~6.2.0", + "rc-dropdown": "~4.1.0", + "rc-field-form": "~1.36.0", + "rc-image": "~7.1.0", + "rc-input": "~1.1.0", + "rc-input-number": "~8.0.2", + "rc-mentions": "~2.5.0", + "rc-menu": "~9.10.0", + "rc-motion": "^2.7.3", + "rc-notification": "~5.1.1", + "rc-pagination": "~3.6.0", + "rc-picker": "~3.13.0", + "rc-progress": "~3.4.1", + "rc-rate": "~2.12.0", + "rc-resize-observer": "^1.2.0", + "rc-segmented": "~2.2.0", + "rc-select": "~14.7.1", + "rc-slider": "~10.2.1", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.32.1", + "rc-tabs": "~12.9.0", + "rc-textarea": "~1.3.3", + "rc-tooltip": "~6.0.0", + "rc-tree": "~5.7.6", + "rc-tree-select": "~5.11.0", + "rc-upload": "~4.3.0", + "rc-util": "^5.37.0", + "scroll-into-view-if-needed": "^3.0.3", + "throttle-debounce": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.filter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.1.tgz", + "integrity": "sha512-Dk3Ty7N42Odk7PjU/Ci3zT4pLj20YvuVnneG/58ICM6bt4Ij5kZaJTVQ9TSaWaIECX2sFyz4KItkVZqHNnciqw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axe-core": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.2.tgz", + "integrity": "sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.7" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-emotion": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz", + "integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-plugin-emotion/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-plugin-emotion/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", + "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.20.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", + "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001349", + "electron-to-chromium": "^1.4.147", + "escalade": "^3.1.1", + "node-releases": "^2.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001354", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001354.tgz", + "integrity": "sha512-mImKeCkyGDAHNywYFA4bqnLAzTUvVkqPvhY4DV47X+Gl2c5Z8c3KNETnXp14GQt11LvxE8AwjzGxJ+rsikiOzg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/check-node-version": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.2.1.tgz", + "integrity": "sha512-YYmFYHV/X7kSJhuN/QYHUu998n/TRuDe8UenM3+m5NrkiH670lb9ILqHIvBencvJc4SDh+XcbXMR4b+TtubJiw==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "map-values": "^1.0.1", + "minimist": "^1.2.0", + "object-filter": "^1.0.2", + "run-parallel": "^1.1.4", + "semver": "^6.3.0" + }, + "bin": { + "check-node-version": "bin.js" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/check-node-version/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.11", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.11.tgz", + "integrity": "sha512-bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag==", + "dev": true, + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", + "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "node_modules/clean-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", + "dev": true, + "dependencies": { + "@types/webpack": "^4.4.31", + "del": "^4.1.1" + }, + "engines": { + "node": ">=8.9.0" + }, + "peerDependencies": { + "webpack": "*" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha512-we+NuQo2DHhSl+DP6jlUiAhyAjBQrYnpOk15rN6c6JSPScjiCLh8IbSU+VTcph6YS3o7mASE8a0+gbZ7ChLpgg==", + "dev": true, + "dependencies": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "dependencies": { + "is-regexp": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/comment-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz", + "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compute-scroll-into-view": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", + "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.20.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dev": true, + "dependencies": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.23.1.tgz", + "integrity": "sha512-wfMYHWi1WQjpgZNC9kAlN4ut04TM9fUTdi7CqIoTVM7yaiOUQTklOzfb+oWH3r9edQcT3F887swuVmxrV+CC8w==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.1.tgz", + "integrity": "sha512-KeYrEc8t6FJsKYB2qnDwRHWaC0cJNaqlHfCpMe5q3j/W1nje3moib/txNklddLPCtGb+etcBIyJ8zuMa/LN5/A==", + "dev": true, + "dependencies": { + "browserslist": "^4.20.4", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.23.1.tgz", + "integrity": "sha512-3qNgf6TqI3U1uhuSYRzJZGfFd4T+YlbyVPl+jgRiKjdZopvG4keZQwWZDAWpu1UH9nCgTpUzIV3GFawC7cJsqg==", + "deprecated": "core-js-pure@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js-pure.", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz", + "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-functions-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, + "node_modules/css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.11.tgz", + "integrity": "sha512-2nx+O6LvewPo5EBtYrKc8762mMkZRk9cMGIOP4UlkmxHm7ObxH+zvsJJ+qLwPkUc4/yumL/qJkavYi9NlodWIQ==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.2.11", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.11.tgz", + "integrity": "sha512-4PadR1NtuaIK8MvLNuY7MznK4WJteldGlzCiMaaTiOUP+apeiIvUDIXykzUOoqgOOUAHrU64ncdD90NfZR3LSQ==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.2.2", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.5", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.0", + "postcss-normalize-repeat-style": "^5.1.0", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.2", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", + "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + }, + "node_modules/cwd": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz", + "integrity": "sha512-YGZxdTTL9lmLkCUTpg4j0zQ7IhRB5ZmqNBbGCl3Tg6MP/d5/6sY7L5mmTjzbc6JKgVZYiqTQTNhPFsbXNGlRaA==", + "dev": true, + "dependencies": { + "find-pkg": "^0.1.2", + "fs-exists-sync": "^0.1.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/dayjs": { + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/devtools-protocol": { + "version": "0.0.981744", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz", + "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==", + "dev": true + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==", + "dev": true + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-align": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz", + "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.155", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.155.tgz", + "integrity": "sha512-niPzKBSYPG06gxLKO0c2kEmgdRMTtIbNrBlvD31Ld8Q57b/K0218U4j8u/OOt25XE1eFOn47FcmQVdx9R1qqxA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/enzyme": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz", + "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==", + "dev": true, + "dependencies": { + "array.prototype.flat": "^1.2.3", + "cheerio": "^1.0.0-rc.3", + "enzyme-shallow-equal": "^1.0.1", + "function.prototype.name": "^1.1.2", + "has": "^1.0.3", + "html-element-map": "^1.2.0", + "is-boolean-object": "^1.0.1", + "is-callable": "^1.1.5", + "is-number-object": "^1.0.4", + "is-regex": "^1.0.5", + "is-string": "^1.0.5", + "is-subset": "^0.1.1", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", + "object-inspect": "^1.7.0", + "object-is": "^1.0.2", + "object.assign": "^4.1.0", + "object.entries": "^1.1.1", + "object.values": "^1.1.1", + "raf": "^3.4.1", + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.2.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/enzyme-shallow-equal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz", + "integrity": "sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==", + "dev": true, + "dependencies": { + "has": "^1.0.3", + "object-is": "^1.1.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/enzyme-to-json": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz", + "integrity": "sha512-Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==", + "dev": true, + "dependencies": { + "@types/cheerio": "^0.22.22", + "lodash": "^4.17.21", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "enzyme": "^3.4.0" + } + }, + "node_modules/enzyme-to-json/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", + "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.3.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.2", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "37.9.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz", + "integrity": "sha512-8alON8yYcStY94o0HycU2zkLKQdcS+qhhOUNQpfONHHwvI99afbmfpYuPqf6PbLz5pLZldG3Te5I0RbAiTN42g==", + "dev": true, + "dependencies": { + "@es-joy/jsdoccomment": "~0.20.1", + "comment-parser": "1.3.0", + "debug": "^4.3.3", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.4.0", + "regextras": "^0.8.0", + "semver": "^7.3.5", + "spdx-expression-parse": "^3.0.1" + }, + "engines": { + "node": "^12 || ^14 || ^16 || ^17" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.3", + "aria-query": "^4.2.2", + "array-includes": "^3.1.4", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.3.5", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.0.tgz", + "integrity": "sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.1", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "dev": true, + "dependencies": { + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "dependencies": { + "clone-regexp": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect-puppeteer": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-4.4.0.tgz", + "integrity": "sha512-6Ey4Xy2xvmuQu7z7YQtMsaMV0EHJRpVxIDOd5GRrm04/I3nkTKIutELfECsLp6le+b3SSa3cXhPiw6PgqzxYWA==", + "dev": true + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==", + "dev": true, + "dependencies": { + "fs-exists-sync": "^0.1.0", + "resolve-dir": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-parent-dir": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.1.tgz", + "integrity": "sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==", + "dev": true + }, + "node_modules/find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==", + "dev": true, + "dependencies": { + "find-file-up": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-process": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.7.tgz", + "integrity": "sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "commander": "^5.1.0", + "debug": "^4.1.1" + }, + "bin": { + "find-process": "bin/find-process.js" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==", + "dev": true, + "dependencies": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-element-map": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz", + "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==", + "dev": true, + "dependencies": { + "array.prototype.filter": "^1.0.0", + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz", + "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/irregular-plurals": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.3.0.tgz", + "integrity": "sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "dev": true + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-dev-server": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-6.0.3.tgz", + "integrity": "sha512-joKPQQWSaBMsNNdCWvwCQvhD6ox4IH+5H5pecbRRSxiRi2BfVCGGOWQ4/MGwV1NJ9z9XEq1qy5JLYTJlv9RVzA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "cwd": "^0.10.0", + "find-process": "^1.4.7", + "prompts": "^2.4.2", + "spawnd": "^6.0.2", + "tree-kill": "^1.2.2", + "wait-on": "^6.0.0" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz", + "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json2php": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.4.tgz", + "integrity": "sha512-hFzejhs28f70sGnutcsRS459MnAsjRVI85RgPAL1KQIZEpjiDitc27CZv4IgOtaR86vrqOVlu9vJNew2XyTH4g==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz", + "integrity": "sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.4", + "object.assign": "^4.1.2" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/known-css-properties": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", + "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", + "dev": true + }, + "node_modules/language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==", + "dev": true + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/map-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz", + "integrity": "sha512-BbShUnr5OartXJe1GeccAWtfro11hhgNJg6G9/UtWKjVGvV5U4C09cg5nk8JUevhXODaXY+hQ3xxMUKSs62ONQ==", + "dev": true + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/markdownlint": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz", + "integrity": "sha512-AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==", + "dev": true, + "dependencies": { + "markdown-it": "12.3.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdownlint-cli": { + "version": "0.31.1", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.31.1.tgz", + "integrity": "sha512-keIOMwQn+Ch7MoBwA+TdkyVMuxAeZFEGmIIlvwgV0Z1TGS5MxPnRr29XCLhkNzCHU+uNKGjU+VEjLX+Z9kli6g==", + "dev": true, + "dependencies": { + "commander": "~9.0.0", + "get-stdin": "~9.0.0", + "glob": "~7.2.0", + "ignore": "~5.2.0", + "js-yaml": "^4.1.0", + "jsonc-parser": "~3.0.0", + "markdownlint": "~0.25.1", + "markdownlint-rule-helpers": "~0.16.0", + "minimatch": "~3.0.5", + "run-con": "~1.2.10" + }, + "bin": { + "markdownlint": "markdownlint.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdownlint-cli/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/markdownlint-cli/node_modules/commander": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz", + "integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/markdownlint-cli/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/markdownlint-cli/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/markdownlint-rule-helpers": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.16.0.tgz", + "integrity": "sha512-oEacRUVeTJ5D5hW1UYd2qExYI0oELdYK72k1TKGvIeYJIbqQWAz476NAc7LNixSySUhcNl++d02DvX0ccDk9/w==", + "dev": true + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", + "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", + "dev": true, + "dependencies": { + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/meow": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz", + "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimist-options/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==", + "dev": true, + "dependencies": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object/node_modules/for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/moo": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", + "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==", + "dev": true + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/nearley": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" + }, + "bin": { + "nearley-railroad": "bin/nearley-railroad.js", + "nearley-test": "bin/nearley-test.js", + "nearley-unparse": "bin/nearley-unparse.js", + "nearleyc": "bin/nearleyc.js" + }, + "funding": { + "type": "individual", + "url": "https://nearley.js.org/#give-to-nearley" + } + }, + "node_modules/nearley/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-package-json-lint": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-5.4.2.tgz", + "integrity": "sha512-DH1MSvYvm+cuQFXcPehIIu/WiYzMYs7BOxlhOOFHaH2SNrA+P2uDtTEe5LOG90Ci7PTwgF/dCmSKM2HWTgWXNA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.6", + "ajv-errors": "^1.0.1", + "chalk": "^4.1.2", + "cosmiconfig": "^7.0.1", + "debug": "^4.3.2", + "globby": "^11.0.4", + "ignore": "^5.1.9", + "is-plain-obj": "^3.0.0", + "jsonc-parser": "^3.0.0", + "log-symbols": "^4.1.0", + "meow": "^6.1.1", + "plur": "^4.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "npmPkgJsonLint": "src/cli.js" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/npm-package-json-lint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-package-json-lint/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-package-json-lint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/npm-packlist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", + "dev": true, + "dependencies": { + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-filter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz", + "integrity": "sha512-NahvP2vZcy1ZiiYah30CEPw0FpDcSkSePJBMpzl5EQgCmISijiGuJm3SPYp7U+Lf2TljyaIw3E5EgkEx/TNEVA==", + "dev": true + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "dev": true, + "dependencies": { + "entities": "^4.3.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz", + "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/plur": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", + "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", + "dev": true, + "dependencies": { + "irregular-plurals": "^3.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "dev": true, + "dependencies": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.5.tgz", + "integrity": "sha512-NOG1grw9wIO+60arKa2YYsrbgvP6tp+jqc7+ZD5/MalIw234ooH2C6KlR6FEn4yle7GqZoBxSK1mLBE9KPur6w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", + "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", + "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.2.tgz", + "integrity": "sha512-wr2avRbW4HS2XE2ZCqpfp4N/tDC6GZKZ+SVP8UBTOVS8QWrc4TD8MYrebJrvVVlGPKszmiSCzue43NDiVtgDmg==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", + "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "name": "wp-prettier", + "version": "2.2.1-beta-1", + "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", + "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", + "dev": true + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer-core": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.7.0.tgz", + "integrity": "sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==", + "dev": true, + "dependencies": { + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.981744", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "pkg-dir": "4.2.0", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.5.0" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/puppeteer-core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/puppeteer-core/node_modules/ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/qrcode.react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz", + "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/qss": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/qss/-/qss-2.0.3.tgz", + "integrity": "sha512-j48ZBT5IZbSqJiSU8EX4XrN8nXiflHvmMvv2XpFc31gh7n6EpSs75bNr6+oj3FOLWyT8m09pTmqLNl34L7/uPQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==", + "dev": true + }, + "node_modules/randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "dependencies": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc-align": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.15.tgz", + "integrity": "sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "rc-util": "^5.26.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-cascader": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.14.1.tgz", + "integrity": "sha512-fCsgjLIQqYZMhFj9UT+x2ZW4uobx7OP5yivcn6Xto5fuxHaldphsryzCeUVmreQOHEo0RP+032Ip9RDzrKVKJA==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.7.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.35.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.1.0.tgz", + "integrity": "sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.1.tgz", + "integrity": "sha512-N/7ejyiTf3XElNJBBpxqnZBUuMsQWEOPjB2QkfNvZ/Ca54eAvJXuOD1EGbCWCk2m7v/MSxku7mRpdeaLOCd4Gg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.1.0.tgz", + "integrity": "sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.2.0.tgz", + "integrity": "sha512-spPkZ3WvP0U0vy5dyzSwlUJ/+vLFtjP/cTwSwejhQRoDBaexSZHsBhELoCZcEggI7LQ7typmtG30lAue2HEhvA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.21.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.1.0.tgz", + "integrity": "sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^1.7.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.36.2", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.36.2.tgz", + "integrity": "sha512-tCF/JjUsnxW80Gk4E4ZH74ONsaQMxVTRtui6XhQB8DJc4FHWLLa5pP8zwhxtPKC5NaO0QZ0Cv79JggDubn6n2g==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.1.3.tgz", + "integrity": "sha512-foMl1rcit1F0+vgxE5kf0c8TygQcHhILsOohQUL+JMUbzOo3OBFRcehJudYbqbCTArzCecS8nA1irUU9vvgQbg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.1.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.1.1.tgz", + "integrity": "sha512-NTR1Z4em681L8/ewb2KR80RykSmN8I2mzqzJDCoUmTrV1BB9Hk5d7ha4TnfgdEPPL148N+603sW2LExSXk1IbA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-8.0.4.tgz", + "integrity": "sha512-TP+G5b7mZtbwXJ/YEZXF/OgbEZ6iqD4+RSuxZJ8VGKGXDcdt0FKIvpFoNQr/knspdFC4OxA0OfsWfFWfN4XSyA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.1.0", + "rc-util": "^5.28.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.5.0.tgz", + "integrity": "sha512-rERXsbUTNVrb5T/iDC0ki/SRGWJnOVraDy6O25Us3FSpuUZ3uq2TPZB4fRk0Hss5kyiEPzz2sprhkI4b+F4jUw==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^1.5.0", + "classnames": "^2.2.6", + "rc-input": "~1.1.0", + "rc-menu": "~9.10.0", + "rc-textarea": "~1.3.0", + "rc-util": "^5.22.5" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.10.0.tgz", + "integrity": "sha512-g27kpXaAoJh/fkPZF65/d4V+w4DhDeqomBdPcGnkFAcJnEM4o21TnVccrBUoDedLKzC7wJRw1Q7VTqEsfEufmw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.6.2", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz", + "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.1.1.tgz", + "integrity": "sha512-BPnded/WmWFE57ubqhVCgRSuedfQQNeSOYqdwppyr2B/Wt909gYFKyWAkFJVXuppAjsOGop05a93UaxjmUFdkg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.6.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.6.1.tgz", + "integrity": "sha512-R/sUnKKXx1Nm4kZfUKS3YKa7yEPF1ZkVB/AynQaHt+nMER7h9wPTfliDJFdYo+RM/nk2JD4Yc5QpUq8fIQHeug==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.32.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.13.2.tgz", + "integrity": "sha512-jvmmwo9d2/rUJXx8dydmcReAGF7f2wzbR7GDUgZXymbw0cqxNqXen5GGQIsX0x92JJROKyKb+J/E7bn967Ok9A==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.5.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.2.tgz", + "integrity": "sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz", + "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.3.1.tgz", + "integrity": "sha512-iFUdt3NNhflbY3mwySv5CA1TC06zdJ+pfo0oc27xpf4PIOvfZwZGtD9Kz41wGYqC4SLio93RVAirSSpYlV/uYg==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.27.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.2.2.tgz", + "integrity": "sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.7.4", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.7.4.tgz", + "integrity": "sha512-qRUpvMVXFy6rdHe+qzHXAqyQAfhErC/oY8dcRtoRjoz0lz2Nx3J+lLL5AnEbjnwlS+/kQTJUZ/65WyCwWwcLwQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.5.0", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.2.1.tgz", + "integrity": "sha512-l355C/65iV4UFp7mXq5xBTNX2/tF2g74VWiTVlTpNp+6vjE/xaHHNiQq5Af+Uu28uUiqCuH/QXs5HfADL9KJ/A==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.27.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.32.3", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.32.3.tgz", + "integrity": "sha512-MqjrI/ibuGg7NEyFsux0dM5GK+3er1gTiZofAkifr2bHf/Sa1nUqXXFmSrYXSOjwpx0xyBnJ3GrHFCIqC/eOzw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.3.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.27.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "12.9.0", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.9.0.tgz", + "integrity": "sha512-2HnVowgMVrq0DfQtyu4mCd9E6pXlWNdM6VaDvOOHMsLYqPmpY+7zBqUC6YrrQ9xYXHciTS0e7TtjOHIvpVCHLQ==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.1.0", + "rc-menu": "~9.10.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.16.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.3.4.tgz", + "integrity": "sha512-wn0YjTpvcVolcfXa0HtzL+jgV2QcwtfB29RwNAKj8hMgZOju1V24M3TfEDjABeQEAQbUGbjMbISREOX/YSVKhg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.1.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.0.1.tgz", + "integrity": "sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^1.0.4", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.7.10", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.10.tgz", + "integrity": "sha512-n4UkMQY3bzvJUNnbw6e3YI7sy2kE9c9vAYbSt94qAhcPKtMOThONNr1LIaFB/M5XeFYYrWVbvRVoT8k38eFuSQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.11.2", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.11.2.tgz", + "integrity": "sha512-ujRFO3pcjSg8R4ndXX2oiNcCu+RgO9ZPcd23CZy18Khm+nRsfWWS3Su7qB0iuoJgzAJ5LK7b6Dio0t7IQDGs9g==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.7.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.4.tgz", + "integrity": "sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.37.0.tgz", + "integrity": "sha512-cPMV8DzaHI1KDaS7XPRXAf4J7mtBqjvjikLpQieaeOO7+cEbqY2j7Kso/T0R0OiEZTNcLS/8Zl9YrlXiO9UbjQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/rc-virtual-list": { + "version": "3.10.5", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.10.5.tgz", + "integrity": "sha512-Vc89TL3JHfRlLVQXVj5Hmv0dIflgwmHDcbjt9lrZjOG3wNUDkTF5zci8kFDU/CzdmmqgKu+CUktEpT10VUKYSQ==", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-input-color": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-input-color/-/react-input-color-4.0.0.tgz", + "integrity": "sha512-XgZeEW7l0sYIQve3GzhQbCK0xLszl4F5vrtDTrUu8XSFF2Ek2UJi0n6MFY9DyUDQb4TU2P7kp8v48JD3yKFt5w==", + "dependencies": { + "@babel/runtime": "^7.9.2", + "@emotion/core": "^10.0.14", + "@swiftcarrot/color-fns": "^3.0.4", + "@xkit/popover": "^0.1.20", + "react-input-number": "^5.0.18", + "react-input-slider": "^5.1.2" + }, + "peerDependencies": { + "react": "^16.8.4", + "react-dom": "^16.8.4" + } + }, + "node_modules/react-input-color/node_modules/react-input-number": { + "version": "5.0.19", + "resolved": "https://registry.npmjs.org/react-input-number/-/react-input-number-5.0.19.tgz", + "integrity": "sha512-Aa9RmOoOgzCn6b/RYyrKRkBtIWGum6v9sA73rJFtl9N0O3kjWrAdj9lk09n9QoOaxvyEHc3GQZwLcUrBEIH2Cw==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/core": "^10.0.14", + "lodash": "^4.17.15" + }, + "peerDependencies": { + "react": "^16.8.4", + "react-dom": "^16.8.4" + } + }, + "node_modules/react-input-color/node_modules/react-input-slider": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/react-input-slider/-/react-input-slider-5.1.7.tgz", + "integrity": "sha512-w8ciwQCJcY5qKygQQTKTvnxR1CYiTE6fd1M0w29sHqzXPq+44SiWqPJxg7esuejFzRAluHaus7BEgRSJcQcpLg==", + "dependencies": { + "@babel/runtime": "^7.9.2", + "@emotion/core": "^10.0.14" + }, + "peerDependencies": { + "react": "^16.8.4", + "react-dom": "^16.8.4" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/react-refresh": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.10.0.tgz", + "integrity": "sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-test-renderer": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz", + "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^17.0.2", + "react-shallow-renderer": "^16.13.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regextras": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz", + "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==", + "dev": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requireindex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "dev": true, + "engines": { + "node": ">=0.10.5" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-bin": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/resolve-bin/-/resolve-bin-0.4.3.tgz", + "integrity": "sha512-9u8TMpc+SEHXxQXblXHz5yRvRZERkCZimFN9oz85QI3uhkh7nqfjm6OGTLg+8vucpXGcY4jLK6WkylPmt7GSvw==", + "dev": true, + "dependencies": { + "find-parent-dir": "~0.3.0" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==", + "dev": true, + "dependencies": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==", + "dev": true, + "dependencies": { + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" + } + }, + "node_modules/run-con": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.10.tgz", + "integrity": "sha512-n7PZpYmMM26ZO21dd8y3Yw1TRtGABjRtgPSgFS/nhzfvbJMXFtJhJVyEgayMiP+w/23craJjsnfDvx4W4ue/HQ==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~2.0.0", + "minimist": "^1.2.5", + "strip-json-comments": "~3.1.1" + }, + "bin": { + "run-con": "cli.js" + } + }, + "node_modules/run-con/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.52.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.3.tgz", + "integrity": "sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.0.10.tgz", + "integrity": "sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg==", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha512-0u8i1NZ/mg0b+W3MGGw5I7+6Eib2nx72S/QvXa0hYjEkjTknYmEYQJwGu3mLC0BrhtJjtQafTkyRUQ75Kx0LVg==", + "dev": true, + "dependencies": { + "is-buffer": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", + "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawnd": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-6.0.2.tgz", + "integrity": "sha512-+YJtx0dvy2wt304MrHD//tASc84zinBUYU1jacPBzrjhZUd7RsDo25krxr4HUHAQzEQFuMAs4/p+yLYU5ciZ1w==", + "dev": true, + "dependencies": { + "exit": "^0.1.2", + "signal-exit": "^3.0.6", + "tree-kill": "^1.2.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.1", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.6.tgz", + "integrity": "sha512-8lMR2m+U0VJTPp6JjvJTtGyc4FIGq9CdRt7O9p6T0e6K4vjU+OP+SQJpbe/SBmRcCUIvNUnjsbmY6lnMp8MhsQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/stylelint": { + "version": "14.9.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.9.1.tgz", + "integrity": "sha512-RdAkJdPiLqHawCSnu21nE27MjNXaVd4WcOHA4vK5GtIGjScfhNnaOuWR2wWdfKFAvcWQPOYe311iveiVKSmwsA==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.1", + "balanced-match": "^2.0.0", + "colord": "^2.9.2", + "cosmiconfig": "^7.0.1", + "css-functions-list": "^3.1.0", + "debug": "^4.3.4", + "execall": "^2.0.0", + "fast-glob": "^3.2.11", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.2.0", + "ignore": "^5.2.0", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.25.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^2.2.0", + "svg-tags": "^1.0.0", + "table": "^6.8.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^4.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", + "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", + "dev": true, + "peerDependencies": { + "stylelint": "^14.0.0" + } + }, + "node_modules/stylelint-config-recommended-scss": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz", + "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==", + "dev": true, + "dependencies": { + "postcss-scss": "^4.0.2", + "stylelint-config-recommended": "^6.0.0", + "stylelint-scss": "^4.0.0" + }, + "peerDependencies": { + "stylelint": "^14.0.0" + } + }, + "node_modules/stylelint-scss": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.2.0.tgz", + "integrity": "sha512-HHHMVKJJ5RM9pPIbgJ/XA67h9H0407G68Rm69H4fzFbFkyDMcTV1Byep3qdze5+fJ3c0U7mJrbj6S0Fg072uZA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0" + }, + "peerDependencies": { + "stylelint": "^14.5.1" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stylelint/node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stylelint/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/write-file-atomic": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", + "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/stylelint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/stylelint/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylis": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", + "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.7", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.7.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/wait-on": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", + "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "dev": true, + "dependencies": { + "axios": "^0.25.0", + "joi": "^17.6.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^7.5.4" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz", + "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==", + "dev": true, + "dependencies": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-cli": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "cross-spawn": "^7.0.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "@webpack-cli/migrate": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-cli/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/webpack-cli/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-cli/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-cli/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.2.tgz", + "integrity": "sha512-H95Ns95dP24ZsEzO6G9iT+PNw4Q7ltll1GfJHV4fKphuHWgKFzGHWi4alTlTnpk1SPPk41X+l2RB7rLfIhnB9Q==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-merge/node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-merge/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-merge/node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", + "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/Includes/Modules/QuickView/assets/package.json b/Includes/Modules/QuickView/assets/package.json new file mode 100644 index 00000000..bac5f7e4 --- /dev/null +++ b/Includes/Modules/QuickView/assets/package.json @@ -0,0 +1,21 @@ +{ + "name": "sales-booster-quick-view", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "wp-scripts start src/settings.js", + "lint": "wp-scripts lint-js src", + "build": "wp-scripts build src/settings.js" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "@wordpress/scripts": "^23.0.0" + }, + "dependencies": { + "antd": "^5.5.0", + "nanoid": "^3.3.4", + "@wordpress/i18n": "^4.24.0" + } +} diff --git a/Includes/Modules/QuickView/assets/scripts/jqmeter.min.js b/Includes/Modules/QuickView/assets/scripts/jqmeter.min.js new file mode 100644 index 00000000..246537b3 --- /dev/null +++ b/Includes/Modules/QuickView/assets/scripts/jqmeter.min.js @@ -0,0 +1,11 @@ +/* + +Title: jQMeter: a jQuery Progress Meter Plugin +Author: Gerardo Larios +Version: 0.1.2 +Website: http://www.gerardolarios.com/plugins-and-tools/jqmeter +License: Dual licensed under the MIT and GPL licenses. + +*/ + +!function(e){e.fn.extend({jQMeter:function(t){t&&"object"==typeof t&&(t=e.extend({},e.jQMeter.defaults,t)),this.each(function(){new e.jQMeter(this,t)})}}),e.jQMeter=function(t,r){if(goal=parseInt(r.goal.replace(/\D/g,"")),raised=parseInt(r.raised.replace(/\D/g,"")),width=r.width,height=r.height,bgColor=r.bgColor,barColor=r.barColor,meterOrientation=r.meterOrientation,animationSpeed=r.animationSpeed,counterSpeed=r.counterSpeed,displayTotal=r.displayTotal,total=raised/goal*100,total>=100&&(total=100),"vertical"==meterOrientation?(e(t).html('

'+total+"
"),e(t).children(".outer-therm").attr("style","width:"+width+";height:"+height+";background-color:"+bgColor),e(t).children(".outer-therm").children(".inner-therm").attr("style","background-color:"+barColor+";height:0;width:"+width),e(t).children(".outer-therm").children(".inner-therm").animate({height:total+"%"},animationSpeed)):(e(t).html('
'+total+"
"),e(t).children(".outer-therm").attr("style","width:"+width+";height:"+height+";background-color:"+bgColor),e(t).children(".outer-therm").children(".inner-therm").attr("style","background-color:"+barColor+";height:"+height+";width:0"),e(t).children(".outer-therm").children(".inner-therm").animate({width:total+"%"},animationSpeed)),displayTotal){var i=parseInt(height),n=i/2-13+"px 10px";"horizontal"!=meterOrientation&&(n="10px 0"),e(t).children(".outer-therm").children(".inner-therm").children().show(),e(t).children(".outer-therm").children(".inner-therm").children().css("padding",n),e({Counter:0}).animate({Counter:e(t).children(".outer-therm").children(".inner-therm").children().text()},{duration:counterSpeed,easing:"swing",step:function(){e(t).children(".outer-therm").children(".inner-therm").children().text(Math.ceil(this.Counter)+"%")}})}e(t).append("")},e.jQMeter.defaults={width:"100%",height:"50px",bgColor:"#444",barColor:"#bfd255",meterOrientation:"horizontal",animationSpeed:2e3,counterSpeed:2e3,displayTotal:!0}}(jQuery); diff --git a/Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css b/Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css new file mode 100644 index 00000000..9646f318 --- /dev/null +++ b/Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css @@ -0,0 +1,57 @@ +@import url(../fonts/inter-regular/stylesheet.css); +@import url(../fonts/inter-medium/stylesheet.css); +@import url(../fonts/Inter-semibold/stylesheet.css); +@import url(../fonts/inter-bold/stylesheet.css); + +.sgsb-stock-stockbar-status { + width: 100%; +} +.sgsb-stock-stockbar-status::after { + display: table; + content: " "; + clear: both; +} + +.jqmeter-container .outer-therm { + margin: 0; +} + +.sgsb-stock-progress { + width: 0; + border-radius: 5px; +} + +.sgsb-stock-progress-bar { + width: 100%; + border-radius: 5px; + margin-top: 5px; +} + +.sgsb-stock-progress-bar-section { + gap: 16px; + display: grid; + background: #fff; + border-radius: 6px; + margin-bottom: 20px; + padding: 15px 15px 15px; +} + +.sgsb-stock-progress-title { + display: flex; + line-height: 1; + justify-content: space-between; +} + +.sgsb-stock-progress-available-title{ + float: right; +} +.sgsb-stock-progress-sold-title, +.sgsb-stock-progress-available-title { + font-size: 14px; + color: #073b4c; +} +.sgsb-stock-progress-count { + color: #000; + font-weight: 600; +} + diff --git a/Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js b/Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js new file mode 100644 index 00000000..e45d0c48 --- /dev/null +++ b/Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js @@ -0,0 +1,32 @@ +"use strict"; + +jQuery(document).ready(function ($) { + // Stock progress bar. + $(".jqmeter-container").each(function (event) { + var goal = $(this).parent().attr("total-stock"); + var raised = $(this).parent().attr("total-sale"); + var height = $(this).parent().data("height") + "px"; + var bgColor = $(this).parent().data("bgcolor"); + var barColor = $(this).parent().data("fgcolor"); + $(this).jQMeter({ + goal: goal, + raised: raised, + meterOrientation: "horizontal", + width: "100%", + height: height, + bgColor: bgColor, + displayTotal: false, + }); + $( this ).find( '.inner-therm' ).css( { background: barColor } ); + }); + + showStockProgress(); + $("form.variations_form").on("show_variation", function (event, variation) { + showStockProgress(); + }); + + function showStockProgress() { + let order_progress = $(".sgsb-stock-progress").attr("data-order-progress"); + $(".sgsb-stock-progress").animate({ width: `${order_progress}%` }, 1300); + } +}); diff --git a/Includes/Modules/QuickView/assets/src/components/DesingTab.js b/Includes/Modules/QuickView/assets/src/components/DesingTab.js new file mode 100644 index 00000000..a79e4f09 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/DesingTab.js @@ -0,0 +1,63 @@ +import { Fragment } from "react"; +import { __ } from "@wordpress/i18n"; +import { applyFilters } from '@wordpress/hooks'; +import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; +import ColourPicker from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/ColorPicker"; +import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; +import Templates from "./Templates"; + +function DesignTab(props) { + const { + formData, + setFormData, + onFieldChange, + onFormSave, + buttonLoading, + onFormReset, + } = props; + + return ( + + + + { applyFilters( + 'sgsb_bar_color_stock_bar_settings', + '', + formData, + onFieldChange + ) } + + + { applyFilters( + 'sgsb_design_panel_stock_bar_settings', + '', + formData, + onFieldChange + ) } + + + + + + + ); +} + +export default DesignTab; diff --git a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js new file mode 100644 index 00000000..3bdf7ae8 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js @@ -0,0 +1,50 @@ +import { Fragment } from "react"; +import { __ } from "@wordpress/i18n"; +import { applyFilters } from "@wordpress/hooks"; +import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; +import SingleCheckBox from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/SingleCheckBox"; +import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; +import SettingInstruction from "./SettingInstruction"; + +function GeneralSettingsTab(props) { + const { formData, onFieldChange, onFormSave, buttonLoading, onFormReset } = + props; + + return ( + + + {applyFilters( + "sgsb_shop_stock_bar_enable_settings", + "", + formData, + onFieldChange + )} + + {applyFilters( + "sgsb_variation_product_stock_bar_enable_settings", + "", + formData, + onFieldChange + )} + + + + + ); +} + +export default GeneralSettingsTab; diff --git a/Includes/Modules/QuickView/assets/src/components/Preview.js b/Includes/Modules/QuickView/assets/src/components/Preview.js new file mode 100644 index 00000000..97584086 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/Preview.js @@ -0,0 +1,136 @@ +import React, { Fragment } from "react"; +import { __ } from "@wordpress/i18n"; + +const Preview = ({ formData }) => { + return ( +
+
+ {formData?.stock_display_format === "above" ? ( + +
+ + {formData?.total_sell_count_text}: + + {__(" 247", "storegrowth-sales-booster")} + + + + {formData?.available_item_count_text}: + + {__(" 123", "storegrowth-sales-booster")} + + +
+
+
+
+
+ ) : ( + +
+
+
+
+ + {formData?.total_sell_count_text}: + + {__(" 247", "storegrowth-sales-booster")} + + + + {formData?.available_item_count_text}: + + {__(" 123", "storegrowth-sales-booster")} + + +
+
+ )} +
+
+ ); +}; + +export default Preview; diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js new file mode 100644 index 00000000..762ed475 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js @@ -0,0 +1,185 @@ +import { Fragment } from "react"; +import { notification } from "antd"; +import { __ } from "@wordpress/i18n"; +import { useEffect, useState } from "@wordpress/element"; +import { useDispatch } from "@wordpress/data"; + +import PanelHeader from "sales-booster/src/components/settings/Panels/PanelHeader"; +import PanelContainer from "sales-booster/src/components/settings/Panels/PanelContainer"; +import PanelRow from "sales-booster/src/components/settings/Panels/PanelRow"; +import PanelPreview from "sales-booster/src/components/settings/Panels/PanelPreview"; +import PanelSettings from "sales-booster/src/components/settings/Panels/PanelSettings"; +import GeneralSettingsTab from "./GeneralSettingsTab"; +import DesignTab from "./DesingTab"; +import Preview from "./Preview"; +import TouchPreview from "sales-booster/src/components/settings/Panels/TouchPreview"; + +function QuickViewLayout({ navigate, useSearchParams }) { + const isProEnabled = sgsbAdmin.isPro; + const { setPageLoading } = useDispatch("sgsb"); + const [buttonLoading, setButtonLoading] = useState(false); + let [searchParams, setSearchParams] = useSearchParams("general"); + const tabName = searchParams.get("tab_name") || "general"; + + const initalQuickViewData = { + stockbar_height: 10, + stockbar_bg_color: "#EBF6FF", + stockbar_fg_color: "#008DFF", + stockbar_template: "stock_bar_one", + stock_display_format: "above", + stockbar_border_color: "#DDE6F9", + total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), + available_item_count_text: __( + "Available Item", + "storegrowth-sales-booster" + ), + shop_page_stock_bar_enable: false, + shop_page_countdown_enable: false, + product_page_stock_bar_enable: true, + product_page_countdown_enable: true, + variation_page_stock_bar_enable: false, + }; + const [formData, setFormData] = useState({ + ...initalQuickViewData, + }); + + const onFormReset = () => { + setFormData({ ...initalQuickViewData }); + }; + + const changeTab = (key) => { + navigate("/quick-view?tab_name=" + key); + }; + + const notificationMessage = (type) => { + if (type == "general_settings") { + notification["success"]({ + message: "Settings Section", + description: "General settings section data updated successfully.", + }); + } + + if (type == "design") { + notification["success"]({ + message: "Design Section", + description: "Design section data updated successfully.", + }); + } + }; + + const onFormSave = (type) => { + setButtonLoading(true); + + let data = { + action: "sgsb_stock_bar_save_settings", + _ajax_nonce: sgsbAdmin.nonce, + form_data: formData, + }; + + jQuery + .ajax({ + url: sgsbAdmin.ajax_url, + method: "POST", + data: data, + }) + .success(() => { + setButtonLoading(false); + notificationMessage(type); + }); + }; + + const getSettings = () => { + setPageLoading(true); + + jQuery + .ajax({ + url: sgsbAdmin.ajax_url, + method: "POST", + data: { + action: "sgsb_stock_bar_get_settings", + _ajax_nonce: sgsbAdmin.nonce, + }, + }) + .success((response) => { + if (response.success) { + setFormData({ ...formData, ...response.data }); + setTimeout(() => setPageLoading(false), 500); + } + }); + }; + + useEffect(() => { + getSettings(); + }, []); + + const onFieldChange = (key, value) => { + setFormData({ ...formData, [key]: value }); + }; + + const noop = () => {}; + const excludeTabs = ["general"]; + const showPreview = !excludeTabs?.includes(tabName); + + const tabPanels = [ + { + key: "general", + title: __("Stock Bar Setting", "storegrowth-sales-booster"), + panel: ( + onFormSave("general_settings")} + upgradeTeaser={!isProEnabled} + buttonLoading={buttonLoading} + onFormReset={onFormReset} + noop={noop} + /> + ), + }, + { + key: "design", + title: __("Design", "storegrowth-sales-booster"), + panel: ( + onFormSave("design")} + upgradeTeaser={!isProEnabled} + buttonLoading={buttonLoading} + onFormReset={onFormReset} + noop={noop} + /> + ), + }, + ]; + + return ( + + + + + + {showPreview && tabName && ( + + + + )} + + {/* Render preview panel for responsive preview. */} + + + + + + ); +} + +export default QuickViewLayout; diff --git a/Includes/Modules/QuickView/assets/src/components/SettingInstruction.js b/Includes/Modules/QuickView/assets/src/components/SettingInstruction.js new file mode 100644 index 00000000..910d8a75 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/SettingInstruction.js @@ -0,0 +1,59 @@ +import Image from "antd/es/image"; +import scInstruction from "../../images/stock-bar-instruction.png"; +import FieldWrapper from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/FieldWrapper"; + +const SettingInstruction = () => { + return ( + +
+ + ); +}; + +export default SettingInstruction; diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js new file mode 100644 index 00000000..43656892 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js @@ -0,0 +1,78 @@ +import { __ } from "@wordpress/i18n"; + +const QuickViewOne = ({ activeTemplate }) => { + return ( +
+
+
+ + {__("Total Sold: ", "storegrowth-sales-booster")} + + {__("247", "storegrowth-sales-booster")} + + + + {__("Available Item: ", "storegrowth-sales-booster")} + + {__("123", "storegrowth-sales-booster")} + + +
+
+
+
+
+
+ ); +}; + +export default QuickViewOne; diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js new file mode 100644 index 00000000..f9f9efae --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js @@ -0,0 +1,80 @@ +import { __ } from "@wordpress/i18n"; + +const QuickViewThree = ({ activeTemplate }) => { + return ( +
+
+
+ + {__("Total Sold: ", "storegrowth-sales-booster")} + + {__("247", "storegrowth-sales-booster")} + + + + {__("Available Item: ", "storegrowth-sales-booster")} + + {__("123", "storegrowth-sales-booster")} + + +
+
+
+
+
+
+ ); +}; + +export default QuickViewThree; diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js new file mode 100644 index 00000000..a4529cd1 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js @@ -0,0 +1,78 @@ +import { __ } from "@wordpress/i18n"; + +const QuickViewTwo = ({ activeTemplate }) => { + return ( +
+
+
+ + {__("Total Sold: ", "storegrowth-sales-booster")} + + {__("247", "storegrowth-sales-booster")} + + + + {__("Available Item: ", "storegrowth-sales-booster")} + + {__("123", "storegrowth-sales-booster")} + + +
+
+
+
+
+
+ ); +}; + +export default QuickViewTwo; diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/index.js b/Includes/Modules/QuickView/assets/src/components/Templates/index.js new file mode 100644 index 00000000..ba33d81c --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/Templates/index.js @@ -0,0 +1,107 @@ +import { Fragment } from "react"; +import { __ } from "@wordpress/i18n"; +import QuickViewOne from "./QuickViewOne"; +import { applyFilters } from "@wordpress/hooks"; +import SectionHeader from "sales-booster/src/components/settings/Panels/SectionHeader"; +import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; +import RadioTemplate from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/RadioTemplate"; +import QuickViewTwo from "./QuickViewTwo"; +import QuickViewThree from "./QuickViewThree"; + +const Templates = ({ formData, setFormData }) => { + let templates = [ + { + key: "stock_bar_one", + component: ( + + ), + }, + { + key: "stock_bar_two", + component: ( + + ), + }, + { + key: "stock_bar_three", + component: ( + + ), + }, + ]; + + const templateStyles = { + stock_bar_one: { + stockbar_height: 10, + stockbar_bg_color: "#EBF6FF", + stockbar_fg_color: "#008DFF", + stockbar_template: "stock_bar_one", + stock_display_format: "above", + stockbar_border_color: "#DDE6F9", + total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), + available_item_count_text: __( + "Available Item", + "storegrowth-sales-booster" + ), + }, + stock_bar_two: { + stockbar_height: 10, + stockbar_bg_color: "#E6F8F1", + stockbar_fg_color: "#02AC6E", + stockbar_template: "stock_bar_two", + stock_display_format: "above", + stockbar_border_color: "#BDE5D7", + total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), + available_item_count_text: __( + "Available Item", + "storegrowth-sales-booster" + ), + }, + stock_bar_three: { + stockbar_height: 10, + stockbar_bg_color: "#EFF0F8", + stockbar_fg_color: "linear-gradient(90deg, #AF89FF 0%, #0283AC 100%)", + stockbar_template: "stock_bar_three", + stock_display_format: "above", + stockbar_border_color: "#ae89ff33", + total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), + available_item_count_text: __( + "Available Item", + "storegrowth-sales-booster" + ), + }, + }; + + // List of shipping bar templates. + templates = applyFilters("sgsb_shipping_bar_templates", templates); + + const onTemplateChange = (name, value) => { + setFormData({ + ...formData, + ...templateStyles?.[value], + }); + }; + + return ( + + + + + + + ); +}; + +export default Templates; diff --git a/Includes/Modules/QuickView/assets/src/settings.js b/Includes/Modules/QuickView/assets/src/settings.js new file mode 100644 index 00000000..32d8760d --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/settings.js @@ -0,0 +1,41 @@ +import { addFilter } from "@wordpress/hooks"; +import { StockOutlined } from "@ant-design/icons"; +import QuickViewLayout from "./components/QuickViewLayout"; + +/** + * Add routes to sidebar. + */ +addFilter( + "sgsb_routes", + "sgsb", + (routes, outlet, navigate, useParams, useSearchParams) => { + routes.push({ + name: "quick-view", + label: "Stock Bar", + path: "/quick-view", + element: ( + + ), + }); + + return routes; + } +); + +/** + * Add sidebar menu items + */ +addFilter("sidebar_menu_items", "sgsb", (items, Link) => { + items.push({ + label: Stock Bar, + key: "quick-view", + icon: , + }); + + return items; +}); diff --git a/Includes/Modules/QuickView/templates/simple-stock-status.php b/Includes/Modules/QuickView/templates/simple-stock-status.php new file mode 100644 index 00000000..d40216f7 --- /dev/null +++ b/Includes/Modules/QuickView/templates/simple-stock-status.php @@ -0,0 +1,65 @@ +managing_stock() ) { + return; +} + +$settings = get_option( 'sgsb_stock_bar_settings' ); +$enable_stock_bar_in_product_page = sgsb_find_option_setting( $settings, 'product_page_stock_bar_enable', true ); + +if ( is_product() && ! $enable_stock_bar_in_product_page ) { + return; +} + +$total_sales = intval( $product->get_total_sales() ); +$stock = intval( $product->get_stock_quantity() ); +$total_stock = $stock + $total_sales; + +$bar_height = sgsb_find_option_setting( $settings, 'stockbar_height', '10' ); +$bg_color = sgsb_find_option_setting( $settings, 'stockbar_bg_color', '#e7efff' ); +$fg_color = sgsb_find_option_setting( $settings, 'stockbar_fg_color', '#0875ff' ); +$sd_format = sgsb_find_option_setting( $settings, 'stock_display_format', 'above' ); +$total_sell_text = sgsb_find_option_setting( $settings, 'total_sell_count_text', 'Total Sold' ); +$available_item_text = sgsb_find_option_setting( $settings, 'available_item_count_text', 'Available Item' ); + +?> + +
+
+ +
+ + + + + + + + + + + + +
+ +
+ +
+
diff --git a/package.json b/package.json index ebaa8f78..651c3d23 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "watch:sales-notification": "lerna run start --scope='sales-booster-sales-notification'", "watch:stock-bar": "lerna run start --scope='sales-booster-stock-bar'", "watch:upsell-order-bump": "lerna run start --scope='sales-booster-upsell-order-bump'", + "watch:quick-view": "lerna run start --scope='sales-booster-quick-view'", "build:sales-booster": "lerna run build --scope='sales-booster'", "build:sales-countdown": "lerna run build --scope='sales-booster-sales-countdown'", "build:direct-checkout": "lerna run build --scope='sales-booster-direct-checkout'", @@ -27,6 +28,7 @@ "build:sales-pop": "lerna run build --scope='sales-booster-sales-pop'", "build:stock-bar": "lerna run build --scope='sales-booster-stock-bar'", "build:upsell-order-bump": "lerna run build --scope='sales-booster-upsell-order-bump'", + "build:quick-view": "lerna run build --scope='sales-booster-quick-view'", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", From 636c7c395e7107b7f32b80bc6c4c9945d95c0a75 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder <65698588+gooyeduck@users.noreply.github.com> Date: Wed, 17 Jan 2024 19:10:35 +0600 Subject: [PATCH 02/22] feat(quick-view): modal integration --- Includes/Modules/QuickView/Includes/Ajax.php | 51 ++++++++++++++-- .../QuickView/Includes/CommonHooks.php | 54 ++++++++-------- .../QuickView/Includes/EnqueueScript.php | 36 +++++------ .../QuickView/assets/scripts/quick-view.js | 61 +++++++++++++++++++ .../assets/scripts/sgsb-stock-bar.js | 32 ---------- .../assets/src/components/DesingTab.js | 23 +++---- .../src/components/GeneralSettingsTab.js | 8 +-- .../assets/src/components/QuickViewLayout.js | 15 ++--- .../assets/src/components/Templates/index.js | 24 ++++---- .../Modules/QuickView/assets/src/settings.js | 6 +- .../QuickView/templates/quick-view-button.php | 29 +++++++++ .../QuickView/templates/quick-view-modal.php | 21 +++++++ .../templates/simple-stock-status.php | 8 +-- 13 files changed, 246 insertions(+), 122 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/scripts/quick-view.js delete mode 100644 Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js create mode 100644 Includes/Modules/QuickView/templates/quick-view-button.php create mode 100644 Includes/Modules/QuickView/templates/quick-view-modal.php diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index 20f3b982..bfd3a83d 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -25,8 +25,12 @@ class Ajax { * Constructor of Ajax class. */ private function __construct() { - add_action( 'wp_ajax_sgsb_stock_bar_save_settings', array( $this, 'save_settings' ) ); - add_action( 'wp_ajax_sgsb_stock_bar_get_settings', array( $this, 'get_settings' ) ); + add_action( 'wp_ajax_sgsb_quick_view_save_settings', array( $this, 'save_settings' ) ); + add_action( 'wp_ajax_sgsb_quick_view_get_settings', array( $this, 'get_settings' ) ); + add_action( 'wp_ajax_get_product_data', array( $this, 'get_product_data_callback' ) ); + add_action( 'wp_ajax_nopriv_get_product_data', array( $this, 'get_product_data_callback' ) ); + add_action( 'wp_ajax_load_modal_template', array( $this, 'load_modal_template_callback' ) ); + add_action( 'wp_ajax_nopriv_load_modal_template', array( $this, 'load_modal_template_callback' ) ); } /** @@ -42,7 +46,7 @@ public function save_settings() { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Sanitizing via `sgsb_sanitize_form_fields`. $form_data = array_map( 'sgsb_sanitize_form_fields', wp_unslash( $_POST['form_data'] ) ); - update_option( 'sgsb_stock_bar_settings', $form_data ); + update_option( 'sgsb_quick_view_settings', $form_data ); wp_send_json_success(); } @@ -53,8 +57,47 @@ public function save_settings() { public function get_settings() { check_ajax_referer( 'sgsb_ajax_nonce' ); - $form_data = get_option( 'sgsb_stock_bar_settings', array() ); + $form_data = get_option( 'sgsb_quick_view_settings', array() ); wp_send_json_success( $form_data ); } + + public function get_product_data_callback() { + error_log( 'Runnign' ); + $product_id = isset( $_POST['product_id'] ) ? intval( $_POST['product_id'] ) : 0; + + // Get the WooCommerce product object + $product = wc_get_product( $product_id ); + + if ( $product ) { + // Get relevant product data + $product_data = array( + 'name' => $product->get_name(), + 'price' => $product->get_price(), + // Add more product data as needed + ); + + // Send the response back to the JavaScript + echo json_encode( $product_data ); + } else { + // If product not found, send an error response + echo json_encode( array( 'error' => 'Product not found.' ) ); + } + + // Always exit to prevent extra output + wp_die(); + } + + + + public function load_modal_template_callback() { + echo $this->load_quick_view_modal_template(); // This function loads your modal template + wp_die(); + } + + public function load_quick_view_modal_template() { + ob_start(); + include __DIR__ . '/../templates/quick-view-modal.php'; + return ob_get_clean(); + } } diff --git a/Includes/Modules/QuickView/Includes/CommonHooks.php b/Includes/Modules/QuickView/Includes/CommonHooks.php index 36414e58..91c6e0ec 100644 --- a/Includes/Modules/QuickView/Includes/CommonHooks.php +++ b/Includes/Modules/QuickView/Includes/CommonHooks.php @@ -25,34 +25,40 @@ class CommonHooks { * Constructor of Common_Hooks class. */ private function __construct() { - add_action( 'woocommerce_before_add_to_cart_form', array( $this, 'show_stock_status_template' ) ); + add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'show_quick_view_button_shop' ), 15 ); + } + + /** + * Hook for WooCommerce loop add to cart link. + * + * @since 1.0.0 + * + * @param string $add_to_cart Add to cart link. + * + * @return string + */ + public function show_quick_view_button_shop( $add_to_cart ) { + ob_start(); + $this->display_buy_now_button(); + $buy_now_button = ob_get_contents(); + ob_end_clean(); + + $add_to_cart .= $buy_now_button; - add_filter( 'woocommerce_get_stock_html', array( $this, 'woocommerce_get_stock_html' ), 10, 2 ); + return $add_to_cart; } - /** - * Hook for WooCommerce before add-to-cart form. - */ - public function show_stock_status_template() { + /** + * Function to display the Buy Now button. + */ + private function display_buy_now_button() { global $product; - $stock_status = $product->get_stock_status(); - if ( $product->is_type( 'simple' ) && 'outofstock' !== $stock_status ) { - include __DIR__ . '/../templates/simple-stock-status.php'; - } - } - /** - * WooCommerce get stock html. - * - * @param string $html HTML string. - * @param WC_Product $product Product Object. - */ - public function woocommerce_get_stock_html( $html, $product ) { - $stock_status = $product->get_stock_status(); - if ( 'outofstock' === $stock_status ) { - return $html; - } else { - return ''; - } + $product_id = get_the_ID(); + $direct_checkout_button_layout = get_post_meta( $product_id, '_sgsb_direct_checkout_button_layout', true ); + $settings = get_option( 'sgsb_direct_checkout_settings' ); + $buy_now_button_setting = sgsb_find_option_setting( $settings, 'buy_now_button_setting', 'cart-with-buy-now' ); + + include __DIR__ . '/../templates/quick-view-button.php'; } } diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 7d325cd3..564f8bec 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -25,6 +25,7 @@ class EnqueueScript { * Constructor of Enqueue_Script class. */ private function __construct() { + add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) ); @@ -36,32 +37,27 @@ private function __construct() { * Enqueue CSS and JS for fly cart. */ public function wp_enqueue_scripts() { - if ( ! is_product() && ! is_shop() ) { - return; - } + + wp_enqueue_style( 'bootstrap', 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css', array(), '4.3.1' ); + wp_enqueue_script( 'bootstrap', 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js', array( 'jquery' ), '4.3.1', true ); wp_enqueue_style( - 'sgsb-stock-cd-custom-style', + 'sgsb-quick-view-custom-style', sgsb_modules_url( 'QuickView/assets/scripts/sgsb-quick-view-style.css' ), array(), filemtime( sgsb_modules_path( 'QuickView/assets/scripts/sgsb-quick-view-style.css' ) ) ); - // wp_enqueue_script( - // 'stockbar_jqmeter', - // sgsb_modules_url( 'QuickView/assets/scripts/jqmeter.min.js' ), - // array( 'jquery' ), - // filemtime( sgsb_modules_path( 'QuickView/assets/scripts/jqmeter.min.js' ) ), - // true - // ); - - // wp_enqueue_script( - // 'stockbar_custom_script', - // sgsb_modules_url( 'QuickView/assets/scripts/sgsb-stock-bar.js' ), - // array( 'jquery', 'stockbar_jqmeter' ), - // filemtime( sgsb_modules_path( 'QuickView/assets/scripts/sgsb-stock-bar.js' ) ), - // true - // ); + wp_enqueue_script( + 'sgsb-quick-view-custom-script', + sgsb_modules_url( 'QuickView/assets/scripts/quick-view.js' ), + array( 'jquery' ), + filemtime( sgsb_modules_path( 'QuickView/assets/scripts/quick-view.js' ) ), + true + ); + + // Pass AJAX URL to script + wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); // $this->inline_styles(); } @@ -92,7 +88,7 @@ public function admin_enqueue_scripts( $hook ) { */ private function inline_styles() { // Get settings options. - $settings = get_option( 'sgsb_stock_bar_settings' ); + $settings = get_option( 'sgsb_quick_view_settings' ); $bar_height = sgsb_find_option_setting( $settings, 'stockbar_height', '10' ); $bg_color = sgsb_find_option_setting( $settings, 'stockbar_bg_color', '#e7efff' ); diff --git a/Includes/Modules/QuickView/assets/scripts/quick-view.js b/Includes/Modules/QuickView/assets/scripts/quick-view.js new file mode 100644 index 00000000..522c237e --- /dev/null +++ b/Includes/Modules/QuickView/assets/scripts/quick-view.js @@ -0,0 +1,61 @@ +"use strict"; + +jQuery(document).ready(function ($) { + $(".sgsb_quick_view_button").on("click", function (event) { + event.preventDefault(); + // Your additional JavaScript code for handling the click event goes here + var productId = $(this).data("id"); + console.log("Quick View button clicked for product ID: " + productId); + // Add your Quick View functionality here + + // AJAX request to load modal template + $.ajax({ + url: ajax_object.ajax_url, + type: "post", + data: { + action: "load_modal_template", + }, + success: function (template) { + // Append the loaded template to the body + console.log(template); + $("body").append(template); + + // Open Bootstrap modal and insert the loaded template + $("#quickViewModal .modal-content").html(template); + + // AJAX request to fetch product data + $.ajax({ + url: ajax_object.ajax_url, + type: "post", + data: { + action: "get_product_data", + product_id: productId, + }, + success: function (productData) { + // Parse the JSON response + var data = JSON.parse(productData); + + // Insert product data into the modal body + $("#quickViewModal .modal-body .content-placeholder").html( + "

Name: " + + data.name + + "

" + + "

Price: " + + data.price + + "

" + // Add more data fields as needed + ); + + $("#quickViewModal").modal("show"); + }, + error: function (error) { + console.log(error); + }, + }); + }, + error: function (error) { + console.log(error); + }, + }); + }); +}); diff --git a/Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js b/Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js deleted file mode 100644 index e45d0c48..00000000 --- a/Includes/Modules/QuickView/assets/scripts/sgsb-stock-bar.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -jQuery(document).ready(function ($) { - // Stock progress bar. - $(".jqmeter-container").each(function (event) { - var goal = $(this).parent().attr("total-stock"); - var raised = $(this).parent().attr("total-sale"); - var height = $(this).parent().data("height") + "px"; - var bgColor = $(this).parent().data("bgcolor"); - var barColor = $(this).parent().data("fgcolor"); - $(this).jQMeter({ - goal: goal, - raised: raised, - meterOrientation: "horizontal", - width: "100%", - height: height, - bgColor: bgColor, - displayTotal: false, - }); - $( this ).find( '.inner-therm' ).css( { background: barColor } ); - }); - - showStockProgress(); - $("form.variations_form").on("show_variation", function (event, variation) { - showStockProgress(); - }); - - function showStockProgress() { - let order_progress = $(".sgsb-stock-progress").attr("data-order-progress"); - $(".sgsb-stock-progress").animate({ width: `${order_progress}%` }, 1300); - } -}); diff --git a/Includes/Modules/QuickView/assets/src/components/DesingTab.js b/Includes/Modules/QuickView/assets/src/components/DesingTab.js index a79e4f09..bf44fa78 100644 --- a/Includes/Modules/QuickView/assets/src/components/DesingTab.js +++ b/Includes/Modules/QuickView/assets/src/components/DesingTab.js @@ -1,6 +1,6 @@ import { Fragment } from "react"; import { __ } from "@wordpress/i18n"; -import { applyFilters } from '@wordpress/hooks'; +import { applyFilters } from "@wordpress/hooks"; import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; import ColourPicker from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/ColorPicker"; import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; @@ -25,12 +25,12 @@ function DesignTab(props) { changeHandler={onFieldChange} title={__("Foreground Color", "storegrowth-sales-booster")} /> - { applyFilters( - 'sgsb_bar_color_stock_bar_settings', - '', + {applyFilters( + "sgsb_bar_color_quick_view_settings", + "", formData, onFieldChange - ) } + )} - { applyFilters( - 'sgsb_design_panel_stock_bar_settings', - '', + {applyFilters( + "sgsb_design_panel_quick_view_settings", + "", formData, onFieldChange - ) } + )} - + {applyFilters( - "sgsb_shop_stock_bar_enable_settings", + "sgsb_shop_quick_view_enable_settings", "", formData, onFieldChange )} {applyFilters( - "sgsb_variation_product_stock_bar_enable_settings", + "sgsb_variation_product_quick_view_enable_settings", "", formData, onFieldChange diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js index 762ed475..4ee22395 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js @@ -14,7 +14,7 @@ import DesignTab from "./DesingTab"; import Preview from "./Preview"; import TouchPreview from "sales-booster/src/components/settings/Panels/TouchPreview"; -function QuickViewLayout({ navigate, useSearchParams }) { +function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const isProEnabled = sgsbAdmin.isPro; const { setPageLoading } = useDispatch("sgsb"); const [buttonLoading, setButtonLoading] = useState(false); @@ -25,7 +25,7 @@ function QuickViewLayout({ navigate, useSearchParams }) { stockbar_height: 10, stockbar_bg_color: "#EBF6FF", stockbar_fg_color: "#008DFF", - stockbar_template: "stock_bar_one", + stockbar_template: "quick_view_one", stock_display_format: "above", stockbar_border_color: "#DDE6F9", total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), @@ -33,11 +33,11 @@ function QuickViewLayout({ navigate, useSearchParams }) { "Available Item", "storegrowth-sales-booster" ), - shop_page_stock_bar_enable: false, + shop_page_quick_view_enable: false, shop_page_countdown_enable: false, - product_page_stock_bar_enable: true, + product_page_quick_view_enable: true, product_page_countdown_enable: true, - variation_page_stock_bar_enable: false, + variation_page_quick_view_enable: false, }; const [formData, setFormData] = useState({ ...initalQuickViewData, @@ -71,7 +71,7 @@ function QuickViewLayout({ navigate, useSearchParams }) { setButtonLoading(true); let data = { - action: "sgsb_stock_bar_save_settings", + action: "sgsb_quick_view_save_settings", _ajax_nonce: sgsbAdmin.nonce, form_data: formData, }; @@ -96,7 +96,7 @@ function QuickViewLayout({ navigate, useSearchParams }) { url: sgsbAdmin.ajax_url, method: "POST", data: { - action: "sgsb_stock_bar_get_settings", + action: "sgsb_quick_view_get_settings", _ajax_nonce: sgsbAdmin.nonce, }, }) @@ -158,6 +158,7 @@ function QuickViewLayout({ navigate, useSearchParams }) { diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/index.js b/Includes/Modules/QuickView/assets/src/components/Templates/index.js index ba33d81c..a5d69d61 100644 --- a/Includes/Modules/QuickView/assets/src/components/Templates/index.js +++ b/Includes/Modules/QuickView/assets/src/components/Templates/index.js @@ -11,37 +11,37 @@ import QuickViewThree from "./QuickViewThree"; const Templates = ({ formData, setFormData }) => { let templates = [ { - key: "stock_bar_one", + key: "quick_view_one", component: ( ), }, { - key: "stock_bar_two", + key: "quick_view_two", component: ( ), }, { - key: "stock_bar_three", + key: "quick_view_three", component: ( ), }, ]; const templateStyles = { - stock_bar_one: { + quick_view_one: { stockbar_height: 10, stockbar_bg_color: "#EBF6FF", stockbar_fg_color: "#008DFF", - stockbar_template: "stock_bar_one", + stockbar_template: "quick_view_one", stock_display_format: "above", stockbar_border_color: "#DDE6F9", total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), @@ -50,11 +50,11 @@ const Templates = ({ formData, setFormData }) => { "storegrowth-sales-booster" ), }, - stock_bar_two: { + quick_view_two: { stockbar_height: 10, stockbar_bg_color: "#E6F8F1", stockbar_fg_color: "#02AC6E", - stockbar_template: "stock_bar_two", + stockbar_template: "quick_view_two", stock_display_format: "above", stockbar_border_color: "#BDE5D7", total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), @@ -63,11 +63,11 @@ const Templates = ({ formData, setFormData }) => { "storegrowth-sales-booster" ), }, - stock_bar_three: { + quick_view_three: { stockbar_height: 10, stockbar_bg_color: "#EFF0F8", stockbar_fg_color: "linear-gradient(90deg, #AF89FF 0%, #0283AC 100%)", - stockbar_template: "stock_bar_three", + stockbar_template: "quick_view_three", stock_display_format: "above", stockbar_border_color: "#ae89ff33", total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), diff --git a/Includes/Modules/QuickView/assets/src/settings.js b/Includes/Modules/QuickView/assets/src/settings.js index 32d8760d..55dd2509 100644 --- a/Includes/Modules/QuickView/assets/src/settings.js +++ b/Includes/Modules/QuickView/assets/src/settings.js @@ -9,12 +9,14 @@ addFilter( "sgsb_routes", "sgsb", (routes, outlet, navigate, useParams, useSearchParams) => { + const moduleName = "quick-view" routes.push({ - name: "quick-view", - label: "Stock Bar", + name: moduleName, + label: "Quick View", path: "/quick-view", element: ( get_ID(); +$product_type = $product->get_type(); +$settings = get_option( 'sgsb_quick_view_settings' ); +$buy_now_button_label = sgsb_find_option_setting( $settings, 'buy_now_button_label', 'Quick View' ); +$product_page = is_product() ? '_product_page' : ''; + $classes = implode( + ' ', + array_filter( + array( + 'button', + 'product_type_' . $product_type, + 'sgsb_quick_view_button' . $product_page, + ) + ) + ); + + ?> + + + + diff --git a/Includes/Modules/QuickView/templates/quick-view-modal.php b/Includes/Modules/QuickView/templates/quick-view-modal.php new file mode 100644 index 00000000..adf96551 --- /dev/null +++ b/Includes/Modules/QuickView/templates/quick-view-modal.php @@ -0,0 +1,21 @@ + + diff --git a/Includes/Modules/QuickView/templates/simple-stock-status.php b/Includes/Modules/QuickView/templates/simple-stock-status.php index d40216f7..bb3c4840 100644 --- a/Includes/Modules/QuickView/templates/simple-stock-status.php +++ b/Includes/Modules/QuickView/templates/simple-stock-status.php @@ -9,10 +9,10 @@ return; } -$settings = get_option( 'sgsb_stock_bar_settings' ); -$enable_stock_bar_in_product_page = sgsb_find_option_setting( $settings, 'product_page_stock_bar_enable', true ); +$settings = get_option( 'sgsb_quick_view_settings' ); +$enable_quick_view_in_product_page = sgsb_find_option_setting( $settings, 'product_page_quick_view_enable', true ); -if ( is_product() && ! $enable_stock_bar_in_product_page ) { +if ( is_product() && ! $enable_quick_view_in_product_page ) { return; } @@ -58,7 +58,7 @@ class="sgsb-stock-progress-bar-section wpbsc_total_sale sgsb-stock-stock-bar-for From d0d4a777328c34c7a39aed6bf444b4163703b47b Mon Sep 17 00:00:00 2001 From: Satyajit Talukder <65698588+gooyeduck@users.noreply.github.com> Date: Fri, 19 Jan 2024 17:33:07 +0600 Subject: [PATCH 03/22] test(quick-view): experimental code is added --- Includes/Modules/QuickView/Includes/Ajax.php | 166 +- .../QuickView/Includes/CommonHooks.php | 154 +- .../QuickView/Includes/EnqueueScript.php | 159 +- .../assets/libs/fancybox/jquery.fancybox.css | 895 +++ .../assets/libs/fancybox/jquery.fancybox.js | 5422 +++++++++++++++++ .../libs/fancybox/jquery.fancybox.min.css | 1 + .../libs/fancybox/jquery.fancybox.min.js | 12 + .../QuickView/assets/libs/feather/feather.css | 10 + .../libs/feather/fonts/feather-webfont.eot | Bin 0 -> 10791 bytes .../libs/feather/fonts/feather-webfont.svg | 288 + .../libs/feather/fonts/feather-webfont.ttf | Bin 0 -> 28532 bytes .../libs/feather/fonts/feather-webfont.woff | Bin 0 -> 12936 bytes .../assets/libs/feather/fonts/feather.eot | Bin 0 -> 59404 bytes .../assets/libs/feather/fonts/feather.svg | 492 ++ .../assets/libs/feather/fonts/feather.ttf | Bin 0 -> 59240 bytes .../assets/libs/feather/fonts/feather.woff | Bin 0 -> 59316 bytes .../libs/fonticonpicker/css/iconpicker.eot | Bin 0 -> 5548 bytes .../libs/fonticonpicker/css/iconpicker.svg | 36 + .../libs/fonticonpicker/css/iconpicker.ttf | Bin 0 -> 5372 bytes .../libs/fonticonpicker/css/iconpicker.woff | Bin 0 -> 3344 bytes .../css/jquery.fonticonpicker.css | 362 ++ .../css/jquery.fonticonpicker.min.css | 2 + .../js/jquery.fonticonpicker.js | 865 +++ .../js/jquery.fonticonpicker.min.js | 13 + .../magnific-popup/jquery.magnific-popup.js | 1934 ++++++ .../jquery.magnific-popup.min.js | 4 + .../libs/magnific-popup/magnific-popup.css | 447 ++ .../perfect-scrollbar/css/custom-theme.css | 145 + .../css/perfect-scrollbar.css | 160 + .../css/perfect-scrollbar.min.css | 2 + .../js/perfect-scrollbar.jquery.js | 1805 ++++++ .../js/perfect-scrollbar.jquery.min.js | 2 + .../perfect-scrollbar/js/perfect-scrollbar.js | 1778 ++++++ .../js/perfect-scrollbar.min.js | 2 + .../QuickView/assets/libs/slick/slick.css | 115 + .../QuickView/assets/libs/slick/slick.min.js | 1 + .../QuickView/assets/libs/zoom/jquery.zoom.js | 238 + .../assets/libs/zoom/jquery.zoom.min.js | 6 + .../QuickView/assets/scripts/frontend.css | 0 .../QuickView/assets/scripts/frontend.js | 337 + .../QuickView/assets/scripts/quick-view.js | 386 +- .../QuickView/templates/quick-view-button.php | 7 +- .../QuickView/templates/quick-view-footer.php | 6 + .../QuickView/templates/quick-view-modal.php | 36 +- 44 files changed, 16172 insertions(+), 116 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.css create mode 100644 Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.js create mode 100644 Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.css create mode 100644 Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.js create mode 100644 Includes/Modules/QuickView/assets/libs/feather/feather.css create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.eot create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.svg create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.ttf create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.woff create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather.eot create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather.svg create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather.ttf create mode 100644 Includes/Modules/QuickView/assets/libs/feather/fonts/feather.woff create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.eot create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.svg create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.ttf create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.woff create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.css create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.min.css create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.js create mode 100644 Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.min.js create mode 100644 Includes/Modules/QuickView/assets/libs/magnific-popup/jquery.magnific-popup.js create mode 100644 Includes/Modules/QuickView/assets/libs/magnific-popup/jquery.magnific-popup.min.js create mode 100644 Includes/Modules/QuickView/assets/libs/magnific-popup/magnific-popup.css create mode 100644 Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/custom-theme.css create mode 100644 Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.css create mode 100644 Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css create mode 100644 Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.js create mode 100644 Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js create mode 100644 Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.js create mode 100644 Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.min.js create mode 100644 Includes/Modules/QuickView/assets/libs/slick/slick.css create mode 100644 Includes/Modules/QuickView/assets/libs/slick/slick.min.js create mode 100644 Includes/Modules/QuickView/assets/libs/zoom/jquery.zoom.js create mode 100644 Includes/Modules/QuickView/assets/libs/zoom/jquery.zoom.min.js create mode 100644 Includes/Modules/QuickView/assets/scripts/frontend.css create mode 100644 Includes/Modules/QuickView/assets/scripts/frontend.js create mode 100644 Includes/Modules/QuickView/templates/quick-view-footer.php diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index bfd3a83d..8ba27e9d 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -29,8 +29,8 @@ private function __construct() { add_action( 'wp_ajax_sgsb_quick_view_get_settings', array( $this, 'get_settings' ) ); add_action( 'wp_ajax_get_product_data', array( $this, 'get_product_data_callback' ) ); add_action( 'wp_ajax_nopriv_get_product_data', array( $this, 'get_product_data_callback' ) ); - add_action( 'wp_ajax_load_modal_template', array( $this, 'load_modal_template_callback' ) ); - add_action( 'wp_ajax_nopriv_load_modal_template', array( $this, 'load_modal_template_callback' ) ); + // add_action( 'wp_ajax_load_modal_template', array( $this, 'load_modal_template_callback' ) ); + // add_action( 'wp_ajax_nopriv_load_modal_template', array( $this, 'load_modal_template_callback' ) ); } /** @@ -63,41 +63,143 @@ public function get_settings() { } public function get_product_data_callback() { - error_log( 'Runnign' ); + error_log( 'invoked' ); + global $post, $product; + $settings = get_option( 'sgsb_quick_view_settings' ); + $view_settings = sgsb_find_option_setting( $settings, 'view', 'popup' ); + $content_images = sgsb_find_option_setting( $settings, 'content_image', 'all' ); + $sidebar_heading = sgsb_find_option_setting( $settings, 'sidebar_heading', 'no' ); + $content_view_button = sgsb_find_option_setting( $settings, 'content_view_details_button', 'no' ); + $content_image_lightbox = sgsb_find_option_setting( $settings, 'content_image_lightbox', 'no' ); + // error_log( 'Runnign' ); $product_id = isset( $_POST['product_id'] ) ? intval( $_POST['product_id'] ) : 0; + $product = wc_get_product( $product_id ); - // Get the WooCommerce product object - $product = wc_get_product( $product_id ); - + ob_start(); if ( $product ) { - // Get relevant product data - $product_data = array( - 'name' => $product->get_name(), - 'price' => $product->get_price(), - // Add more product data as needed - ); - - // Send the response back to the JavaScript - echo json_encode( $product_data ); - } else { - // If product not found, send an error response - echo json_encode( array( 'error' => 'Product not found.' ) ); + $post = get_post( $product_id ); + $thumb_ids = array(); + + if ( $content_images === 'product_image' ) { + if ( $product_image = $product->get_image_id() ) { + $thumb_ids[] = $product_image; + } + + if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { + foreach ( $children as $child ) { + if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { + $thumb_ids[] = $child_product_image; + } + } + } + } else { + if ( $content_images === 'all' ) { + if ( $product_image = $product->get_image_id() ) { + $thumb_ids[] = $product_image; + } + + if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { + foreach ( $children as $child ) { + if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { + $thumb_ids[] = $child_product_image; + } + } + } + } + + if ( is_a( $product, 'WC_Product_Variation' ) ) { + // get images from WPC Additional Variation Images + $_images = array_filter( explode( ',', get_post_meta( $product_id, 'wpcvi_images', true ) ) ); + if ( ! empty( $_images ) ) { + $thumb_ids = array_merge( $thumb_ids, $_images ); + } + } else { + $thumb_ids = array_merge( $thumb_ids, $product->get_gallery_image_ids() ); + } + } + + $thumb_ids = apply_filters( 'sgsb_qv_thumbnails', $thumb_ids, $product ); + $thumb_ids = array_unique( $thumb_ids ); + error_log( print_r( $thumb_ids, 1 ) ); + + if ( $view_settings === 'popup' ) { + echo '
'; + } elseif ( $sidebar_heading === 'yes' ) { + echo '
' . esc_html( $product->get_name() ) . ' ×
'; + } else { + echo ' × '; + } + ?> +
+
> +
+ '; + + $image_sz = apply_filters( 'woosq_image_size', 'default' ); + + if ( $image_sz === 'default' ) { + $image_size = sgsb_find_option_setting( $settings, 'image_size', 'default' ); + } else { + $image_size = $image_sz; + } + + if ( ! empty( $thumb_ids ) ) { + foreach ( $thumb_ids as $thumb_id ) { + if ( $content_image_lightbox !== 'no' ) { + $image_full = wp_get_attachment_image_src( $thumb_id, 'full' ); + + echo '
' . wp_get_attachment_image( + $thumb_id, + $image_size, + false, + array( + 'data-fancybox' => 'gallery', + 'data-src' => esc_url( $image_full[0] ), + ) + ) . '
'; + } else { + echo '
' . wp_get_attachment_image( $thumb_id, $image_size ) . '
'; + } + } + } else { + echo '
' . wc_placeholder_img( $image_size ) . '
'; + } + + echo '
'; + + do_action( 'woosq_after_thumbnails', $product ); + ?> +
+
+ + +
+ +
+ + +
+
+
+ %s', $product->get_permalink(), esc_html( $view_details_text ) ); + } + + if ( $view_settings === 'popup' ) { + echo ''; + } + + wp_reset_postdata(); } - // Always exit to prevent extra output - wp_die(); - } - - - - public function load_modal_template_callback() { - echo $this->load_quick_view_modal_template(); // This function loads your modal template + // $response = '

Hello World

'; + // return $response; wp_die(); } - - public function load_quick_view_modal_template() { - ob_start(); - include __DIR__ . '/../templates/quick-view-modal.php'; - return ob_get_clean(); - } } diff --git a/Includes/Modules/QuickView/Includes/CommonHooks.php b/Includes/Modules/QuickView/Includes/CommonHooks.php index 91c6e0ec..f4afeca5 100644 --- a/Includes/Modules/QuickView/Includes/CommonHooks.php +++ b/Includes/Modules/QuickView/Includes/CommonHooks.php @@ -26,6 +26,10 @@ class CommonHooks { */ private function __construct() { add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'show_quick_view_button_shop' ), 15 ); + // ajax + add_action( 'wp_ajax_woosq_quickview', array( $this, 'ajax_quickview' ) ); + add_action( 'wp_ajax_nopriv_woosq_quickview', array( $this, 'ajax_quickview' ) ); + add_action( 'wp_footer', array( $this, 'footer' ) ); } /** @@ -56,9 +60,155 @@ private function display_buy_now_button() { $product_id = get_the_ID(); $direct_checkout_button_layout = get_post_meta( $product_id, '_sgsb_direct_checkout_button_layout', true ); - $settings = get_option( 'sgsb_direct_checkout_settings' ); - $buy_now_button_setting = sgsb_find_option_setting( $settings, 'buy_now_button_setting', 'cart-with-buy-now' ); + $settings = get_option( 'sgsb_quick_view_settings' ); + include __DIR__ . '/../templates/quick-view-button.php'; } + public function footer() { + echo '
'; + echo '
'; + } + + function ajax_quickview() { + global $product; + + $product_id = get_the_ID(); + $settings = get_option( 'sgsb_quick_view_settings' ); + $view_settings = sgsb_find_option_setting( $settings, 'view', 'popup' ); + $view_settings = sgsb_find_option_setting( $settings, 'content_image', 'product_image' ); + + if ( ! apply_filters( 'woosq_disable_security_check', false ) ) { + check_ajax_referer( 'woosq-security', 'nonce' ); + } + + global $post, $product; + $product_id = absint( sanitize_key( $_REQUEST['product_id'] ) ); + $product = wc_get_product( $product_id ); + + if ( $product ) { + $post = get_post( $product_id ); + setup_postdata( $post ); + $thumb_ids = array(); + + if ( self::get_setting( 'content_image', 'all' ) === 'product_image' ) { + if ( $product_image = $product->get_image_id() ) { + $thumb_ids[] = $product_image; + } + + if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { + foreach ( $children as $child ) { + if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { + $thumb_ids[] = $child_product_image; + } + } + } + } else { + if ( self::get_setting( 'content_image', 'all' ) === 'all' ) { + if ( $product_image = $product->get_image_id() ) { + $thumb_ids[] = $product_image; + } + + if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { + foreach ( $children as $child ) { + if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { + $thumb_ids[] = $child_product_image; + } + } + } + } + + if ( is_a( $product, 'WC_Product_Variation' ) ) { + // get images from WPC Additional Variation Images + $_images = array_filter( explode( ',', get_post_meta( $product_id, 'wpcvi_images', true ) ) ); + + if ( ! empty( $_images ) ) { + $thumb_ids = array_merge( $thumb_ids, $_images ); + } + } else { + $thumb_ids = array_merge( $thumb_ids, $product->get_gallery_image_ids() ); + } + } + + $thumb_ids = apply_filters( 'woosq_thumbnails', $thumb_ids, $product ); + $thumb_ids = array_unique( $thumb_ids ); + + if ( self::get_setting( 'view', 'popup' ) === 'popup' ) { + echo '
'; + } elseif ( self::get_setting( 'sidebar_heading', 'no' ) === 'yes' ) { + echo '
' . esc_html( $product->get_name() ) . ' ×
'; + } else { + echo ' × '; + } + ?> +
+
> +
+ '; + + $image_sz = apply_filters( 'woosq_image_size', 'default' ); + + if ( $image_sz === 'default' ) { + $image_size = self::get_setting( 'image_size', 'woosq' ); + } else { + $image_size = $image_sz; + } + + if ( ! empty( $thumb_ids ) ) { + foreach ( $thumb_ids as $thumb_id ) { + if ( self::get_setting( 'content_image_lightbox', 'no' ) !== 'no' ) { + $image_full = wp_get_attachment_image_src( $thumb_id, 'full' ); + + echo '
' . wp_get_attachment_image( + $thumb_id, + $image_size, + false, + array( + 'data-fancybox' => 'gallery', + 'data-src' => esc_url( $image_full[0] ), + ) + ) . '
'; + } else { + echo '
' . wp_get_attachment_image( $thumb_id, $image_size ) . '
'; + } + } + } else { + echo '
' . wc_placeholder_img( $image_size ) . '
'; + } + + echo '
'; + + do_action( 'woosq_after_thumbnails', $product ); + ?> +
+
+ + +
+ +
+ + +
+
+
+ %s', $product->get_permalink(), esc_html( $view_details_text ) ); + // } + + if ( $view_settings === 'popup' ) { + echo ''; + } + + wp_reset_postdata(); + } + + wp_die(); + } } diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 564f8bec..3035b0bb 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -48,20 +48,169 @@ public function wp_enqueue_scripts() { filemtime( sgsb_modules_path( 'QuickView/assets/scripts/sgsb-quick-view-style.css' ) ) ); + // Pass AJAX URL to script + wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); + + wp_enqueue_script( 'wc-add-to-cart-variation' ); + + // slick. + wp_enqueue_style( + 'slick', + sgsb_modules_url( 'QuickView/assets/libs/slick/slick.css' ), + array(), + filemtime( sgsb_modules_path( 'QuickView/assets/libs/slick/slick.css' ) ) + ); wp_enqueue_script( - 'sgsb-quick-view-custom-script', - sgsb_modules_url( 'QuickView/assets/scripts/quick-view.js' ), + 'slick', + sgsb_modules_url( 'QuickView/assets/libs/slick/slick.min.js' ), array( 'jquery' ), - filemtime( sgsb_modules_path( 'QuickView/assets/scripts/quick-view.js' ) ), + filemtime( sgsb_modules_path( 'QuickView/assets/libs/slick/slick.min.js' ) ), true ); - // Pass AJAX URL to script - wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); + // fancybox + // if ( self::get_setting( 'content_image_lightbox', 'no' ) === 'yes' ) { + // wp_enqueue_style( 'fancybox', WOOSQ_URI . 'assets/libs/fancybox/jquery.fancybox.min.css' ); + // wp_enqueue_script( 'fancybox', WOOSQ_URI . 'assets/libs/fancybox/jquery.fancybox.min.js', array( 'jquery' ), WOOSQ_VERSION, true ); + // } + + // zoom + // if ( self::get_setting( 'content_image_lightbox', 'no' ) === 'zoom' ) { + // wp_enqueue_script( 'zoom', WOOSQ_URI . 'assets/libs/zoom/jquery.zoom.min.js', array( 'jquery' ), WOOSQ_VERSION, true ); + // } + + // perfect srollbar + // if ( self::get_setting( 'perfect_scrollbar', 'yes' ) === 'yes' ) { + // wp_enqueue_style( 'perfect-scrollbar', WOOSQ_URI . 'assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css' ); + // wp_enqueue_style( 'perfect-scrollbar-wpc', WOOSQ_URI . 'assets/libs/perfect-scrollbar/css/custom-theme.css' ); + // wp_enqueue_script( 'perfect-scrollbar', WOOSQ_URI . 'assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js', array( 'jquery' ), WOOSQ_VERSION, true ); + // } + + // magnific + wp_enqueue_style( + 'magnific-popup', + sgsb_modules_url( 'QuickView/assets/libs/magnific-popup/magnific-popup.css' ), + array(), + filemtime( sgsb_modules_path( 'QuickView/assets/libs/magnific-popup/magnific-popup.css' ) ) + ); + wp_enqueue_script( + 'magnific-popup', + sgsb_modules_url( 'QuickView/assets/libs/magnific-popup/jquery.magnific-popup.min.js' ), + array( 'jquery' ), + filemtime( sgsb_modules_path( 'QuickView/assets/libs/magnific-popup/jquery.magnific-popup.min.js' ) ), + true + ); + + // feather icons + wp_enqueue_style( + 'sgsbqcv-feather', + sgsb_modules_url( 'QuickView/assets/libs/feather/feather.css' ), + array(), + filemtime( sgsb_modules_path( 'QuickView/assets/libs/feather/feather.css' ) ) + ); + + // if ( self::get_setting( 'button_icon', 'no' ) !== 'no' ) { + // wp_enqueue_style( 'woosq-icons', WOOSQ_URI . 'assets/css/icons.css', array(), WOOSQ_VERSION ); + // } + + // main style & js + wp_enqueue_style( + 'sgsbqcv-frontend', + sgsb_modules_url( 'QuickView/assets/scripts/frontend.css' ), + array(), + filemtime( sgsb_modules_path( 'QuickView/assets/scripts/frontend.css' ) ) + ); + wp_enqueue_script( + 'sgsbqcv-frontend', + sgsb_modules_url( 'QuickView/assets/scripts/quick-view.js' ), + array( + 'jquery', + 'wc-add-to-cart-variation', + ), + filemtime( sgsb_modules_path( 'QuickView/assets/scripts/quick-view.js' ) ), + true + ); + wp_localize_script( + 'sgsbqcv-frontend', + 'sgsbqcv_vars', + array( + 'ajax_url' => admin_url( 'admin-ajax.php' ), + 'nonce' => wp_create_nonce( 'woosq-security' ), + 'view' => 'popup', + 'effect' => 'mfp-3d-unfold', + 'scrollbar' => 'yes', + 'auto_close' => 'yes', + 'hashchange' => apply_filters( 'woosq_hashchange', 'no' ), + 'cart_redirect' => get_option( 'woocommerce_cart_redirect_after_add' ), + 'cart_url' => apply_filters( 'woocommerce_add_to_cart_redirect', wc_get_cart_url(), null ), + 'close' => self::localization( 'close', esc_html__( 'Close (Esc)', 'woo-smart-quick-view' ) ), + 'next_prev' => 'yes', + 'next' => self::localization( 'next', esc_html__( 'Next (Right arrow key)', 'woo-smart-quick-view' ) ), + 'prev' => self::localization( 'prev', esc_html__( 'Previous (Left arrow key)', 'woo-smart-quick-view' ) ), + 'thumbnails_effect' => 'no', + 'related_slick_params' => apply_filters( + 'woosq_related_slick_params', + json_encode( + apply_filters( + 'woosq_related_slick_params_arr', + array( + 'slidesToShow' => 2, + 'slidesToScroll' => 2, + 'dots' => true, + 'arrows' => false, + 'adaptiveHeight' => true, + 'rtl' => is_rtl(), + ) + ) + ) + ), + 'thumbnails_slick_params' => apply_filters( + 'woosq_thumbnails_slick_params', + json_encode( + apply_filters( + 'woosq_thumbnails_slick_params_arr', + array( + 'slidesToShow' => 1, + 'slidesToScroll' => 1, + 'dots' => true, + 'arrows' => true, + 'adaptiveHeight' => false, + 'rtl' => is_rtl(), + ) + ) + ) + ), + 'thumbnails_zoom_params' => apply_filters( + 'woosq_thumbnails_zoom_params', + json_encode( + apply_filters( + 'woosq_thumbnails_zoom_params_arr', + array( + 'duration' => 120, + 'magnify' => 1, + ) + ) + ) + ), + 'quick_view' => isset( $_REQUEST['quick-view'] ) ? absint( sanitize_key( $_REQUEST['quick-view'] ) ) : 0, + ) + ); // $this->inline_styles(); } + public static function localization( $key = '', $default = '' ) { + $str = ''; + + if ( ! empty( $key ) && ! empty( self::$localization[ $key ] ) ) { + $str = self::$localization[ $key ]; + } elseif ( ! empty( $default ) ) { + $str = $default; + } + + return apply_filters( 'woosq_localization_' . $key, $str ); + } + /** * Add JS scripts to admin. * diff --git a/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.css b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.css new file mode 100644 index 00000000..4c4e5e98 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.css @@ -0,0 +1,895 @@ +@charset "UTF-8"; +body.fancybox-active { + overflow: hidden; +} + +body.fancybox-iosfix { + position: fixed; + left: 0; + right: 0; +} + +.fancybox-is-hidden { + position: absolute; + top: -9999px; + left: -9999px; + visibility: hidden; +} + +.fancybox-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 99992; + -webkit-tap-highlight-color: transparent; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translateZ(0); + transform: translateZ(0); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; +} + +.fancybox-outer, +.fancybox-inner, +.fancybox-bg, +.fancybox-stage { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.fancybox-outer { + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + +.fancybox-bg { + background: #1e1e1e; + opacity: 0; + transition-duration: inherit; + transition-property: opacity; + transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); +} + +.fancybox-is-open .fancybox-bg { + opacity: 0.87; + transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); +} + +.fancybox-infobar, +.fancybox-toolbar, +.fancybox-caption-wrap { + position: absolute; + direction: ltr; + z-index: 99997; + opacity: 0; + visibility: hidden; + transition: opacity .25s, visibility 0s linear .25s; + box-sizing: border-box; +} + +.fancybox-show-infobar .fancybox-infobar, +.fancybox-show-toolbar .fancybox-toolbar, +.fancybox-show-caption .fancybox-caption-wrap { + opacity: 1; + visibility: visible; + transition: opacity .25s, visibility 0s; +} + +.fancybox-infobar { + top: 0; + left: 0; + font-size: 13px; + padding: 0 10px; + height: 44px; + min-width: 44px; + line-height: 44px; + color: #ccc; + text-align: center; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: transparent; + -webkit-font-smoothing: subpixel-antialiased; + mix-blend-mode: exclusion; +} + +.fancybox-toolbar { + top: 0; + right: 0; + margin: 0; + padding: 0; +} + +.fancybox-stage { + overflow: hidden; + direction: ltr; + z-index: 99994; + -webkit-transform: translate3d(0, 0, 0); +} + +.fancybox-is-closing .fancybox-stage { + overflow: visible; +} + +.fancybox-slide { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: auto; + outline: none; + white-space: normal; + box-sizing: border-box; + text-align: center; + z-index: 99994; + -webkit-overflow-scrolling: touch; + display: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; +} + +.fancybox-slide::before { + content: ''; + display: inline-block; + vertical-align: middle; + height: 100%; + width: 0; +} + +.fancybox-is-sliding .fancybox-slide, +.fancybox-slide--previous, +.fancybox-slide--current, +.fancybox-slide--next { + display: block; +} + +.fancybox-slide--image { + overflow: visible; +} + +.fancybox-slide--image::before { + display: none; +} + +.fancybox-slide--video .fancybox-content, +.fancybox-slide--video iframe { + background: #000; +} + +.fancybox-slide--map .fancybox-content, +.fancybox-slide--map iframe { + background: #E5E3DF; +} + +.fancybox-slide--next { + z-index: 99995; +} + +.fancybox-slide > * { + display: inline-block; + position: relative; + padding: 24px; + margin: 44px 0 44px; + border-width: 0; + vertical-align: middle; + text-align: left; + background-color: #fff; + overflow: auto; + box-sizing: border-box; +} + +.fancybox-slide > title, +.fancybox-slide > style, +.fancybox-slide > meta, +.fancybox-slide > link, +.fancybox-slide > script, +.fancybox-slide > base { + display: none; +} + +.fancybox-slide .fancybox-image-wrap { + position: absolute; + top: 0; + left: 0; + margin: 0; + padding: 0; + border: 0; + z-index: 99995; + background: transparent; + cursor: default; + overflow: visible; + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + background-size: 100% 100%; + background-repeat: no-repeat; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; +} + +.fancybox-can-zoomOut .fancybox-image-wrap { + cursor: -webkit-zoom-out; + cursor: zoom-out; +} + +.fancybox-can-zoomIn .fancybox-image-wrap { + cursor: -webkit-zoom-in; + cursor: zoom-in; +} + +.fancybox-can-drag .fancybox-image-wrap { + cursor: -webkit-grab; + cursor: grab; +} + +.fancybox-is-dragging .fancybox-image-wrap { + cursor: -webkit-grabbing; + cursor: grabbing; +} + +.fancybox-image, +.fancybox-spaceball { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + border: 0; + max-width: none; + max-height: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.fancybox-spaceball { + z-index: 1; +} + +.fancybox-slide--iframe .fancybox-content { + padding: 0; + width: 80%; + height: 80%; + max-width: calc(100% - 100px); + max-height: calc(100% - 88px); + overflow: visible; + background: #fff; +} + +.fancybox-iframe { + display: block; + margin: 0; + padding: 0; + border: 0; + width: 100%; + height: 100%; + background: #fff; +} + +.fancybox-error { + margin: 0; + padding: 40px; + width: 100%; + max-width: 380px; + background: #fff; + cursor: default; +} + +.fancybox-error p { + margin: 0; + padding: 0; + color: #444; + font-size: 16px; + line-height: 20px; +} + +/* Buttons */ +.fancybox-button { + box-sizing: border-box; + display: inline-block; + vertical-align: top; + width: 44px; + height: 44px; + margin: 0; + padding: 10px; + border: 0; + border-radius: 0; + background: rgba(30, 30, 30, 0.6); + transition: color .3s ease; + cursor: pointer; + outline: none; +} + +.fancybox-button, +.fancybox-button:visited, +.fancybox-button:link { + color: #ccc; +} + +.fancybox-button:focus, +.fancybox-button:hover { + color: #fff; +} + +.fancybox-button[disabled] { + color: #ccc; + cursor: default; + opacity: 0.6; +} + +.fancybox-button svg { + display: block; + position: relative; + overflow: visible; + shape-rendering: geometricPrecision; +} + +.fancybox-button svg path { + fill: currentColor; + stroke: currentColor; + stroke-linejoin: round; + stroke-width: 3; +} + +.fancybox-button--share svg path { + stroke-width: 1; +} + +.fancybox-button--play svg path:nth-child(2) { + display: none; +} + +.fancybox-button--pause svg path:nth-child(1) { + display: none; +} + +.fancybox-button--zoom svg path { + fill: transparent; +} + +/* Navigation arrows */ +.fancybox-navigation { + display: none; +} + +.fancybox-show-nav .fancybox-navigation { + display: block; +} + +.fancybox-navigation button { + position: absolute; + top: 50%; + margin: -50px 0 0 0; + z-index: 99997; + background: transparent; + width: 60px; + height: 100px; + padding: 17px; +} + +.fancybox-navigation button:before { + content: ""; + position: absolute; + top: 30px; + right: 10px; + width: 40px; + height: 40px; + background: rgba(30, 30, 30, 0.6); +} + +.fancybox-navigation .fancybox-button--arrow_left { + left: 0; +} + +.fancybox-navigation .fancybox-button--arrow_right { + right: 0; +} + +/* Close button on the top right corner of html content */ +.fancybox-close-small { + position: absolute; + top: 0; + right: 0; + width: 40px; + height: 40px; + padding: 0; + margin: 0; + border: 0; + border-radius: 0; + background: transparent; + z-index: 10; + cursor: pointer; +} + +.fancybox-close-small:after { + content: '×'; + position: absolute; + top: 5px; + right: 5px; + width: 30px; + height: 30px; + font: 22px/30px Arial, "Helvetica Neue", Helvetica, sans-serif; + color: #888; + font-weight: 300; + text-align: center; + border-radius: 50%; + border-width: 0; + background-color: transparent; + transition: background-color .25s; + box-sizing: border-box; + z-index: 2; +} + +.fancybox-close-small:focus { + outline: none; +} + +.fancybox-close-small:focus:after { + outline: 1px dotted #888; +} + +.fancybox-close-small:hover:after { + color: #555; + background: #eee; +} + +.fancybox-slide--image .fancybox-close-small, +.fancybox-slide--iframe .fancybox-close-small { + top: 0; + right: -40px; +} + +.fancybox-slide--image .fancybox-close-small:after, +.fancybox-slide--iframe .fancybox-close-small:after { + font-size: 35px; + color: #aaa; +} + +.fancybox-slide--image .fancybox-close-small:hover:after, +.fancybox-slide--iframe .fancybox-close-small:hover:after { + color: #fff; + background: transparent; +} + +.fancybox-is-scaling .fancybox-close-small, +.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small { + display: none; +} + +/* Caption */ +.fancybox-caption-wrap { + bottom: 0; + left: 0; + right: 0; + padding: 60px 2vw 0 2vw; + background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%); + pointer-events: none; +} + +.fancybox-caption { + padding: 30px 0; + border-top: 1px solid rgba(255, 255, 255, 0.4); + font-size: 14px; + color: #fff; + line-height: 20px; + -webkit-text-size-adjust: none; +} + +.fancybox-caption a, +.fancybox-caption button, +.fancybox-caption select { + pointer-events: all; + position: relative; + /* Fix IE11 */ +} + +.fancybox-caption a { + color: #fff; + text-decoration: underline; +} + +/* Loading indicator */ +.fancybox-slide > .fancybox-loading { + border: 6px solid rgba(100, 100, 100, 0.4); + border-top: 6px solid rgba(255, 255, 255, 0.6); + border-radius: 100%; + height: 50px; + width: 50px; + -webkit-animation: fancybox-rotate .8s infinite linear; + animation: fancybox-rotate .8s infinite linear; + background: transparent; + position: absolute; + top: 50%; + left: 50%; + margin-top: -30px; + margin-left: -30px; + z-index: 99999; +} + +@-webkit-keyframes fancybox-rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fancybox-rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +/* Transition effects */ +.fancybox-animated { + transition-timing-function: cubic-bezier(0, 0, 0.25, 1); +} + +/* transitionEffect: slide */ +.fancybox-fx-slide.fancybox-slide--previous { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-slide.fancybox-slide--next { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-slide.fancybox-slide--current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} + +/* transitionEffect: fade */ +.fancybox-fx-fade.fancybox-slide--previous, +.fancybox-fx-fade.fancybox-slide--next { + opacity: 0; + transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); +} + +.fancybox-fx-fade.fancybox-slide--current { + opacity: 1; +} + +/* transitionEffect: zoom-in-out */ +.fancybox-fx-zoom-in-out.fancybox-slide--previous { + -webkit-transform: scale3d(1.5, 1.5, 1.5); + transform: scale3d(1.5, 1.5, 1.5); + opacity: 0; +} + +.fancybox-fx-zoom-in-out.fancybox-slide--next { + -webkit-transform: scale3d(0.5, 0.5, 0.5); + transform: scale3d(0.5, 0.5, 0.5); + opacity: 0; +} + +.fancybox-fx-zoom-in-out.fancybox-slide--current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} + +/* transitionEffect: rotate */ +.fancybox-fx-rotate.fancybox-slide--previous { + -webkit-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + transform: rotate(-360deg); + opacity: 0; +} + +.fancybox-fx-rotate.fancybox-slide--next { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + opacity: 0; +} + +.fancybox-fx-rotate.fancybox-slide--current { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; +} + +/* transitionEffect: circular */ +.fancybox-fx-circular.fancybox-slide--previous { + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-circular.fancybox-slide--next { + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + opacity: 0; +} + +.fancybox-fx-circular.fancybox-slide--current { + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; +} + +/* transitionEffect: tube */ +.fancybox-fx-tube.fancybox-slide--previous { + -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); + transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); +} + +.fancybox-fx-tube.fancybox-slide--next { + -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); + transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); +} + +.fancybox-fx-tube.fancybox-slide--current { + -webkit-transform: translate3d(0, 0, 0) scale(1); + transform: translate3d(0, 0, 0) scale(1); +} + +/* Share */ +.fancybox-share { + padding: 30px; + border-radius: 3px; + background: #f4f4f4; + max-width: 90%; + text-align: center; +} + +.fancybox-share h1 { + color: #222; + margin: 0 0 20px 0; + font-size: 35px; + font-weight: 700; +} + +.fancybox-share p { + margin: 0; + padding: 0; +} + +p.fancybox-share__links { + margin-right: -10px; +} + +.fancybox-share__button { + display: inline-block; + text-decoration: none; + margin: 0 10px 10px 0; + padding: 0 15px; + min-width: 130px; + border: 0; + border-radius: 3px; + background: #fff; + white-space: nowrap; + font-size: 14px; + font-weight: 700; + line-height: 40px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: #fff; + transition: all .2s; +} + +.fancybox-share__button:hover { + text-decoration: none; +} + +.fancybox-share__button--fb { + background: #3b5998; +} + +.fancybox-share__button--fb:hover { + background: #344e86; +} + +.fancybox-share__button--pt { + background: #bd081d; +} + +.fancybox-share__button--pt:hover { + background: #aa0719; +} + +.fancybox-share__button--tw { + background: #1da1f2; +} + +.fancybox-share__button--tw:hover { + background: #0d95e8; +} + +.fancybox-share__button svg { + position: relative; + top: -1px; + width: 25px; + height: 25px; + margin-right: 7px; + vertical-align: middle; +} + +.fancybox-share__button svg path { + fill: #fff; +} + +.fancybox-share__input { + box-sizing: border-box; + width: 100%; + margin: 10px 0 0 0; + padding: 10px 15px; + background: transparent; + color: #5d5b5b; + font-size: 14px; + outline: none; + border: 0; + border-bottom: 2px solid #d7d7d7; +} + +/* Thumbs */ +.fancybox-thumbs { + display: none; + position: absolute; + top: 0; + bottom: 0; + right: 0; + width: 212px; + margin: 0; + padding: 2px 2px 4px 2px; + background: #fff; + -webkit-tap-highlight-color: transparent; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + box-sizing: border-box; + z-index: 99995; +} + +.fancybox-thumbs-x { + overflow-y: hidden; + overflow-x: auto; +} + +.fancybox-show-thumbs .fancybox-thumbs { + display: block; +} + +.fancybox-show-thumbs .fancybox-inner { + right: 212px; +} + +.fancybox-thumbs > ul { + list-style: none; + position: absolute; + position: relative; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow-x: hidden; + overflow-y: auto; + font-size: 0; + white-space: nowrap; +} + +.fancybox-thumbs-x > ul { + overflow: hidden; +} + +.fancybox-thumbs-y > ul::-webkit-scrollbar { + width: 7px; +} + +.fancybox-thumbs-y > ul::-webkit-scrollbar-track { + background: #fff; + border-radius: 10px; + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); +} + +.fancybox-thumbs-y > ul::-webkit-scrollbar-thumb { + background: #2a2a2a; + border-radius: 10px; +} + +.fancybox-thumbs > ul > li { + float: left; + overflow: hidden; + padding: 0; + margin: 2px; + width: 100px; + height: 75px; + max-width: calc(50% - 4px); + max-height: calc(100% - 8px); + position: relative; + cursor: pointer; + outline: none; + -webkit-tap-highlight-color: transparent; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + box-sizing: border-box; +} + +li.fancybox-thumbs-loading { + background: rgba(0, 0, 0, 0.1); +} + +.fancybox-thumbs > ul > li > img { + position: absolute; + top: 0; + left: 0; + max-width: none; + max-height: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.fancybox-thumbs > ul > li:before { + content: ''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border: 4px solid #4ea7f9; + z-index: 99991; + opacity: 0; + transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); +} + +.fancybox-thumbs > ul > li.fancybox-thumbs-active:before { + opacity: 1; +} + +/* Styling for Small-Screen Devices */ +@media all and (max-width: 800px) { + .fancybox-thumbs { + width: 110px; + } + + .fancybox-show-thumbs .fancybox-inner { + right: 110px; + } + + .fancybox-thumbs > ul > li { + max-width: calc(100% - 10px); + } +} diff --git a/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.js b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.js new file mode 100644 index 00000000..30d80a34 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.js @@ -0,0 +1,5422 @@ +// ================================================== +// fancyBox v3.2.10 +// +// Licensed GPLv3 for open source use +// or fancyBox Commercial License for commercial use +// +// http://fancyapps.com/fancybox/ +// Copyright 2017 fancyApps +// +// ================================================== +;(function(window, document, $, undefined) { + 'use strict'; + + // If there's no jQuery, fancyBox can't work + // ========================================= + + if (!$) { + return; + } + + // Check if fancyBox is already initialized + // ======================================== + + if ($.fn.fancybox) { + + if ('console' in window) { + console.log('fancyBox already initialized'); + } + + return; + } + + // Private default settings + // ======================== + + var defaults = { + + // Enable infinite gallery navigation + loop: false, + + // Space around image, ignored if zoomed-in or viewport width is smaller than 800px + margin: [44, 0], + + // Horizontal space between slides + gutter: 50, + + // Enable keyboard navigation + keyboard: true, + + // Should display navigation arrows at the screen edges + arrows: true, + + // Should display infobar (counter and arrows at the top) + infobar: true, + + // Should display toolbar (buttons at the top) + toolbar: true, + + // What buttons should appear in the top right corner. + // Buttons will be created using templates from `btnTpl` option + // and they will be placed into toolbar (class="fancybox-toolbar"` element) + buttons: [ + 'slideShow', + 'fullScreen', + 'thumbs', + 'share', + //'download', + //'zoom', + 'close', + ], + + // Detect "idle" time in seconds + idleTime: 3, + + // Should display buttons at top right corner of the content + // If 'auto' - they will be created for content having type 'html', 'inline' or 'ajax' + // Use template from `btnTpl.smallBtn` for customization + smallBtn: 'auto', + + // Disable right-click and use simple image protection for images + protect: false, + + // Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc + modal: false, + + image: { + + // Wait for images to load before displaying + // Requires predefined image dimensions + // If 'auto' - will zoom in thumbnail if 'width' and 'height' attributes are found + preload: 'auto', + + }, + + ajax: { + + // Object containing settings for ajax request + settings: { + + // This helps to indicate that request comes from the modal + // Feel free to change naming + data: { + fancybox: true, + }, + }, + + }, + + iframe: { + + // Iframe template + tpl: '', + + // Preload iframe before displaying it + // This allows to calculate iframe content width and height + // (note: Due to "Same Origin Policy", you can't get cross domain data). + preload: true, + + // Custom CSS styling for iframe wrapping element + // You can use this to set custom iframe dimensions + css: {}, + + // Iframe tag attributes + attr: { + scrolling: 'auto', + }, + + }, + + // Default content type if cannot be detected automatically + defaultType: 'image', + + // Open/close animation type + // Possible values: + // false - disable + // "zoom" - zoom images from/to thumbnail + // "fade" + // "zoom-in-out" + // + animationEffect: 'zoom', + + // Duration in ms for open/close animation + animationDuration: 500, + + // Should image change opacity while zooming + // If opacity is "auto", then opacity will be changed if image and thumbnail have different aspect ratios + zoomOpacity: 'auto', + + // Transition effect between slides + // + // Possible values: + // false - disable + // "fade' + // "slide' + // "circular' + // "tube' + // "zoom-in-out' + // "rotate' + // + transitionEffect: 'fade', + + // Duration in ms for transition animation + transitionDuration: 366, + + // Custom CSS class for slide element + slideClass: '', + + // Custom CSS class for layout + baseClass: '', + + // Base template for layout + baseTpl: + '', + + // Loading indicator template + spinnerTpl: '
', + + // Error message template + errorTpl: '

{{ERROR}}

', + + btnTpl: { + + download: '' + + '' + + '' + + '' + + '', + + zoom: '', + + close: '', + + // This small close button will be appended to your html/inline/ajax content by default, + // if "smallBtn" option is not set to false + smallBtn: '', + + // Arrows + arrowLeft: '', + + arrowRight: '', + }, + + // Container is injected into this element + parentEl: 'body', + + // Focus handling + // ============== + + // Try to focus on the first focusable element after opening + autoFocus: false, + + // Put focus back to active element after closing + backFocus: true, + + // Do not let user to focus on element outside modal content + trapFocus: true, + + // Module specific options + // ======================= + + fullScreen: { + autoStart: false, + }, + + // Set `touch: false` to disable dragging/swiping + touch: { + vertical: true, // Allow to drag content vertically + momentum: true, // Continue movement after releasing mouse/touch when panning + }, + + // Hash value when initializing manually, + // set `false` to disable hash change + hash: null, + + // Customize or add new media types + // Example: + /* + media : { + youtube : { + params : { + autoplay : 0 + } + } + } + */ + media: {}, + + slideShow: { + autoStart: false, + speed: 4000, + }, + + thumbs: { + autoStart: false, // Display thumbnails on opening + hideOnClose: true, // Hide thumbnail grid when closing animation starts + parentEl: '.fancybox-container', // Container is injected into this element + axis: 'y', // Vertical (y) or horizontal (x) scrolling + }, + + // Use mousewheel to navigate gallery + // If 'auto' - enabled for images only + wheel: 'auto', + + // Callbacks + //========== + + // See Documentation/API/Events for more information + // Example: + /* + afterShow: function( instance, current ) { + console.info( 'Clicked element:' ); + console.info( current.opts.$orig ); + } + */ + + onInit: $.noop, // When instance has been initialized + + beforeLoad: $.noop, // Before the content of a slide is being loaded + afterLoad: $.noop, // When the content of a slide is done loading + + beforeShow: $.noop, // Before open animation starts + afterShow: $.noop, // When content is done loading and animating + + beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close. + afterClose: $.noop, // After instance has been closed + + onActivate: $.noop, // When instance is brought to front + onDeactivate: $.noop, // When other instance has been activated + + // Interaction + // =========== + + // Use options below to customize taken action when user clicks or double clicks on the fancyBox area, + // each option can be string or method that returns value. + // + // Possible values: + // "close" - close instance + // "next" - move to next gallery item + // "nextOrClose" - move to next gallery item or close if gallery has only one item + // "toggleControls" - show/hide controls + // "zoom" - zoom image (if loaded) + // false - do nothing + + // Clicked on the content + clickContent: function(current, event) { + return current.type === 'image' ? 'zoom' : false; + }, + + // Clicked on the slide + clickSlide: 'close', + + // Clicked on the background (backdrop) element + clickOutside: 'close', + + // Same as previous two, but for double click + dblclickContent: false, + dblclickSlide: false, + dblclickOutside: false, + + // Custom options when mobile device is detected + // ============================================= + + mobile: { + idleTime: false, + margin: 0, + + clickContent: function(current, event) { + return current.type === 'image' ? 'toggleControls' : false; + }, + clickSlide: function(current, event) { + return current.type === 'image' ? 'toggleControls' : 'close'; + }, + dblclickContent: function(current, event) { + return current.type === 'image' ? 'zoom' : false; + }, + dblclickSlide: function(current, event) { + return current.type === 'image' ? 'zoom' : false; + }, + }, + + // Internationalization + // ============ + + lang: 'en', + i18n: { + 'en': { + CLOSE: 'Close', + NEXT: 'Next', + PREV: 'Previous', + ERROR: 'The requested content cannot be loaded.
Please try again later.', + PLAY_START: 'Start slideshow', + PLAY_STOP: 'Pause slideshow', + FULL_SCREEN: 'Full screen', + THUMBS: 'Thumbnails', + DOWNLOAD: 'Download', + SHARE: 'Share', + ZOOM: 'Zoom', + }, + 'de': { + CLOSE: 'Schliessen', + NEXT: 'Weiter', + PREV: 'Zurück', + ERROR: 'Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.', + PLAY_START: 'Diaschau starten', + PLAY_STOP: 'Diaschau beenden', + FULL_SCREEN: 'Vollbild', + THUMBS: 'Vorschaubilder', + DOWNLOAD: 'Herunterladen', + SHARE: 'Teilen', + ZOOM: 'Maßstab', + }, + }, + + }; + + // Few useful variables and methods + // ================================ + + var $W = $(window); + var $D = $(document); + + var called = 0; + + // Check if an object is a jQuery object and not a native JavaScript object + // ======================================================================== + + var isQuery = function(obj) { + return obj && obj.hasOwnProperty && obj instanceof $; + }; + + // Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame" + // =============================================================================== + + var requestAFrame = (function() { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function(callback) { + return window.setTimeout(callback, 1000 / 60); + }; + })(); + + // Detect the supported transition-end event property name + // ======================================================= + + var transitionEnd = (function() { + var t, el = document.createElement('fakeelement'); + + var transitions = { + 'transition': 'transitionend', + 'OTransition': 'oTransitionEnd', + 'MozTransition': 'transitionend', + 'WebkitTransition': 'webkitTransitionEnd', + }; + + for (t in transitions) { + if (el.style[t] !== undefined) { + return transitions[t]; + } + } + + return 'transitionend'; + })(); + + // Force redraw on an element. + // This helps in cases where the browser doesn't redraw an updated element properly. + // ================================================================================= + + var forceRedraw = function($el) { + return ($el && $el.length && $el[0].offsetHeight); + }; + + // Class definition + // ================ + + var FancyBox = function(content, opts, index) { + var self = this; + + self.opts = $.extend(true, {index: index}, $.fancybox.defaults, opts || {}); + + if ($.fancybox.isMobile) { + self.opts = $.extend(true, {}, self.opts, self.opts.mobile); + } + + // Exclude buttons option from deep merging + if (opts && $.isArray(opts.buttons)) { + self.opts.buttons = opts.buttons; + } + + self.id = self.opts.id || ++called; + self.group = []; + + self.currIndex = parseInt(self.opts.index, 10) || 0; + self.prevIndex = null; + + self.prevPos = null; + self.currPos = 0; + + self.firstRun = null; + + // Create group elements from original item collection + self.createGroup(content); + + if (!self.group.length) { + return; + } + + // Save last active element and current scroll position + self.$lastFocus = $(document.activeElement).blur(); + + // Collection of gallery objects + self.slides = {}; + + self.init(); + }; + + $.extend(FancyBox.prototype, { + + // Create DOM structure + // ==================== + + init: function() { + var self = this, + firstItem = self.group[self.currIndex], + firstItemOpts = firstItem.opts, + scrollbarWidth = $.fancybox.scrollbarWidth, + $scrollDiv, + $container, + buttonStr; + + self.scrollTop = $D.scrollTop(); + self.scrollLeft = $D.scrollLeft(); + + // Hide scrollbars + // =============== + + if (!$.fancybox.getInstance()) { + + $('body').addClass('fancybox-active'); + + // iOS hack + if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) { + + // iOS has problems for input elements inside fixed containers, + // the workaround is to apply `position: fixed` to `` element, + // unfortunately, this makes it lose the scrollbars and forces address bar to appear. + + if (firstItem.type !== 'image') { + $('body'). + css('top', $('body').scrollTop() * -1). + addClass('fancybox-iosfix'); + } + + } else if (!$.fancybox.isMobile && document.body.scrollHeight > + window.innerHeight) { + + if (scrollbarWidth === undefined) { + $scrollDiv = $( + '
'). + appendTo('body'); + + scrollbarWidth = $.fancybox.scrollbarWidth = $scrollDiv[0].offsetWidth - + $scrollDiv[0].clientWidth; + + $scrollDiv.remove(); + } + + $('head'). + append( + ''); + $('body').addClass('compensate-for-scrollbar'); + } + } + + // Build html markup and set references + // ==================================== + + // Build html code for buttons and insert into main template + buttonStr = ''; + + $.each(firstItemOpts.buttons, function(index, value) { + buttonStr += (firstItemOpts.btnTpl[value] || ''); + }); + + // Create markup from base template, it will be initially hidden to + // avoid unnecessary work like painting while initializing is not complete + $container = $( + self.translate(self, + firstItemOpts.baseTpl.replace('\{\{buttons\}\}', buttonStr). + replace('\{\{arrows\}\}', firstItemOpts.btnTpl.arrowLeft + + firstItemOpts.btnTpl.arrowRight), + ), + ). + attr('id', 'fancybox-container-' + self.id). + addClass('fancybox-is-hidden'). + addClass(firstItemOpts.baseClass). + data('FancyBox', self). + appendTo(firstItemOpts.parentEl); + + // Create object holding references to jQuery wrapped nodes + self.$refs = { + container: $container, + }; + + [ + 'bg', + 'inner', + 'infobar', + 'toolbar', + 'stage', + 'caption', + 'navigation'].forEach(function(item) { + self.$refs[item] = $container.find('.fancybox-' + item); + }); + + self.trigger('onInit'); + + // Enable events, deactive previous instances + self.activate(); + + // Build slides, load and reveal content + self.jumpTo(self.currIndex); + }, + + // Simple i18n support - replaces object keys found in template + // with corresponding values + // ============================================================ + + translate: function(obj, str) { + var arr = obj.opts.i18n[obj.opts.lang]; + + return str.replace(/\{\{(\w+)\}\}/g, function(match, n) { + var value = arr[n]; + + if (value === undefined) { + return match; + } + + return value; + }); + }, + + // Create array of gally item objects + // Check if each object has valid type and content + // =============================================== + + createGroup: function(content) { + var self = this; + var items = $.makeArray(content); + + $.each(items, function(i, item) { + var obj = {}, + opts = {}, + $item, + type, + found, + src, + srcParts; + + // Step 1 - Make sure we have an object + // ==================================== + + if ($.isPlainObject(item)) { + + // We probably have manual usage here, something like + // $.fancybox.open( [ { src : "image.jpg", type : "image" } ] ) + + obj = item; + opts = item.opts || item; + + } else if ($.type(item) === 'object' && $(item).length) { + + // Here we probably have jQuery collection returned by some selector + $item = $(item); + + opts = $item.data(); + opts = $.extend({}, opts, opts.options || {}); + + // Here we store clicked element + opts.$orig = $item; + + obj.src = opts.src || $item.attr('href'); + + // Assume that simple syntax is used, for example: + // `$.fancybox.open( $("#test"), {} );` + if (!obj.type && !obj.src) { + obj.type = 'inline'; + obj.src = item; + } + + } else { + + // Assume we have a simple html code, for example: + // $.fancybox.open( '

Hi!

' ); + + obj = { + type: 'html', + src: item + '', + }; + + } + + // Each gallery object has full collection of options + obj.opts = $.extend(true, {}, self.opts, opts); + + // Do not merge buttons array + if ($.isArray(opts.buttons)) { + obj.opts.buttons = opts.buttons; + } + + // Step 2 - Make sure we have content type, if not - try to guess + // ============================================================== + + type = obj.type || obj.opts.type; + src = obj.src || ''; + + if (!type && src) { + if (src.match( + /(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)) { + type = 'image'; + + } else if (src.match(/\.(pdf)((\?|#).*)?$/i)) { + type = 'pdf'; + + } else if (found = src.match(/\.(mp4|mov|ogv)((\?|#).*)?$/i)) { + type = 'video'; + + if (!obj.opts.videoFormat) { + obj.opts.videoFormat = 'video/' + + (found[1] === 'ogv' ? 'ogg' : found[1]); + } + + } else if (src.charAt(0) === '#') { + type = 'inline'; + } + } + + if (type) { + obj.type = type; + + } else { + self.trigger('objectNeedsType', obj); + } + + // Step 3 - Some adjustments + // ========================= + + obj.index = self.group.length; + + // Check if $orig and $thumb objects exist + if (obj.opts.$orig && !obj.opts.$orig.length) { + delete obj.opts.$orig; + } + + if (!obj.opts.$thumb && obj.opts.$orig) { + obj.opts.$thumb = obj.opts.$orig.find('img:first'); + } + + if (obj.opts.$thumb && !obj.opts.$thumb.length) { + delete obj.opts.$thumb; + } + + // "caption" is a "special" option, it can be used to customize caption per gallery item .. + if ($.type(obj.opts.caption) === 'function') { + obj.opts.caption = obj.opts.caption.apply(item, [self, obj]); + } + + if ($.type(self.opts.caption) === 'function') { + obj.opts.caption = self.opts.caption.apply(item, [self, obj]); + } + + // Make sure we have caption as a string or jQuery object + if (!(obj.opts.caption instanceof $)) { + obj.opts.caption = obj.opts.caption === undefined ? + '' : + obj.opts.caption + ''; + } + + // Check if url contains "filter" used to filter the content + // Example: "ajax.html #something" + if (type === 'ajax') { + srcParts = src.split(/\s+/, 2); + + if (srcParts.length > 1) { + obj.src = srcParts.shift(); + + obj.opts.filter = srcParts.shift(); + } + } + + if (obj.opts.smallBtn == 'auto') { + + if ($.inArray(type, ['html', 'inline', 'ajax']) > -1) { + obj.opts.toolbar = false; + obj.opts.smallBtn = true; + + } else { + obj.opts.smallBtn = false; + } + + } + + // If the type is "pdf", then simply load file into iframe + if (type === 'pdf') { + obj.type = 'iframe'; + + obj.opts.iframe.preload = false; + } + + // Hide all buttons and disable interactivity for modal items + if (obj.opts.modal) { + + obj.opts = $.extend(true, obj.opts, { + // Remove buttons + infobar: 0, + toolbar: 0, + + smallBtn: 0, + + // Disable keyboard navigation + keyboard: 0, + + // Disable some modules + slideShow: 0, + fullScreen: 0, + thumbs: 0, + touch: 0, + + // Disable click event handlers + clickContent: false, + clickSlide: false, + clickOutside: false, + dblclickContent: false, + dblclickSlide: false, + dblclickOutside: false, + }); + + } + + // Step 4 - Add processed object to group + // ====================================== + + self.group.push(obj); + + }); + + }, + + // Attach an event handler functions for: + // - navigation buttons + // - browser scrolling, resizing; + // - focusing + // - keyboard + // - detect idle + // ====================================== + + addEvents: function() { + var self = this; + + self.removeEvents(); + + // Make navigation elements clickable + self.$refs.container.on('click.fb-close', '[data-fancybox-close]', + function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.close(e); + + }). + on('click.fb-prev touchend.fb-prev', '[data-fancybox-prev]', + function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.previous(); + + }). + on('click.fb-next touchend.fb-next', '[data-fancybox-next]', + function(e) { + e.stopPropagation(); + e.preventDefault(); + + self.next(); + + }). + on('click.fb', '[data-fancybox-zoom]', function(e) { + // Click handler for zoom button + self[self.isScaledDown() ? 'scaleToActual' : 'scaleToFit'](); + }); + + // Handle page scrolling and browser resizing + $W.on('orientationchange.fb resize.fb', function(e) { + + if (e && e.originalEvent && e.originalEvent.type === 'resize') { + + requestAFrame(function() { + self.update(); + }); + + } else { + + self.$refs.stage.hide(); + + setTimeout(function() { + self.$refs.stage.show(); + + self.update(); + }, 600); + + } + + }); + + // Trap keyboard focus inside of the modal, so the user does not accidentally tab outside of the modal + // (a.k.a. "escaping the modal") + $D.on('focusin.fb', function(e) { + var instance = $.fancybox ? $.fancybox.getInstance() : null; + + if (instance.isClosing || !instance.current || + !instance.current.opts.trapFocus || + $(e.target).hasClass('fancybox-container') || + $(e.target).is(document)) { + return; + } + + if (instance && $(e.target).css('position') !== 'fixed' && + !instance.$refs.container.has(e.target).length) { + e.stopPropagation(); + + instance.focus(); + + // Sometimes page gets scrolled, set it back + $W.scrollTop(self.scrollTop).scrollLeft(self.scrollLeft); + } + }); + + // Enable keyboard navigation + $D.on('keydown.fb', function(e) { + var current = self.current, + keycode = e.keyCode || e.which; + + if (!current || !current.opts.keyboard) { + return; + } + + if ($(e.target).is('input') || $(e.target).is('textarea')) { + return; + } + + // Backspace and Esc keys + if (keycode === 8 || keycode === 27) { + e.preventDefault(); + + self.close(e); + + return; + } + + // Left arrow and Up arrow + if (keycode === 37 || keycode === 38) { + e.preventDefault(); + + self.previous(); + + return; + } + + // Righ arrow and Down arrow + if (keycode === 39 || keycode === 40) { + e.preventDefault(); + + self.next(); + + return; + } + + self.trigger('afterKeydown', e, keycode); + }); + + // Hide controls after some inactivity period + if (self.group[self.currIndex].opts.idleTime) { + self.idleSecondsCounter = 0; + + $D.on( + 'mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle', + function(e) { + self.idleSecondsCounter = 0; + + if (self.isIdle) { + self.showControls(); + } + + self.isIdle = false; + }); + + self.idleInterval = window.setInterval(function() { + self.idleSecondsCounter++; + + if (self.idleSecondsCounter >= + self.group[self.currIndex].opts.idleTime && !self.isDragging) { + self.isIdle = true; + self.idleSecondsCounter = 0; + + self.hideControls(); + } + + }, 1000); + } + + }, + + // Remove events added by the core + // =============================== + + removeEvents: function() { + var self = this; + + $W.off('orientationchange.fb resize.fb'); + $D.off('focusin.fb keydown.fb .fb-idle'); + + this.$refs.container.off('.fb-close .fb-prev .fb-next'); + + if (self.idleInterval) { + window.clearInterval(self.idleInterval); + + self.idleInterval = null; + } + }, + + // Change to previous gallery item + // =============================== + + previous: function(duration) { + return this.jumpTo(this.currPos - 1, duration); + }, + + // Change to next gallery item + // =========================== + + next: function(duration) { + return this.jumpTo(this.currPos + 1, duration); + }, + + // Switch to selected gallery item + // =============================== + + jumpTo: function(pos, duration, slide) { + var self = this, + firstRun, + loop, + current, + previous, + canvasWidth, + currentPos, + transitionProps; + + var groupLen = self.group.length; + + if (self.isDragging || self.isClosing || + (self.isAnimating && self.firstRun)) { + return; + } + + pos = parseInt(pos, 10); + loop = self.current ? self.current.opts.loop : self.opts.loop; + + if (!loop && (pos < 0 || pos >= groupLen)) { + return false; + } + + firstRun = self.firstRun = (self.firstRun === null); + + if (groupLen < 2 && !firstRun && !!self.isDragging) { + return; + } + + previous = self.current; + + self.prevIndex = self.currIndex; + self.prevPos = self.currPos; + + // Create slides + current = self.createSlide(pos); + + if (groupLen > 1) { + if (loop || current.index > 0) { + self.createSlide(pos - 1); + } + + if (loop || current.index < groupLen - 1) { + self.createSlide(pos + 1); + } + } + + self.current = current; + self.currIndex = current.index; + self.currPos = current.pos; + + self.trigger('beforeShow', firstRun); + + self.updateControls(); + + currentPos = $.fancybox.getTranslate(current.$slide); + + current.isMoved = (currentPos.left !== 0 || currentPos.top !== 0) && + !current.$slide.hasClass('fancybox-animated'); + current.forcedDuration = undefined; + + if ($.isNumeric(duration)) { + current.forcedDuration = duration; + } else { + duration = current.opts[firstRun ? + 'animationDuration' : + 'transitionDuration']; + } + + duration = parseInt(duration, 10); + + // Fresh start - reveal container, current slide and start loading content + if (firstRun) { + + if (current.opts.animationEffect && duration) { + self.$refs.container.css('transition-duration', duration + 'ms'); + } + + self.$refs.container.removeClass('fancybox-is-hidden'); + + forceRedraw(self.$refs.container); + + self.$refs.container.addClass('fancybox-is-open'); + + // Make first slide visible (to display loading icon, if needed) + current.$slide.addClass('fancybox-slide--current'); + + self.loadSlide(current); + + self.preload('image'); + + return; + } + + // Clean up + $.each(self.slides, function(index, slide) { + $.fancybox.stop(slide.$slide); + }); + + // Make current that slide is visible even if content is still loading + current.$slide.removeClass( + 'fancybox-slide--next fancybox-slide--previous'). + addClass('fancybox-slide--current'); + + // If slides have been dragged, animate them to correct position + if (current.isMoved) { + canvasWidth = Math.round(current.$slide.width()); + + $.each(self.slides, function(index, slide) { + var pos = slide.pos - current.pos; + + $.fancybox.animate(slide.$slide, { + top: 0, + left: (pos * canvasWidth) + (pos * slide.opts.gutter), + }, duration, function() { + + slide.$slide.removeAttr('style'). + removeClass('fancybox-slide--next fancybox-slide--previous'); + + if (slide.pos === self.currPos) { + current.isMoved = false; + + self.complete(); + } + }); + }); + + } else { + self.$refs.stage.children().removeAttr('style'); + } + + // Start transition that reveals current content + // or wait when it will be loaded + + if (current.isLoaded) { + self.revealContent(current); + + } else { + self.loadSlide(current); + } + + self.preload('image'); + + if (previous.pos === current.pos) { + return; + } + + // Handle previous slide + // ===================== + + transitionProps = 'fancybox-slide--' + + (previous.pos > current.pos ? 'next' : 'previous'); + + previous.$slide.removeClass( + 'fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous'); + + previous.isComplete = false; + + if (!duration || (!current.isMoved && !current.opts.transitionEffect)) { + return; + } + + if (current.isMoved) { + previous.$slide.addClass(transitionProps); + + } else { + + transitionProps = 'fancybox-animated ' + transitionProps + + ' fancybox-fx-' + current.opts.transitionEffect; + + $.fancybox.animate(previous.$slide, transitionProps, duration, + function() { + previous.$slide.removeClass(transitionProps).removeAttr('style'); + }); + + } + + }, + + // Create new "slide" element + // These are gallery items that are actually added to DOM + // ======================================================= + + createSlide: function(pos) { + + var self = this; + var $slide; + var index; + + index = pos % self.group.length; + index = index < 0 ? self.group.length + index : index; + + if (!self.slides[pos] && self.group[index]) { + $slide = $('
'). + appendTo(self.$refs.stage); + + self.slides[pos] = $.extend(true, {}, self.group[index], { + pos: pos, + $slide: $slide, + isLoaded: false, + }); + + self.updateSlide(self.slides[pos]); + } + + return self.slides[pos]; + }, + + // Scale image to the actual size of the image + // =========================================== + + scaleToActual: function(x, y, duration) { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var imgPos, posX, posY, scaleX, scaleY; + + var canvasWidth = parseInt(current.$slide.width(), 10); + var canvasHeight = parseInt(current.$slide.height(), 10); + + var newImgWidth = current.width; + var newImgHeight = current.height; + + if (!(current.type == 'image' && !current.hasError) || !$what || + self.isAnimating) { + return; + } + + $.fancybox.stop($what); + + self.isAnimating = true; + + x = x === undefined ? canvasWidth * 0.5 : x; + y = y === undefined ? canvasHeight * 0.5 : y; + + imgPos = $.fancybox.getTranslate($what); + + scaleX = newImgWidth / imgPos.width; + scaleY = newImgHeight / imgPos.height; + + // Get center position for original image + posX = (canvasWidth * 0.5 - newImgWidth * 0.5); + posY = (canvasHeight * 0.5 - newImgHeight * 0.5); + + // Make sure image does not move away from edges + if (newImgWidth > canvasWidth) { + posX = imgPos.left * scaleX - ((x * scaleX) - x); + + if (posX > 0) { + posX = 0; + } + + if (posX < canvasWidth - newImgWidth) { + posX = canvasWidth - newImgWidth; + } + } + + if (newImgHeight > canvasHeight) { + posY = imgPos.top * scaleY - ((y * scaleY) - y); + + if (posY > 0) { + posY = 0; + } + + if (posY < canvasHeight - newImgHeight) { + posY = canvasHeight - newImgHeight; + } + } + + self.updateCursor(newImgWidth, newImgHeight); + + $.fancybox.animate($what, { + top: posY, + left: posX, + scaleX: scaleX, + scaleY: scaleY, + }, duration || 330, function() { + self.isAnimating = false; + }); + + // Stop slideshow + if (self.SlideShow && self.SlideShow.isActive) { + self.SlideShow.stop(); + } + }, + + // Scale image to fit inside parent element + // ======================================== + + scaleToFit: function(duration) { + + var self = this; + + var current = self.current; + var $what = current.$content; + var end; + + if (!(current.type == 'image' && !current.hasError) || !$what || + self.isAnimating) { + return; + } + + $.fancybox.stop($what); + + self.isAnimating = true; + + end = self.getFitPos(current); + + self.updateCursor(end.width, end.height); + + $.fancybox.animate($what, { + top: end.top, + left: end.left, + scaleX: end.width / $what.width(), + scaleY: end.height / $what.height(), + }, duration || 330, function() { + self.isAnimating = false; + }); + + }, + + // Calculate image size to fit inside viewport + // =========================================== + + getFitPos: function(slide) { + var self = this; + var $what = slide.$content; + + var imgWidth = slide.width; + var imgHeight = slide.height; + + var margin = slide.opts.margin; + + var canvasWidth, canvasHeight, minRatio, width, height; + + if (!$what || !$what.length || (!imgWidth && !imgHeight)) { + return false; + } + + // Convert "margin to CSS style: [ top, right, bottom, left ] + if ($.type(margin) === 'number') { + margin = [margin, margin]; + } + + if (margin.length == 2) { + margin = [margin[0], margin[1], margin[0], margin[1]]; + } + + // We can not use $slide width here, because it can have different diemensions while in transiton + canvasWidth = parseInt(self.$refs.stage.width(), 10) - + (margin[1] + margin[3]); + canvasHeight = parseInt(self.$refs.stage.height(), 10) - + (margin[0] + margin[2]); + + minRatio = Math.min(1, canvasWidth / imgWidth, canvasHeight / imgHeight); + + width = Math.floor(minRatio * imgWidth); + height = Math.floor(minRatio * imgHeight); + + // Use floor rounding to make sure it really fits + return { + top: Math.floor((canvasHeight - height) * 0.5) + margin[0], + left: Math.floor((canvasWidth - width) * 0.5) + margin[3], + width: width, + height: height, + }; + + }, + + // Update content size and position for all slides + // ============================================== + + update: function() { + var self = this; + + $.each(self.slides, function(key, slide) { + self.updateSlide(slide); + }); + }, + + // Update slide content position and size + // ====================================== + + updateSlide: function(slide, duration) { + var self = this, + $what = slide && slide.$content; + + if ($what && (slide.width || slide.height)) { + self.isAnimating = false; + + $.fancybox.stop($what); + + $.fancybox.setTranslate($what, self.getFitPos(slide)); + + if (slide.pos === self.currPos) { + self.updateCursor(); + } + } + + slide.$slide.trigger('refresh'); + + self.trigger('onUpdate', slide); + + }, + + // Horizontally center slide + // ========================= + + centerSlide: function(slide, duration) { + var self = this, canvasWidth, pos; + + if (self.current) { + canvasWidth = Math.round(slide.$slide.width()); + pos = slide.pos - self.current.pos; + + $.fancybox.animate(slide.$slide, { + top: 0, + left: (pos * canvasWidth) + (pos * slide.opts.gutter), + opacity: 1, + }, duration === undefined ? 0 : duration, null, false); + } + }, + + // Update cursor style depending if content can be zoomed + // ====================================================== + + updateCursor: function(nextWidth, nextHeight) { + + var self = this; + var isScaledDown; + + var $container = self.$refs.container.removeClass( + 'fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut'); + + if (!self.current || self.isClosing) { + return; + } + + if (self.isZoomable()) { + + $container.addClass('fancybox-is-zoomable'); + + if (nextWidth !== undefined && nextHeight !== undefined) { + isScaledDown = nextWidth < self.current.width && nextHeight < + self.current.height; + + } else { + isScaledDown = self.isScaledDown(); + } + + if (isScaledDown) { + + // If image is scaled down, then, obviously, it can be zoomed to full size + $container.addClass('fancybox-can-zoomIn'); + + } else { + + if (self.current.opts.touch) { + + // If image size ir largen than available available and touch module is not disable, + // then user can do panning + $container.addClass('fancybox-can-drag'); + + } else { + $container.addClass('fancybox-can-zoomOut'); + } + + } + + } else if (self.current.opts.touch) { + $container.addClass('fancybox-can-drag'); + } + + }, + + // Check if current slide is zoomable + // ================================== + + isZoomable: function() { + + var self = this; + + var current = self.current; + var fitPos; + + if (!current || self.isClosing) { + return; + } + + // Assume that slide is zoomable if + // - image is loaded successfuly + // - click action is "zoom" + // - actual size of the image is smaller than available area + if (current.type === 'image' && current.isLoaded && !current.hasError && + (current.opts.clickContent === 'zoom' || + ($.isFunction(current.opts.clickContent) && + current.opts.clickContent(current) === 'zoom')) + ) { + + fitPos = self.getFitPos(current); + + if (current.width > fitPos.width || current.height > fitPos.height) { + return true; + } + + } + + return false; + + }, + + // Check if current image dimensions are smaller than actual + // ========================================================= + + isScaledDown: function() { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var rez = false; + + if ($what) { + rez = $.fancybox.getTranslate($what); + rez = rez.width < current.width || rez.height < current.height; + } + + return rez; + + }, + + // Check if image dimensions exceed parent element + // =============================================== + + canPan: function() { + + var self = this; + + var current = self.current; + var $what = current.$content; + + var rez = false; + + if ($what) { + rez = self.getFitPos(current); + rez = Math.abs($what.width() - rez.width) > 1 || + Math.abs($what.height() - rez.height) > 1; + } + + return rez; + + }, + + // Load content into the slide + // =========================== + + loadSlide: function(slide) { + + var self = this, type, $slide; + var ajaxLoad; + + if (slide.isLoading) { + return; + } + + if (slide.isLoaded) { + return; + } + + slide.isLoading = true; + + self.trigger('beforeLoad', slide); + + type = slide.type; + $slide = slide.$slide; + + $slide.off('refresh'). + trigger('onReset'). + addClass('fancybox-slide--' + (type || 'unknown')). + addClass(slide.opts.slideClass); + + // Create content depending on the type + + switch (type) { + + case 'image': + + self.setImage(slide); + + break; + + case 'iframe': + + self.setIframe(slide); + + break; + + case 'html': + + self.setContent(slide, slide.src || slide.content); + + break; + + case 'inline': + + if ($(slide.src).length) { + self.setContent(slide, $(slide.src)); + + } else { + self.setError(slide); + } + + break; + + case 'ajax': + + self.showLoading(slide); + + ajaxLoad = $.ajax($.extend({}, slide.opts.ajax.settings, { + url: slide.src, + success: function(data, textStatus) { + + if (textStatus === 'success') { + self.setContent(slide, data); + } + + }, + error: function(jqXHR, textStatus) { + + if (jqXHR && textStatus !== 'abort') { + self.setError(slide); + } + + }, + })); + + $slide.one('onReset', function() { + ajaxLoad.abort(); + }); + + break; + + case 'video' : + + self.setContent(slide, + '', + ); + + break; + + default: + + self.setError(slide); + + break; + + } + + return true; + + }, + + // Use thumbnail image, if possible + // ================================ + + setImage: function(slide) { + + var self = this; + var srcset = slide.opts.srcset || slide.opts.image.srcset; + + var found, temp, pxRatio, windowWidth; + + // If we have "srcset", then we need to find matching "src" value. + // This is necessary, because when you set an src attribute, the browser will preload the image + // before any javascript or even CSS is applied. + if (srcset) { + pxRatio = window.devicePixelRatio || 1; + windowWidth = window.innerWidth * pxRatio; + + temp = srcset.split(',').map(function(el) { + var ret = {}; + + el.trim().split(/\s+/).forEach(function(el, i) { + var value = parseInt(el.substring(0, el.length - 1), 10); + + if (i === 0) { + return (ret.url = el); + } + + if (value) { + ret.value = value; + ret.postfix = el[el.length - 1]; + } + + }); + + return ret; + }); + + // Sort by value + temp.sort(function(a, b) { + return a.value - b.value; + }); + + // Ok, now we have an array of all srcset values + for (var j = 0; j < temp.length; j++) { + var el = temp[j]; + + if ((el.postfix === 'w' && el.value >= windowWidth) || + (el.postfix === 'x' && el.value >= pxRatio)) { + found = el; + break; + } + } + + // If not found, take the last one + if (!found && temp.length) { + found = temp[temp.length - 1]; + } + + if (found) { + slide.src = found.url; + + // If we have default width/height values, we can calculate height for matching source + if (slide.width && slide.height && found.postfix == 'w') { + slide.height = (slide.width / slide.height) * found.value; + slide.width = found.value; + } + } + } + + // This will be wrapper containing both ghost and actual image + slide.$content = $('
'). + addClass('fancybox-is-hidden'). + appendTo(slide.$slide); + + // If we have a thumbnail, we can display it while actual image is loading + // Users will not stare at black screen and actual image will appear gradually + if (slide.opts.preload !== false && slide.opts.width && + slide.opts.height && (slide.opts.thumb || slide.opts.$thumb)) { + + slide.width = slide.opts.width; + slide.height = slide.opts.height; + + slide.$ghost = $(''). + one('error', function() { + + $(this).remove(); + + slide.$ghost = null; + + self.setBigImage(slide); + + }). + one('load', function() { + + self.afterLoad(slide); + + self.setBigImage(slide); + + }). + addClass('fancybox-image'). + appendTo(slide.$content). + attr('src', slide.opts.thumb || slide.opts.$thumb.attr('src')); + + } else { + + self.setBigImage(slide); + + } + + }, + + // Create full-size image + // ====================== + + setBigImage: function(slide) { + var self = this; + var $img = $(''); + + slide.$image = $img.one('error', function() { + + self.setError(slide); + + }). + one('load', function() { + + // Clear timeout that checks if loading icon needs to be displayed + clearTimeout(slide.timouts); + + slide.timouts = null; + + if (self.isClosing) { + return; + } + + slide.width = slide.opts.width || this.naturalWidth; + slide.height = slide.opts.height || this.naturalHeight; + + if (slide.opts.image.srcset) { + $img.attr('sizes', '100vw'). + attr('srcset', slide.opts.image.srcset); + } + + self.hideLoading(slide); + + if (slide.$ghost) { + + slide.timouts = setTimeout(function() { + slide.timouts = null; + + slide.$ghost.hide(); + + }, Math.min(300, Math.max(1000, slide.height / 1600))); + + } else { + self.afterLoad(slide); + } + + }). + addClass('fancybox-image'). + attr('src', slide.src). + appendTo(slide.$content); + + if (($img[0].complete || $img[0].readyState == 'complete') && + $img[0].naturalWidth && $img[0].naturalHeight) { + $img.trigger('load'); + + } else if ($img[0].error) { + $img.trigger('error'); + + } else { + + slide.timouts = setTimeout(function() { + if (!$img[0].complete && !slide.hasError) { + self.showLoading(slide); + } + + }, 100); + + } + + }, + + // Create iframe wrapper, iframe and bindings + // ========================================== + + setIframe: function(slide) { + var self = this, + opts = slide.opts.iframe, + $slide = slide.$slide, + $iframe; + + slide.$content = $('
'). + css(opts.css). + appendTo($slide); + + $iframe = $(opts.tpl.replace(/\{rnd\}/g, new Date().getTime())). + attr(opts.attr). + appendTo(slide.$content); + + if (opts.preload) { + + self.showLoading(slide); + + // Unfortunately, it is not always possible to determine if iframe is successfully loaded + // (due to browser security policy) + + $iframe.on('load.fb error.fb', function(e) { + this.isReady = 1; + + slide.$slide.trigger('refresh'); + + self.afterLoad(slide); + }); + + // Recalculate iframe content size + // =============================== + + $slide.on('refresh.fb', function() { + var $wrap = slide.$content, + frameWidth = opts.css.width, + frameHeight = opts.css.height, + scrollWidth, + $contents, + $body; + + if ($iframe[0].isReady !== 1) { + return; + } + + // Check if content is accessible, + // it will fail if frame is not with the same origin + + try { + $contents = $iframe.contents(); + $body = $contents.find('body'); + + } catch (ignore) { + } + + // Calculate dimensions for the wrapper + if ($body && $body.length) { + + if (frameWidth === undefined) { + scrollWidth = $iframe[0].contentWindow.document.documentElement.scrollWidth; + + frameWidth = Math.ceil( + $body.outerWidth(true) + ($wrap.width() - scrollWidth)); + frameWidth += $wrap.outerWidth() - $wrap.innerWidth(); + } + + if (frameHeight === undefined) { + frameHeight = Math.ceil($body.outerHeight(true)); + frameHeight += $wrap.outerHeight() - $wrap.innerHeight(); + } + + // Resize wrapper to fit iframe content + if (frameWidth) { + $wrap.width(frameWidth); + } + + if (frameHeight) { + $wrap.height(frameHeight); + } + } + + $wrap.removeClass('fancybox-is-hidden'); + + }); + + } else { + + this.afterLoad(slide); + + } + + $iframe.attr('src', slide.src); + + if (slide.opts.smallBtn === true) { + slide.$content.prepend( + self.translate(slide, slide.opts.btnTpl.smallBtn)); + } + + // Remove iframe if closing or changing gallery item + $slide.one('onReset', function() { + + // This helps IE not to throw errors when closing + try { + + $(this).find('iframe').hide().attr('src', '//about:blank'); + + } catch (ignore) { + } + + $(this).empty(); + + slide.isLoaded = false; + + }); + + }, + + // Wrap and append content to the slide + // ====================================== + + setContent: function(slide, content) { + + var self = this; + + if (self.isClosing) { + return; + } + + self.hideLoading(slide); + + slide.$slide.empty(); + + if (isQuery(content) && content.parent().length) { + + // If content is a jQuery object, then it will be moved to the slide. + // The placeholder is created so we will know where to put it back. + // If user is navigating gallery fast, then the content might be already inside fancyBox + // ===================================================================================== + + // Make sure content is not already moved to fancyBox + content.parent('.fancybox-slide--inline').trigger('onReset'); + + // Create temporary element marking original place of the content + slide.$placeholder = $('
').hide().insertAfter(content); + + // Make sure content is visible + content.css('display', 'inline-block'); + + } else if (!slide.hasError) { + + // If content is just a plain text, try to convert it to html + if ($.type(content) === 'string') { + content = $('
').append($.trim(content)).contents(); + + // If we have text node, then add wrapping element to make vertical alignment work + if (content[0].nodeType === 3) { + content = $('
').html(content); + } + } + + // If "filter" option is provided, then filter content + if (slide.opts.filter) { + content = $('
').html(content).find(slide.opts.filter); + } + + } + + slide.$slide.one('onReset', function() { + + // Pause all html5 video/audio + $(this).find('video,audio').trigger('pause'); + + // Put content back + if (slide.$placeholder) { + slide.$placeholder.after(content.hide()).remove(); + + slide.$placeholder = null; + } + + // Remove custom close button + if (slide.$smallBtn) { + slide.$smallBtn.remove(); + + slide.$smallBtn = null; + } + + // Remove content and mark slide as not loaded + if (!slide.hasError) { + $(this).empty(); + + slide.isLoaded = false; + } + + }); + + slide.$content = $(content).appendTo(slide.$slide); + + this.afterLoad(slide); + }, + + // Display error message + // ===================== + + setError: function(slide) { + + slide.hasError = true; + + slide.$slide.removeClass('fancybox-slide--' + slide.type); + + this.setContent(slide, this.translate(slide, slide.opts.errorTpl)); + + }, + + // Show loading icon inside the slide + // ================================== + + showLoading: function(slide) { + + var self = this; + + slide = slide || self.current; + + if (slide && !slide.$spinner) { + slide.$spinner = $(self.opts.spinnerTpl).appendTo(slide.$slide); + } + + }, + + // Remove loading icon from the slide + // ================================== + + hideLoading: function(slide) { + + var self = this; + + slide = slide || self.current; + + if (slide && slide.$spinner) { + slide.$spinner.remove(); + + delete slide.$spinner; + } + + }, + + // Adjustments after slide content has been loaded + // =============================================== + + afterLoad: function(slide) { + + var self = this; + + if (self.isClosing) { + return; + } + + slide.isLoading = false; + slide.isLoaded = true; + + self.trigger('afterLoad', slide); + + self.hideLoading(slide); + + if (slide.opts.smallBtn && !slide.$smallBtn) { + slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)). + appendTo(slide.$content.filter('div,form').first()); + } + + if (slide.opts.protect && slide.$content && !slide.hasError) { + + // Disable right click + slide.$content.on('contextmenu.fb', function(e) { + if (e.button == 2) { + e.preventDefault(); + } + + return true; + }); + + // Add fake element on top of the image + // This makes a bit harder for user to select image + if (slide.type === 'image') { + $('
').appendTo(slide.$content); + } + + } + + self.revealContent(slide); + + }, + + // Make content visible + // This method is called right after content has been loaded or + // user navigates gallery and transition should start + // ============================================================ + + revealContent: function(slide) { + + var self = this; + var $slide = slide.$slide; + + var effect, effectClassName, duration, opacity, end, start = false; + + effect = slide.opts[self.firstRun ? + 'animationEffect' : + 'transitionEffect']; + duration = slide.opts[self.firstRun ? + 'animationDuration' : + 'transitionDuration']; + + duration = parseInt( + slide.forcedDuration === undefined ? duration : slide.forcedDuration, + 10); + + if (slide.isMoved || slide.pos !== self.currPos || !duration) { + effect = false; + } + + // Check if can zoom + if (effect === 'zoom' && + !(slide.pos === self.currPos && duration && slide.type === 'image' && + !slide.hasError && (start = self.getThumbPos(slide)))) { + effect = 'fade'; + } + + // Zoom animation + // ============== + + if (effect === 'zoom') { + end = self.getFitPos(slide); + + end.scaleX = end.width / start.width; + end.scaleY = end.height / start.height; + + delete end.width; + delete end.height; + + // Check if we need to animate opacity + opacity = slide.opts.zoomOpacity; + + if (opacity == 'auto') { + opacity = Math.abs( + slide.width / slide.height - start.width / start.height) > 0.1; + } + + if (opacity) { + start.opacity = 0.1; + end.opacity = 1; + } + + // Draw image at start position + $.fancybox.setTranslate( + slide.$content.removeClass('fancybox-is-hidden'), start); + + forceRedraw(slide.$content); + + // Start animation + $.fancybox.animate(slide.$content, end, duration, function() { + self.complete(); + }); + + return; + } + + self.updateSlide(slide); + + // Simply show content + // =================== + + if (!effect) { + forceRedraw($slide); + + slide.$content.removeClass('fancybox-is-hidden'); + + if (slide.pos === self.currPos) { + self.complete(); + } + + return; + } + + $.fancybox.stop($slide); + + effectClassName = 'fancybox-animated fancybox-slide--' + + (slide.pos >= self.prevPos ? 'next' : 'previous') + ' fancybox-fx-' + + effect; + + $slide.removeAttr('style'). + removeClass( + 'fancybox-slide--current fancybox-slide--next fancybox-slide--previous'). + addClass(effectClassName); + + slide.$content.removeClass('fancybox-is-hidden'); + + //Force reflow for CSS3 transitions + forceRedraw($slide); + + $.fancybox.animate($slide, 'fancybox-slide--current', duration, + function(e) { + $slide.removeClass(effectClassName).removeAttr('style'); + + if (slide.pos === self.currPos) { + self.complete(); + } + + }, true); + + }, + + // Check if we can and have to zoom from thumbnail + //================================================ + + getThumbPos: function(slide) { + + var self = this; + var rez = false; + + // Check if element is inside the viewport by at least 1 pixel + var isElementVisible = function($el) { + var element = $el[0]; + + var elementRect = element.getBoundingClientRect(); + var parentRects = []; + + var visibleInAllParents; + + while (element.parentElement !== null) { + if ($(element.parentElement).css('overflow') === 'hidden' || + $(element.parentElement).css('overflow') === 'auto') { + parentRects.push(element.parentElement.getBoundingClientRect()); + } + + element = element.parentElement; + } + + visibleInAllParents = parentRects.every(function(parentRect) { + var visiblePixelX = Math.min(elementRect.right, parentRect.right) - + Math.max(elementRect.left, parentRect.left); + var visiblePixelY = Math.min(elementRect.bottom, parentRect.bottom) - + Math.max(elementRect.top, parentRect.top); + + return visiblePixelX > 0 && visiblePixelY > 0; + }); + + return visibleInAllParents && + elementRect.bottom > 0 && elementRect.right > 0 && + elementRect.left < $(window).width() && elementRect.top < + $(window).height(); + }; + + var $thumb = slide.opts.$thumb; + var thumbPos = $thumb ? $thumb.offset() : 0; + var slidePos; + + if (thumbPos && $thumb[0].ownerDocument === document && + isElementVisible($thumb)) { + slidePos = self.$refs.stage.offset(); + + rez = { + top: thumbPos.top - slidePos.top + + parseFloat($thumb.css('border-top-width') || 0), + left: thumbPos.left - slidePos.left + + parseFloat($thumb.css('border-left-width') || 0), + width: $thumb.width(), + height: $thumb.height(), + scaleX: 1, + scaleY: 1, + }; + } + + return rez; + }, + + // Final adjustments after current gallery item is moved to position + // and it`s content is loaded + // ================================================================== + + complete: function() { + var self = this, + current = self.current, + slides = {}, + promise; + + if (current.isMoved || !current.isLoaded || current.isComplete) { + return; + } + + current.isComplete = true; + + current.$slide.siblings().trigger('onReset'); + + self.preload('inline'); + + // Trigger any CSS3 transiton inside the slide + forceRedraw(current.$slide); + + current.$slide.addClass('fancybox-slide--complete'); + + // Remove unnecessary slides + $.each(self.slides, function(key, slide) { + if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) { + slides[slide.pos] = slide; + + } else if (slide) { + $.fancybox.stop(slide.$slide); + + slide.$slide.off().remove(); + } + }); + + self.slides = slides; + + self.updateCursor(); + + self.trigger('afterShow'); + + // Play first html5 video/audio + current.$slide.find('video,audio').first().trigger('play'); + + // Try to focus on the first focusable element + if ($(document.activeElement).is('[disabled]') || + (current.opts.autoFocus && + !(current.type == 'image' || current.type === 'iframe'))) { + self.focus(); + } + + }, + + // Preload next and previous slides + // ================================ + + preload: function(type) { + var self = this, + next = self.slides[self.currPos + 1], + prev = self.slides[self.currPos - 1]; + + if (next && next.type === type) { + self.loadSlide(next); + } + + if (prev && prev.type === type) { + self.loadSlide(prev); + } + }, + + // Try to find and focus on the first focusable element + // ==================================================== + + focus: function() { + var current = this.current; + var $el; + + if (this.isClosing) { + return; + } + + if (current && current.isComplete) { + + // Look for first input with autofocus attribute + $el = current.$slide.find('input[autofocus]:enabled:visible:first'); + + if (!$el.length) { + $el = current.$slide.find('button,:input,[tabindex],a'). + filter(':enabled:visible:first'); + } + } + + $el = $el && $el.length ? $el : this.$refs.container; + + $el.focus(); + }, + + // Activates current instance - brings container to the front and enables keyboard, + // notifies other instances about deactivating + // ================================================================================= + + activate: function() { + var self = this; + + // Deactivate all instances + $('.fancybox-container').each(function() { + var instance = $(this).data('FancyBox'); + + // Skip self and closing instances + if (instance && instance.id !== self.id && !instance.isClosing) { + instance.trigger('onDeactivate'); + + instance.removeEvents(); + + instance.isVisible = false; + } + + }); + + self.isVisible = true; + + if (self.current || self.isIdle) { + self.update(); + + self.updateControls(); + } + + self.trigger('onActivate'); + + self.addEvents(); + }, + + // Start closing procedure + // This will start "zoom-out" animation if needed and clean everything up afterwards + // ================================================================================= + + close: function(e, d) { + + var self = this; + var current = self.current; + + var effect, duration; + var $what, opacity, start, end; + + var done = function() { + self.cleanUp(e); + }; + + if (self.isClosing) { + return false; + } + + self.isClosing = true; + + // If beforeClose callback prevents closing, make sure content is centered + if (self.trigger('beforeClose', e) === false) { + self.isClosing = false; + + requestAFrame(function() { + self.update(); + }); + + return false; + } + + // Remove all events + // If there are multiple instances, they will be set again by "activate" method + self.removeEvents(); + + if (current.timouts) { + clearTimeout(current.timouts); + } + + $what = current.$content; + effect = current.opts.animationEffect; + duration = $.isNumeric(d) ? + d : + (effect ? current.opts.animationDuration : 0); + + // Remove other slides + current.$slide.off(transitionEnd). + removeClass( + 'fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated'); + + current.$slide.siblings().trigger('onReset').remove(); + + // Trigger animations + if (duration) { + self.$refs.container.removeClass('fancybox-is-open'). + addClass('fancybox-is-closing'); + } + + // Clean up + self.hideLoading(current); + + self.hideControls(); + + self.updateCursor(); + + // Check if possible to zoom-out + if (effect === 'zoom' && + !(e !== true && $what && duration && current.type === 'image' && + !current.hasError && (end = self.getThumbPos(current)))) { + effect = 'fade'; + } + + if (effect === 'zoom') { + $.fancybox.stop($what); + + start = $.fancybox.getTranslate($what); + + start.width = start.width * start.scaleX; + start.height = start.height * start.scaleY; + + // Check if we need to animate opacity + opacity = current.opts.zoomOpacity; + + if (opacity == 'auto') { + opacity = Math.abs( + current.width / current.height - end.width / end.height) > 0.1; + } + + if (opacity) { + end.opacity = 0; + } + + start.scaleX = start.width / end.width; + start.scaleY = start.height / end.height; + + start.width = end.width; + start.height = end.height; + + $.fancybox.setTranslate(current.$content, start); + + forceRedraw(current.$content); + + $.fancybox.animate(current.$content, end, duration, done); + + return true; + } + + if (effect && duration) { + + // If skip animation + if (e === true) { + setTimeout(done, duration); + + } else { + $.fancybox.animate( + current.$slide.removeClass('fancybox-slide--current'), + 'fancybox-animated fancybox-slide--previous fancybox-fx-' + + effect, duration, done); + } + + } else { + done(); + } + + return true; + }, + + // Final adjustments after removing the instance + // ============================================= + + cleanUp: function(e) { + var self = this, + $body = $('body'), + instance, + offset; + + self.current.$slide.trigger('onReset'); + + self.$refs.container.empty().remove(); + + self.trigger('afterClose', e); + + // Place back focus + if (self.$lastFocus && !!self.current.opts.backFocus) { + self.$lastFocus.focus(); + } + + self.current = null; + + // Check if there are other instances + instance = $.fancybox.getInstance(); + + if (instance) { + instance.activate(); + + } else { + + $W.scrollTop(self.scrollTop).scrollLeft(self.scrollLeft); + + $body.removeClass('fancybox-active compensate-for-scrollbar'); + + if ($body.hasClass('fancybox-iosfix')) { + offset = parseInt(document.body.style.top, 10); + + $body.removeClass('fancybox-iosfix'). + css('top', ''). + scrollTop(offset * -1); + } + + $('#fancybox-style-noscroll').remove(); + + } + + }, + + // Call callback and trigger an event + // ================================== + + trigger: function(name, slide) { + var args = Array.prototype.slice.call(arguments, 1), + self = this, + obj = slide && slide.opts ? slide : self.current, + rez; + + if (obj) { + args.unshift(obj); + + } else { + obj = self; + } + + args.unshift(self); + + if ($.isFunction(obj.opts[name])) { + rez = obj.opts[name].apply(obj, args); + } + + if (rez === false) { + return rez; + } + + if (name === 'afterClose' || !self.$refs) { + $D.trigger(name + '.fb', args); + + } else { + self.$refs.container.trigger(name + '.fb', args); + } + + }, + + // Update infobar values, navigation button states and reveal caption + // ================================================================== + + updateControls: function(force) { + + var self = this; + + var current = self.current, + index = current.index, + caption = current.opts.caption, + $container = self.$refs.container, + $caption = self.$refs.caption; + + // Recalculate content dimensions + current.$slide.trigger('refresh'); + + self.$caption = caption && caption.length ? $caption.html(caption) : null; + + if (!self.isHiddenControls && !self.isIdle) { + self.showControls(); + } + + // Update info and navigation elements + $container.find('[data-fancybox-count]').html(self.group.length); + $container.find('[data-fancybox-index]').html(index + 1); + + $container.find('[data-fancybox-prev]'). + prop('disabled', (!current.opts.loop && index <= 0)); + $container.find('[data-fancybox-next]'). + prop('disabled', + (!current.opts.loop && index >= self.group.length - 1)); + + if (current.type === 'image') { + + // Update download button source + $container.find('[data-fancybox-download]'). + attr('href', current.opts.image.src || current.src). + show(); + + } else { + $container.find('[data-fancybox-download],[data-fancybox-zoom]').hide(); + } + }, + + // Hide toolbar and caption + // ======================== + + hideControls: function() { + + this.isHiddenControls = true; + + this.$refs.container.removeClass( + 'fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav'); + + }, + + showControls: function() { + var self = this; + var opts = self.current ? self.current.opts : self.opts; + var $container = self.$refs.container; + + self.isHiddenControls = false; + self.idleSecondsCounter = 0; + + $container.toggleClass('fancybox-show-toolbar', + !!(opts.toolbar && opts.buttons)). + toggleClass('fancybox-show-infobar', + !!(opts.infobar && self.group.length > 1)). + toggleClass('fancybox-show-nav', + !!(opts.arrows && self.group.length > 1)). + toggleClass('fancybox-is-modal', !!opts.modal); + + if (self.$caption) { + $container.addClass('fancybox-show-caption '); + + } else { + $container.removeClass('fancybox-show-caption'); + } + + }, + + // Toggle toolbar and caption + // ========================== + + toggleControls: function() { + if (this.isHiddenControls) { + this.showControls(); + + } else { + this.hideControls(); + } + + }, + + }); + + $.fancybox = { + + version: '3.2.10', + defaults: defaults, + + // Get current instance and execute a command. + // + // Examples of usage: + // + // $instance = $.fancybox.getInstance(); + // $.fancybox.getInstance().jumpTo( 1 ); + // $.fancybox.getInstance( 'jumpTo', 1 ); + // $.fancybox.getInstance( function() { + // console.info( this.currIndex ); + // }); + // ====================================================== + + getInstance: function(command) { + var instance = $('.fancybox-container:not(".fancybox-is-closing"):last'). + data('FancyBox'); + var args = Array.prototype.slice.call(arguments, 1); + + if (instance instanceof FancyBox) { + + if ($.type(command) === 'string') { + instance[command].apply(instance, args); + + } else if ($.type(command) === 'function') { + command.apply(instance, args); + } + + return instance; + } + + return false; + + }, + + // Create new instance + // =================== + + open: function(items, opts, index) { + return new FancyBox(items, opts, index); + }, + + // Close current or all instances + // ============================== + + close: function(all) { + var instance = this.getInstance(); + + if (instance) { + instance.close(); + + // Try to find and close next instance + + if (all === true) { + this.close(); + } + } + + }, + + // Close instances and unbind all events + // ============================== + + destroy: function() { + + this.close(true); + + $D.off('click.fb-start'); + + }, + + // Try to detect mobile devices + // ============================ + + isMobile: document.createTouch !== undefined && + /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( + navigator.userAgent), + + // Detect if 'translate3d' support is available + // ============================================ + + use3d: (function() { + var div = document.createElement('div'); + + return window.getComputedStyle && + window.getComputedStyle(div).getPropertyValue('transform') && + !(document.documentMode && document.documentMode < 11); + }()), + + // Helper function to get current visual state of an element + // returns array[ top, left, horizontal-scale, vertical-scale, opacity ] + // ===================================================================== + + getTranslate: function($el) { + var matrix; + + if (!$el || !$el.length) { + return false; + } + + matrix = $el.eq(0).css('transform'); + + if (matrix && matrix.indexOf('matrix') !== -1) { + matrix = matrix.split('(')[1]; + matrix = matrix.split(')')[0]; + matrix = matrix.split(','); + } else { + matrix = []; + } + + if (matrix.length) { + + // If IE + if (matrix.length > 10) { + matrix = [matrix[13], matrix[12], matrix[0], matrix[5]]; + + } else { + matrix = [matrix[5], matrix[4], matrix[0], matrix[3]]; + } + + matrix = matrix.map(parseFloat); + + } else { + matrix = [0, 0, 1, 1]; + + var transRegex = /\.*translate\((.*)px,(.*)px\)/i; + var transRez = transRegex.exec($el.eq(0).attr('style')); + + if (transRez) { + matrix[0] = parseFloat(transRez[2]); + matrix[1] = parseFloat(transRez[1]); + } + } + + return { + top: matrix[0], + left: matrix[1], + scaleX: matrix[2], + scaleY: matrix[3], + opacity: parseFloat($el.css('opacity')), + width: $el.width(), + height: $el.height(), + }; + + }, + + // Shortcut for setting "translate3d" properties for element + // Can set be used to set opacity, too + // ======================================================== + + setTranslate: function($el, props) { + var str = ''; + var css = {}; + + if (!$el || !props) { + return; + } + + if (props.left !== undefined || props.top !== undefined) { + str = (props.left === undefined ? $el.position().left : props.left) + + 'px, ' + + (props.top === undefined ? $el.position().top : props.top) + 'px'; + + if (this.use3d) { + str = 'translate3d(' + str + ', 0px)'; + + } else { + str = 'translate(' + str + ')'; + } + } + + if (props.scaleX !== undefined && props.scaleY !== undefined) { + str = (str.length ? str + ' ' : '') + 'scale(' + props.scaleX + ', ' + + props.scaleY + ')'; + } + + if (str.length) { + css.transform = str; + } + + if (props.opacity !== undefined) { + css.opacity = props.opacity; + } + + if (props.width !== undefined) { + css.width = props.width; + } + + if (props.height !== undefined) { + css.height = props.height; + } + + return $el.css(css); + }, + + // Simple CSS transition handler + // ============================= + + animate: function($el, to, duration, callback, leaveAnimationName) { + if ($.isFunction(duration)) { + callback = duration; + duration = null; + } + + if (!$.isPlainObject(to)) { + $el.removeAttr('style'); + } + + $el.on(transitionEnd, function(e) { + + // Skip events from child elements and z-index change + if (e && e.originalEvent && + (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == + 'z-index')) { + return; + } + + $.fancybox.stop($el); + + if ($.isPlainObject(to)) { + + if (to.scaleX !== undefined && to.scaleY !== undefined) { + $el.css('transition-duration', ''); + + to.width = Math.round($el.width() * to.scaleX); + to.height = Math.round($el.height() * to.scaleY); + + to.scaleX = 1; + to.scaleY = 1; + + $.fancybox.setTranslate($el, to); + } + + if (leaveAnimationName === false) { + $el.removeAttr('style'); + } + + } else if (leaveAnimationName !== true) { + $el.removeClass(to); + } + + if ($.isFunction(callback)) { + callback(e); + } + + }); + + if ($.isNumeric(duration)) { + $el.css('transition-duration', duration + 'ms'); + } + + if ($.isPlainObject(to)) { + $.fancybox.setTranslate($el, to); + + } else { + $el.addClass(to); + } + + if (to.scaleX && $el.hasClass('fancybox-image-wrap')) { + $el.parent().addClass('fancybox-is-scaling'); + } + + // Make sure that `transitionend` callback gets fired + $el.data('timer', setTimeout(function() { + $el.trigger('transitionend'); + }, duration + 16)); + + }, + + stop: function($el) { + clearTimeout($el.data('timer')); + + $el.off('transitionend').css('transition-duration', ''); + + if ($el.hasClass('fancybox-image-wrap')) { + $el.parent().removeClass('fancybox-is-scaling'); + } + }, + + }; + + // Default click handler for "fancyboxed" links + // ============================================ + + function _run(e) { + var $target = $(e.currentTarget), + opts = e.data ? e.data.options : {}, + value = $target.attr('data-fancybox') || '', + index = 0, + items = []; + + // Avoid opening multiple times + if (e.isDefaultPrevented()) { + return; + } + + e.preventDefault(); + + // Get all related items and find index for clicked one + if (value) { + items = opts.selector ? $(opts.selector) : (e.data ? e.data.items : []); + items = items.length ? + items.filter('[data-fancybox="' + value + '"]') : + $('[data-fancybox="' + value + '"]'); + + index = items.index($target); + + // Sometimes current item can not be found + // (for example, when slider clones items) + if (index < 0) { + index = 0; + } + + } else { + items = [$target]; + } + + $.fancybox.open(items, opts, index); + } + + // Create a jQuery plugin + // ====================== + + $.fn.fancybox = function(options) { + var selector; + + options = options || {}; + selector = options.selector || false; + + if (selector) { + + $('body').off('click.fb-start', selector).on('click.fb-start', selector, { + options: options, + }, _run); + + } else { + + this.off('click.fb-start').on('click.fb-start', { + items: this, + options: options, + }, _run); + + } + + return this; + }; + + // Self initializing plugin + // ======================== + + $D.on('click.fb-start', '[data-fancybox]', _run); + +}(window, document, window.jQuery || jQuery)); + +// ========================================================================== +// +// Media +// Adds additional media type support +// +// ========================================================================== +;(function($) { + + 'use strict'; + + // Formats matching url to final form + + var format = function(url, rez, params) { + if (!url) { + return; + } + + params = params || ''; + + if ($.type(params) === 'object') { + params = $.param(params, true); + } + + $.each(rez, function(key, value) { + url = url.replace('$' + key, value || ''); + }); + + if (params.length) { + url += (url.indexOf('?') > 0 ? '&' : '?') + params; + } + + return url; + }; + + // Object containing properties for each media type + + var defaults = { + youtube: { + matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, + params: { + autoplay: 1, + autohide: 1, + fs: 1, + rel: 0, + hd: 1, + wmode: 'transparent', + enablejsapi: 1, + html5: 1, + }, + paramPlace: 8, + type: 'iframe', + url: '//www.youtube.com/embed/$4', + thumb: '//img.youtube.com/vi/$4/hqdefault.jpg', + }, + + vimeo: { + matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, + params: { + autoplay: 1, + hd: 1, + show_title: 1, + show_byline: 1, + show_portrait: 0, + fullscreen: 1, + api: 1, + }, + paramPlace: 3, + type: 'iframe', + url: '//player.vimeo.com/video/$2', + }, + + metacafe: { + matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/, + type: 'iframe', + url: '//www.metacafe.com/embed/$1/?ap=1', + }, + + dailymotion: { + matcher: /dailymotion.com\/video\/(.*)\/?(.*)/, + params: { + additionalInfos: 0, + autoStart: 1, + }, + type: 'iframe', + url: '//www.dailymotion.com/embed/video/$1', + }, + + vine: { + matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/, + type: 'iframe', + url: '//vine.co/v/$1/embed/simple', + }, + + instagram: { + matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, + type: 'image', + url: '//$1/p/$2/media/?size=l', + }, + + // Examples: + // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16 + // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z + // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572 + gmap_place: { + matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, + type: 'iframe', + url: function(rez) { + return '//maps.google.' + rez[2] + '/?ll=' + (rez[9] ? + rez[9] + '&z=' + Math.floor(rez[10]) + + (rez[12] ? rez[12].replace(/^\//, '&') : '') : + rez[12]) + '&output=' + + (rez[12] && rez[12].indexOf('layer=c') > 0 ? 'svembed' : 'embed'); + }, + }, + + // Examples: + // https://www.google.com/maps/search/Empire+State+Building/ + // https://www.google.com/maps/search/?api=1&query=centurylink+field + // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393 + gmap_search: { + matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, + type: 'iframe', + url: function(rez) { + return '//maps.google.' + rez[2] + '/maps?q=' + + rez[5].replace('query=', 'q=').replace('api=1', '') + + '&output=embed'; + }, + }, + }; + + $(document).on('objectNeedsType.fb', function(e, instance, item) { + + var url = item.src || '', + type = false, + media, + thumb, + rez, + params, + urlParams, + paramObj, + provider; + + media = $.extend(true, {}, defaults, item.opts.media); + + // Look for any matching media type + $.each(media, function(providerName, providerOpts) { + rez = url.match(providerOpts.matcher); + + if (!rez) { + return; + } + + type = providerOpts.type; + paramObj = {}; + + if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) { + urlParams = rez[providerOpts.paramPlace]; + + if (urlParams[0] == '?') { + urlParams = urlParams.substring(1); + } + + urlParams = urlParams.split('&'); + + for (var m = 0; m < urlParams.length; ++m) { + var p = urlParams[m].split('=', 2); + + if (p.length == 2) { + paramObj[p[0]] = decodeURIComponent(p[1].replace(/\+/g, ' ')); + } + } + } + + params = $.extend(true, {}, providerOpts.params, item.opts[providerName], + paramObj); + + url = $.type(providerOpts.url) === 'function' ? + providerOpts.url.call(this, rez, params, item) : + format(providerOpts.url, rez, params); + thumb = $.type(providerOpts.thumb) === 'function' ? + providerOpts.thumb.call(this, rez, params, item) : + format(providerOpts.thumb, rez); + + if (providerName === 'vimeo') { + url = url.replace('&%23', '#'); + } + + return false; + }); + + // If it is found, then change content type and update the url + + if (type) { + item.src = url; + item.type = type; + + if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) { + item.opts.thumb = thumb; + } + + if (type === 'iframe') { + $.extend(true, item.opts, { + iframe: { + preload: false, + attr: { + scrolling: 'no', + }, + }, + }); + + item.contentProvider = provider; + + item.opts.slideClass += ' fancybox-slide--' + + (provider == 'gmap_place' || provider == 'gmap_search' ? + 'map' : + 'video'); + } + + } else if (url) { + item.type = item.opts.defaultType; + } + + }); + +}(window.jQuery || jQuery)); + +// ========================================================================== +// +// Guestures +// Adds touch guestures, handles click and tap events +// +// ========================================================================== +;(function(window, document, $) { + 'use strict'; + + var requestAFrame = (function() { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function(callback) { + return window.setTimeout(callback, 1000 / 60); + }; + })(); + + var cancelAFrame = (function() { + return window.cancelAnimationFrame || + window.webkitCancelAnimationFrame || + window.mozCancelAnimationFrame || + window.oCancelAnimationFrame || + function(id) { + window.clearTimeout(id); + }; + })(); + + var pointers = function(e) { + var result = []; + + e = e.originalEvent || e || window.e; + e = e.touches && e.touches.length ? + e.touches : + (e.changedTouches && e.changedTouches.length ? e.changedTouches : [e]); + + for (var key in e) { + + if (e[key].pageX) { + result.push({x: e[key].pageX, y: e[key].pageY}); + + } else if (e[key].clientX) { + result.push({x: e[key].clientX, y: e[key].clientY}); + } + } + + return result; + }; + + var distance = function(point2, point1, what) { + if (!point1 || !point2) { + return 0; + } + + if (what === 'x') { + return point2.x - point1.x; + + } else if (what === 'y') { + return point2.y - point1.y; + } + + return Math.sqrt( + Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2)); + }; + + var isClickable = function($el) { + if ($el.is( + 'a,area,button,[role="button"],input,label,select,summary,textarea') || + $.isFunction($el.get(0).onclick) || $el.data('selectable')) { + return true; + } + + // Check for attributes like data-fancybox-next or data-fancybox-close + for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) { + if (atts[i].nodeName.substr(0, 14) === 'data-fancybox-') { + return true; + } + } + + return false; + }; + + var hasScrollbars = function(el) { + var overflowY = window.getComputedStyle(el)['overflow-y']; + var overflowX = window.getComputedStyle(el)['overflow-x']; + + var vertical = (overflowY === 'scroll' || overflowY === 'auto') && + el.scrollHeight > el.clientHeight; + var horizontal = (overflowX === 'scroll' || overflowX === 'auto') && + el.scrollWidth > el.clientWidth; + + return vertical || horizontal; + }; + + var isScrollable = function($el) { + var rez = false; + + while (true) { + rez = hasScrollbars($el.get(0)); + + if (rez) { + break; + } + + $el = $el.parent(); + + if (!$el.length || $el.hasClass('fancybox-stage') || $el.is('body')) { + break; + } + } + + return rez; + }; + + var Guestures = function(instance) { + var self = this; + + self.instance = instance; + + self.$bg = instance.$refs.bg; + self.$stage = instance.$refs.stage; + self.$container = instance.$refs.container; + + self.destroy(); + + self.$container.on('touchstart.fb.touch mousedown.fb.touch', + $.proxy(self, 'ontouchstart')); + }; + + Guestures.prototype.destroy = function() { + this.$container.off('.fb.touch'); + }; + + Guestures.prototype.ontouchstart = function(e) { + var self = this; + + var $target = $(e.target); + var instance = self.instance; + var current = instance.current; + var $content = current.$content; + + var isTouchDevice = (e.type == 'touchstart'); + + // Do not respond to both (touch and mouse) events + if (isTouchDevice) { + self.$container.off('mousedown.fb.touch'); + } + + // Ignore right click + if (e.originalEvent && e.originalEvent.button == 2) { + return; + } + + // Ignore taping on links, buttons, input elements + if (!$target.length || isClickable($target) || + isClickable($target.parent())) { + return; + } + + // Ignore clicks on the scrollbar + if (!$target.is('img') && e.originalEvent.clientX > $target[0].clientWidth + + $target.offset().left) { + return; + } + + // Ignore clicks while zooming or closing + if (!current || self.instance.isAnimating || self.instance.isClosing) { + e.stopPropagation(); + e.preventDefault(); + + return; + } + + self.realPoints = self.startPoints = pointers(e); + + if (!self.startPoints) { + return; + } + + e.stopPropagation(); + + self.startEvent = e; + + self.canTap = true; + self.$target = $target; + self.$content = $content; + self.opts = current.opts.touch; + + self.isPanning = false; + self.isSwiping = false; + self.isZooming = false; + self.isScrolling = false; + + self.sliderStartPos = self.sliderLastPos || {top: 0, left: 0}; + self.contentStartPos = $.fancybox.getTranslate(self.$content); + self.contentLastPos = null; + + self.startTime = new Date().getTime(); + self.distanceX = self.distanceY = self.distance = 0; + + self.canvasWidth = Math.round(current.$slide[0].clientWidth); + self.canvasHeight = Math.round(current.$slide[0].clientHeight); + + $(document). + off('.fb.touch'). + on(isTouchDevice ? + 'touchend.fb.touch touchcancel.fb.touch' : + 'mouseup.fb.touch mouseleave.fb.touch', + $.proxy(self, 'ontouchend')). + on(isTouchDevice ? 'touchmove.fb.touch' : 'mousemove.fb.touch', + $.proxy(self, 'ontouchmove')); + + if ($.fancybox.isMobile) { + document.addEventListener('scroll', self.onscroll, true); + } + + if (!(self.opts || instance.canPan()) || + !($target.is(self.$stage) || self.$stage.find($target).length)) { + + // Prevent image ghosting while dragging + if ($target.is('img')) { + e.preventDefault(); + } + + return; + } + + if (!($.fancybox.isMobile && + (isScrollable($target) || isScrollable($target.parent())))) { + e.preventDefault(); + } + + if (self.startPoints.length === 1) { + if (current.type === 'image' && + (self.contentStartPos.width > self.canvasWidth + 1 || + self.contentStartPos.height > self.canvasHeight + 1)) { + $.fancybox.stop(self.$content); + + self.$content.css('transition-duration', ''); + + self.isPanning = true; + + } else { + self.isSwiping = true; + } + + self.$container.addClass('fancybox-controls--isGrabbing'); + } + + if (self.startPoints.length === 2 && !instance.isAnimating && + !current.hasError && current.type === 'image' && + (current.isLoaded || current.$ghost)) { + self.canTap = false; + self.isSwiping = false; + self.isPanning = false; + + self.isZooming = true; + + $.fancybox.stop(self.$content); + + self.$content.css('transition-duration', ''); + + self.centerPointStartX = ((self.startPoints[0].x + + self.startPoints[1].x) * 0.5) - $(window).scrollLeft(); + self.centerPointStartY = ((self.startPoints[0].y + + self.startPoints[1].y) * 0.5) - $(window).scrollTop(); + + self.percentageOfImageAtPinchPointX = (self.centerPointStartX - + self.contentStartPos.left) / self.contentStartPos.width; + self.percentageOfImageAtPinchPointY = (self.centerPointStartY - + self.contentStartPos.top) / self.contentStartPos.height; + + self.startDistanceBetweenFingers = distance(self.startPoints[0], + self.startPoints[1]); + } + + }; + + Guestures.prototype.onscroll = function(e) { + self.isScrolling = true; + }; + + Guestures.prototype.ontouchmove = function(e) { + var self = this, + $target = $(e.target); + + if (self.isScrolling || + !($target.is(self.$stage) || self.$stage.find($target).length)) { + self.canTap = false; + + return; + } + + self.newPoints = pointers(e); + + if (!(self.opts || self.instance.canPan()) || !self.newPoints || + !self.newPoints.length) { + return; + } + + if (!(self.isSwiping && self.isSwiping === true)) { + e.preventDefault(); + } + + self.distanceX = distance(self.newPoints[0], self.startPoints[0], 'x'); + self.distanceY = distance(self.newPoints[0], self.startPoints[0], 'y'); + + self.distance = distance(self.newPoints[0], self.startPoints[0]); + + // Skip false ontouchmove events (Chrome) + if (self.distance > 0) { + if (self.isSwiping) { + self.onSwipe(e); + + } else if (self.isPanning) { + self.onPan(); + + } else if (self.isZooming) { + self.onZoom(); + } + } + + }; + + Guestures.prototype.onSwipe = function(e) { + var self = this, + swiping = self.isSwiping, + left = self.sliderStartPos.left || 0, + angle; + + // If direction is not yet determined + if (swiping === true) { + + // We need at least 10px distance to correctly calculate an angle + if (Math.abs(self.distance) > 10) { + self.canTap = false; + + if (self.instance.group.length < 2 && self.opts.vertical) { + self.isSwiping = 'y'; + + } else if (self.instance.isDragging || self.opts.vertical === false || + (self.opts.vertical === 'auto' && $(window).width() > 800)) { + self.isSwiping = 'x'; + + } else { + angle = Math.abs( + Math.atan2(self.distanceY, self.distanceX) * 180 / Math.PI); + + self.isSwiping = (angle > 45 && angle < 135) ? 'y' : 'x'; + } + + self.canTap = false; + + if (self.isSwiping === 'y' && $.fancybox.isMobile && + (isScrollable(self.$target) || + isScrollable(self.$target.parent()))) { + self.isScrolling = true; + + return; + } + + self.instance.isDragging = self.isSwiping; + + // Reset points to avoid jumping, because we dropped first swipes to calculate the angle + self.startPoints = self.newPoints; + + $.each(self.instance.slides, function(index, slide) { + $.fancybox.stop(slide.$slide); + + slide.$slide.css('transition-duration', ''); + + slide.inTransition = false; + + if (slide.pos === self.instance.current.pos) { + self.sliderStartPos.left = $.fancybox.getTranslate( + slide.$slide).left; + } + }); + + // Stop slideshow + if (self.instance.SlideShow && self.instance.SlideShow.isActive) { + self.instance.SlideShow.stop(); + } + } + + return; + } + + // Sticky edges + if (swiping == 'x') { + if (self.distanceX > 0 && (self.instance.group.length < 2 || + (self.instance.current.index === 0 && + !self.instance.current.opts.loop))) { + left = left + Math.pow(self.distanceX, 0.8); + + } else if (self.distanceX < 0 && (self.instance.group.length < 2 || + (self.instance.current.index === self.instance.group.length - 1 && + !self.instance.current.opts.loop))) { + left = left - Math.pow(-self.distanceX, 0.8); + + } else { + left = left + self.distanceX; + } + } + + self.sliderLastPos = { + top: swiping == 'x' ? 0 : self.sliderStartPos.top + self.distanceY, + left: left, + }; + + if (self.requestId) { + cancelAFrame(self.requestId); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + + if (self.sliderLastPos) { + $.each(self.instance.slides, function(index, slide) { + var pos = slide.pos - self.instance.currPos; + + $.fancybox.setTranslate(slide.$slide, { + top: self.sliderLastPos.top, + left: self.sliderLastPos.left + (pos * self.canvasWidth) + + (pos * slide.opts.gutter), + }); + }); + + self.$container.addClass('fancybox-is-sliding'); + } + + }); + + }; + + Guestures.prototype.onPan = function() { + var self = this; + + // Sometimes, when tapping causally, image can move a bit and that breaks double tapping + if (distance(self.newPoints[0], self.realPoints[0]) < + ($.fancybox.isMobile ? 10 : 5)) { + self.startPoints = self.newPoints; + return; + } + + self.canTap = false; + + self.contentLastPos = self.limitMovement(); + + if (self.requestId) { + cancelAFrame(self.requestId); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + $.fancybox.setTranslate(self.$content, self.contentLastPos); + }); + }; + + // Make panning sticky to the edges + Guestures.prototype.limitMovement = function() { + var self = this; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + var distanceX = self.distanceX; + var distanceY = self.distanceY; + + var contentStartPos = self.contentStartPos; + + var currentOffsetX = contentStartPos.left; + var currentOffsetY = contentStartPos.top; + + var currentWidth = contentStartPos.width; + var currentHeight = contentStartPos.height; + + var minTranslateX, minTranslateY, + maxTranslateX, maxTranslateY, + newOffsetX, newOffsetY; + + if (currentWidth > canvasWidth) { + newOffsetX = currentOffsetX + distanceX; + + } else { + newOffsetX = currentOffsetX; + } + + newOffsetY = currentOffsetY + distanceY; + + // Slow down proportionally to traveled distance + minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5); + minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5); + + maxTranslateX = Math.min(canvasWidth - currentWidth, + canvasWidth * 0.5 - currentWidth * 0.5); + maxTranslateY = Math.min(canvasHeight - currentHeight, + canvasHeight * 0.5 - currentHeight * 0.5); + + if (currentWidth > canvasWidth) { + + // -> + if (distanceX > 0 && newOffsetX > minTranslateX) { + newOffsetX = minTranslateX - 1 + + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0; + } + + // <- + if (distanceX < 0 && newOffsetX < maxTranslateX) { + newOffsetX = maxTranslateX + 1 - + Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0; + } + + } + + if (currentHeight > canvasHeight) { + + // \/ + if (distanceY > 0 && newOffsetY > minTranslateY) { + newOffsetY = minTranslateY - 1 + + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0; + } + + // /\ + if (distanceY < 0 && newOffsetY < maxTranslateY) { + newOffsetY = maxTranslateY + 1 - + Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0; + } + + } + + return { + top: newOffsetY, + left: newOffsetX, + scaleX: contentStartPos.scaleX, + scaleY: contentStartPos.scaleY, + }; + + }; + + Guestures.prototype.limitPosition = function( + newOffsetX, newOffsetY, newWidth, newHeight) { + var self = this; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + if (newWidth > canvasWidth) { + newOffsetX = newOffsetX > 0 ? 0 : newOffsetX; + newOffsetX = newOffsetX < canvasWidth - newWidth ? + canvasWidth - newWidth : + newOffsetX; + + } else { + + // Center horizontally + newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2); + + } + + if (newHeight > canvasHeight) { + newOffsetY = newOffsetY > 0 ? 0 : newOffsetY; + newOffsetY = newOffsetY < canvasHeight - newHeight ? + canvasHeight - newHeight : + newOffsetY; + + } else { + + // Center vertically + newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2); + + } + + return { + top: newOffsetY, + left: newOffsetX, + }; + + }; + + Guestures.prototype.onZoom = function() { + var self = this; + + // Calculate current distance between points to get pinch ratio and new width and height + + var currentWidth = self.contentStartPos.width; + var currentHeight = self.contentStartPos.height; + + var currentOffsetX = self.contentStartPos.left; + var currentOffsetY = self.contentStartPos.top; + + var endDistanceBetweenFingers = distance(self.newPoints[0], + self.newPoints[1]); + + var pinchRatio = endDistanceBetweenFingers / + self.startDistanceBetweenFingers; + + var newWidth = Math.floor(currentWidth * pinchRatio); + var newHeight = Math.floor(currentHeight * pinchRatio); + + // This is the translation due to pinch-zooming + var translateFromZoomingX = (currentWidth - newWidth) * + self.percentageOfImageAtPinchPointX; + var translateFromZoomingY = (currentHeight - newHeight) * + self.percentageOfImageAtPinchPointY; + + //Point between the two touches + + var centerPointEndX = ((self.newPoints[0].x + self.newPoints[1].x) / 2) - + $(window).scrollLeft(); + var centerPointEndY = ((self.newPoints[0].y + self.newPoints[1].y) / 2) - + $(window).scrollTop(); + + // And this is the translation due to translation of the centerpoint + // between the two fingers + + var translateFromTranslatingX = centerPointEndX - self.centerPointStartX; + var translateFromTranslatingY = centerPointEndY - self.centerPointStartY; + + // The new offset is the old/current one plus the total translation + + var newOffsetX = currentOffsetX + + (translateFromZoomingX + translateFromTranslatingX); + var newOffsetY = currentOffsetY + + (translateFromZoomingY + translateFromTranslatingY); + + var newPos = { + top: newOffsetY, + left: newOffsetX, + scaleX: self.contentStartPos.scaleX * pinchRatio, + scaleY: self.contentStartPos.scaleY * pinchRatio, + }; + + self.canTap = false; + + self.newWidth = newWidth; + self.newHeight = newHeight; + + self.contentLastPos = newPos; + + if (self.requestId) { + cancelAFrame(self.requestId); + + self.requestId = null; + } + + self.requestId = requestAFrame(function() { + $.fancybox.setTranslate(self.$content, self.contentLastPos); + }); + + }; + + Guestures.prototype.ontouchend = function(e) { + var self = this; + var dMs = Math.max((new Date().getTime()) - self.startTime, 1); + + var swiping = self.isSwiping; + var panning = self.isPanning; + var zooming = self.isZooming; + var scrolling = self.isScrolling; + + self.endPoints = pointers(e); + + self.$container.removeClass('fancybox-controls--isGrabbing'); + + $(document).off('.fb.touch'); + + document.removeEventListener('scroll', self.onscroll, true); + + if (self.requestId) { + cancelAFrame(self.requestId); + + self.requestId = null; + } + + self.isSwiping = false; + self.isPanning = false; + self.isZooming = false; + self.isScrolling = false; + + self.instance.isDragging = false; + + if (self.canTap) { + return self.onTap(e); + } + + self.speed = 366; + + // Speed in px/ms + self.velocityX = self.distanceX / dMs * 0.5; + self.velocityY = self.distanceY / dMs * 0.5; + + self.speedX = Math.max(self.speed * 0.5, Math.min(self.speed * 1.5, + (1 / Math.abs(self.velocityX)) * self.speed)); + + if (panning) { + self.endPanning(); + + } else if (zooming) { + self.endZooming(); + + } else { + self.endSwiping(swiping, scrolling); + } + + }; + + Guestures.prototype.endSwiping = function(swiping, scrolling) { + var self = this, + ret = false, + len = self.instance.group.length; + + self.sliderLastPos = null; + + // Close if swiped vertically / navigate if horizontally + if (swiping == 'y' && !scrolling && Math.abs(self.distanceY) > 50) { + + // Continue vertical movement + $.fancybox.animate(self.instance.current.$slide, { + top: self.sliderStartPos.top + self.distanceY + (self.velocityY * 150), + opacity: 0, + }, 150); + + ret = self.instance.close(true, 300); + + } else if (swiping == 'x' && self.distanceX > 50 && len > 1) { + ret = self.instance.previous(self.speedX); + + } else if (swiping == 'x' && self.distanceX < -50 && len > 1) { + ret = self.instance.next(self.speedX); + } + + if (ret === false && (swiping == 'x' || swiping == 'y')) { + if (scrolling || len < 2) { + self.instance.centerSlide(self.instance.current, 150); + } else { + self.instance.jumpTo(self.instance.current.index); + } + } + + self.$container.removeClass('fancybox-is-sliding'); + + }; + + // Limit panning from edges + // ======================== + + Guestures.prototype.endPanning = function() { + + var self = this; + var newOffsetX, newOffsetY, newPos; + + if (!self.contentLastPos) { + return; + } + + if (self.opts.momentum === false) { + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + + } else { + + // Continue movement + newOffsetX = self.contentLastPos.left + (self.velocityX * self.speed); + newOffsetY = self.contentLastPos.top + (self.velocityY * self.speed); + } + + newPos = self.limitPosition(newOffsetX, newOffsetY, + self.contentStartPos.width, self.contentStartPos.height); + + newPos.width = self.contentStartPos.width; + newPos.height = self.contentStartPos.height; + + $.fancybox.animate(self.$content, newPos, 330); + }; + + Guestures.prototype.endZooming = function() { + var self = this; + + var current = self.instance.current; + + var newOffsetX, newOffsetY, newPos, reset; + + var newWidth = self.newWidth; + var newHeight = self.newHeight; + + if (!self.contentLastPos) { + return; + } + + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + + reset = { + top: newOffsetY, + left: newOffsetX, + width: newWidth, + height: newHeight, + scaleX: 1, + scaleY: 1, + }; + + // Reset scalex/scaleY values; this helps for perfomance and does not break animation + $.fancybox.setTranslate(self.$content, reset); + + if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) { + self.instance.scaleToFit(150); + + } else if (newWidth > current.width || newHeight > current.height) { + self.instance.scaleToActual(self.centerPointStartX, + self.centerPointStartY, 150); + + } else { + + newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight); + + // Switch from scale() to width/height or animation will not work correctly + $.fancybox.setTranslate(self.content, + $.fancybox.getTranslate(self.$content)); + + $.fancybox.animate(self.$content, newPos, 150); + } + + }; + + Guestures.prototype.onTap = function(e) { + var self = this; + var $target = $(e.target); + + var instance = self.instance; + var current = instance.current; + + var endPoints = (e && pointers(e)) || self.startPoints; + + var tapX = endPoints[0] ? endPoints[0].x - self.$stage.offset().left : 0; + var tapY = endPoints[0] ? endPoints[0].y - self.$stage.offset().top : 0; + + var where; + + var process = function(prefix) { + + var action = current.opts[prefix]; + + if ($.isFunction(action)) { + action = action.apply(instance, [current, e]); + } + + if (!action) { + return; + } + + switch (action) { + + case 'close' : + + instance.close(self.startEvent); + + break; + + case 'toggleControls' : + + instance.toggleControls(true); + + break; + + case 'next' : + + instance.next(); + + break; + + case 'nextOrClose' : + + if (instance.group.length > 1) { + instance.next(); + + } else { + instance.close(self.startEvent); + } + + break; + + case 'zoom' : + + if (current.type == 'image' && (current.isLoaded || current.$ghost)) { + + if (instance.canPan()) { + instance.scaleToFit(); + + } else if (instance.isScaledDown()) { + instance.scaleToActual(tapX, tapY); + + } else if (instance.group.length < 2) { + instance.close(self.startEvent); + } + } + + break; + } + + }; + + // Ignore right click + if (e.originalEvent && e.originalEvent.button == 2) { + return; + } + + // Skip if clicked on the scrollbar + if (!$target.is('img') && tapX > $target[0].clientWidth + + $target.offset().left) { + return; + } + + // Check where is clicked + if ($target.is( + '.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container')) { + where = 'Outside'; + + } else if ($target.is('.fancybox-slide')) { + where = 'Slide'; + + } else if (instance.current.$content && + instance.current.$content.find($target). + addBack(). + filter($target).length) { + where = 'Content'; + + } else { + return; + } + + // Check if this is a double tap + if (self.tapped) { + + // Stop previously created single tap + clearTimeout(self.tapped); + self.tapped = null; + + // Skip if distance between taps is too big + if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) { + return this; + } + + // OK, now we assume that this is a double-tap + process('dblclick' + where); + + } else { + + // Single tap will be processed if user has not clicked second time within 300ms + // or there is no need to wait for double-tap + self.tapX = tapX; + self.tapY = tapY; + + if (current.opts['dblclick' + where] && + current.opts['dblclick' + where] !== current.opts['click' + where]) { + + self.tapped = setTimeout(function() { + self.tapped = null; + + process('click' + where); + + }, 500); + + } else { + process('click' + where); + } + + } + + return this; + }; + + $(document).on('onActivate.fb', function(e, instance) { + if (instance && !instance.Guestures) { + instance.Guestures = new Guestures(instance); + } + }); + +}(window, document, window.jQuery || jQuery)); + +// ========================================================================== +// +// SlideShow +// Enables slideshow functionality +// +// Example of usage: +// $.fancybox.getInstance().SlideShow.start() +// +// ========================================================================== +;(function(document, $) { + 'use strict'; + + $.extend(true, $.fancybox.defaults, { + btnTpl: { + slideShow: + '', + }, + slideShow: { + autoStart: false, + speed: 3000, + }, + }); + + var SlideShow = function(instance) { + this.instance = instance; + this.init(); + }; + + $.extend(SlideShow.prototype, { + timer: null, + isActive: false, + $button: null, + + init: function() { + var self = this; + + self.$button = self.instance.$refs.toolbar.find('[data-fancybox-play]'). + on('click', function() { + self.toggle(); + }); + + if (self.instance.group.length < 2 || + !self.instance.group[self.instance.currIndex].opts.slideShow) { + self.$button.hide(); + } + }, + + set: function(force) { + var self = this; + + // Check if reached last element + if (self.instance && self.instance.current && + (force === true || self.instance.current.opts.loop || + self.instance.currIndex < self.instance.group.length - 1)) { + self.timer = setTimeout(function() { + if (self.isActive) { + self.instance.jumpTo( + (self.instance.currIndex + 1) % self.instance.group.length); + } + + }, self.instance.current.opts.slideShow.speed); + + } else { + self.stop(); + self.instance.idleSecondsCounter = 0; + self.instance.showControls(); + } + }, + + clear: function() { + var self = this; + + clearTimeout(self.timer); + + self.timer = null; + }, + + start: function() { + var self = this; + var current = self.instance.current; + + if (current) { + self.isActive = true; + + self.$button.attr('title', + current.opts.i18n[current.opts.lang].PLAY_STOP). + removeClass('fancybox-button--play'). + addClass('fancybox-button--pause'); + + self.set(true); + } + }, + + stop: function() { + var self = this; + var current = self.instance.current; + + self.clear(); + + self.$button.attr('title', + current.opts.i18n[current.opts.lang].PLAY_START). + removeClass('fancybox-button--pause'). + addClass('fancybox-button--play'); + + self.isActive = false; + }, + + toggle: function() { + var self = this; + + if (self.isActive) { + self.stop(); + + } else { + self.start(); + } + }, + + }); + + $(document).on({ + 'onInit.fb': function(e, instance) { + if (instance && !instance.SlideShow) { + instance.SlideShow = new SlideShow(instance); + } + }, + + 'beforeShow.fb': function(e, instance, current, firstRun) { + var SlideShow = instance && instance.SlideShow; + + if (firstRun) { + + if (SlideShow && current.opts.slideShow.autoStart) { + SlideShow.start(); + } + + } else if (SlideShow && SlideShow.isActive) { + SlideShow.clear(); + } + }, + + 'afterShow.fb': function(e, instance, current) { + var SlideShow = instance && instance.SlideShow; + + if (SlideShow && SlideShow.isActive) { + SlideShow.set(); + } + }, + + 'afterKeydown.fb': function(e, instance, current, keypress, keycode) { + var SlideShow = instance && instance.SlideShow; + + // "P" or Spacebar + if (SlideShow && current.opts.slideShow && + (keycode === 80 || keycode === 32) && + !$(document.activeElement).is('button,a,input')) { + keypress.preventDefault(); + + SlideShow.toggle(); + } + }, + + 'beforeClose.fb onDeactivate.fb': function(e, instance) { + var SlideShow = instance && instance.SlideShow; + + if (SlideShow) { + SlideShow.stop(); + } + }, + }); + + // Page Visibility API to pause slideshow when window is not active + $(document).on('visibilitychange', function() { + var instance = $.fancybox.getInstance(); + var SlideShow = instance && instance.SlideShow; + + if (SlideShow && SlideShow.isActive) { + if (document.hidden) { + SlideShow.clear(); + + } else { + SlideShow.set(); + } + } + }); + +}(document, window.jQuery || jQuery)); + +// ========================================================================== +// +// FullScreen +// Adds fullscreen functionality +// +// ========================================================================== +;(function(document, $) { + 'use strict'; + + // Collection of methods supported by user browser + var fn = (function() { + + var fnMap = [ + [ + 'requestFullscreen', + 'exitFullscreen', + 'fullscreenElement', + 'fullscreenEnabled', + 'fullscreenchange', + 'fullscreenerror', + ], + // new WebKit + [ + 'webkitRequestFullscreen', + 'webkitExitFullscreen', + 'webkitFullscreenElement', + 'webkitFullscreenEnabled', + 'webkitfullscreenchange', + 'webkitfullscreenerror', + + ], + // old WebKit (Safari 5.1) + [ + 'webkitRequestFullScreen', + 'webkitCancelFullScreen', + 'webkitCurrentFullScreenElement', + 'webkitCancelFullScreen', + 'webkitfullscreenchange', + 'webkitfullscreenerror', + + ], + [ + 'mozRequestFullScreen', + 'mozCancelFullScreen', + 'mozFullScreenElement', + 'mozFullScreenEnabled', + 'mozfullscreenchange', + 'mozfullscreenerror', + ], + [ + 'msRequestFullscreen', + 'msExitFullscreen', + 'msFullscreenElement', + 'msFullscreenEnabled', + 'MSFullscreenChange', + 'MSFullscreenError', + ], + ]; + + var val; + var ret = {}; + var i, j; + + for (i = 0; i < fnMap.length; i++) { + val = fnMap[i]; + + if (val && val[1] in document) { + for (j = 0; j < val.length; j++) { + ret[fnMap[0][j]] = val[j]; + } + + return ret; + } + } + + return false; + })(); + + // If browser does not have Full Screen API, then simply unset default button template and stop + if (!fn) { + + if ($ && $.fancybox) { + $.fancybox.defaults.btnTpl.fullScreen = false; + } + + return; + } + + var FullScreen = { + + request: function(elem) { + + elem = elem || document.documentElement; + + elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT); + + }, + exit: function() { + + document[fn.exitFullscreen](); + + }, + toggle: function(elem) { + + elem = elem || document.documentElement; + + if (this.isFullscreen()) { + this.exit(); + + } else { + this.request(elem); + } + + }, + isFullscreen: function() { + + return Boolean(document[fn.fullscreenElement]); + + }, + enabled: function() { + + return Boolean(document[fn.fullscreenEnabled]); + + }, + }; + + $.extend(true, $.fancybox.defaults, { + btnTpl: { + fullScreen: + '', + }, + fullScreen: { + autoStart: false, + }, + }); + + $(document).on({ + 'onInit.fb': function(e, instance) { + var $container; + + if (instance && instance.group[instance.currIndex].opts.fullScreen) { + $container = instance.$refs.container; + + $container.on('click.fb-fullscreen', '[data-fancybox-fullscreen]', + function(e) { + + e.stopPropagation(); + e.preventDefault(); + + FullScreen.toggle($container[0]); + + }); + + if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === + true) { + FullScreen.request($container[0]); + } + + // Expose API + instance.FullScreen = FullScreen; + + } else if (instance) { + instance.$refs.toolbar.find('[data-fancybox-fullscreen]').hide(); + } + + }, + + 'afterKeydown.fb': function(e, instance, current, keypress, keycode) { + + // "P" or Spacebar + if (instance && instance.FullScreen && keycode === 70) { + keypress.preventDefault(); + + instance.FullScreen.toggle(instance.$refs.container[0]); + } + + }, + + 'beforeClose.fb': function(instance) { + if (instance && instance.FullScreen) { + FullScreen.exit(); + } + }, + }); + + $(document).on(fn.fullscreenchange, function() { + var isFullscreen = FullScreen.isFullscreen(), + instance = $.fancybox.getInstance(); + + if (instance) { + + // If image is zooming, then force to stop and reposition properly + if (instance.current && instance.current.type === 'image' && + instance.isAnimating) { + instance.current.$content.css('transition', 'none'); + + instance.isAnimating = false; + + instance.update(true, true, 0); + } + + instance.trigger('onFullscreenChange', isFullscreen); + + instance.$refs.container.toggleClass('fancybox-is-fullscreen', + isFullscreen); + } + + }); + +}(document, window.jQuery || jQuery)); + +// ========================================================================== +// +// Thumbs +// Displays thumbnails in a grid +// +// ========================================================================== +;(function(document, $) { + 'use strict'; + + // Make sure there are default values + $.fancybox.defaults = $.extend(true, { + btnTpl: { + thumbs: + '', + }, + thumbs: { + autoStart: false, // Display thumbnails on opening + hideOnClose: true, // Hide thumbnail grid when closing animation starts + parentEl: '.fancybox-container', // Container is injected into this element + axis: 'y', // Vertical (y) or horizontal (x) scrolling + }, + }, $.fancybox.defaults); + + var FancyThumbs = function(instance) { + this.init(instance); + }; + + $.extend(FancyThumbs.prototype, { + + $button: null, + $grid: null, + $list: null, + isVisible: false, + isActive: false, + + init: function(instance) { + var self = this; + + self.instance = instance; + + instance.Thumbs = self; + + // Enable thumbs if at least two group items have thumbnails + var first = instance.group[0], + second = instance.group[1]; + + self.opts = instance.group[instance.currIndex].opts.thumbs; + + self.$button = instance.$refs.toolbar.find('[data-fancybox-thumbs]'); + + if (self.opts && first && second && ( + (first.type == 'image' || first.opts.thumb || first.opts.$thumb) && + (second.type == 'image' || second.opts.thumb || second.opts.$thumb) + )) { + + self.$button.show().on('click', function() { + self.toggle(); + }); + + self.isActive = true; + + } else { + self.$button.hide(); + } + }, + + create: function() { + var self = this, + instance = self.instance, + parentEl = self.opts.parentEl, + list, + src; + + self.$grid = $( + '
'). + appendTo(instance.$refs.container.find(parentEl). + addBack(). + filter(parentEl)); + + // Build list HTML + list = '
    '; + + $.each(instance.group, function(i, item) { + src = item.opts.thumb || + (item.opts.$thumb ? item.opts.$thumb.attr('src') : null); + + if (!src && item.type === 'image') { + src = item.src; + } + + if (src && src.length) { + list += '
  • '; + } + }); + + list += '
'; + + self.$list = $(list).appendTo(self.$grid).on('click', 'li', function() { + instance.jumpTo($(this).data('index')); + }); + + self.$list.find('img').hide().one('load', function() { + var $parent = $(this).parent().removeClass('fancybox-thumbs-loading'), + thumbWidth = $parent.outerWidth(), + thumbHeight = $parent.outerHeight(), + width, + height, + widthRatio, + heightRatio; + + width = this.naturalWidth || this.width; + height = this.naturalHeight || this.height; + + // Calculate thumbnail dimensions; center vertically and horizontally + widthRatio = width / thumbWidth; + heightRatio = height / thumbHeight; + + if (widthRatio >= 1 && heightRatio >= 1) { + if (widthRatio > heightRatio) { + width = width / heightRatio; + height = thumbHeight; + + } else { + width = thumbWidth; + height = height / widthRatio; + } + } + + $(this).css({ + width: Math.floor(width), + height: Math.floor(height), + 'margin-top': height > thumbHeight ? + (Math.floor(thumbHeight * 0.3 - height * 0.3)) : + Math.floor(thumbHeight * 0.5 - height * 0.5), + 'margin-left': Math.floor(thumbWidth * 0.5 - width * 0.5), + }).show(); + + }).each(function() { + this.src = $(this).data('src'); + }); + + if (self.opts.axis === 'x') { + self.$list.width(parseInt(self.$grid.css('padding-right')) + + (instance.group.length * + self.$list.children().eq(0).outerWidth(true)) + 'px'); + } + }, + + focus: function(duration) { + var self = this, + $list = self.$list, + thumb, + thumbPos; + + if (self.instance.current) { + thumb = $list.children(). + removeClass('fancybox-thumbs-active'). + filter('[data-index="' + self.instance.current.index + '"]'). + addClass('fancybox-thumbs-active'); + + thumbPos = thumb.position(); + + // Check if need to scroll to make current thumb visible + if (self.opts.axis === 'y' && (thumbPos.top < 0 || thumbPos.top > + ($list.height() - thumb.outerHeight()))) { + $list.stop(). + animate({'scrollTop': $list.scrollTop() + thumbPos.top}, + duration); + + } else if (self.opts.axis === 'x' && ( + thumbPos.left < $list.parent().scrollLeft() || + thumbPos.left > ($list.parent().scrollLeft() + + ($list.parent().width() - thumb.outerWidth())) + ) + ) { + $list.parent(). + stop(). + animate({'scrollLeft': thumbPos.left}, duration); + } + } + }, + + update: function() { + this.instance.$refs.container.toggleClass('fancybox-show-thumbs', + this.isVisible); + + if (this.isVisible) { + if (!this.$grid) { + this.create(); + } + + this.instance.trigger('onThumbsShow'); + + this.focus(0); + + } else if (this.$grid) { + this.instance.trigger('onThumbsHide'); + } + + // Update content position + this.instance.update(); + }, + + hide: function() { + this.isVisible = false; + this.update(); + }, + + show: function() { + this.isVisible = true; + this.update(); + }, + + toggle: function() { + this.isVisible = !this.isVisible; + this.update(); + }, + }); + + $(document).on({ + + 'onInit.fb': function(e, instance) { + var Thumbs; + + if (instance && !instance.Thumbs) { + Thumbs = new FancyThumbs(instance); + + if (Thumbs.isActive && Thumbs.opts.autoStart === true) { + Thumbs.show(); + } + } + }, + + 'beforeShow.fb': function(e, instance, item, firstRun) { + var Thumbs = instance && instance.Thumbs; + + if (Thumbs && Thumbs.isVisible) { + Thumbs.focus(firstRun ? 0 : 250); + } + }, + + 'afterKeydown.fb': function(e, instance, current, keypress, keycode) { + var Thumbs = instance && instance.Thumbs; + + // "G" + if (Thumbs && Thumbs.isActive && keycode === 71) { + keypress.preventDefault(); + + Thumbs.toggle(); + } + }, + + 'beforeClose.fb': function(e, instance) { + var Thumbs = instance && instance.Thumbs; + + if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) { + Thumbs.$grid.hide(); + } + }, + + }); + +}(document, window.jQuery)); + +//// ========================================================================== +// +// Share +// Displays simple form for sharing current url +// +// ========================================================================== +;(function(document, $) { + 'use strict'; + + $.extend(true, $.fancybox.defaults, { + btnTpl: { + share: + '', + }, + share: { + tpl: + '
' + + '

{{SHARE}}

' + + '' + + '

' + + '
', + }, + }); + + function escapeHtml(string) { + var entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/', + '`': '`', + '=': '=', + }; + + return String(string).replace(/[&<>"'`=\/]/g, function(s) { + return entityMap[s]; + }); + } + + $(document).on('click', '[data-fancybox-share]', function() { + var f = $.fancybox.getInstance(), + url, + tpl; + + if (f) { + url = f.current.opts.hash === false ? f.current.src : window.location; + tpl = f.current.opts.share.tpl.replace(/\{\{media\}\}/g, + f.current.type === 'image' ? encodeURIComponent(f.current.src) : ''). + replace(/\{\{url\}\}/g, encodeURIComponent(url)). + replace(/\{\{url_raw\}\}/g, escapeHtml(url)). + replace(/\{\{descr\}\}/g, + f.$caption ? encodeURIComponent(f.$caption.text()) : ''); + + $.fancybox.open({ + src: f.translate(f, tpl), + type: 'html', + opts: { + animationEffect: 'fade', + animationDuration: 250, + afterLoad: function(instance, current) { + // Opening links in a popup window + current.$content.find('.fancybox-share__links a').click(function() { + window.open(this.href, 'Share', 'width=550, height=450'); + return false; + }); + }, + }, + }); + } + + }); + +}(document, window.jQuery || jQuery)); + +// ========================================================================== +// +// Hash +// Enables linking to each modal +// +// ========================================================================== +;(function(document, window, $) { + 'use strict'; + + // Simple $.escapeSelector polyfill (for jQuery prior v3) + if (!$.escapeSelector) { + $.escapeSelector = function(sel) { + var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + var fcssescape = function(ch, asCodePoint) { + if (asCodePoint) { + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if (ch === '\0') { + return '\uFFFD'; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice(0, -1) + '\\' + + ch.charCodeAt(ch.length - 1).toString(16) + ' '; + } + + // Other potentially-special ASCII characters get backslash-escaped + return '\\' + ch; + }; + + return (sel + '').replace(rcssescape, fcssescape); + }; + } + + // Create new history entry only once + var shouldCreateHistory = true; + + // Variable containing last hash value set by fancyBox + // It will be used to determine if fancyBox needs to close after hash change is detected + var currentHash = null; + + // Throttling the history change + var timerID = null; + + // Get info about gallery name and current index from url + function parseUrl() { + var hash = window.location.hash.substr(1); + var rez = hash.split('-'); + var index = rez.length > 1 && /^\+?\d+$/.test(rez[rez.length - 1]) ? + parseInt(rez.pop(-1), 10) || 1 : + 1; + var gallery = rez.join('-'); + + // Index is starting from 1 + if (index < 1) { + index = 1; + } + + return { + hash: hash, + index: index, + gallery: gallery, + }; + } + + // Trigger click evnt on links to open new fancyBox instance + function triggerFromUrl(url) { + var $el; + + if (url.gallery !== '') { + + // If we can find element matching 'data-fancybox' atribute, then trigger click event for that .. + $el = $('[data-fancybox=\'' + $.escapeSelector(url.gallery) + '\']'). + eq(url.index - 1); + + if (!$el.length) { + // .. if not, try finding element by ID + $el = $('#' + $.escapeSelector(url.gallery) + ''); + } + + if ($el.length) { + shouldCreateHistory = false; + + $el.trigger('click'); + } + + } + } + + // Get gallery name from current instance + function getGalleryID(instance) { + var opts; + + if (!instance) { + return false; + } + + opts = instance.current ? instance.current.opts : instance.opts; + + return opts.hash || (opts.$orig ? opts.$orig.data('fancybox') : ''); + } + + // Start when DOM becomes ready + $(function() { + + // Check if user has disabled this module + if ($.fancybox.defaults.hash === false) { + return; + } + + // Update hash when opening/closing fancyBox + $(document).on({ + 'onInit.fb': function(e, instance) { + var url, gallery; + + if (instance.group[instance.currIndex].opts.hash === false) { + return; + } + + url = parseUrl(); + gallery = getGalleryID(instance); + + // Make sure gallery start index matches index from hash + if (gallery && url.gallery && gallery == url.gallery) { + instance.currIndex = url.index - 1; + } + }, + + 'beforeShow.fb': function(e, instance, current) { + var gallery; + + if (!current || current.opts.hash === false) { + return; + } + + gallery = getGalleryID(instance); + + // Update window hash + if (gallery && gallery !== '') { + + if (window.location.hash.indexOf(gallery) < 0) { + instance.opts.origHash = window.location.hash; + } + + currentHash = gallery + + (instance.group.length > 1 ? '-' + (current.index + 1) : ''); + + if ('replaceState' in window.history) { + if (timerID) { + clearTimeout(timerID); + } + + timerID = setTimeout(function() { + window.history[shouldCreateHistory ? + 'pushState' : + 'replaceState']({}, document.title, + window.location.pathname + window.location.search + '#' + + currentHash); + + timerID = null; + + shouldCreateHistory = false; + + }, 300); + + } else { + window.location.hash = currentHash; + } + + } + + }, + + 'beforeClose.fb': function(e, instance, current) { + var gallery, origHash; + + if (timerID) { + clearTimeout(timerID); + } + + if (current.opts.hash === false) { + return; + } + + gallery = getGalleryID(instance); + origHash = instance && instance.opts.origHash ? + instance.opts.origHash : + ''; + + // Remove hash from location bar + if (gallery && gallery !== '') { + + if ('replaceState' in history) { + window.history.replaceState({}, document.title, + window.location.pathname + window.location.search + origHash); + + } else { + window.location.hash = origHash; + + // Keep original scroll position + $(window). + scrollTop(instance.scrollTop). + scrollLeft(instance.scrollLeft); + } + } + + currentHash = null; + }, + }); + + // Check if need to close after url has changed + $(window).on('hashchange.fb', function() { + var url = parseUrl(); + + if ($.fancybox.getInstance()) { + if (currentHash && currentHash !== url.gallery + '-' + url.index && + !(url.index === 1 && currentHash == url.gallery)) { + currentHash = null; + + $.fancybox.close(); + } + + } else if (url.gallery !== '') { + triggerFromUrl(url); + } + }); + + // Check current hash and trigger click event on matching element to start fancyBox, if needed + setTimeout(function() { + triggerFromUrl(parseUrl()); + }, 50); + }); + +}(document, window, window.jQuery || jQuery)); + +;(function(document, $) { + 'use strict'; + + var prevTime = new Date().getTime(); + + $(document).on({ + 'onInit.fb': function(e, instance, current) { + instance.$refs.stage.on( + 'mousewheel DOMMouseScroll wheel MozMousePixelScroll', function(e) { + var current = instance.current, + currTime = new Date().getTime(); + + if (instance.group.length < 1 || current.opts.wheel === false || + (current.opts.wheel === 'auto' && current.type !== 'image')) { + return; + } + + e.preventDefault(); + e.stopPropagation(); + + if (current.$slide.hasClass('fancybox-animated')) { + return; + } + + e = e.originalEvent || e; + + if (currTime - prevTime < 250) { + return; + } + + prevTime = currTime; + + instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? + 'next' : + 'previous'](); + + }); + }, + }); + +}(document, window.jQuery || jQuery)); diff --git a/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.css b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.css new file mode 100644 index 00000000..5d804a59 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.css @@ -0,0 +1 @@ +@charset "UTF-8";body.fancybox-active{overflow:hidden}body.fancybox-iosfix{position:fixed;left:0;right:0}.fancybox-is-hidden{position:absolute;top:-9999px;left:-9999px;visibility:hidden}.fancybox-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99992;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{position:absolute;top:0;right:0;bottom:0;left:0}.fancybox-outer{overflow-y:auto;-webkit-overflow-scrolling:touch}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.87;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption-wrap,.fancybox-infobar,.fancybox-toolbar{position:absolute;direction:ltr;z-index:99997;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s;box-sizing:border-box}.fancybox-show-caption .fancybox-caption-wrap,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;visibility:visible;transition:opacity .25s,visibility 0s}.fancybox-infobar{top:0;left:0;font-size:13px;padding:0 10px;height:44px;min-width:44px;line-height:44px;color:#ccc;text-align:center;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased;mix-blend-mode:exclusion}.fancybox-toolbar{top:0;right:0;margin:0;padding:0}.fancybox-stage{overflow:hidden;direction:ltr;z-index:99994;-webkit-transform:translateZ(0)}.fancybox-is-closing .fancybox-stage{overflow:visible}.fancybox-slide{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;overflow:auto;outline:none;white-space:normal;box-sizing:border-box;text-align:center;z-index:99994;-webkit-overflow-scrolling:touch;display:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.fancybox-slide:before{content:"";display:inline-block;vertical-align:middle;height:100%;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:visible}.fancybox-slide--image:before{display:none}.fancybox-slide--video .fancybox-content,.fancybox-slide--video iframe{background:#000}.fancybox-slide--map .fancybox-content,.fancybox-slide--map iframe{background:#e5e3df}.fancybox-slide--next{z-index:99995}.fancybox-slide>*{display:inline-block;position:relative;padding:24px;margin:44px 0;border-width:0;vertical-align:middle;text-align:left;background-color:#fff;overflow:auto;box-sizing:border-box}.fancybox-slide>base,.fancybox-slide>link,.fancybox-slide>meta,.fancybox-slide>script,.fancybox-slide>style,.fancybox-slide>title{display:none}.fancybox-slide .fancybox-image-wrap{position:absolute;top:0;left:0;margin:0;padding:0;border:0;z-index:99995;background:transparent;cursor:default;overflow:visible;-webkit-transform-origin:top left;transform-origin:top left;background-size:100% 100%;background-repeat:no-repeat;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.fancybox-can-zoomOut .fancybox-image-wrap{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-image-wrap{cursor:zoom-in}.fancybox-can-drag .fancybox-image-wrap{cursor:-webkit-grab;cursor:grab}.fancybox-is-dragging .fancybox-image-wrap{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-image,.fancybox-spaceball{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;max-width:none;max-height:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content{padding:0;width:80%;height:80%;max-width:calc(100% - 100px);max-height:calc(100% - 88px);overflow:visible;background:#fff}.fancybox-iframe{display:block;padding:0;border:0;height:100%}.fancybox-error,.fancybox-iframe{margin:0;width:100%;background:#fff}.fancybox-error{padding:40px;max-width:380px;cursor:default}.fancybox-error p{margin:0;padding:0;color:#444;font-size:16px;line-height:20px}.fancybox-button{box-sizing:border-box;display:inline-block;vertical-align:top;width:44px;height:44px;margin:0;padding:10px;border:0;border-radius:0;background:rgba(30,30,30,.6);transition:color .3s ease;cursor:pointer;outline:none}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:focus,.fancybox-button:hover{color:#fff}.fancybox-button[disabled]{color:#ccc;cursor:default;opacity:.6}.fancybox-button svg{display:block;position:relative;overflow:visible;shape-rendering:geometricPrecision}.fancybox-button svg path{fill:currentColor;stroke:currentColor;stroke-linejoin:round;stroke-width:3}.fancybox-button--share svg path{stroke-width:1}.fancybox-button--pause svg path:nth-child(1),.fancybox-button--play svg path:nth-child(2){display:none}.fancybox-button--zoom svg path{fill:transparent}.fancybox-navigation{display:none}.fancybox-show-nav .fancybox-navigation{display:block}.fancybox-navigation button{position:absolute;top:50%;margin:-50px 0 0;z-index:99997;background:transparent;width:60px;height:100px;padding:17px}.fancybox-navigation button:before{content:"";position:absolute;top:30px;right:10px;width:40px;height:40px;background:rgba(30,30,30,.6)}.fancybox-navigation .fancybox-button--arrow_left{left:0}.fancybox-navigation .fancybox-button--arrow_right{right:0}.fancybox-close-small{position:absolute;top:0;right:0;width:40px;height:40px;padding:0;margin:0;border:0;border-radius:0;background:transparent;z-index:10;cursor:pointer}.fancybox-close-small:after{content:"×";position:absolute;top:5px;right:5px;width:30px;height:30px;font:22px/30px Arial,Helvetica Neue,Helvetica,sans-serif;color:#888;font-weight:300;text-align:center;border-radius:50%;border-width:0;background-color:transparent;transition:background-color .25s;box-sizing:border-box;z-index:2}.fancybox-close-small:focus{outline:none}.fancybox-close-small:focus:after{outline:1px dotted #888}.fancybox-close-small:hover:after{color:#555;background:#eee}.fancybox-slide--iframe .fancybox-close-small,.fancybox-slide--image .fancybox-close-small{top:0;right:-40px}.fancybox-slide--iframe .fancybox-close-small:after,.fancybox-slide--image .fancybox-close-small:after{font-size:35px;color:#aaa}.fancybox-slide--iframe .fancybox-close-small:hover:after,.fancybox-slide--image .fancybox-close-small:hover:after{color:#fff;background:transparent}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small{display:none}.fancybox-caption-wrap{bottom:0;left:0;right:0;padding:60px 2vw 0;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.1) 20%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.6) 80%,rgba(0,0,0,.8));pointer-events:none}.fancybox-caption{padding:30px 0;border-top:1px solid hsla(0,0%,100%,.4);font-size:14px;color:#fff;line-height:20px;-webkit-text-size-adjust:none}.fancybox-caption a,.fancybox-caption button,.fancybox-caption select{pointer-events:all;position:relative}.fancybox-caption a{color:#fff;text-decoration:underline}.fancybox-slide>.fancybox-loading{border:6px solid hsla(0,0%,39%,.4);border-top:6px solid hsla(0,0%,100%,.6);border-radius:100%;height:50px;width:50px;-webkit-animation:a .8s infinite linear;animation:a .8s infinite linear;background:transparent;position:absolute;top:50%;left:50%;margin-top:-30px;margin-left:-30px;z-index:99999}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);opacity:0}.fancybox-fx-slide.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);opacity:0}.fancybox-fx-slide.fancybox-slide--current{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{-webkit-transform:scale3d(1.5,1.5,1.5);transform:scale3d(1.5,1.5,1.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--next{-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--current{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1}.fancybox-fx-rotate.fancybox-slide--previous{-webkit-transform:rotate(-1turn);transform:rotate(-1turn);opacity:0}.fancybox-fx-rotate.fancybox-slide--next{-webkit-transform:rotate(1turn);transform:rotate(1turn);opacity:0}.fancybox-fx-rotate.fancybox-slide--current{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}.fancybox-fx-circular.fancybox-slide--previous{-webkit-transform:scale3d(0,0,0) translate3d(-100%,0,0);transform:scale3d(0,0,0) translate3d(-100%,0,0);opacity:0}.fancybox-fx-circular.fancybox-slide--next{-webkit-transform:scale3d(0,0,0) translate3d(100%,0,0);transform:scale3d(0,0,0) translate3d(100%,0,0);opacity:0}.fancybox-fx-circular.fancybox-slide--current{-webkit-transform:scaleX(1) translateZ(0);transform:scaleX(1) translateZ(0);opacity:1}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0) scale(.1) skew(-10deg);transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0) scale(.1) skew(10deg);transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}.fancybox-share{padding:30px;border-radius:3px;background:#f4f4f4;max-width:90%;text-align:center}.fancybox-share h1{color:#222;margin:0 0 20px;font-size:35px;font-weight:700}.fancybox-share p{margin:0;padding:0}p.fancybox-share__links{margin-right:-10px}.fancybox-share__button{display:inline-block;text-decoration:none;margin:0 10px 10px 0;padding:0 15px;min-width:130px;border:0;border-radius:3px;background:#fff;white-space:nowrap;font-size:14px;font-weight:700;line-height:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff;transition:all .2s}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{position:relative;top:-1px;width:25px;height:25px;margin-right:7px;vertical-align:middle}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{box-sizing:border-box;width:100%;margin:10px 0 0;padding:10px 15px;background:transparent;color:#5d5b5b;font-size:14px;outline:none;border:0;border-bottom:2px solid #d7d7d7}.fancybox-thumbs{display:none;position:absolute;top:0;bottom:0;right:0;width:212px;margin:0;padding:2px 2px 4px;background:#fff;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;box-sizing:border-box;z-index:99995}.fancybox-thumbs-x{overflow-y:hidden;overflow-x:auto}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs>ul{list-style:none;position:absolute;position:relative;width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;font-size:0;white-space:nowrap}.fancybox-thumbs-x>ul{overflow:hidden}.fancybox-thumbs-y>ul::-webkit-scrollbar{width:7px}.fancybox-thumbs-y>ul::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y>ul::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs>ul>li{float:left;overflow:hidden;padding:0;margin:2px;width:100px;height:75px;max-width:calc(50% - 4px);max-height:calc(100% - 8px);position:relative;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box}li.fancybox-thumbs-loading{background:rgba(0,0,0,.1)}.fancybox-thumbs>ul>li>img{position:absolute;top:0;left:0;max-width:none;max-height:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-thumbs>ul>li:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid #4ea7f9;z-index:99991;opacity:0;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.fancybox-thumbs>ul>li.fancybox-thumbs-active:before{opacity:1}@media (max-width:800px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs>ul>li{max-width:calc(100% - 10px)}} \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.js b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.js new file mode 100644 index 00000000..8a0c3e77 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fancybox/jquery.fancybox.min.js @@ -0,0 +1,12 @@ +// ================================================== +// fancyBox v3.2.10 +// +// Licensed GPLv3 for open source use +// or fancyBox Commercial License for commercial use +// +// http://fancyapps.com/fancybox/ +// Copyright 2017 fancyApps +// +// ================================================== +!function(t,e,n,o){"use strict";function i(t){var e=n(t.currentTarget),o=t.data?t.data.options:{},i=e.attr("data-fancybox")||"",a=0,s=[];t.isDefaultPrevented()||(t.preventDefault(),i?(s=o.selector?n(o.selector):t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]'),a=s.index(e),a<0&&(a=0)):s=[e],n.fancybox.open(s,o,a))}if(n){if(n.fn.fancybox)return void("console"in t&&console.log("fancyBox already initialized"));var a={loop:!1,margin:[44,0],gutter:50,keyboard:!0,arrows:!0,infobar:!0,toolbar:!0,buttons:["slideShow","fullScreen","thumbs","share","close"],idleTime:3,smallBtn:"auto",protect:!1,modal:!1,image:{preload:"auto"},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'',preload:!0,css:{},attr:{scrolling:"auto"}},defaultType:"image",animationEffect:"zoom",animationDuration:500,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'',spinnerTpl:'
',errorTpl:'

{{ERROR}}

',btnTpl:{download:'',zoom:'',close:'',smallBtn:'',arrowLeft:'',arrowRight:''},parentEl:"body",autoFocus:!1,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:4e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{idleTime:!1,margin:0,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded.
Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schliessen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Maßstab"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},u=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),d=function(){var t,n=e.createElement("fakeelement"),i={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in i)if(n.style[t]!==o)return i[t];return"transitionend"}(),f=function(t){return t&&t.length&&t[0].offsetHeight},p=function(t,o,i){var a=this;a.opts=n.extend(!0,{index:i},n.fancybox.defaults,o||{}),n.fancybox.isMobile&&(a.opts=n.extend(!0,{},a.opts,a.opts.mobile)),o&&n.isArray(o.buttons)&&(a.opts.buttons=o.buttons),a.id=a.opts.id||++c,a.group=[],a.currIndex=parseInt(a.opts.index,10)||0,a.prevIndex=null,a.prevPos=null,a.currPos=0,a.firstRun=null,a.createGroup(t),a.group.length&&(a.$lastFocus=n(e.activeElement).blur(),a.slides={},a.init())};n.extend(p.prototype,{init:function(){var i,a,s,c=this,l=c.group[c.currIndex],u=l.opts,d=n.fancybox.scrollbarWidth;c.scrollTop=r.scrollTop(),c.scrollLeft=r.scrollLeft(),n.fancybox.getInstance()||(n("body").addClass("fancybox-active"),/iPad|iPhone|iPod/.test(navigator.userAgent)&&!t.MSStream?"image"!==l.type&&n("body").css("top",n("body").scrollTop()*-1).addClass("fancybox-iosfix"):!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(d===o&&(i=n('
').appendTo("body"),d=n.fancybox.scrollbarWidth=i[0].offsetWidth-i[0].clientWidth,i.remove()),n("head").append('"),n("body").addClass("compensate-for-scrollbar"))),s="",n.each(u.buttons,function(t,e){s+=u.btnTpl[e]||""}),a=n(c.translate(c,u.baseTpl.replace("{{buttons}}",s).replace("{{arrows}}",u.btnTpl.arrowLeft+u.btnTpl.arrowRight))).attr("id","fancybox-container-"+c.id).addClass("fancybox-is-hidden").addClass(u.baseClass).data("FancyBox",c).appendTo(u.parentEl),c.$refs={container:a},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){c.$refs[t]=a.find(".fancybox-"+t)}),c.trigger("onInit"),c.activate(),c.jumpTo(c.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang];return e.replace(/\{\{(\w+)\}\}/g,function(t,e){var i=n[e];return i===o?t:i})},createGroup:function(t){var e=this,i=n.makeArray(t);n.each(i,function(t,i){var a,s,r,c,l,u={},d={};n.isPlainObject(i)?(u=i,d=i.opts||i):"object"===n.type(i)&&n(i).length?(a=n(i),d=a.data(),d=n.extend({},d,d.options||{}),d.$orig=a,u.src=d.src||a.attr("href"),u.type||u.src||(u.type="inline",u.src=i)):u={type:"html",src:i+""},u.opts=n.extend(!0,{},e.opts,d),n.isArray(d.buttons)&&(u.opts.buttons=d.buttons),s=u.type||u.opts.type,c=u.src||"",!s&&c&&(c.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?s="image":c.match(/\.(pdf)((\?|#).*)?$/i)?s="pdf":(r=c.match(/\.(mp4|mov|ogv)((\?|#).*)?$/i))?(s="video",u.opts.videoFormat||(u.opts.videoFormat="video/"+("ogv"===r[1]?"ogg":r[1]))):"#"===c.charAt(0)&&(s="inline")),s?u.type=s:e.trigger("objectNeedsType",u),u.index=e.group.length,u.opts.$orig&&!u.opts.$orig.length&&delete u.opts.$orig,!u.opts.$thumb&&u.opts.$orig&&(u.opts.$thumb=u.opts.$orig.find("img:first")),u.opts.$thumb&&!u.opts.$thumb.length&&delete u.opts.$thumb,"function"===n.type(u.opts.caption)&&(u.opts.caption=u.opts.caption.apply(i,[e,u])),"function"===n.type(e.opts.caption)&&(u.opts.caption=e.opts.caption.apply(i,[e,u])),u.opts.caption instanceof n||(u.opts.caption=u.opts.caption===o?"":u.opts.caption+""),"ajax"===s&&(l=c.split(/\s+/,2),l.length>1&&(u.src=l.shift(),u.opts.filter=l.shift())),"auto"==u.opts.smallBtn&&(n.inArray(s,["html","inline","ajax"])>-1?(u.opts.toolbar=!1,u.opts.smallBtn=!0):u.opts.smallBtn=!1),"pdf"===s&&(u.type="iframe",u.opts.iframe.preload=!1),u.opts.modal&&(u.opts=n.extend(!0,u.opts,{infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),e.group.push(u)})},addEvents:function(){var o=this;o.removeEvents(),o.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),o.close(t)}).on("click.fb-prev touchend.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),o.previous()}).on("click.fb-next touchend.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),o.next()}).on("click.fb","[data-fancybox-zoom]",function(t){o[o.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?u(function(){o.update()}):(o.$refs.stage.hide(),setTimeout(function(){o.$refs.stage.show(),o.update()},600))}),r.on("focusin.fb",function(t){var i=n.fancybox?n.fancybox.getInstance():null;i.isClosing||!i.current||!i.current.opts.trapFocus||n(t.target).hasClass("fancybox-container")||n(t.target).is(e)||i&&"fixed"!==n(t.target).css("position")&&!i.$refs.container.has(t.target).length&&(t.stopPropagation(),i.focus(),s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft))}),r.on("keydown.fb",function(t){var e=o.current,i=t.keyCode||t.which;if(e&&e.opts.keyboard&&!n(t.target).is("input")&&!n(t.target).is("textarea"))return 8===i||27===i?(t.preventDefault(),void o.close(t)):37===i||38===i?(t.preventDefault(),void o.previous()):39===i||40===i?(t.preventDefault(),void o.next()):void o.trigger("afterKeydown",t,i)}),o.group[o.currIndex].opts.idleTime&&(o.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){o.idleSecondsCounter=0,o.isIdle&&o.showControls(),o.isIdle=!1}),o.idleInterval=t.setInterval(function(){o.idleSecondsCounter++,o.idleSecondsCounter>=o.group[o.currIndex].opts.idleTime&&!o.isDragging&&(o.isIdle=!0,o.idleSecondsCounter=0,o.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("focusin.fb keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e,i){var a,s,r,c,l,u,d,p=this,h=p.group.length;if(!(p.isDragging||p.isClosing||p.isAnimating&&p.firstRun)){if(t=parseInt(t,10),s=p.current?p.current.opts.loop:p.opts.loop,!s&&(t<0||t>=h))return!1;if(a=p.firstRun=null===p.firstRun,!(h<2&&!a&&p.isDragging)){if(c=p.current,p.prevIndex=p.currIndex,p.prevPos=p.currPos,r=p.createSlide(t),h>1&&((s||r.index>0)&&p.createSlide(t-1),(s||r.indexr.pos?"next":"previous"),c.$slide.removeClass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"),c.isComplete=!1,e&&(r.isMoved||r.opts.transitionEffect)&&(r.isMoved?c.$slide.addClass(d):(d="fancybox-animated "+d+" fancybox-fx-"+r.opts.transitionEffect,n.fancybox.animate(c.$slide,d,e,function(){c.$slide.removeClass(d).removeAttr("style")}))))}}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('
').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,i){var a,s,r,c,l,u=this,d=u.current,f=d.$content,p=parseInt(d.$slide.width(),10),h=parseInt(d.$slide.height(),10),g=d.width,b=d.height;"image"!=d.type||d.hasError||!f||u.isAnimating||(n.fancybox.stop(f),u.isAnimating=!0,t=t===o?.5*p:t,e=e===o?.5*h:e,a=n.fancybox.getTranslate(f),c=g/a.width,l=b/a.height,s=.5*p-.5*g,r=.5*h-.5*b,g>p&&(s=a.left*c-(t*c-t),s>0&&(s=0),sh&&(r=a.top*l-(e*l-e),r>0&&(r=0),rt.width||o.height>t.height))},isScaledDown:function(){var t=this,e=t.current,o=e.$content,i=!1;return o&&(i=n.fancybox.getTranslate(o),i=i.width1||Math.abs(n.height()-o.height)>1),o},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){switch(t.isLoading=!0,a.trigger("beforeLoad",t),e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass("fancybox-slide--"+(e||"unknown")).addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;case"video":a.setContent(t,'");break;default:a.setError(t)}return!0}},setImage:function(e){var o,i,a,s,r=this,c=e.opts.srcset||e.opts.image.srcset;if(c){a=t.devicePixelRatio||1,s=t.innerWidth*a,i=c.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);return 0===n?e.url=t:void(o&&(e.value=o,e.postfix=t[t.length-1]))}),e}),i.sort(function(t,e){return t.value-e.value});for(var l=0;l=s||"x"===u.postfix&&u.value>=a){o=u;break}}!o&&i.length&&(o=i[i.length-1]),o&&(e.src=o.url,e.width&&e.height&&"w"==o.postfix&&(e.height=e.width/e.height*o.value,e.width=o.value))}e.$content=n('
').addClass("fancybox-is-hidden").appendTo(e.$slide),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&(e.opts.thumb||e.opts.$thumb)?(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n("").one("error",function(){n(this).remove(),e.$ghost=null,r.setBigImage(e)}).one("load",function(){r.afterLoad(e),r.setBigImage(e)}).addClass("fancybox-image").appendTo(e.$content).attr("src",e.opts.thumb||e.opts.$thumb.attr("src"))):r.setBigImage(e)},setBigImage:function(t){var e=this,o=n("");t.$image=o.one("error",function(){e.setError(t)}).one("load",function(){clearTimeout(t.timouts),t.timouts=null,e.isClosing||(t.width=t.opts.width||this.naturalWidth,t.height=t.opts.height||this.naturalHeight,t.opts.image.srcset&&o.attr("sizes","100vw").attr("srcset",t.opts.image.srcset),e.hideLoading(t),t.$ghost?t.timouts=setTimeout(function(){t.timouts=null,t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))):e.afterLoad(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(o[0].complete||"complete"==o[0].readyState)&&o[0].naturalWidth&&o[0].naturalHeight?o.trigger("load"):o[0].error?o.trigger("error"):t.timouts=setTimeout(function(){o[0].complete||t.hasError||e.showLoading(t)},100)},setIframe:function(t){var e,i=this,a=t.opts.iframe,s=t.$slide;t.$content=n('
').css(a.css).appendTo(s),e=n(a.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(a.attr).appendTo(t.$content),a.preload?(i.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),i.afterLoad(t)}),s.on("refresh.fb",function(){var n,i,s,r=t.$content,c=a.css.width,l=a.css.height;if(1===e[0].isReady){try{i=e.contents(),s=i.find("body")}catch(t){}s&&s.length&&(c===o&&(n=e[0].contentWindow.document.documentElement.scrollWidth,c=Math.ceil(s.outerWidth(!0)+(r.width()-n)),c+=r.outerWidth()-r.innerWidth()),l===o&&(l=Math.ceil(s.outerHeight(!0)),l+=r.outerHeight()-r.innerHeight()),c&&r.width(c),l&&r.height(l)),r.removeClass("fancybox-is-hidden")}})):this.afterLoad(t),e.attr("src",t.src),t.opts.smallBtn===!0&&t.$content.prepend(i.translate(t,t.opts.btnTpl.smallBtn)),s.one("onReset",function(){try{n(this).find("iframe").hide().attr("src","//about:blank")}catch(t){}n(this).empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$slide.empty(),l(e)&&e.parent().length?(e.parent(".fancybox-slide--inline").trigger("onReset"),t.$placeholder=n("
").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("
").append(n.trim(e)).contents(),3===e[0].nodeType&&(e=n("
").html(e))),t.opts.filter&&(e=n("
").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1)}),t.$content=n(e).appendTo(t.$slide),this.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.removeClass("fancybox-slide--"+t.type),this.setContent(t,this.translate(t,t.opts.errorTpl))},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.opts.spinnerTpl).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),t.opts.smallBtn&&!t.$smallBtn&&(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content.filter("div,form").first())),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('
').appendTo(t.$content)),e.revealContent(t))},revealContent:function(t){var e,i,a,s,r,c=this,l=t.$slide,u=!1;return e=t.opts[c.firstRun?"animationEffect":"transitionEffect"],a=t.opts[c.firstRun?"animationDuration":"transitionDuration"],a=parseInt(t.forcedDuration===o?a:t.forcedDuration,10),!t.isMoved&&t.pos===c.currPos&&a||(e=!1),"zoom"!==e||t.pos===c.currPos&&a&&"image"===t.type&&!t.hasError&&(u=c.getThumbPos(t))||(e="fade"),"zoom"===e?(r=c.getFitPos(t),r.scaleX=r.width/u.width,r.scaleY=r.height/u.height,delete r.width,delete r.height,s=t.opts.zoomOpacity,"auto"==s&&(s=Math.abs(t.width/t.height-u.width/u.height)>.1),s&&(u.opacity=.1,r.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),u),f(t.$content),void n.fancybox.animate(t.$content,r,a,function(){c.complete()})):(c.updateSlide(t),e?(n.fancybox.stop(l),i="fancybox-animated fancybox-slide--"+(t.pos>=c.prevPos?"next":"previous")+" fancybox-fx-"+e,l.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(i),t.$content.removeClass("fancybox-is-hidden"),f(l),void n.fancybox.animate(l,"fancybox-slide--current",a,function(e){l.removeClass(i).removeAttr("style"),t.pos===c.currPos&&c.complete()},!0)):(f(l),t.$content.removeClass("fancybox-is-hidden"),void(t.pos===c.currPos&&c.complete())))},getThumbPos:function(o){var i,a=this,s=!1,r=function(e){for(var o,i=e[0],a=i.getBoundingClientRect(),s=[];null!==i.parentElement;)"hidden"!==n(i.parentElement).css("overflow")&&"auto"!==n(i.parentElement).css("overflow")||s.push(i.parentElement.getBoundingClientRect()),i=i.parentElement;return o=s.every(function(t){var e=Math.min(a.right,t.right)-Math.max(a.left,t.left),n=Math.min(a.bottom,t.bottom)-Math.max(a.top,t.top);return e>0&&n>0}),o&&a.bottom>0&&a.right>0&&a.left=t.currPos-1&&o.pos<=t.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),t.slides=i,t.updateCursor(),t.trigger("afterShow"),o.$slide.find("video,audio").first().trigger("play"),(n(e.activeElement).is("[disabled]")||o.opts.autoFocus&&"image"!=o.type&&"iframe"!==o.type)&&t.focus())},preload:function(t){var e=this,n=e.slides[e.currPos+1],o=e.slides[e.currPos-1];n&&n.type===t&&e.loadSlide(n),o&&o.type===t&&e.loadSlide(o)},focus:function(){var t,e=this.current;this.isClosing||(e&&e.isComplete&&(t=e.$slide.find("input[autofocus]:enabled:visible:first"),t.length||(t=e.$slide.find("button,:input,[tabindex],a").filter(":enabled:visible:first"))),t=t&&t.length?t:this.$refs.container,t.focus())},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l=this,p=l.current,h=function(){l.cleanUp(t)};return!l.isClosing&&(l.isClosing=!0,l.trigger("beforeClose",t)===!1?(l.isClosing=!1,u(function(){l.update()}),!1):(l.removeEvents(),p.timouts&&clearTimeout(p.timouts),a=p.$content,o=p.opts.animationEffect,i=n.isNumeric(e)?e:o?p.opts.animationDuration:0,p.$slide.off(d).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),p.$slide.siblings().trigger("onReset").remove(),i&&l.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"),l.hideLoading(p),l.hideControls(),l.updateCursor(),"zoom"!==o||t!==!0&&a&&i&&"image"===p.type&&!p.hasError&&(c=l.getThumbPos(p))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),r=n.fancybox.getTranslate(a),r.width=r.width*r.scaleX,r.height=r.height*r.scaleY,s=p.opts.zoomOpacity,"auto"==s&&(s=Math.abs(p.width/p.height-c.width/c.height)>.1),s&&(c.opacity=0),r.scaleX=r.width/c.width,r.scaleY=r.height/c.height,r.width=c.width,r.height=c.height,n.fancybox.setTranslate(p.$content,r),f(p.$content),n.fancybox.animate(p.$content,c,i,h),!0):(o&&i?t===!0?setTimeout(h,i):n.fancybox.animate(p.$slide.removeClass("fancybox-slide--current"),"fancybox-animated fancybox-slide--previous fancybox-fx-"+o,i,h):h(),!0)))},cleanUp:function(t){var o,i,a=this,r=n("body");a.current.$slide.trigger("onReset"),a.$refs.container.empty().remove(),a.trigger("afterClose",t),a.$lastFocus&&a.current.opts.backFocus&&a.$lastFocus.focus(),a.current=null,o=n.fancybox.getInstance(),o?o.activate():(s.scrollTop(a.scrollTop).scrollLeft(a.scrollLeft),r.removeClass("fancybox-active compensate-for-scrollbar"),r.hasClass("fancybox-iosfix")&&(i=parseInt(e.body.style.top,10),r.removeClass("fancybox-iosfix").css("top","").scrollTop(i*-1)),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;return s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),o===!1?o:void("afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i))},updateControls:function(t){var e=this,n=e.current,o=n.index,i=n.opts.caption,a=e.$refs.container,s=e.$refs.caption;n.$slide.trigger("refresh"),e.$caption=i&&i.length?s.html(i):null,e.isHiddenControls||e.isIdle||e.showControls(),a.find("[data-fancybox-count]").html(e.group.length),a.find("[data-fancybox-index]").html(o+1),a.find("[data-fancybox-prev]").prop("disabled",!n.opts.loop&&o<=0),a.find("[data-fancybox-next]").prop("disabled",!n.opts.loop&&o>=e.group.length-1),"image"===n.type?a.find("[data-fancybox-download]").attr("href",n.opts.image.src||n.src).show():a.find("[data-fancybox-download],[data-fancybox-zoom]").hide()},hideControls:function(){this.isHiddenControls=!0,this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav")},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.isHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal),t.$caption?n.addClass("fancybox-show-caption "):n.removeClass("fancybox-show-caption")},toggleControls:function(){this.isHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.2.10",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof p&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new p(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close())},destroy:function(){this.close(!0),r.off("click.fb-start")},isMobile:e.createTouch!==o&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;if(!t||!t.length)return!1;if(e=t.eq(0).css("transform"),e&&e.indexOf("matrix")!==-1?(e=e.split("(")[1],e=e.split(")")[0],e=e.split(",")):e=[],e.length)e=e.length>10?[e[13],e[12],e[0],e[5]]:[e[5],e[4],e[0],e[3]],e=e.map(parseFloat);else{e=[0,0,1,1];var n=/\.*translate\((.*)px,(.*)px\)/i,o=n.exec(t.eq(0).attr("style"));o&&(e[0]=parseFloat(o[2]),e[1]=parseFloat(o[1]))}return{top:e[0],left:e[1],scaleX:e[2],scaleY:e[3],opacity:parseFloat(t.css("opacity")),width:t.width(),height:t.height()}},setTranslate:function(t,e){var n="",i={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().left:e.left)+"px, "+(e.top===o?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),e.scaleX!==o&&e.scaleY!==o&&(n=(n.length?n+" ":"")+"scale("+e.scaleX+", "+e.scaleY+")"),n.length&&(i.transform=n),e.opacity!==o&&(i.opacity=e.opacity),e.width!==o&&(i.width=e.width),e.height!==o&&(i.height=e.height),t.css(i)},animate:function(t,e,i,a,s){n.isFunction(i)&&(a=i,i=null),n.isPlainObject(e)||t.removeAttr("style"),t.on(d,function(i){(!i||!i.originalEvent||t.is(i.originalEvent.target)&&"z-index"!=i.originalEvent.propertyName)&&(n.fancybox.stop(t),n.isPlainObject(e)?(e.scaleX!==o&&e.scaleY!==o&&(t.css("transition-duration",""),e.width=Math.round(t.width()*e.scaleX),e.height=Math.round(t.height()*e.scaleY),e.scaleX=1,e.scaleY=1,n.fancybox.setTranslate(t,e)),s===!1&&t.removeAttr("style")):s!==!0&&t.removeClass(e),n.isFunction(a)&&a(i))}),n.isNumeric(i)&&t.css("transition-duration",i+"ms"),n.isPlainObject(e)?n.fancybox.setTranslate(t,e):t.addClass(e),e.scaleX&&t.hasClass("fancybox-image-wrap")&&t.parent().addClass("fancybox-is-scaling"),t.data("timer",setTimeout(function(){t.trigger("transitionend")},i+16))},stop:function(t){clearTimeout(t.data("timer")),t.off("transitionend").css("transition-duration",""),t.hasClass("fancybox-image-wrap")&&t.parent().removeClass("fancybox-is-scaling")}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i)}}(window,document,window.jQuery||jQuery),function(t){"use strict";var e=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e},n={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"//www.youtube.com/embed/$4",thumb:"//img.youtube.com/vi/$4/hqdefault.jpg" +},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1,api:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},metacafe:{matcher:/metacafe.com\/watch\/(\d+)\/(.*)?/,type:"iframe",url:"//www.metacafe.com/embed/$1/?ap=1"},dailymotion:{matcher:/dailymotion.com\/video\/(.*)\/?(.*)/,params:{additionalInfos:0,autoStart:1},type:"iframe",url:"//www.dailymotion.com/embed/video/$1"},vine:{matcher:/vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,type:"iframe",url:"//vine.co/v/$1/embed/simple"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12])+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,u,d,f,p=a.src||"",h=!1;s=t.extend(!0,{},n,a.opts.media),t.each(s,function(n,o){if(c=p.match(o.matcher)){if(h=o.type,d={},o.paramPlace&&c[o.paramPlace]){u=c[o.paramPlace],"?"==u[0]&&(u=u.substring(1)),u=u.split("&");for(var i=0;ie.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},u=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};u.prototype.destroy=function(){this.$container.off(".fb.touch")},u.prototype.ontouchstart=function(o){var i=this,c=n(o.target),u=i.instance,d=u.current,f=d.$content,p="touchstart"==o.type;if(p&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!d||i.instance.isAnimating||i.instance.isClosing)return o.stopPropagation(),void o.preventDefault();if(i.realPoints=i.startPoints=a(o),i.startPoints){if(o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=f,i.opts=d.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.sliderStartPos=i.sliderLastPos||{top:0,left:0},i.contentStartPos=n.fancybox.getTranslate(i.$content),i.contentLastPos=null,i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(d.$slide[0].clientWidth),i.canvasHeight=Math.round(d.$slide[0].clientHeight),n(e).off(".fb.touch").on(p?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(p?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),!i.opts&&!u.canPan()||!c.is(i.$stage)&&!i.$stage.find(c).length)return void(c.is("img")&&o.preventDefault());n.fancybox.isMobile&&(l(c)||l(c.parent()))||o.preventDefault(),1===i.startPoints.length&&("image"===d.type&&(i.contentStartPos.width>i.canvasWidth+1||i.contentStartPos.height>i.canvasHeight+1)?(n.fancybox.stop(i.$content),i.$content.css("transition-duration",""),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-controls--isGrabbing")),2!==i.startPoints.length||u.isAnimating||d.hasError||"image"!==d.type||!d.isLoaded&&!d.$ghost||(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.$content.css("transition-duration",""),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))}}},u.prototype.onscroll=function(t){self.isScrolling=!0},u.prototype.ontouchmove=function(t){var e=this,o=n(t.target);return e.isScrolling||!o.is(e.$stage)&&!e.$stage.find(o).length?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.instance.canPan())&&e.newPoints&&e.newPoints.length&&(e.isSwiping&&e.isSwiping===!0||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},u.prototype.onSwipe=function(e){var a,s=this,r=s.isSwiping,c=s.sliderStartPos.left||0;if(r!==!0)"x"==r&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?c+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?c-=Math.pow(-s.distanceX,.8):c+=s.distanceX),s.sliderLastPos={top:"x"==r?0:s.sliderStartPos.top+s.distanceY,left:c},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,s.instance.group.length<2&&s.opts.vertical?s.isSwiping="y":s.instance.isDragging||s.opts.vertical===!1||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),s.canTap=!1,"y"===s.isSwiping&&n.fancybox.isMobile&&(l(s.$target)||l(s.$target.parent())))return void(s.isScrolling=!0);s.instance.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(s.instance.slides,function(t,e){n.fancybox.stop(e.$slide),e.$slide.css("transition-duration",""),e.inTransition=!1,e.pos===s.instance.current.pos&&(s.sliderStartPos.left=n.fancybox.getTranslate(e.$slide).left)}),s.instance.SlideShow&&s.instance.SlideShow.isActive&&s.instance.SlideShow.stop()}},u.prototype.onPan=function(){var t=this;return s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5)?void(t.startPoints=t.newPoints):(t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&(i(t.requestId),t.requestId=null),void(t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})))},u.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,u=s.distanceY,d=s.contentStartPos,f=d.left,p=d.top,h=d.width,g=d.height;return i=h>r?f+l:f,a=p+u,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),h>r&&(l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&ic&&(u>0&&a>e&&(a=e-1+Math.pow(-e+p+u,.8)||0),u<0&&aa?(t=t>0?0:t,t=ts?(e=e>0?0:e,e=e50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},150),i=o.instance.close(!0,300)):"x"==t&&o.distanceX>50&&a>1?i=o.instance.previous(o.speedX):"x"==t&&o.distanceX<-50&&a>1&&(i=o.instance.next(o.speedX)),i!==!1||"x"!=t&&"y"!=t||(e||a<2?o.instance.centerSlide(o.instance.current,150):o.instance.jumpTo(o.instance.current.index)),o.$container.removeClass("fancybox-is-sliding")},u.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(i.opts.momentum===!1?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+i.velocityX*i.speed,e=i.contentLastPos.top+i.velocityY*i.speed),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,330))},u.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),rs.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.setTranslate(a.content,n.fancybox.getTranslate(a.$content)),n.fancybox.animate(a.$content,o,150)))},u.prototype.onTap=function(t){var e,o=this,i=n(t.target),s=o.instance,r=s.current,c=t&&a(t)||o.startPoints,l=c[0]?c[0].x-o.$stage.offset().left:0,u=c[0]?c[0].y-o.$stage.offset().top:0,d=function(e){var i=r.opts[e];if(n.isFunction(i)&&(i=i.apply(s,[r,t])),i)switch(i){case"close":s.close(o.startEvent);break;case"toggleControls":s.toggleControls(!0);break;case"next":s.next();break;case"nextOrClose":s.group.length>1?s.next():s.close(o.startEvent);break;case"zoom":"image"==r.type&&(r.isLoaded||r.$ghost)&&(s.canPan()?s.scaleToFit():s.isScaledDown()?s.scaleToActual(l,u):s.group.length<2&&s.close(o.startEvent))}};if((!t.originalEvent||2!=t.originalEvent.button)&&(i.is("img")||!(l>i[0].clientWidth+i.offset().left))){if(i.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))e="Outside";else if(i.is(".fancybox-slide"))e="Slide";else{if(!s.current.$content||!s.current.$content.find(i).addBack().filter(i).length)return;e="Content"}if(o.tapped){if(clearTimeout(o.tapped),o.tapped=null,Math.abs(l-o.tapX)>50||Math.abs(u-o.tapY)>50)return this;d("dblclick"+e)}else o.tapX=l,o.tapY=u,r.opts["dblclick"+e]&&r.opts["dblclick"+e]!==r.opts["click"+e]?o.tapped=setTimeout(function(){o.tapped=null,d("click"+e)},500):d("click"+e);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new u(e))})}(window,document,window.jQuery||jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:''},slideShow:{autoStart:!1,speed:3e3}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this;t.$button=t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),(t.instance.group.length<2||!t.instance.group[t.instance.currIndex].opts.slideShow)&&t.$button.hide()},set:function(t){var e=this;e.instance&&e.instance.current&&(t===!0||e.instance.current.opts.loop||e.instance.currIndex'},fullScreen:{autoStart:!1}}),e(t).on({"onInit.fb":function(t,e){var n;e&&e.group[e.currIndex].opts.fullScreen?(n=e.$refs.container,n.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle(n[0])}),e.opts.fullScreen&&e.opts.fullScreen.autoStart===!0&&o.request(n[0]),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle(e.$refs.container[0]))},"beforeClose.fb":function(t){t&&t.FullScreen&&o.exit()}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.current.$content.css("transition","none"),n.isAnimating=!1,n.update(!0,!0,0)),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t))})}(document,window.jQuery||jQuery),function(t,e){"use strict";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:''},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var n=function(t){this.init(t)};e.extend(n.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this;e.instance=t,t.Thumbs=e;var n=t.group[0],o=t.group[1];e.opts=t.group[t.currIndex].opts.thumbs,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]"),e.opts&&n&&o&&("image"==n.type||n.opts.thumb||n.opts.$thumb)&&("image"==o.type||o.opts.thumb||o.opts.$thumb)?(e.$button.show().on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,n,o=this,i=o.instance,a=o.opts.parentEl;o.$grid=e('
').appendTo(i.$refs.container.find(a).addBack().filter(a)),t="
    ",e.each(i.group,function(e,o){n=o.opts.thumb||(o.opts.$thumb?o.opts.$thumb.attr("src"):null),n||"image"!==o.type||(n=o.src),n&&n.length&&(t+='
  • ')}),t+="
",o.$list=e(t).appendTo(o.$grid).on("click","li",function(){i.jumpTo(e(this).data("index"))}),o.$list.find("img").hide().one("load",function(){var t,n,o,i,a=e(this).parent().removeClass("fancybox-thumbs-loading"),s=a.outerWidth(),r=a.outerHeight();t=this.naturalWidth||this.width,n=this.naturalHeight||this.height,o=t/s,i=n/r,o>=1&&i>=1&&(o>i?(t/=i,n=r):(t=s,n/=o)),e(this).css({width:Math.floor(t),height:Math.floor(n),"margin-top":n>r?Math.floor(.3*r-.3*n):Math.floor(.5*r-.5*n),"margin-left":Math.floor(.5*s-.5*t)}).show()}).each(function(){this.src=e(this).data("src")}),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"))+i.group.length*o.$list.children().eq(0).outerWidth(!0)+"px")},focus:function(t){var e,n,o=this,i=o.$list;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.lefti.parent().scrollLeft()+(i.parent().width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){this.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),this.isVisible?(this.$grid||this.create(),this.instance.trigger("onThumbsShow"),this.focus(0)):this.$grid&&this.instance.trigger("onThumbsHide"),this.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var o;e&&!e.Thumbs&&(o=new n(e),o.isActive&&o.opts.autoStart===!0&&o.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&n.opts.hideOnClose!==!1&&n.$grid.hide()}})}(document,window.jQuery),function(t,e){"use strict";function n(t){var e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:''},share:{tpl:''}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance();i&&(t=i.current.opts.hash===!1?i.current.src:window.location,o=i.current.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===i.current.type?encodeURIComponent(i.current.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{animationEffect:"fade",animationDuration:250,afterLoad:function(t,e){e.$content.find(".fancybox-share__links a").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})}}}))})}(document,window.jQuery||jQuery),function(t,e,n){"use strict";function o(){var t=e.location.hash.substr(1),n=t.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return o<1&&(o=1),{hash:t,index:o,gallery:i}}function i(t){var e;""!==t.gallery&&(e=n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1),e.length||(e=n("#"+n.escapeSelector(t.gallery))),e.length&&(s=!1,e.trigger("click")))}function a(t){var e;return!!t&&(e=t.current?t.current.opts:t.opts,e.hash||(e.$orig?e.$orig.data("fancybox"):""))}n.escapeSelector||(n.escapeSelector=function(t){var e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,n=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};return(t+"").replace(e,n)});var s=!0,r=null,c=null;n(function(){n.fancybox.defaults.hash!==!1&&(n(t).on({"onInit.fb":function(t,e){var n,i;e.group[e.currIndex].opts.hash!==!1&&(n=o(),i=a(e),i&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i){var l;i&&i.opts.hash!==!1&&(l=a(o),l&&""!==l&&(e.location.hash.indexOf(l)<0&&(o.opts.origHash=e.location.hash),r=l+(o.group.length>1?"-"+(i.index+1):""),"replaceState"in e.history?(c&&clearTimeout(c),c=setTimeout(function(){e.history[s?"pushState":"replaceState"]({},t.title,e.location.pathname+e.location.search+"#"+r),c=null,s=!1},300)):e.location.hash=r))},"beforeClose.fb":function(o,i,s){var l,u;c&&clearTimeout(c),s.opts.hash!==!1&&(l=a(i),u=i&&i.opts.origHash?i.opts.origHash:"",l&&""!==l&&("replaceState"in history?e.history.replaceState({},t.title,e.location.pathname+e.location.search+u):(e.location.hash=u,n(e).scrollTop(i.scrollTop).scrollLeft(i.scrollLeft))),r=null)}}),n(e).on("hashchange.fb",function(){var t=o();n.fancybox.getInstance()?!r||r===t.gallery+"-"+t.index||1===t.index&&r==t.gallery||(r=null,n.fancybox.close()):""!==t.gallery&&i(t)}),setTimeout(function(){i(o())},50))})}(document,window,window.jQuery||jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<1||o.opts.wheel===!1||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,window.jQuery||jQuery); \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/feather/feather.css b/Includes/Modules/QuickView/assets/libs/feather/feather.css new file mode 100644 index 00000000..c3bbf66a --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/feather/feather.css @@ -0,0 +1,10 @@ +@font-face { + font-family: 'feather'; + src: url('fonts/feather.eot'); + src: url('fonts/feather.eot#iefix') format('embedded-opentype'), + url('fonts/feather.ttf') format('truetype'), + url('fonts/feather.woff') format('woff'), + url('fonts/feather.svg#feather') format('svg'); + font-weight: normal; + font-style: normal; +} \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.eot b/Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..0f23fbbc996c6094a47d45071b6138c6e260052c GIT binary patch literal 10791 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.ttf b/Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..39c978b839ef53da8350a5eb2280654acc449f44 GIT binary patch literal 28532 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 literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.woff b/Includes/Modules/QuickView/assets/libs/feather/fonts/feather-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..9fbf6b9058b8a65b29cef21b94739c509caebe72 GIT binary patch literal 12936 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 + + + Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/feather/fonts/feather.ttf b/Includes/Modules/QuickView/assets/libs/feather/fonts/feather.ttf new file mode 100644 index 0000000000000000000000000000000000000000..af3c525b1f1fd63728d39be4ed1f2526aef8a3b0 GIT binary patch literal 59240 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 literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/libs/feather/fonts/feather.woff b/Includes/Modules/QuickView/assets/libs/feather/fonts/feather.woff new file mode 100644 index 0000000000000000000000000000000000000000..7cb358c4303a5cf96f1a2a84f9e153e7a4b2536a GIT binary patch literal 59316 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 J=;b5-{sd}LhzbAz literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.eot b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.eot new file mode 100644 index 0000000000000000000000000000000000000000..3b2c096a1044cdc46613214b1ed68292c339d746 GIT binary patch literal 5548 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 Pg|A7=H%eB9|Iz$6GQ_tG literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.svg b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.svg new file mode 100644 index 00000000..b1c981ea --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.svg @@ -0,0 +1,36 @@ + + + + Copyright (C) 2014 by original authors @ fontello.com + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.ttf b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.ttf new file mode 100644 index 0000000000000000000000000000000000000000..da45a6de0eed5dba10088fa91dbde5e29b2ebf72 GIT binary patch literal 5372 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 BqlEwf literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.woff b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/iconpicker.woff new file mode 100644 index 0000000000000000000000000000000000000000..8fdcf7046207b198adda277b121ad8117fc6d4ad GIT binary patch literal 3344 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 WnT2TKz#u_RW8c9ZS5cpxYW@vs3D;Zz literal 0 HcmV?d00001 diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.css b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.css new file mode 100644 index 00000000..4e5fd020 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.css @@ -0,0 +1,362 @@ +/** + * CSS file for fontIconPicker + * This file holds the basic CSS + * {@link https://github.com/micc83/fontIconPicker} + */ +/* Reset (thx to Eric A. and Kathryn S. Meyer) */ +.icons-selector * { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; +} + +.icons-selector, +.icons-selector:before, +.icons-selector:after, +.icons-selector *, +.icons-selector *:before, +.icons-selector *:after { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +/* Display */ +.icons-selector { + display: inline-block; + vertical-align: middle; + text-align: left; +} + +/* Icon selector */ +.icons-selector .selector { + width: 100px; + height: 40px; +} + +/* Selector open button */ +.icons-selector .selector-button { + width: 39px; + height: 100%; + display: block; + text-align: center; + cursor: pointer; + float: left; +} + +/* Selector open button icon */ +.icons-selector .selector-button i { + line-height: 38px; + text-align: center; +} + +/* Selected icon container */ +.icons-selector .selected-icon { + display: block; + width: 60px; + height: 100%; + float: left; + text-align: center; +} + +/* Selected icon */ +.icons-selector .selected-icon i { + line-height: 40px; + font-size: 18px; + cursor: default; +} + +/* IconPicker Popup */ +.icons-selector .selector-popup { + position: absolute; + z-index: 10000; + background-color: #fefefe; + padding: 5px; + height: auto; + width: 342px; + margin-top: -1px; +} + +/* Search input & category selector */ +.icons-selector .selector-search input[type="text"], +.icons-selector .selector-category select { + border: 0; + line-height: 20px; + padding: 10px 2.5%; + width: 100%; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 5px; + font-size: 12px; + display: block; /* Fixes the positioning inside hidden/floated/text-aligned elements, where it would leave a margin */ +} + +.icons-selector .selector-category select { + height: 40px; +} + +.icons-selector .selector-category select option { + padding: 10px; +} + + +/* Search input placeholder */ +.icons-selector input::-webkit-input-placeholder { + text-transform: uppercase; +} + +.icons-selector input:-moz-placeholder { + text-transform: uppercase; +} + +.icons-selector input::-moz-placeholder { + text-transform: uppercase; +} + +.icons-selector input:-ms-input-placeholder { + text-transform: uppercase; +} + +/* Search and cancel icon */ +.icons-selector .selector-search { + position: relative; +} + +.icons-selector .selector-search i { + position: absolute; + right: 10px; + top: 7px; +} + +/* Icon Container inside Popup */ +.icons-selector .fip-icons-container { + width: 100%; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 5px; +} + +/* Icon container loading */ +.icons-selector .fip-icons-container .loading { + font-size: 24px; + margin: 0 auto; + padding: 20px 0; + text-align: center; + width: 100%; +} + +/* Single icon box */ +.icons-selector .fip-box { + display: inline-block; + margin: 2px; + width: 60px; + line-height: 42px; + text-align: center; + cursor: pointer; + vertical-align: top; + height: 40px; +} + +/* Popup footer */ +.icons-selector .selector-footer { + line-height: 12px; + padding: 5px 5px 0 5px; + text-align: center; +} + +/* Pagination and footer icons */ +.icons-selector .selector-footer, .icons-selector .selector-footer i { + font-size: 14px; +} + +/* Pagination arrows container */ +.icons-selector .selector-arrows { + float: right; +} + +/* Pagination text */ +.icons-selector .selector-pages { + font-size: 11px; + float: left; +} + +/* Pagination arrows icons */ +.icons-selector .selector-arrows i { + cursor: pointer; +} + +/* Total icons */ +.icons-selector .selector-footer em { + font-style: italic; +} + + +/* No icons found */ +.icons-selector .icons-picker-error i:before { + color: #eee; +} + +/* Icons */ +@font-face { + font-family: 'iconpicker'; + src: url('iconpicker.eot?90190138'); + src: url('iconpicker.eot?90190138#iefix') format('embedded-opentype'), + url('iconpicker.woff?90190138') format('woff'), + url('iconpicker.ttf?90190138') format('truetype'), + url('iconpicker.svg?90190138#iconpicker') format('svg'); + font-weight: normal; + font-style: normal; +} + +.icons-selector [class^="fip-icon-"]:before, .icons-selector [class*=" fip-icon-"]:before { + font-family: "iconpicker"; + font-style: normal; + font-weight: normal; + speak: none; + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + font-variant: normal; + text-transform: none; + line-height: 1em; + margin-left: .2em; +} + +/* Search icon */ +.icons-selector .fip-icon-search:before { + content: '\e812'; + cursor: default; +} + +/* Cancel search icon */ +.icons-selector .fip-icon-cancel:before { + content: '\e814'; + cursor: pointer; +} + +/* No icon set */ +.icons-selector .fip-icon-block:before { + content: '\e84e'; + color: #fed0d0; +} + +/* Open picker icon */ +.icons-selector .fip-icon-down-dir:before { + content: '\e800'; +} + +/* Close picker icon */ +.icons-selector .fip-icon-up-dir:before { + content: '\e813'; +} + +/* Prev page icon */ +.icons-selector .fip-icon-left-dir:before { + content: '\e801'; +} + +/* Next page icon */ +.icons-selector .fip-icon-right-dir:before { + content: '\e802'; +} + +/* Loading icon */ +.icons-selector .fip-icon-spin3:before { + content: '\e815'; +} + +.icons-selector .fip-icon-spin3 { + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; + display: inline-block; +} + +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@-webkit-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@-o-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@-ms-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.min.css b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.min.css new file mode 100644 index 00000000..a160994e --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fonticonpicker/css/jquery.fonticonpicker.min.css @@ -0,0 +1,2 @@ +/* fontIconPicker main CSS file {@link https://github.com/micc83/fontIconPicker} */ +.icons-selector *{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif}.icons-selector,.icons-selector *,.icons-selector :after,.icons-selector :before,.icons-selector:after,.icons-selector:before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.icons-selector{display:inline-block;vertical-align:middle;text-align:left}.icons-selector .selector{width:100px;height:40px}.icons-selector .selector-button{width:39px;height:100%;display:block;text-align:center;cursor:pointer;float:left}.icons-selector .selector-button i{line-height:38px;text-align:center}.icons-selector .selected-icon{display:block;width:60px;height:100%;float:left;text-align:center}.icons-selector .selected-icon i{line-height:40px;font-size:18px;cursor:default}.icons-selector .selector-popup{position:absolute;z-index:10000;background-color:#fefefe;padding:5px;height:auto;width:342px;margin-top:-1px}.icons-selector .selector-category select,.icons-selector .selector-search input[type=text]{border:0;line-height:20px;padding:10px 2.5%;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:5px;font-size:12px;display:block}.icons-selector .selector-category select{height:40px}.icons-selector .selector-category select option{padding:10px}.icons-selector input::-webkit-input-placeholder{text-transform:uppercase}.icons-selector input:-moz-placeholder{text-transform:uppercase}.icons-selector input::-moz-placeholder{text-transform:uppercase}.icons-selector input:-ms-input-placeholder{text-transform:uppercase}.icons-selector .selector-search{position:relative}.icons-selector .selector-search i{position:absolute;right:10px;top:7px}.icons-selector .fip-icons-container{width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding:5px}.icons-selector .fip-icons-container .loading{font-size:24px;margin:0 auto;padding:20px 0;text-align:center;width:100%}.icons-selector .fip-box{display:inline-block;margin:2px;width:60px;line-height:42px;text-align:center;cursor:pointer;vertical-align:top;height:40px}.icons-selector .selector-footer{line-height:12px;padding:5px 5px 0;text-align:center}.icons-selector .selector-footer,.icons-selector .selector-footer i{font-size:14px}.icons-selector .selector-arrows{float:right}.icons-selector .selector-pages{font-size:11px;float:left}.icons-selector .selector-arrows i{cursor:pointer}.icons-selector .selector-footer em{font-style:italic}.icons-selector .icons-picker-error i:before{color:#eee}@font-face{font-family:iconpicker;src:url(iconpicker.eot?90190138);src:url(iconpicker.eot?90190138#iefix) format('embedded-opentype'),url(iconpicker.woff?90190138) format('woff'),url(iconpicker.ttf?90190138) format('truetype'),url(iconpicker.svg?90190138#iconpicker) format('svg');font-weight:400;font-style:normal}.icons-selector [class*=" fip-icon-"]:before,.icons-selector [class^=fip-icon-]:before{font-family:iconpicker;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em}.icons-selector .fip-icon-search:before{content:'\e812';cursor:default}.icons-selector .fip-icon-cancel:before{content:'\e814';cursor:pointer}.icons-selector .fip-icon-block:before{content:'\e84e';color:#fed0d0}.icons-selector .fip-icon-down-dir:before{content:'\e800'}.icons-selector .fip-icon-up-dir:before{content:'\e813'}.icons-selector .fip-icon-left-dir:before{content:'\e801'}.icons-selector .fip-icon-right-dir:before{content:'\e802'}.icons-selector .fip-icon-spin3:before{content:'\e815'}.icons-selector .fip-icon-spin3{-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;display:inline-block}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-o-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-ms-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}} diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.js b/Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.js new file mode 100644 index 00000000..07eddec6 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.js @@ -0,0 +1,865 @@ +/** + * jQuery fontIconPicker - v2.0.0 + * + * An icon picker built on top of font icons and jQuery + * + * http://codeb.it/fontIconPicker + * + * Made by Alessandro Benoit & Swashata + * Under MIT License + * + * {@link https://github.com/micc83/fontIconPicker} + */ + +;(function($) { + + 'use strict'; + + // Create the defaults once + var defaults = { + theme: 'fip-grey', // The CSS theme to use with this fontIconPicker. You can set different themes on multiple elements on the same page + source: false, // Icons source (array|false|object) + emptyIcon: true, // Empty icon should be shown? + emptyIconValue: '', // The value of the empty icon, change if you select has something else, say "none" + iconsPerPage: 20, // Number of icons per page + hasSearch: true, // Is search enabled? + searchSource: false, // Give a manual search values. If using attributes then for proper search feature we also need to pass icon names under the same order of source + useAttribute: false, // Whether to use attribute selector for printing icons + attributeName: 'data-icon', // HTML Attribute name + convertToHex: true, // Whether or not to convert to hexadecimal for attribute value. If true then please pass decimal integer value to the source (or as value="" attribute of the select field) + allCategoryText: 'From all categories', // The text for the select all category option + unCategorizedText: 'Uncategorized', // The text for the select uncategorized option + }; + + // The actual plugin constructor + function Plugin(element, options) { + this.element = $(element); + this.settings = $.extend({}, defaults, options); + if (this.settings.emptyIcon) { + this.settings.iconsPerPage--; + } + this.iconPicker = $(''; wp_reset_postdata(); } diff --git a/Includes/Modules/QuickView/QuickViewModule.php b/Includes/Modules/QuickView/QuickViewModule.php index 400d83cb..80de84d3 100644 --- a/Includes/Modules/QuickView/QuickViewModule.php +++ b/Includes/Modules/QuickView/QuickViewModule.php @@ -37,7 +37,7 @@ public function get_id() { * @return string */ public function get_icon() { - return sgsb_modules_url( 'QuickView/assets/images/stock-bar-icon.svg' ); + return sgsb_modules_url( 'QuickView/assets/images/quickview-icon-blue.svg' ); } /** diff --git a/Includes/Modules/QuickView/assets/images/quickview-icon-Blue.svg b/Includes/Modules/QuickView/assets/images/quickview-icon-Blue.svg new file mode 100644 index 00000000..9b4dc31c --- /dev/null +++ b/Includes/Modules/QuickView/assets/images/quickview-icon-Blue.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx index 2f0389c5..31e3d86b 100644 --- a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx +++ b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx @@ -4,7 +4,8 @@ import { applyFilters } from "@wordpress/hooks"; import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; import TextInput from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/TextInput"; -import { Switcher, SelectBox } from "sales-booster/src/components/settings/Panels"; +import QuickViewIcon from "./QuickViewIcon"; +import { Switcher, SelectBox, RadioBox } from "sales-booster/src/components/settings/Panels"; function ButtonSettingsTab(props) { const { @@ -31,7 +32,17 @@ function ButtonSettingsTab(props) { "", buttonPositions ) - + + const iconStyleNames = [ + 'quick-view-icon-1', + 'quick-view-icon-2', + 'quick-view-icon-3', + 'quick-view-icon-4', + ]; + + const iconOptions = iconStyleNames?.map(iconStyleName => ( + { key: iconStyleName, value: } + )); return ( @@ -74,6 +85,16 @@ function ButtonSettingsTab(props) { "storegrowth-sales-booster" )} /> + {formData?.enable_qucik_view_icon && + + } + {applyFilters( + "sgsb_quick_after_modal_close_button_settings", + "", + formData, + onFieldChange + )} { + return ( + + {iconName === 'quick-view-icon-1' && ( + + + + + + + + + + + + + )} + + {iconName === 'quick-view-icon-2' && ( + + + + + + + )} + + {iconName === 'quick-view-icon-3' && ( + + + + + + + )} + + {iconName === 'quick-view-icon-4' && ( + + + + + + + + + )} + + ); +} + +export default QuickViewIcon; diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx index f0f3a5a6..8597d93b 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx @@ -39,7 +39,7 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { button_label: __("Quick View", "storegrowth-sales-booster"), button_position: "after_add_to_cart", enable_qucik_view_icon: false, - quick_view_icon: "quick-icon-1", + quick_view_icon: "quick-view-icon-1", show_quick_icon: true, enable_close_button: true, show_view_details_button: false, diff --git a/assets/images/menu/quickview-icon-white.svg b/assets/images/menu/quickview-icon-white.svg new file mode 100644 index 00000000..1ed678cb --- /dev/null +++ b/assets/images/menu/quickview-icon-white.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/assets/images/menu/quickview-icon.svg b/assets/images/menu/quickview-icon.svg new file mode 100644 index 00000000..b1c35951 --- /dev/null +++ b/assets/images/menu/quickview-icon.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/assets/src/admin.scss b/assets/src/admin.scss index 3cb0f83f..898e5c22 100644 --- a/assets/src/admin.scss +++ b/assets/src/admin.scss @@ -23,7 +23,6 @@ $white-color: #ffffff; padding: 0 20px !important; display: inline-flex; align-items: center; - } .sgsb-logo { @@ -797,6 +796,23 @@ main.ant-layout-content.sgsb-module-setting-layout { } } + &.quick-view { + &:before { + content: ""; + background: url('../images/menu/quickview-icon.svg'); + width: 19px; + + } + + &:hover { + &:before { + content: ""; + background: url('../images/menu/quickview-icon-white.svg'); + + } + + } + } } @@ -861,6 +877,10 @@ main.ant-layout-content.sgsb-module-setting-layout { background: url('../images/menu/countdown-timer-white.svg'); } + &.quick-view::before { + background: url('../images/menu/quickview-icon-white.svg'); + } + } li { @@ -1343,6 +1363,24 @@ End Settings Sidebar } } + &.quick-view { + &:before { + content: ""; + background: url('../images/menu/quickview-icon.svg'); + width: 19px; + + } + + &:hover { + &:before { + content: ""; + background: url('../images/menu/quickview-icon-white.svg'); + + } + + } + } + } a { @@ -3120,4 +3158,4 @@ End Settings Sidebar font-size: 14px; } } -} \ No newline at end of file +} diff --git a/assets/src/components/pro-previews/Modules/QuickView/index.js b/assets/src/components/pro-previews/Modules/QuickView/index.js index c70fc4fd..2ff87a92 100644 --- a/assets/src/components/pro-previews/Modules/QuickView/index.js +++ b/assets/src/components/pro-previews/Modules/QuickView/index.js @@ -1,38 +1,57 @@ -import { __ } from '@wordpress/i18n'; -import { Fragment } from 'react'; -import { addFilter } from '@wordpress/hooks'; -import ColourPicker from '../../../settings/Panels/PanelSettings/Fields/ColorPicker'; +import { __ } from "@wordpress/i18n"; +import { Fragment } from "react"; +import { addFilter } from "@wordpress/hooks"; +import ColourPicker from "../../../settings/Panels/PanelSettings/Fields/ColorPicker"; +import { Switcher } from "../../../settings/Panels"; // Handle stock bar modules pro settings prompts. -addFilter( - 'sgsb_quick_view_navigation_settings', - 'sgsb_quick_view_navigation_settings_callback', - ( component ) => { - return ( +addFilter( + "sgsb_quick_view_navigation_settings", + "sgsb_quick_view_navigation_settings_callback", + (component) => { + return ( ); } ); -addFilter( - 'sgsb_quick_view_button_position_settings', - 'sgsb_quick_view_button_position_settings_callback', - ( component,buttonPositions ) => { - return [...buttonPositions, +addFilter( + "sgsb_quick_view_button_position_settings", + "sgsb_quick_view_button_position_settings_callback", + (component, buttonPositions) => { + return [ + ...buttonPositions, { value: "center_on_the_image", label: __("Center On The Image", "storegrowth-sales-booster"), - disabled:true, - needUpgrade:true, + disabled: true, + needUpgrade: true, }, - ] - + ]; + } +); +addFilter( + "sgsb_quick_after_modal_close_button_settings", + "sgsb_quick_after_modal_close_button_settings_callback", + (component) => { + return ( + + ); } ); - From 2287dcdc7cd833a3ad0205045520288881901268 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Thu, 15 Feb 2024 16:37:34 +0600 Subject: [PATCH 11/22] feat(quick_view): the icon and the pro feature is being added --- .../Modules/QuickView/QuickViewModule.php | 2 +- .../assets/images/quick-view-module-img.svg | 102 ++++++++++ .../src/components/ButtonSettingsTab.jsx | 50 +---- .../assets/src/components/DesingTab.jsx | 2 +- .../assets/src/components/Preview.jsx | 129 +----------- .../assets/src/components/QuickViewLayout.jsx | 2 +- .../src/components/Templates/QuickViewOne.js | 78 -------- .../components/Templates/QuickViewPreview.jsx | 184 ++++++++++++++++++ .../components/Templates/QuickViewThree.js | 80 -------- .../src/components/Templates/QuickViewTwo.js | 78 -------- .../QuickView/templates/quick-view-button.php | 24 ++- .../pro-previews/Modules/QuickView/index.js | 21 ++ 12 files changed, 336 insertions(+), 416 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/images/quick-view-module-img.svg delete mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js create mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx delete mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js delete mode 100644 Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js diff --git a/Includes/Modules/QuickView/QuickViewModule.php b/Includes/Modules/QuickView/QuickViewModule.php index 80de84d3..ebede6c9 100644 --- a/Includes/Modules/QuickView/QuickViewModule.php +++ b/Includes/Modules/QuickView/QuickViewModule.php @@ -46,7 +46,7 @@ public function get_icon() { * @return string */ public function get_banner() { - return sgsb_modules_url( 'QuickView/assets/images/stock-bar-module-img.svg' ); + return sgsb_modules_url( 'QuickView/assets/images/quick-view-module-img.svg' ); } /** diff --git a/Includes/Modules/QuickView/assets/images/quick-view-module-img.svg b/Includes/Modules/QuickView/assets/images/quick-view-module-img.svg new file mode 100644 index 00000000..4b44f479 --- /dev/null +++ b/Includes/Modules/QuickView/assets/images/quick-view-module-img.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx index 31e3d86b..d62017bf 100644 --- a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx +++ b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx @@ -69,32 +69,14 @@ function ButtonSettingsTab(props) { changeHandler={onFieldChange} title={__("Button Position", "storegrowth-sales-booster")} /> - - {formData?.enable_qucik_view_icon && - - } + {applyFilters( + "sgsb_quick_view_button_icon_settings", + "", + onFieldChange, + formData, + iconOptions + )} + { return ( -
-
- {formData?.stock_display_format === "above" ? ( - -
- - {formData?.total_sell_count_text}: - - {__(" 247", "storegrowth-sales-booster")} - - - - {formData?.available_item_count_text}: - - {__(" 123", "storegrowth-sales-booster")} - - -
-
-
-
-
- ) : ( - -
-
-
-
- - {formData?.total_sell_count_text}: - - {__(" 247", "storegrowth-sales-booster")} - - - - {formData?.available_item_count_text}: - - {__(" 123", "storegrowth-sales-booster")} - - -
-
- )} -
-
+ ); }; diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx index 8597d93b..48d07785 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx @@ -137,7 +137,7 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { }; const noop = () => { }; - const excludeTabs = ["general"]; + const excludeTabs = [""]; const showPreview = !excludeTabs?.includes(tabName); const tabPanels = [ diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js deleted file mode 100644 index 43656892..00000000 --- a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewOne.js +++ /dev/null @@ -1,78 +0,0 @@ -import { __ } from "@wordpress/i18n"; - -const QuickViewOne = ({ activeTemplate }) => { - return ( -
-
-
- - {__("Total Sold: ", "storegrowth-sales-booster")} - - {__("247", "storegrowth-sales-booster")} - - - - {__("Available Item: ", "storegrowth-sales-booster")} - - {__("123", "storegrowth-sales-booster")} - - -
-
-
-
-
-
- ); -}; - -export default QuickViewOne; diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx new file mode 100644 index 00000000..0dfedd4b --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx @@ -0,0 +1,184 @@ +import React from "react"; +import { Button } from 'antd'; +import QuickViewIcon from "../QuickViewIcon"; + +const QuickViewPreview = ({ formData }) => { + + const buttonStyle = { + borderRadius: formData?.button_border_radius, + backgroundColor: formData?.button_color, + color: formData?.button_text_color, + }; + + const buttonContent = formData.enable_qucik_view_icon ? ( + + ) : ( + formData?.button_label + ); + + return ( + <> +
+ {formData?.show_image && ( +
+
+
+ +
+
+
+ )} +
+
+ {formData?.show_title && ( +

Beanie with Logo

+ )} + {formData?.show_excerpt && ( +
+

This is a simple product.

+
+ )} + {formData?.show_price && ( +

+ + + + + 18.00 + + ৳  + + + + +

+ )} + + {formData?.show_add_to_cart && ( +
+
+ + +
+ +
+ )} + {formData?.show_meta && ( +
+ + SKU: Woo-beanie-logo + + + Category:{" "} + + +
+ )} + + {formData?.show_description && ( +
+
+

Description

+
+
+

+ Pellentesque habitant morbi tristique senectus et netus et + malesuada fames ac turpis egestas. Vestibulum tortor quam, + feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu + libero sit amet quam egestas semper. Aenean ultricies mi vitae + est. Mauris placerat eleifend leo. +

+
+
+ )} +
+ {formData?.show_view_details_button && ( +
+ + View Product Details + +
)} +
+ {formData?.enable_close_button && ( +
+ x +
+ )} +
+
+ +
+ + ); +}; + +export default QuickViewPreview; diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js deleted file mode 100644 index f9f9efae..00000000 --- a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewThree.js +++ /dev/null @@ -1,80 +0,0 @@ -import { __ } from "@wordpress/i18n"; - -const QuickViewThree = ({ activeTemplate }) => { - return ( -
-
-
- - {__("Total Sold: ", "storegrowth-sales-booster")} - - {__("247", "storegrowth-sales-booster")} - - - - {__("Available Item: ", "storegrowth-sales-booster")} - - {__("123", "storegrowth-sales-booster")} - - -
-
-
-
-
-
- ); -}; - -export default QuickViewThree; diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js deleted file mode 100644 index a4529cd1..00000000 --- a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewTwo.js +++ /dev/null @@ -1,78 +0,0 @@ -import { __ } from "@wordpress/i18n"; - -const QuickViewTwo = ({ activeTemplate }) => { - return ( -
-
-
- - {__("Total Sold: ", "storegrowth-sales-booster")} - - {__("247", "storegrowth-sales-booster")} - - - - {__("Available Item: ", "storegrowth-sales-booster")} - - {__("123", "storegrowth-sales-booster")} - - -
-
-
-
-
-
- ); -}; - -export default QuickViewTwo; diff --git a/Includes/Modules/QuickView/templates/quick-view-button.php b/Includes/Modules/QuickView/templates/quick-view-button.php index f384b0cb..9bc28e92 100644 --- a/Includes/Modules/QuickView/templates/quick-view-button.php +++ b/Includes/Modules/QuickView/templates/quick-view-button.php @@ -6,13 +6,15 @@ */ global $product; -$product_id = $product->get_ID(); -$product_type = $product->get_type(); -$settings = get_option( 'sgsb_quick_view_settings' ); -$button_label = sgsb_find_option_setting( $settings, 'button_label', 'Quick View' ); -$modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); -$product_page = is_product() ? '_product_page' : ''; - $classes = implode( +$product_id = $product->get_ID(); +$product_type = $product->get_type(); +$settings = get_option( 'sgsb_quick_view_settings' ); +$button_label = sgsb_find_option_setting( $settings, 'button_label', 'Quick View' ); +$modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); +$quick_view_icon_color = sgsb_find_option_setting( $settings, 'button_text_color', '#ffffff' ); +$is_icon_active = sgsb_find_option_setting( $settings, 'enable_qucik_view_icon', false ); +$product_page = is_product() ? '_product_page' : ''; + $classes = implode( ' ', array_filter( array( @@ -26,5 +28,11 @@ ?> - + diff --git a/assets/src/components/pro-previews/Modules/QuickView/index.js b/assets/src/components/pro-previews/Modules/QuickView/index.js index 2ff87a92..56e348be 100644 --- a/assets/src/components/pro-previews/Modules/QuickView/index.js +++ b/assets/src/components/pro-previews/Modules/QuickView/index.js @@ -55,3 +55,24 @@ addFilter( ); } ); +addFilter( + "sgsb_quick_view_button_icon_settings", + "sgsb_quick_view_button_icon_settings_callback", + (component) => { + return ( + <> + + + ); + } +); From 95fd202b56bf4553dc7b587c022733230adc75e5 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Thu, 15 Feb 2024 17:28:46 +0600 Subject: [PATCH 12/22] feat(quick-view): product image is being added --- .../QuickView/assets/images/bump-preview.svg | 10 +++ .../assets/images/stock-bar-icon.svg | 81 ------------------ .../assets/images/stock-bar-instruction.png | Bin 22200 -> 0 bytes .../components/Templates/QuickViewPreview.jsx | 15 ++-- 4 files changed, 18 insertions(+), 88 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/images/bump-preview.svg delete mode 100644 Includes/Modules/QuickView/assets/images/stock-bar-icon.svg delete mode 100644 Includes/Modules/QuickView/assets/images/stock-bar-instruction.png diff --git a/Includes/Modules/QuickView/assets/images/bump-preview.svg b/Includes/Modules/QuickView/assets/images/bump-preview.svg new file mode 100644 index 00000000..7d65a651 --- /dev/null +++ b/Includes/Modules/QuickView/assets/images/bump-preview.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Includes/Modules/QuickView/assets/images/stock-bar-icon.svg b/Includes/Modules/QuickView/assets/images/stock-bar-icon.svg deleted file mode 100644 index e478a1a4..00000000 --- a/Includes/Modules/QuickView/assets/images/stock-bar-icon.svg +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Includes/Modules/QuickView/assets/images/stock-bar-instruction.png b/Includes/Modules/QuickView/assets/images/stock-bar-instruction.png deleted file mode 100644 index ee790a1c1a2b728ff69795a2a8b71ea1d39822f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22200 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 diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx index 0dfedd4b..0864123d 100644 --- a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx @@ -1,9 +1,9 @@ import React from "react"; -import { Button } from 'antd'; +import { Button ,Image} from 'antd'; import QuickViewIcon from "../QuickViewIcon"; - +import ProductImage from '../../../images/bump-preview.svg' const QuickViewPreview = ({ formData }) => { - + console.log(ProductImage) const buttonStyle = { borderRadius: formData?.button_border_radius, backgroundColor: formData?.button_color, @@ -36,11 +36,12 @@ const QuickViewPreview = ({ formData }) => {
- + {/* + /> */}
From 52b64d2e5530de0bb6c94eed939f1befbb569187 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Thu, 22 Feb 2024 11:43:10 +0600 Subject: [PATCH 13/22] feat(quick-view): the the icon and fallback image updated --- .../QuickView/assets/images/dummy-product.svg | 9 ++ .../assets/src/components/QuickViewIcon.jsx | 97 +++++-------------- .../components/Templates/QuickViewPreview.jsx | 14 ++- assets/src/admin.scss | 6 ++ 4 files changed, 47 insertions(+), 79 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/images/dummy-product.svg diff --git a/Includes/Modules/QuickView/assets/images/dummy-product.svg b/Includes/Modules/QuickView/assets/images/dummy-product.svg new file mode 100644 index 00000000..d7391fbf --- /dev/null +++ b/Includes/Modules/QuickView/assets/images/dummy-product.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewIcon.jsx b/Includes/Modules/QuickView/assets/src/components/QuickViewIcon.jsx index 68e7faf3..8943b448 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewIcon.jsx +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewIcon.jsx @@ -1,50 +1,23 @@ import { Fragment } from 'react'; const QuickViewIcon = ({ activeIcon, iconName, svgStyle, iconColor }) => { + return ( {iconName === 'quick-view-icon-1' && ( - - - - - - - - - - + + + + + )} @@ -52,19 +25,14 @@ const QuickViewIcon = ({ activeIcon, iconName, svgStyle, iconColor }) => { - - + + )} @@ -73,19 +41,13 @@ const QuickViewIcon = ({ activeIcon, iconName, svgStyle, iconColor }) => { - - + )} @@ -94,31 +56,18 @@ const QuickViewIcon = ({ activeIcon, iconName, svgStyle, iconColor }) => { - - - - + + - + )} - +
); } diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx index 0864123d..2cc70320 100644 --- a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx @@ -1,7 +1,7 @@ import React from "react"; import { Button ,Image} from 'antd'; import QuickViewIcon from "../QuickViewIcon"; -import ProductImage from '../../../images/bump-preview.svg' +import ProductImage from '../../../images/dummy-product.svg' const QuickViewPreview = ({ formData }) => { console.log(ProductImage) const buttonStyle = { @@ -50,15 +50,17 @@ const QuickViewPreview = ({ formData }) => { className="summary entry-summary" style={{ height: "100%", - overflowX: "hidden", - overflowY: "auto", position: "relative", + width:"100%", background: `${formData?.modal_background_color}`, }} >
@@ -117,9 +119,11 @@ const QuickViewPreview = ({ formData }) => { Category:{" "} -
)} diff --git a/assets/src/admin.scss b/assets/src/admin.scss index 898e5c22..20cee89f 100644 --- a/assets/src/admin.scss +++ b/assets/src/admin.scss @@ -2388,6 +2388,12 @@ End Settings Sidebar fill: #FFF !important; } } + .radio-icon-stroke { + path { + fill: none !important; + stroke: #fff !important; + } + } } } From c85dd629ab0907ad64a61e77d76983850fb9dd99 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Fri, 23 Feb 2024 15:32:50 +0600 Subject: [PATCH 14/22] fix(quick view): phpcs ssue fix --- Includes/Modules/QuickView/Includes/Ajax.php | 56 ++++++++++--------- .../QuickView/Includes/EnqueueScript.php | 31 +++++----- 2 files changed, 47 insertions(+), 40 deletions(-) diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index a34b8e17..9ebd0e34 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -31,8 +31,6 @@ private function __construct() { add_action( 'wp_ajax_nopriv_sgsbqcv_quickview', array( $this, 'ajax_quickview_callback' ) ); add_action( 'wp_ajax_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); add_action( 'wp_ajax_nopriv_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); - // add_action( 'wp_ajax_load_modal_template', array( $this, 'load_modal_template_callback' ) ); - // add_action( 'wp_ajax_nopriv_load_modal_template', array( $this, 'load_modal_template_callback' ) ); } /** @@ -64,44 +62,57 @@ public function get_settings() { wp_send_json_success( $form_data ); } + /** + * Quick view Ajax call. + */ public function ajax_quickview_callback() { check_ajax_referer( 'sgsbqcv-security', 'nonce' ); global $post, $product; $settings = get_option( 'sgsb_quick_view_settings' ); - $product_id = absint( sanitize_key( $_REQUEST['product_id'] ) ); + $product_id = isset( $_REQUEST['product_id'] ) ? absint( sanitize_key( $_REQUEST['product_id'] ) ) : ''; $product = wc_get_product( $product_id ); $content_image = 'all'; $content_view_details_button = sgsb_find_option_setting( $settings, 'show_view_details_button', false ); $content_image_lightbox = 'no'; if ( $product ) { + $post = get_post( $product_id ); setup_postdata( $post ); $thumb_ids = array(); - if ( $content_image === 'product_image' ) { - if ( $product_image = $product->get_image_id() ) { + if ( 'product_image' === $content_image ) { + $product_image = $product->get_image_id(); + if ( $product_image ) { $thumb_ids[] = $product_image; } - - if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { + $children = $product->get_visible_children(); + if ( $product->is_type( 'variable' ) && ( $children ) ) { foreach ( $children as $child ) { - if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { + $child_product = wc_get_product( $child ); + $child_product_image = $child_product->get_image_id(); + if ( $child_product && $child_product_image ) { $thumb_ids[] = $child_product_image; } } } } else { - if ( $content_image === 'all' ) { - if ( $product_image = $product->get_image_id() ) { - $thumb_ids[] = $product_image; + if ( 'all' === $content_image ) { + + if ( $product->get_image_id() ) { + $product_image = $product->get_image_id(); + $thumb_ids[] = $product_image; } - if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { + if ( $product->is_type( 'variable' ) && ( $product->get_visible_children() ) ) { + $children = $product->get_visible_children(); foreach ( $children as $child ) { - if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { + $child_product = wc_get_product( $child ); + $child_product_image = $child_product->get_image_id(); + + if ( $child_product && ( $child_product_image ) ) { $thumb_ids[] = $child_product_image; } } @@ -109,7 +120,7 @@ public function ajax_quickview_callback() { } if ( is_a( $product, 'WC_Product_Variation' ) ) { - // get images from WPC Additional Variation Images + // get images from WPC Additional Variation Images. $_images = array_filter( explode( ',', get_post_meta( $product_id, 'wpcvi_images', true ) ) ); if ( ! empty( $_images ) ) { @@ -135,7 +146,7 @@ public function ajax_quickview_callback() { $image_sz = apply_filters( 'sgsbqcv_image_size', 'default' ); - if ( $image_sz === 'default' ) { + if ( 'default' === $image_sz ) { $image_size = 'sgsbqcv'; } else { $image_size = $image_sz; @@ -143,10 +154,10 @@ public function ajax_quickview_callback() { if ( ! empty( $thumb_ids ) ) { foreach ( $thumb_ids as $thumb_id ) { - if ( $content_image_lightbox !== 'no' ) { + if ( 'no' !== $content_image_lightbox ) { $image_full = wp_get_attachment_image_src( $thumb_id, 'full' ); - echo '
' . wp_get_attachment_image( + echo '
' . wp_get_attachment_image( $thumb_id, $image_size, false, @@ -156,11 +167,11 @@ public function ajax_quickview_callback() { ) ) . '
'; } else { - echo '
' . wp_get_attachment_image( $thumb_id, $image_size ) . '
'; + echo '
' . wp_get_attachment_image( $thumb_id, $image_size ) . '
'; } } } else { - echo '
' . wc_placeholder_img( $image_size ) . '
'; + echo '
' . esc_attr( wc_placeholder_img( $image_size ) ) . '
'; } echo '
'; @@ -188,11 +199,4 @@ public function ajax_quickview_callback() { wp_die(); } - - public function custom_ajax_add_to_cart() { - $product_id = $_POST['product_id']; - $quantity = $_POST['quantity']; - WC()->cart->add_to_cart( $product_id, $quantity ); - wp_die(); - } } diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index a63d3c21..1894c737 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -37,7 +37,7 @@ private function __construct() { * Enqueue CSS and JS for fly cart. */ public function wp_enqueue_scripts() { - + check_ajax_referer( 'sgsbqcv-security' ); $settings = get_option( 'sgsb_quick_view_settings' ); $modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); $enable_close_button = sgsb_find_option_setting( $settings, 'enable_close_button', true ); @@ -86,7 +86,7 @@ public function wp_enqueue_scripts() { true ); - // feather icons + // feather icons. wp_enqueue_style( 'sgsbqcv-feather', sgsb_modules_url( 'QuickView/assets/libs/feather/feather.css' ), @@ -94,11 +94,7 @@ public function wp_enqueue_scripts() { filemtime( sgsb_modules_path( 'QuickView/assets/libs/feather/feather.css' ) ) ); - // if ( self::get_setting( 'button_icon', 'no' ) !== 'no' ) { - // wp_enqueue_style( 'sgsbqcv-icons', sgsbqcv_URI . 'assets/css/icons.css', array(), sgsbqcv_VERSION ); - // } - - // main style & js + // main style & js. wp_enqueue_style( 'sgsbqcv-frontend', sgsb_modules_url( 'QuickView/assets/scripts/frontend.css' ), @@ -134,7 +130,7 @@ public function wp_enqueue_scripts() { 'thumbnails_effect' => $enable_zoom_box, 'related_slick_params' => apply_filters( 'sgsbqcv_related_slick_params', - json_encode( + wp_json_encode( apply_filters( 'sgsbqcv_related_slick_params_arr', array( @@ -150,7 +146,7 @@ public function wp_enqueue_scripts() { ), 'thumbnails_slick_params' => apply_filters( 'sgsbqcv_thumbnails_slick_params', - json_encode( + wp_json_encode( apply_filters( 'sgsbqcv_thumbnails_slick_params_arr', array( @@ -166,7 +162,7 @@ public function wp_enqueue_scripts() { ), 'thumbnails_zoom_params' => apply_filters( 'sgsbqcv_thumbnails_zoom_params', - json_encode( + wp_json_encode( apply_filters( 'sgsbqcv_thumbnails_zoom_params_arr', array( @@ -176,6 +172,7 @@ public function wp_enqueue_scripts() { ) ) ), + 'quick_view' => isset( $_REQUEST['quick-view'] ) ? absint( sanitize_key( $_REQUEST['quick-view'] ) ) : 0, ) ); @@ -183,13 +180,19 @@ public function wp_enqueue_scripts() { $this->inline_styles(); } - public static function localization( $key = '', $default = '' ) { + /** + * Localization. + * + * @param string $key key. + * @param string $defaul . + */ + public static function localization( $key = '', $defaul = '' ) { $str = ''; if ( ! empty( $key ) && ! empty( self::$localization[ $key ] ) ) { - $str = self::$localization[ $key ]; - } elseif ( ! empty( $default ) ) { - $str = $default; + $str = self::$localization[ $key ]; // phpcs: ignore. + } elseif ( ! empty( $defaul ) ) { + $str = $defaul; } return apply_filters( 'sgsbqcv_localization_' . $key, $str ); From 37b6734abb77fa139d10d6167e5d692f0790009c Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Fri, 23 Feb 2024 15:55:54 +0600 Subject: [PATCH 15/22] fix(quick-view): ajax referer removed from enques script --- Includes/Modules/QuickView/Includes/EnqueueScript.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 1894c737..825e864b 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -37,7 +37,7 @@ private function __construct() { * Enqueue CSS and JS for fly cart. */ public function wp_enqueue_scripts() { - check_ajax_referer( 'sgsbqcv-security' ); + $settings = get_option( 'sgsb_quick_view_settings' ); $modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); $enable_close_button = sgsb_find_option_setting( $settings, 'enable_close_button', true ); @@ -172,7 +172,6 @@ public function wp_enqueue_scripts() { ) ) ), - 'quick_view' => isset( $_REQUEST['quick-view'] ) ? absint( sanitize_key( $_REQUEST['quick-view'] ) ) : 0, ) ); From 4916ae956c3f64b4fbc9cf981a1ad01720b26e0f Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Thu, 29 Feb 2024 16:15:57 +0600 Subject: [PATCH 16/22] feat(Quick-view): module compatibility --- .../CountdownTimer/assets/scripts/custom.js | 33 ++++++++---- .../assets/js/sgsb-dc-script.js | 52 +++++++++++++++---- .../QuickView/assets/scripts/frontend.js | 24 ++++++++- .../StockBar/assets/scripts/sgsb-stock-bar.js | 48 ++++++++++------- 4 files changed, 117 insertions(+), 40 deletions(-) diff --git a/Includes/Modules/CountdownTimer/assets/scripts/custom.js b/Includes/Modules/CountdownTimer/assets/scripts/custom.js index c03a7a03..caa65e06 100644 --- a/Includes/Modules/CountdownTimer/assets/scripts/custom.js +++ b/Includes/Modules/CountdownTimer/assets/scripts/custom.js @@ -1,15 +1,26 @@ -'use strict'; +"use strict"; -jQuery(document).ready( function($) { +jQuery(document).ready(function ($) { + sgsb_countdown_timer_methods(); +}); - $('.sgsb-countdown-timer-items').each(function() { - $(this).countdown( $(this).data('end-date') ) - .on('update.countdown', function(event) { - $(this).find('strong.sgsb-countdown-timer-item-days').html(event.strftime('%D')); - $(this).find('strong.sgsb-countdown-timer-item-hours').html(event.strftime('%H')); - $(this).find('strong.sgsb-countdown-timer-item-minutes').html(event.strftime('%M')); - $(this).find('strong.sgsb-countdown-timer-item-seconds').html(event.strftime('%S')); +function sgsb_countdown_timer_methods() { + jQuery(".sgsb-countdown-timer-items").each(function () { + jQuery(this) + .countdown(jQuery(this).data("end-date")) + .on("update.countdown", function (event) { + jQuery(this) + .find("strong.sgsb-countdown-timer-item-days") + .html(event.strftime("%D")); + jQuery(this) + .find("strong.sgsb-countdown-timer-item-hours") + .html(event.strftime("%H")); + jQuery(this) + .find("strong.sgsb-countdown-timer-item-minutes") + .html(event.strftime("%M")); + jQuery(this) + .find("strong.sgsb-countdown-timer-item-seconds") + .html(event.strftime("%S")); }); }); - -} ); +} diff --git a/Includes/Modules/DirectCheckout/assets/js/sgsb-dc-script.js b/Includes/Modules/DirectCheckout/assets/js/sgsb-dc-script.js index ebde686b..b4fb40fd 100644 --- a/Includes/Modules/DirectCheckout/assets/js/sgsb-dc-script.js +++ b/Includes/Modules/DirectCheckout/assets/js/sgsb-dc-script.js @@ -3,22 +3,21 @@ const directCheckOut = { init: function () { - $( '.product' ).on( 'click', '.sgsb_buy_now_button, .sgsb_buy_now_button_product_page', this.handleProductDirectCheckout ); + jQuery( '.product' ).on( 'click', '.sgsb_buy_now_button, .sgsb_buy_now_button_product_page', this.handleProductDirectCheckout ); }, - + handleProductDirectCheckout: function( event ) { event.stopPropagation(); event.preventDefault(); - + // Check quick cart checkout availability first. if ( sgsbDcFrontend?.isPro && sgsbDcFrontend?.isQuickCartCheckout ) return; - - let productId = $( event?.target ).data( 'id' ), + let productId = jQuery( event?.target ).data( 'id' ), checkOutUrl = event?.target?.href; - + // Collect data id from product id. - productId = typeof productId === 'undefined' ? $( event?.target ).data( 'product_id' ) : productId; - + productId = typeof productId === 'undefined' ? jQuery( event?.target ).data( 'product_id' ) : productId; + jQuery.ajax({ url : sgsbDcFrontend?.ajax_url, type : 'POST', @@ -36,9 +35,44 @@ }); }, }; - + // For sidebar. jQuery(document).ready(function () { directCheckOut.init(); }); })(jQuery); + + +const sgsbDirectChecoutQuick = { + init: function () { + jQuery( '.product' ).on( 'click', '.sgsb_buy_now_button, .sgsb_buy_now_button_product_page', this.handleProductDirectCheckout ); + }, + + handleProductDirectCheckout: function( event ) { + event.stopPropagation(); + event.preventDefault(); + + // Check quick cart checkout availability first. + let productId = jQuery( event?.target ).data( 'id' ), + checkOutUrl = event?.target?.href; + + // Collect data id from product id. + productId = typeof productId === 'undefined' ? jQuery( event?.target ).data( 'product_id' ) : productId; + + jQuery.ajax({ + url : sgsbDcFrontend?.ajax_url, + type : 'POST', + data : { + 'action' : 'woocommerce_add_to_cart', + 'product_id' : productId, + }, + success : ( response ) => { + console.log( response?.cart_hash ); + // if ( response?.cart_hash ) { + window.location.href = checkOutUrl; + // } + }, + error : ( error ) => console.log( error ) + }); + }, +}; diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index ba0b58c6..c625e1d1 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -10,7 +10,6 @@ function isMobileDevice() { (function ($) { $(function () { if (isMobileDevice() && !sgsbqcv_vars.enable_in_mobile) { - console.log("running"); $(".sgsbqcv-btn").each(function () { $(this).remove(); }); @@ -318,15 +317,36 @@ function sgsbqcv_loaded() { jQuery(".sgsbqcv-sidebar").removeClass("sgsbqcv-loading"); } +function isFunctionDefined(func) { + return typeof func === 'function'; +} + +function callIfDefined(func) { + if (isFunctionDefined(func)) { + func(); + } else { + console.error(func.name + " is not defined"); + } +} + function sgsbqcv_init_content(context) { if (context === "loaded") { + callIfDefined(sgsb_stockbar_jqmeter); + callIfDefined(sgsb_countdown_timer_methods); + callIfDefined(() => { + if (typeof sgsbDirectChecoutQuick !== 'undefined') { + callIfDefined(sgsbDirectChecoutQuick.init); + } + }); + + // Call other methods even if they may not be defined initially sgsbqcv_thumbnails_zoom(); sgsbqcv_thumbnails_slick(); sgsbqcv_related_slick(); } - } + function sgsbqcv_get_key(array, key, value) { for (var i = 0; i < array.length; i++) { if (array[i][key] === value) { diff --git a/Includes/Modules/StockBar/assets/scripts/sgsb-stock-bar.js b/Includes/Modules/StockBar/assets/scripts/sgsb-stock-bar.js index e45d0c48..d0954d8e 100644 --- a/Includes/Modules/StockBar/assets/scripts/sgsb-stock-bar.js +++ b/Includes/Modules/StockBar/assets/scripts/sgsb-stock-bar.js @@ -2,13 +2,19 @@ jQuery(document).ready(function ($) { // Stock progress bar. - $(".jqmeter-container").each(function (event) { - var goal = $(this).parent().attr("total-stock"); - var raised = $(this).parent().attr("total-sale"); - var height = $(this).parent().data("height") + "px"; - var bgColor = $(this).parent().data("bgcolor"); - var barColor = $(this).parent().data("fgcolor"); - $(this).jQMeter({ + sgsb_stockbar_jqmeter(); + showStockProgress(); + sgsb_stockbar_variations(); +}); + +function sgsb_stockbar_jqmeter() { + jQuery(".jqmeter-container").each(function (event) { + var goal = jQuery(this).parent().attr("total-stock"); + var raised = jQuery(this).parent().attr("total-sale"); + var height = jQuery(this).parent().data("height") + "px"; + var bgColor = jQuery(this).parent().data("bgcolor"); + var barColor = jQuery(this).parent().data("fgcolor"); + jQuery(this).jQMeter({ goal: goal, raised: raised, meterOrientation: "horizontal", @@ -17,16 +23,22 @@ jQuery(document).ready(function ($) { bgColor: bgColor, displayTotal: false, }); - $( this ).find( '.inner-therm' ).css( { background: barColor } ); - }); - - showStockProgress(); - $("form.variations_form").on("show_variation", function (event, variation) { - showStockProgress(); + jQuery(this).find(".inner-therm").css({ background: barColor }); }); +} - function showStockProgress() { - let order_progress = $(".sgsb-stock-progress").attr("data-order-progress"); - $(".sgsb-stock-progress").animate({ width: `${order_progress}%` }, 1300); - } -}); +function sgsb_stockbar_variations() { + jQuery("form.variations_form").on( + "show_variation", + function (event, variation) { + showStockProgress(); + }, + ); +} + +function showStockProgress() { + let order_progress = jQuery(".sgsb-stock-progress").attr( + "data-order-progress", + ); + jQuery(".sgsb-stock-progress").animate({ width: `${order_progress}%` }, 1300); +} From 16106e76a57245d0bf9032ef4a526944ad5be734 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Thu, 14 Mar 2024 12:03:31 +0600 Subject: [PATCH 17/22] fix(Quick-view): method runnig issue --- .../QuickView/assets/scripts/frontend.js | 18 +++++++++--------- .../QuickView/templates/quick-view-button.php | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index c625e1d1..b8b21baa 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -18,6 +18,7 @@ function isMobileDevice() { $(function () { $(".sgsbqcv-btn, .sgsbqcv-link").each(function () { var id = $(this).attr("data-id"); + console.log(id); var pid = $(this).attr("data-pid"); var product_id = $(this).attr("data-product_id"); if (typeof pid !== typeof undefined && pid !== false) { @@ -318,7 +319,7 @@ function sgsbqcv_loaded() { } function isFunctionDefined(func) { - return typeof func === 'function'; + return typeof func === "function"; } function callIfDefined(func) { @@ -331,22 +332,21 @@ function callIfDefined(func) { function sgsbqcv_init_content(context) { if (context === "loaded") { + // Call other methods even if they may not be defined initially + sgsbqcv_thumbnails_zoom(); + sgsbqcv_thumbnails_slick(); + sgsbqcv_related_slick(); + callIfDefined(sgsb_stockbar_jqmeter); callIfDefined(sgsb_countdown_timer_methods); callIfDefined(() => { - if (typeof sgsbDirectChecoutQuick !== 'undefined') { + if (typeof sgsbDirectChecoutQuick !== "undefined") { callIfDefined(sgsbDirectChecoutQuick.init); } }); - - // Call other methods even if they may not be defined initially - sgsbqcv_thumbnails_zoom(); - sgsbqcv_thumbnails_slick(); - sgsbqcv_related_slick(); } } - function sgsbqcv_get_key(array, key, value) { for (var i = 0; i < array.length; i++) { if (array[i][key] === value) { @@ -358,7 +358,7 @@ function sgsbqcv_get_key(array, key, value) { } function sgsbqcv_thumbnails_zoom() { - if (sgsbqcv_vars.thumbnails_effect ) { + if (sgsbqcv_vars.thumbnails_effect) { jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").each(function () { var $this = jQuery(this); var zoom_params = JSON.parse(sgsbqcv_vars.thumbnails_zoom_params); diff --git a/Includes/Modules/QuickView/templates/quick-view-button.php b/Includes/Modules/QuickView/templates/quick-view-button.php index 9bc28e92..3f38dc19 100644 --- a/Includes/Modules/QuickView/templates/quick-view-button.php +++ b/Includes/Modules/QuickView/templates/quick-view-button.php @@ -13,14 +13,14 @@ $modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); $quick_view_icon_color = sgsb_find_option_setting( $settings, 'button_text_color', '#ffffff' ); $is_icon_active = sgsb_find_option_setting( $settings, 'enable_qucik_view_icon', false ); -$product_page = is_product() ? '_product_page' : ''; - $classes = implode( +// $product_page = is_product() ? '_product_page' : ''; + $classes = implode( ' ', array_filter( array( 'button', ' sgsbqcv-btn-' . $product_id, - 'sgsbqcv-btn' . $product_page, + 'sgsbqcv-btn', ) ) ); From 3a71aba86ff30a079467ad1e064cb7fbfdf7c48c Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Thu, 14 Mar 2024 13:02:39 +0600 Subject: [PATCH 18/22] fix(quick-view): pro and error handle --- .../QuickView/assets/scripts/frontend.css | 1 - .../QuickView/assets/scripts/frontend.js | 22 ++++++++++++++----- .../components/Templates/QuickViewPreview.jsx | 4 ++-- package.json | 2 +- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.css b/Includes/Modules/QuickView/assets/scripts/frontend.css index 1cac79d1..44cf72e3 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.css +++ b/Includes/Modules/QuickView/assets/scripts/frontend.css @@ -358,7 +358,6 @@ right: 0; bottom: 0; background-color: #222; - box-shadow: 10px -20px 20px #fff; color: #fff; text-align: center; outline: none; diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index b8b21baa..24bc51b4 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -18,7 +18,6 @@ function isMobileDevice() { $(function () { $(".sgsbqcv-btn, .sgsbqcv-link").each(function () { var id = $(this).attr("data-id"); - console.log(id); var pid = $(this).attr("data-pid"); var product_id = $(this).attr("data-product_id"); if (typeof pid !== typeof undefined && pid !== false) { @@ -322,11 +321,17 @@ function isFunctionDefined(func) { return typeof func === "function"; } +function isFunctionDefined(func) { + return typeof func === "function"; +} + function callIfDefined(func) { if (isFunctionDefined(func)) { - func(); - } else { - console.error(func.name + " is not defined"); + try { + func(); + } catch (error) { + return; + } } } @@ -337,8 +342,13 @@ function sgsbqcv_init_content(context) { sgsbqcv_thumbnails_slick(); sgsbqcv_related_slick(); - callIfDefined(sgsb_stockbar_jqmeter); - callIfDefined(sgsb_countdown_timer_methods); + if (typeof sgsb_countdown_timer_methods === "function") { + callIfDefined(sgsb_countdown_timer_methods); + } + + if (typeof sgsb_stockbar_jqmeter === "function") { + callIfDefined(sgsb_stockbar_jqmeter); + } callIfDefined(() => { if (typeof sgsbDirectChecoutQuick !== "undefined") { callIfDefined(sgsbDirectChecoutQuick.init); diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx index 2cc70320..ed1e1da3 100644 --- a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx @@ -2,15 +2,15 @@ import React from "react"; import { Button ,Image} from 'antd'; import QuickViewIcon from "../QuickViewIcon"; import ProductImage from '../../../images/dummy-product.svg' + const QuickViewPreview = ({ formData }) => { - console.log(ProductImage) const buttonStyle = { borderRadius: formData?.button_border_radius, backgroundColor: formData?.button_color, color: formData?.button_text_color, }; - const buttonContent = formData.enable_qucik_view_icon ? ( + const buttonContent = formData.enable_qucik_view_icon && sgsbAdmin.isPro ? ( Date: Mon, 18 Mar 2024 15:01:13 +0600 Subject: [PATCH 19/22] feat(quick-view): cart redirection fucntionality added --- .../Modules/FlyCart/assets/js/wfc-script.js | 99 ++++++++++--------- Includes/Modules/QuickView/Includes/Ajax.php | 2 - .../QuickView/Includes/CommonHooks.php | 15 +++ .../QuickView/Includes/EnqueueScript.php | 12 ++- .../QuickView/assets/scripts/frontend.js | 55 +++-------- .../src/components/GeneralSettingsTab.jsx | 34 +++++++ .../assets/src/components/QuickViewLayout.jsx | 2 + .../pro-previews/Modules/QuickView/index.js | 16 +++ 8 files changed, 137 insertions(+), 98 deletions(-) diff --git a/Includes/Modules/FlyCart/assets/js/wfc-script.js b/Includes/Modules/FlyCart/assets/js/wfc-script.js index 837c0029..1419465a 100644 --- a/Includes/Modules/FlyCart/assets/js/wfc-script.js +++ b/Includes/Modules/FlyCart/assets/js/wfc-script.js @@ -18,51 +18,7 @@ $notificationPopup.fadeIn().delay(2500).fadeOut(); } - /** - * Set Fly Cart Contents. - */ - function setCartContents(response) { - let parentElement = $(".sgsb-widget-shopping-cart-content"); - parentElement.html(response?.data?.htmlResponse); - $(".wfc-cart-icon .wfc-cart-countlocation, .wfc-widget-sidebar .wfc-cart-countlocation").html( - response?.data?.cartCountLocation - ); - elementClassRemover(); - setTimeout(function () { - $(".sgsb-fly-cart-loader").addClass("wfc-hide"); - }, 500); - - jQuery(document.body).trigger("wc_fragment_refresh"); - } - - function elementClassRemover() { - let parentElement = $(".sgsb-widget-shopping-cart-content"); - let cartCollatoralClass = $(".sgsb-cart-collaterals"); - let cartFormElement = $("form.sgsb-woocommerce-cart-form"); - - if (parentElement.length > 0) { - parentElement - .find("div.kadence-woo-cart-form-wrap") - .removeClass("kadence-woo-cart-form-wrap"); - } - if (cartFormElement.length > 0) { - cartFormElement.find("div.cart-summary").remove(); - cartFormElement - .find(".woocommerce-content-box") - .find("h2") - .remove() - .end() - .removeClass("woocommerce-content-box full-width clearfix"); - } - - if (cartCollatoralClass.length > 0) { - cartCollatoralClass.find(".shipping-coupon").remove(); - cartCollatoralClass - .find(".cart_totals") - .find(".wc-proceed-to-checkout a:not(.sgsb-cart-widget-buttons a)") - .remove(); - } - } + /** * Get Cart Contents. */ @@ -76,7 +32,7 @@ _ajax_nonce: sgsbFrontend.nonce, method: "get_cart_contents", }, - success: setCartContents, + success: sgsbFlyCartSetContents, }); } @@ -210,7 +166,7 @@ url: event.target.action, method: "POST", data: $(this).serialize(), - success: setCartContents, + success: sgsbFlyCartSetContents, }); } ); @@ -223,7 +179,6 @@ var quantityInput = $(this).siblings(".quantity").find(".qty"); var maxValue = quantityInput.attr("max"); var currentValue = parseInt(quantityInput.val()); - console.log(maxValue); if ( maxValue !== "" && !isNaN(currentValue) && @@ -294,7 +249,7 @@ $.ajax({ url: $(this).attr("href"), method: "GET", - success: setCartContents, + success: sgsbFlyCartSetContents, }); } ); @@ -369,3 +324,49 @@ } }); })(jQuery); + + /** + * Set Fly Cart Contents. + */ + function sgsbFlyCartSetContents(response) { + let parentElement = jQuery(".sgsb-widget-shopping-cart-content"); + parentElement.html(response?.data?.htmlResponse); + jQuery(".wfc-cart-icon .wfc-cart-countlocation, .wfc-widget-sidebar .wfc-cart-countlocation").html( + response?.data?.cartCountLocation + ); + sgsbFlyCartElementClassRemover(); + setTimeout(function () { + jQuery(".sgsb-fly-cart-loader").addClass("wfc-hide"); + }, 500); + + jQuery(document.body).trigger("wc_fragment_refresh"); +} + +function sgsbFlyCartElementClassRemover() { + let parentElement = jQuery(".sgsb-widget-shopping-cart-content"); + let cartCollatoralClass = jQuery(".sgsb-cart-collaterals"); + let cartFormElement = jQuery("form.sgsb-woocommerce-cart-form"); + + if (parentElement.length > 0) { + parentElement + .find("div.kadence-woo-cart-form-wrap") + .removeClass("kadence-woo-cart-form-wrap"); + } + if (cartFormElement.length > 0) { + cartFormElement.find("div.cart-summary").remove(); + cartFormElement + .find(".woocommerce-content-box") + .find("h2") + .remove() + .end() + .removeClass("woocommerce-content-box full-width clearfix"); + } + + if (cartCollatoralClass.length > 0) { + cartCollatoralClass.find(".shipping-coupon").remove(); + cartCollatoralClass + .find(".cart_totals") + .find(".wc-proceed-to-checkout a:not(.sgsb-cart-widget-buttons a)") + .remove(); + } +} diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index 9ebd0e34..d169e6c9 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -29,8 +29,6 @@ private function __construct() { add_action( 'wp_ajax_sgsb_quick_view_get_settings', array( $this, 'get_settings' ) ); add_action( 'wp_ajax_sgsbqcv_quickview', array( $this, 'ajax_quickview_callback' ) ); add_action( 'wp_ajax_nopriv_sgsbqcv_quickview', array( $this, 'ajax_quickview_callback' ) ); - add_action( 'wp_ajax_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); - add_action( 'wp_ajax_nopriv_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); } /** diff --git a/Includes/Modules/QuickView/Includes/CommonHooks.php b/Includes/Modules/QuickView/Includes/CommonHooks.php index 750c5dff..fac42ea5 100644 --- a/Includes/Modules/QuickView/Includes/CommonHooks.php +++ b/Includes/Modules/QuickView/Includes/CommonHooks.php @@ -25,6 +25,7 @@ class CommonHooks { * Constructor of Common_Hooks class. */ private function __construct() { + add_filter( 'woocommerce_add_to_cart_redirect', array( $this, 'add_to_cart_redirect' ) ); $this->button_positon_hooks(); $this->content_loader_hooks(); } @@ -128,4 +129,18 @@ private function display_buy_now_button() { public function add_to_cart() { woocommerce_template_single_add_to_cart(); } + + /** + * Hook for WooCommerce add-to-cart link redirection + * + * @since 1.25.7 + */ + public function add_to_cart_redirect( $url ) { + if ( apply_filters( 'sgsbqcv_redirect', true ) ) { + if ( ! empty( $_REQUEST['sgsbqcv-redirect'] ) ) { + return apply_filters( 'sgsbqcv_redirect_url', add_query_arg( 'added_to_cart', '1', sanitize_url( $_REQUEST['sgsbqcv-redirect'] ) ) ); + } + } + return $url; + } } diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 825e864b..aef33d45 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -43,6 +43,8 @@ public function wp_enqueue_scripts() { $enable_close_button = sgsb_find_option_setting( $settings, 'enable_close_button', true ); $enable_in_mobile = sgsb_find_option_setting( $settings, 'enable_in_mobile', true ); $enable_zoom_box = sgsb_find_option_setting( $settings, 'enable_zoom_box', false ); + $cart_redirect = sgsb_find_option_setting( $settings, 'cart_url_redirection', false ); + $fly_cart_open = sgsb_find_option_setting( $settings, 'auto_open_fly_cart', false ); // Pass AJAX URL to script. wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); @@ -121,12 +123,14 @@ public function wp_enqueue_scripts() { 'enable_close_button' => $enable_close_button, 'enable_in_mobile' => $enable_in_mobile, 'hashchange' => 'yes', - 'cart_redirect' => get_option( 'woocommerce_cart_redirect_after_add' ), + 'cart_redirect' => $cart_redirect, + 'fly_cart_auto_open' => $fly_cart_open, 'cart_url' => apply_filters( 'woocommerce_add_to_cart_redirect', wc_get_cart_url(), null ), - 'close' => self::localization( 'close', esc_html__( 'Close (Esc)', 'woo-smart-quick-view' ) ), + 'failed_to_add' => __( 'Failed to add the product to the cart.', 'storegrowth-sales-booster' ), + 'close' => self::localization( 'close', esc_html__( 'Close (Esc)', 'storegrowth-sales-booster' ) ), 'next_prev' => 'yes', - 'next' => self::localization( 'next', esc_html__( 'Next (Right arrow key)', 'woo-smart-quick-view' ) ), - 'prev' => self::localization( 'prev', esc_html__( 'Previous (Left arrow key)', 'woo-smart-quick-view' ) ), + 'next' => self::localization( 'next', esc_html__( 'Next (Right arrow key)', 'storegrowth-sales-booster' ) ), + 'prev' => self::localization( 'prev', esc_html__( 'Previous (Left arrow key)', 'storegrowth-sales-booster' ) ), 'thumbnails_effect' => $enable_zoom_box, 'related_slick_params' => apply_filters( 'sgsbqcv_related_slick_params', diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index 24bc51b4..1a4cc841 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -79,42 +79,6 @@ function isMobileDevice() { sgsbqcv_open(id, effect, context); }); - jQuery(document).ready(function ($) { - function custom_ajax_add_to_cart(product_id) { - var quantity = $("#custom-quantity").val(); - - $.ajax({ - type: "POST", - url: sgsbqcv_vars.ajax_url, - data: { - action: "custom_ajax_add_to_cart", - product_id: product_id, - quantity: quantity, - }, - success: function (response) { - alert("Product added to cart!"); - }, - }); - } - - $("body").on("click", ".custom-add-to-cart button", function () { - // Get the ID of the clicked element (assumes the button has an ID attribute) - var clickedElementId = $(this).attr("product-id"); - - // // Call the function with the clicked element's ID - custom_ajax_add_to_cart(clickedElementId); - // Add your additional logic here - }); - - $(".custom-add-to-cart").on("click", function () { - // Get the ID of the clicked element (assumes the button has an ID attribute) - var clickedElementId = $(this).attr("product-id"); - - // // Call the function with the clicked element's ID - // custom_ajax_add_to_cart(clickedElementId); - }); - }); - $(document).on("sgsbqcv_loaded", function () { var form_variation = $("#sgsbqcv-popup").find(".variations_form"); @@ -127,7 +91,7 @@ function isMobileDevice() { // add redirect if (!$("#sgsbqcv-popup .sgsbqcv-redirect").length) { if ( - sgsbqcv_vars.cart_redirect === "yes" && + sgsbqcv_vars.cart_redirect !== "shop-page-redirection" && sgsbqcv_vars.cart_url !== "" ) { $("#sgsbqcv-popup form").prepend( @@ -338,22 +302,27 @@ function callIfDefined(func) { function sgsbqcv_init_content(context) { if (context === "loaded") { // Call other methods even if they may not be defined initially + sgsbqcv_thumbnails_zoom(); sgsbqcv_thumbnails_slick(); sgsbqcv_related_slick(); + if (sgsbqcv_vars.cart_redirect === "add-to-cart-ajax") { + if (typeof sgsbqcv_add_to_cart_ajax_handler === "function") { + callIfDefined(sgsbqcv_add_to_cart_ajax_handler); + } + } + + if (typeof sgsbDirectChecoutQuick !== "undefined") { + sgsbDirectChecoutQuick.init(); + } if (typeof sgsb_countdown_timer_methods === "function") { callIfDefined(sgsb_countdown_timer_methods); } - + if (typeof sgsb_stockbar_jqmeter === "function") { callIfDefined(sgsb_stockbar_jqmeter); } - callIfDefined(() => { - if (typeof sgsbDirectChecoutQuick !== "undefined") { - callIfDefined(sgsbDirectChecoutQuick.init); - } - }); } } diff --git a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx index 9370bbf1..94b69bc2 100644 --- a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx +++ b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx @@ -31,6 +31,23 @@ function GeneralSettingsTab(props) { label: __("Fade", "storegrowth-sales-booster"), }, ]; + + let addToCartRedirection = [ + { + value: "legacy-cart-redirection", + label: __("Cart Redirect", "storegrowth-sales-booster"), + }, + { + value: "shop-page-redirection", + label: __("Shop Page Redirect", "storegrowth-sales-booster"), + }, + ]; + + addToCartRedirection = applyFilters( + "sgsb_quick_view_add_to_cart_redirection_settings", + "", + addToCartRedirection + ) let contentOptions = [ { @@ -111,6 +128,23 @@ function GeneralSettingsTab(props) { changeHandler={onFieldChange} title={__("Modal Effects", "storegrowth-sales-booster")} /> + + + + { + applyFilters( + "sgsb_quick_view_fly_cart_settings", + "", + formData, + onFieldChange + )} + { + return [ + ...addToCartRedirection, + { + value: "add-to-cart-ajax", + label: __("Ajax add to cart", "storegrowth-sales-booster"), + disabled: true, + needUpgrade: true, + }, + ]; + } +); From cda10d8d139f47f9641f257a0f11b7b77ddb4fe0 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Mon, 18 Mar 2024 15:44:39 +0600 Subject: [PATCH 20/22] fix: module doc update --- Includes/Modules/QuickView/QuickViewModule.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Includes/Modules/QuickView/QuickViewModule.php b/Includes/Modules/QuickView/QuickViewModule.php index ebede6c9..e56f36b0 100644 --- a/Includes/Modules/QuickView/QuickViewModule.php +++ b/Includes/Modules/QuickView/QuickViewModule.php @@ -64,7 +64,7 @@ public function get_name() { * @return string */ public function get_description() { - return 'Drive FOMO effectively. Visually indicate low stock or scarcity to encourage immediate action.'; + return 'Explore product details instantly. Get a sneak peek of product photos, descriptions, and pricing at a glance - all from your shop page.'; } /** From 396def40ed0305c8f3f4de057cf5e602c99ce423 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Mon, 18 Mar 2024 16:02:09 +0600 Subject: [PATCH 21/22] fix(quick-view): preview redesign --- .../src/components/Templates/QuickViewPreview.jsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx index ed1e1da3..8d8f55e0 100644 --- a/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx +++ b/Includes/Modules/QuickView/assets/src/components/Templates/QuickViewPreview.jsx @@ -22,6 +22,15 @@ const QuickViewPreview = ({ formData }) => { return ( <> +
{ height: "200px", borderRadius: "6px", overflow: "hidden", + position: "relative", }} > {formData?.show_image && ( @@ -179,6 +189,7 @@ const QuickViewPreview = ({ formData }) => {
)}
+
', { + 'class': 'icons-selector', + style: 'position: relative', + html: '
' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + + '', + }); + this.iconContainer = this.iconPicker.find('.fip-icons-container'); + this.searchIcon = this.iconPicker.find('.selector-search i'); + this.iconsSearched = []; + this.isSearch = false; + this.totalPage = 1; + this.currentPage = 1; + this.currentIcon = false; + this.iconsCount = 0; + this.open = false; + + // Set the default values for the search related variables + this.searchValues = []; + this.availableCategoriesSearch = []; + + // The trigger event for change + this.triggerEvent = null; + + // Backups + this.backupSource = []; + this.backupSearch = []; + + // Set the default values of the category related variables + this.isCategorized = false; // Automatically detects if the icon listing is categorized + this.selectCategory = this.iconPicker.find('.icon-category-select'); // The category SELECT input field + this.selectedCategory = false; // false means all categories are selected + this.availableCategories = []; // Available categories, it is a two dimensional array which holds categorized icons + this.unCategorizedKey = null; // Key of the uncategorized category + + // Initialize plugin + this.init(); + + } + + Plugin.prototype = { + /** + * Init + */ + init: function() { + + // Add the theme CSS to the iconPicker + this.iconPicker.addClass(this.settings.theme); + + // To properly calculate iconPicker height and width + // We will first append it to body (with left: -9999px so that it is not visible) + this.iconPicker.css({ + left: -9999, + }).appendTo('body'); + var iconPickerHeight = this.iconPicker.outerHeight(), + iconPickerWidth = this.iconPicker.outerWidth(); + + // Now reset the iconPicker CSS + this.iconPicker.css({ + left: '', + }); + + // Add the icon picker after the select + this.element.before(this.iconPicker); + + // Hide source element + // Instead of doing a display:none, we would rather + // make the element invisible + // and adjust the margin + this.element.css({ + visibility: 'hidden', + top: 0, + position: 'relative', + zIndex: '-1', + left: '-' + iconPickerWidth + 'px', + display: 'inline-block', + height: iconPickerHeight + 'px', + width: iconPickerWidth + 'px', + // Reset all margin, border and padding + padding: '0', + margin: '0 -' + iconPickerWidth + 'px 0 0', // Left margin adjustment to account for dangling space + border: '0 none', + verticalAlign: 'top', + }); + + // Set the trigger event + if (!this.element.is('select')) { + // Determine the event that is fired when user change the field value + // Most modern browsers supports input event except IE 7, 8. + // IE 9 supports input event but the event is still not fired if I press the backspace key. + // Get IE version + // https://gist.github.com/padolsey/527683/#comment-7595 + var ieVersion = (function() { + var v = 3, div = document.createElement('div'), a = div.all || []; + while (div.innerHTML = '', a[0]) ; + return v > 4 ? v : !v; + }()); + var el = document.createElement('div'); + this.triggerEvent = (ieVersion === 9 || !('oninput' in el)) + ? ['keyup'] + : ['input', 'keyup']; // Let's keep the keyup event for scripts that listens to it + } + + // If current element is SELECT populate settings.source + if (!this.settings.source && this.element.is('select')) { + // Reset the source and searchSource + // These will be populated according to the available options + this.settings.source = []; + this.settings.searchSource = []; + + // Check if optgroup is present within the select + // If it is present then the source has to be grouped + if (this.element.find('optgroup').length) { + // Set the categorized to true + this.isCategorized = true; + this.element.find('optgroup').each($.proxy(function(i, el) { + // Get the key of the new category array + var thisCategoryKey = this.availableCategories.length, + // Create the new option for the selectCategory SELECT field + categoryOption = $(''). + prependTo(this.selectCategory); + + // Show it and set default value to all categories + this.selectCategory.show().val('all').trigger('change'); + }, + + /** + * Load icons + */ + loadIcons: function() { + + // Set the content of the popup as loading + this.iconContainer.html( + ''); + + // If source is set + if (this.settings.source instanceof Array) { + + // Render icons + this.renderIconContainer(); + + } + + }, + + /** + * Render icons inside the popup + */ + renderIconContainer: function() { + + var offset, iconsPaged = []; + + // Set a temporary array for icons + if (this.isSearch) { + iconsPaged = this.iconsSearched; + } else { + iconsPaged = this.settings.source; + } + + // Count elements + this.iconsCount = iconsPaged.length; + + // Calculate total page number + this.totalPage = Math.ceil(this.iconsCount / this.settings.iconsPerPage); + + // Hide footer if no pagination is needed + if (this.totalPage > 1) { + this.iconPicker.find('.selector-footer').show(); + } else { + this.iconPicker.find('.selector-footer').hide(); + } + + // Set the text for page number index and total icons + this.iconPicker.find('.selector-pages'). + html(this.currentPage + '/' + this.totalPage + ' (' + + this.iconsCount + ')'); + + // Set the offset for slice + offset = (this.currentPage - 1) * this.settings.iconsPerPage; + + // Should empty icon be shown? + if (this.settings.emptyIcon) { + // Reset icon container HTML and prepend empty icon + this.iconContainer.html( + ''); + + // If not show an error when no icons are found + } else if (iconsPaged.length < 1) { + this.iconContainer.html( + ''); + return; + + // else empty the container + } else { + this.iconContainer.html(''); + } + + // Set an array of current page icons + iconsPaged = iconsPaged.slice(offset, + offset + this.settings.iconsPerPage); + + // List icons + for (var i = 0, item; item = iconsPaged[i++];) { + // Set the icon title + var flipBoxTitle = item; + $.grep(this.settings.source, $.proxy(function(e, i) { + if (e === item) { + flipBoxTitle = this.searchValues[i]; + return true; + } + return false; + }, this)); + + // Set the icon box + $('', { + html: '', + 'class': 'fip-box', + title: flipBoxTitle, + }).appendTo(this.iconContainer); + } + + // If no empty icon is allowed and no current value is set or current value is not inside the icon set + if (!this.settings.emptyIcon && (!this.element.val() || + $.inArray(this.element.val(), this.settings.source) === -1)) { + + // Get the first icon + this.setSelectedIcon(iconsPaged[0]); + + } else if ($.inArray(this.element.val(), this.settings.source) === -1) { + + // Set empty + this.setSelectedIcon(); + + } else { + + // Set the default selected icon even if not set + this.setSelectedIcon(this.element.val()); + } + + }, + + /** + * Set Highlighted icon + */ + setHighlightedIcon: function() { + this.iconContainer.find('.current-icon').removeClass('current-icon'); + if (this.currentIcon) { + this.iconContainer.find('[data-fip-value="' + this.currentIcon + '"]'). + parent('span'). + addClass('current-icon'); + } + }, + + /** + * Set selected icon + * + * @param {string} theIcon + */ + setSelectedIcon: function(theIcon) { + if (theIcon === 'fip-icon-block') { + theIcon = ''; + } + + // Check if attribute is to be used + if (this.settings.useAttribute) { + if (theIcon) { + this.iconPicker.find('.selected-icon'). + html(''); + } else { + this.iconPicker.find('.selected-icon'). + html(''); + } + // Use class + } else { + this.iconPicker.find('.selected-icon'). + html(''); + } + // Set the value of the element and trigger change event + this.element.val( + (theIcon === '' ? this.settings.emptyIconValue : theIcon)). + trigger('change'); + if (this.triggerEvent !== null) { + // Trigger other events + for (var eventKey in this.triggerEvent) { + this.element.trigger(this.triggerEvent[eventKey]); + } + } + this.currentIcon = theIcon; + this.setHighlightedIcon(); + }, + + /** + * Open/close popup (toggle) + */ + toggleIconSelector: function() { + this.open = (!this.open) ? 1 : 0; + this.iconPicker.find('.selector-popup').slideToggle(300); + this.iconPicker.find('.selector-button i'). + toggleClass('fip-icon-down-dir'); + this.iconPicker.find('.selector-button i').toggleClass('fip-icon-up-dir'); + if (this.open) { + this.iconPicker.find('.icons-search-input').focus().select(); + } + }, + + /** + * Reset search + */ + resetSearch: function() { + + // Empty input + this.iconPicker.find('.icons-search-input').val(''); + + // Reset search icon class + this.searchIcon.removeClass('fip-icon-cancel'); + this.searchIcon.addClass('fip-icon-search'); + + // Go back to page 1 and remove back arrow + this.iconPicker.find('.selector-arrow-left').hide(); + this.currentPage = 1; + this.isSearch = false; + + // Rerender icons + this.renderIconContainer(); + + // Restore pagination if needed + if (this.totalPage > 1) { + this.iconPicker.find('.selector-arrow-right').show(); + } + }, + }; + + // Lightweight plugin wrapper + $.fn.fontIconPicker = function(options) { + + // Instantiate the plugin + this.each(function() { + if (!$.data(this, 'fontIconPicker')) { + $.data(this, 'fontIconPicker', new Plugin(this, options)); + } + }); + + // setIcons method + this.setIcons = $.proxy(function(newIcons, iconSearch) { + if (undefined === newIcons) { + newIcons = false; + } + if (undefined === iconSearch) { + iconSearch = false; + } + this.each(function() { + $.data(this, 'fontIconPicker').settings.source = newIcons; + $.data(this, 'fontIconPicker').settings.searchSource = iconSearch; + $.data(this, 'fontIconPicker').initSourceIndex(); + $.data(this, 'fontIconPicker').resetSearch(); + $.data(this, 'fontIconPicker').loadIcons(); + }); + }, this); + + // destroy method + this.destroyPicker = $.proxy(function() { + this.each(function() { + if (!$.data(this, 'fontIconPicker')) { + return; + } + // Remove the iconPicker + $.data(this, 'fontIconPicker').iconPicker.remove(); + // Reset the CSS + $.data(this, 'fontIconPicker').element.css({ + visibility: '', + top: '', + position: '', + zIndex: '', + left: '', + display: '', + height: '', + width: '', + padding: '', + margin: '', + border: '', + verticalAlign: '', + }); + + // destroy data + $.removeData(this, 'fontIconPicker'); + }); + }, this); + + // reInit method + this.refreshPicker = $.proxy(function(newOptions) { + if (!newOptions) { + newOptions = options; + } + // First destroy + this.destroyPicker(); + + // Now reset + this.each(function() { + if (!$.data(this, 'fontIconPicker')) { + $.data(this, 'fontIconPicker', new Plugin(this, newOptions)); + } + }); + }, this); + + return this; + }; + +})(jQuery); diff --git a/Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.min.js b/Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.min.js new file mode 100644 index 00000000..53da65a9 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/fonticonpicker/js/jquery.fonticonpicker.min.js @@ -0,0 +1,13 @@ +/** + * jQuery fontIconPicker - v2.0.0 + * + * An icon picker built on top of font icons and jQuery + * + * http://codeb.it/fontIconPicker + * + * Made by Alessandro Benoit & Swashata + * Under MIT License + * + * {@link https://github.com/micc83/fontIconPicker} + */ +!function(a){"use strict";function c(c,d){this.element=a(c),this.settings=a.extend({},b,d),this.settings.emptyIcon&&this.settings.iconsPerPage--,this.iconPicker=a("
",{"class":"icons-selector",style:"position: relative",html:'
"}),this.iconContainer=this.iconPicker.find(".fip-icons-container"),this.searchIcon=this.iconPicker.find(".selector-search i"),this.iconsSearched=[],this.isSearch=!1,this.totalPage=1,this.currentPage=1,this.currentIcon=!1,this.iconsCount=0,this.open=!1,this.searchValues=[],this.availableCategoriesSearch=[],this.triggerEvent=null,this.backupSource=[],this.backupSearch=[],this.isCategorized=!1,this.selectCategory=this.iconPicker.find(".icon-category-select"),this.selectedCategory=!1,this.availableCategories=[],this.unCategorizedKey=null,this.init()}var b={theme:"fip-grey",source:!1,emptyIcon:!0,emptyIconValue:"",iconsPerPage:20,hasSearch:!0,searchSource:!1,useAttribute:!1,attributeName:"data-icon",convertToHex:!0,allCategoryText:"From all categories",unCategorizedText:"Uncategorized"};c.prototype={init:function(){this.iconPicker.addClass(this.settings.theme),this.iconPicker.css({left:-9999}).appendTo("body");var b=this.iconPicker.outerHeight(),c=this.iconPicker.outerWidth();if(this.iconPicker.css({left:""}),this.element.before(this.iconPicker),this.element.css({visibility:"hidden",top:0,position:"relative",zIndex:"-1",left:"-"+c+"px",display:"inline-block",height:b+"px",width:c+"px",padding:"0",margin:"0 -"+c+"px 0 0",border:"0 none",verticalAlign:"top"}),!this.element.is("select")){var d=function(){for(var a=3,b=document.createElement("div"),c=b.all||[];b.innerHTML="",c[0];);return a>4?a:!a}(),e=document.createElement("div");this.triggerEvent=9!==d&&"oninput"in e?["input","keyup"]:["keyup"]}!this.settings.source&&this.element.is("select")?(this.settings.source=[],this.settings.searchSource=[],this.element.find("optgroup").length?(this.isCategorized=!0,this.element.find("optgroup").each(a.proxy(function(b,c){var d=this.availableCategories.length,e=a("
'); + } + + item.inlineElement = el; + return el; + } + + mfp.updateStatus('ready'); + mfp._parseMarkup(template, {}, item); + return template; + }, + }, + }); + + /*>>inline*/ + + /*>>ajax*/ + var AJAX_NS = 'ajax', + _ajaxCur, + _removeAjaxCursor = function() { + if (_ajaxCur) { + $(document.body).removeClass(_ajaxCur); + } + }, + _destroyAjaxRequest = function() { + _removeAjaxCursor(); + if (mfp.req) { + mfp.req.abort(); + } + }; + + $.magnificPopup.registerModule(AJAX_NS, { + + options: { + settings: null, + cursor: 'mfp-ajax-cur', + tError: 'The content could not be loaded.', + }, + + proto: { + initAjax: function() { + mfp.types.push(AJAX_NS); + _ajaxCur = mfp.st.ajax.cursor; + + _mfpOn(CLOSE_EVENT + '.' + AJAX_NS, _destroyAjaxRequest); + _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest); + }, + getAjax: function(item) { + + if (_ajaxCur) { + $(document.body).addClass(_ajaxCur); + } + + mfp.updateStatus('loading'); + + var opts = $.extend({ + url: item.src, + success: function(data, textStatus, jqXHR) { + var temp = { + data: data, + xhr: jqXHR, + }; + + _mfpTrigger('ParseAjax', temp); + + mfp.appendContent($(temp.data), AJAX_NS); + + item.finished = true; + + _removeAjaxCursor(); + + mfp._setFocus(); + + setTimeout(function() { + mfp.wrap.addClass(READY_CLASS); + }, 16); + + mfp.updateStatus('ready'); + + _mfpTrigger('AjaxContentAdded'); + }, + error: function() { + _removeAjaxCursor(); + item.finished = item.loadError = true; + mfp.updateStatus('error', + mfp.st.ajax.tError.replace('%url%', item.src)); + }, + }, mfp.st.ajax.settings); + + mfp.req = $.ajax(opts); + + return ''; + }, + }, + }); + + /*>>ajax*/ + + /*>>image*/ + var _imgInterval, + _getTitle = function(item) { + if (item.data && item.data.title !== undefined) { + return item.data.title; + } + + var src = mfp.st.image.titleSrc; + + if (src) { + if ($.isFunction(src)) { + return src.call(mfp, item); + } else if (item.el) { + return item.el.attr(src) || ''; + } + } + return ''; + }; + + $.magnificPopup.registerModule('image', { + + options: { + markup: '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
', + cursor: 'mfp-zoom-out-cur', + titleSrc: 'title', + verticalFit: true, + tError: 'The image could not be loaded.', + }, + + proto: { + initImage: function() { + var imgSt = mfp.st.image, + ns = '.image'; + + mfp.types.push('image'); + + _mfpOn(OPEN_EVENT + ns, function() { + if (mfp.currItem.type === 'image' && imgSt.cursor) { + $(document.body).addClass(imgSt.cursor); + } + }); + + _mfpOn(CLOSE_EVENT + ns, function() { + if (imgSt.cursor) { + $(document.body).removeClass(imgSt.cursor); + } + _window.off('resize' + EVENT_NS); + }); + + _mfpOn('Resize' + ns, mfp.resizeImage); + if (mfp.isLowIE) { + _mfpOn('AfterChange', mfp.resizeImage); + } + }, + resizeImage: function() { + var item = mfp.currItem; + if (!item || !item.img) { + return; + } + + if (mfp.st.image.verticalFit) { + var decr = 0; + // fix box-sizing in ie7/8 + if (mfp.isLowIE) { + decr = parseInt(item.img.css('padding-top'), 10) + + parseInt(item.img.css('padding-bottom'), 10); + } + item.img.css('max-height', mfp.wH - decr); + } + }, + _onImageHasSize: function(item) { + if (item.img) { + + item.hasSize = true; + + if (_imgInterval) { + clearInterval(_imgInterval); + } + + item.isCheckingImgSize = false; + + _mfpTrigger('ImageHasSize', item); + + if (item.imgHidden) { + if (mfp.content) { + mfp.content.removeClass('mfp-loading'); + } + + item.imgHidden = false; + } + + } + }, + + /** + * Function that loops until the image has size to display elements that rely on it asap + */ + findImageSize: function(item) { + + var counter = 0, + img = item.img[0], + mfpSetInterval = function(delay) { + + if (_imgInterval) { + clearInterval(_imgInterval); + } + // decelerating interval that checks for size of an image + _imgInterval = setInterval(function() { + if (img.naturalWidth > 0) { + mfp._onImageHasSize(item); + return; + } + + if (counter > 200) { + clearInterval(_imgInterval); + } + + counter++; + if (counter === 3) { + mfpSetInterval(10); + } else if (counter === 40) { + mfpSetInterval(50); + } else if (counter === 100) { + mfpSetInterval(500); + } + }, delay); + }; + + mfpSetInterval(1); + }, + + getImage: function(item, template) { + + var guard = 0, + + // image load complete handler + onLoadComplete = function() { + if (item) { + if (item.img[0].complete) { + item.img.off('.mfploader'); + + if (item === mfp.currItem) { + mfp._onImageHasSize(item); + + mfp.updateStatus('ready'); + } + + item.hasSize = true; + item.loaded = true; + + _mfpTrigger('ImageLoadComplete'); + + } else { + // if image complete check fails 200 times (20 sec), we assume that there was an error. + guard++; + if (guard < 200) { + setTimeout(onLoadComplete, 100); + } else { + onLoadError(); + } + } + } + }, + + // image error handler + onLoadError = function() { + if (item) { + item.img.off('.mfploader'); + if (item === mfp.currItem) { + mfp._onImageHasSize(item); + mfp.updateStatus('error', + imgSt.tError.replace('%url%', item.src)); + } + + item.hasSize = true; + item.loaded = true; + item.loadError = true; + } + }, + imgSt = mfp.st.image; + + var el = template.find('.mfp-img'); + if (el.length) { + var img = document.createElement('img'); + img.className = 'mfp-img'; + if (item.el && item.el.find('img').length) { + img.alt = item.el.find('img').attr('alt'); + } + item.img = $(img). + on('load.mfploader', onLoadComplete). + on('error.mfploader', onLoadError); + img.src = item.src; + + // without clone() "error" event is not firing when IMG is replaced by new IMG + // TODO: find a way to avoid such cloning + if (el.is('img')) { + item.img = item.img.clone(); + } + + img = item.img[0]; + if (img.naturalWidth > 0) { + item.hasSize = true; + } else if (!img.width) { + item.hasSize = false; + } + } + + mfp._parseMarkup(template, { + title: _getTitle(item), + img_replaceWith: item.img, + }, item); + + mfp.resizeImage(); + + if (item.hasSize) { + if (_imgInterval) { + clearInterval(_imgInterval); + } + + if (item.loadError) { + template.addClass('mfp-loading'); + mfp.updateStatus('error', + imgSt.tError.replace('%url%', item.src)); + } else { + template.removeClass('mfp-loading'); + mfp.updateStatus('ready'); + } + return template; + } + + mfp.updateStatus('loading'); + item.loading = true; + + if (!item.hasSize) { + item.imgHidden = true; + template.addClass('mfp-loading'); + mfp.findImageSize(item); + } + + return template; + }, + }, + }); + + /*>>image*/ + + /*>>zoom*/ + var hasMozTransform, + getHasMozTransform = function() { + if (hasMozTransform === undefined) { + hasMozTransform = document.createElement( + 'p').style.MozTransform !== undefined; + } + return hasMozTransform; + }; + + $.magnificPopup.registerModule('zoom', { + + options: { + enabled: false, + easing: 'ease-in-out', + duration: 300, + opener: function(element) { + return element.is('img') ? element : element.find('img'); + }, + }, + + proto: { + + initZoom: function() { + var zoomSt = mfp.st.zoom, + ns = '.zoom', + image; + + if (!zoomSt.enabled || !mfp.supportsTransition) { + return; + } + + var duration = zoomSt.duration, + getElToAnimate = function(image) { + var newImg = image.clone(). + removeAttr('style'). + removeAttr('class'). + addClass('mfp-animated-image'), + transition = 'all ' + ( + zoomSt.duration / 1000 + ) + 's ' + zoomSt.easing, + cssObj = { + position: 'fixed', + zIndex: 9999, + left: 0, + top: 0, + '-webkit-backface-visibility': 'hidden', + }, + t = 'transition'; + + cssObj['-webkit-' + t] = cssObj['-moz-' + t] = cssObj['-o-' + + t] = cssObj[t] = transition; + + newImg.css(cssObj); + return newImg; + }, + showMainContent = function() { + mfp.content.css('visibility', 'visible'); + }, + openTimeout, + animatedImg; + + _mfpOn('BuildControls' + ns, function() { + if (mfp._allowZoom()) { + + clearTimeout(openTimeout); + mfp.content.css('visibility', 'hidden'); + + // Basically, all code below does is clones existing image, puts in on top of the current one and animated it + + image = mfp._getItemToZoom(); + + if (!image) { + showMainContent(); + return; + } + + animatedImg = getElToAnimate(image); + + animatedImg.css(mfp._getOffset()); + + mfp.wrap.append(animatedImg); + + openTimeout = setTimeout(function() { + animatedImg.css(mfp._getOffset(true)); + openTimeout = setTimeout(function() { + + showMainContent(); + + setTimeout(function() { + animatedImg.remove(); + image = animatedImg = null; + _mfpTrigger('ZoomAnimationEnded'); + }, 16); // avoid blink when switching images + + }, duration); // this timeout equals animation duration + + }, 16); // by adding this timeout we avoid short glitch at the beginning of animation + + // Lots of timeouts... + } + }); + _mfpOn(BEFORE_CLOSE_EVENT + ns, function() { + if (mfp._allowZoom()) { + + clearTimeout(openTimeout); + + mfp.st.removalDelay = duration; + + if (!image) { + image = mfp._getItemToZoom(); + if (!image) { + return; + } + animatedImg = getElToAnimate(image); + } + + animatedImg.css(mfp._getOffset(true)); + mfp.wrap.append(animatedImg); + mfp.content.css('visibility', 'hidden'); + + setTimeout(function() { + animatedImg.css(mfp._getOffset()); + }, 16); + } + + }); + + _mfpOn(CLOSE_EVENT + ns, function() { + if (mfp._allowZoom()) { + showMainContent(); + if (animatedImg) { + animatedImg.remove(); + } + image = null; + } + }); + }, + + _allowZoom: function() { + return mfp.currItem.type === 'image'; + }, + + _getItemToZoom: function() { + if (mfp.currItem.hasSize) { + return mfp.currItem.img; + } else { + return false; + } + }, + + // Get element postion relative to viewport + _getOffset: function(isLarge) { + var el; + if (isLarge) { + el = mfp.currItem.img; + } else { + el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem); + } + + var offset = el.offset(); + var paddingTop = parseInt(el.css('padding-top'), 10); + var paddingBottom = parseInt(el.css('padding-bottom'), 10); + offset.top -= ( + $(window).scrollTop() - paddingTop + ); + + /* + + Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa. + + */ + var obj = { + width: el.width(), + // fix Zepto height+padding issue + height: ( + _isJQ ? el.innerHeight() : el[0].offsetHeight + ) - paddingBottom - paddingTop, + }; + + // I hate to do this, but there is no another option + if (getHasMozTransform()) { + obj['-moz-transform'] = obj['transform'] = 'translate(' + + offset.left + 'px,' + offset.top + 'px)'; + } else { + obj.left = offset.left; + obj.top = offset.top; + } + return obj; + }, + + }, + }); + + /*>>zoom*/ + + /*>>iframe*/ + + var IFRAME_NS = 'iframe', + _emptyPage = '//about:blank', + + _fixIframeBugs = function(isShowing) { + if (mfp.currTemplate[IFRAME_NS]) { + var el = mfp.currTemplate[IFRAME_NS].find('iframe'); + if (el.length) { + // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug + if (!isShowing) { + el[0].src = _emptyPage; + } + + // IE8 black screen bug fix + if (mfp.isIE8) { + el.css('display', isShowing ? 'block' : 'none'); + } + } + } + }; + + $.magnificPopup.registerModule(IFRAME_NS, { + + options: { + markup: '
' + + '
' + + '' + + '
', + + srcAction: 'iframe_src', + + // we don't care and support only one default type of URL by default + patterns: { + youtube: { + index: 'youtube.com', + id: 'v=', + src: '//www.youtube.com/embed/%id%?autoplay=1', + }, + vimeo: { + index: 'vimeo.com/', + id: '/', + src: '//player.vimeo.com/video/%id%?autoplay=1', + }, + gmaps: { + index: '//maps.google.', + src: '%id%&output=embed', + }, + }, + }, + + proto: { + initIframe: function() { + mfp.types.push(IFRAME_NS); + + _mfpOn('BeforeChange', function(e, prevType, newType) { + if (prevType !== newType) { + if (prevType === IFRAME_NS) { + _fixIframeBugs(); // iframe if removed + } else if (newType === IFRAME_NS) { + _fixIframeBugs(true); // iframe is showing + } + }// else { + // iframe source is switched, don't do anything + //} + }); + + _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() { + _fixIframeBugs(); + }); + }, + + getIframe: function(item, template) { + var embedSrc = item.src; + var iframeSt = mfp.st.iframe; + + $.each(iframeSt.patterns, function() { + if (embedSrc.indexOf(this.index) > -1) { + if (this.id) { + if (typeof this.id === 'string') { + embedSrc = embedSrc.substr( + embedSrc.lastIndexOf(this.id) + this.id.length, + embedSrc.length); + } else { + embedSrc = this.id.call(this, embedSrc); + } + } + embedSrc = this.src.replace('%id%', embedSrc); + return false; // break; + } + }); + + var dataObj = {}; + if (iframeSt.srcAction) { + dataObj[iframeSt.srcAction] = embedSrc; + } + mfp._parseMarkup(template, dataObj, item); + + mfp.updateStatus('ready'); + + return template; + }, + }, + }); + + /*>>iframe*/ + + /*>>gallery*/ + /** + * Get looped index depending on number of slides + */ + var _getLoopedId = function(index) { + var numSlides = mfp.items.length; + if (index > numSlides - 1) { + return index - numSlides; + } else if (index < 0) { + return numSlides + index; + } + return index; + }, + _replaceCurrTotal = function(text, curr, total) { + return text.replace(/%curr%/gi, curr + 1). + replace(/%total%/gi, total); + }; + + $.magnificPopup.registerModule('gallery', { + + options: { + enabled: false, + arrowMarkup: '', + preload: [0, 2], + navigateByImgClick: true, + arrows: true, + + tPrev: 'Previous (Left arrow key)', + tNext: 'Next (Right arrow key)', + tCounter: '%curr% of %total%', + }, + + proto: { + initGallery: function() { + + var gSt = mfp.st.gallery, + ns = '.mfp-gallery'; + + mfp.direction = true; // true - next, false - prev + + if (!gSt || !gSt.enabled) { + return false; + } + + _wrapClasses += ' mfp-gallery'; + + _mfpOn(OPEN_EVENT + ns, function() { + + if (gSt.navigateByImgClick) { + mfp.wrap.on('click' + ns, '.mfp-img', function() { + if (mfp.items.length > 1) { + mfp.next(); + return false; + } + }); + } + + _document.on('keydown' + ns, function(e) { + if (e.keyCode === 37) { + mfp.prev(); + } else if (e.keyCode === 39) { + mfp.next(); + } + }); + }); + + _mfpOn('UpdateStatus' + ns, function(e, data) { + if (data.text) { + data.text = _replaceCurrTotal(data.text, mfp.currItem.index, + mfp.items.length); + } + }); + + _mfpOn(MARKUP_PARSE_EVENT + ns, function(e, element, values, item) { + var l = mfp.items.length; + values.counter = l > 1 ? + _replaceCurrTotal(gSt.tCounter, item.index, l) : + ''; + }); + + _mfpOn('BuildControls' + ns, function() { + if (mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) { + var markup = gSt.arrowMarkup, + arrowLeft = mfp.arrowLeft = $( + markup.replace(/%title%/gi, gSt.tPrev). + replace(/%dir%/gi, 'left')). + addClass(PREVENT_CLOSE_CLASS), + arrowRight = mfp.arrowRight = $( + markup.replace(/%title%/gi, gSt.tNext). + replace(/%dir%/gi, 'right')). + addClass(PREVENT_CLOSE_CLASS); + + arrowLeft.click(function() { + mfp.prev(); + }); + arrowRight.click(function() { + mfp.next(); + }); + + mfp.container.append(arrowLeft.add(arrowRight)); + } + }); + + _mfpOn(CHANGE_EVENT + ns, function() { + if (mfp._preloadTimeout) { + clearTimeout(mfp._preloadTimeout); + } + + mfp._preloadTimeout = setTimeout(function() { + mfp.preloadNearbyImages(); + mfp._preloadTimeout = null; + }, 16); + }); + + _mfpOn(CLOSE_EVENT + ns, function() { + _document.off(ns); + mfp.wrap.off('click' + ns); + mfp.arrowRight = mfp.arrowLeft = null; + }); + + }, + next: function() { + mfp.direction = true; + mfp.index = _getLoopedId(mfp.index + 1); + mfp.updateItemHTML(); + }, + prev: function() { + mfp.direction = false; + mfp.index = _getLoopedId(mfp.index - 1); + mfp.updateItemHTML(); + }, + goTo: function(newIndex) { + mfp.direction = ( + newIndex >= mfp.index + ); + mfp.index = newIndex; + mfp.updateItemHTML(); + }, + preloadNearbyImages: function() { + var p = mfp.st.gallery.preload, + preloadBefore = Math.min(p[0], mfp.items.length), + preloadAfter = Math.min(p[1], mfp.items.length), + i; + + for ( + i = 1; i <= ( + mfp.direction ? preloadAfter : preloadBefore + ); i++ + ) { + mfp._preloadItem(mfp.index + i); + } + for ( + i = 1; i <= ( + mfp.direction ? preloadBefore : preloadAfter + ); i++ + ) { + mfp._preloadItem(mfp.index - i); + } + }, + _preloadItem: function(index) { + index = _getLoopedId(index); + + if (mfp.items[index].preloaded) { + return; + } + + var item = mfp.items[index]; + if (!item.parsed) { + item = mfp.parseEl(index); + } + + _mfpTrigger('LazyLoad', item); + + if (item.type === 'image') { + item.img = $(''). + on('load.mfploader', function() { + item.hasSize = true; + }). + on('error.mfploader', function() { + item.hasSize = true; + item.loadError = true; + _mfpTrigger('LazyLoadError', item); + }). + attr('src', item.src); + } + + item.preloaded = true; + }, + }, + }); + + /*>>gallery*/ + + /*>>retina*/ + + var RETINA_NS = 'retina'; + + $.magnificPopup.registerModule(RETINA_NS, { + options: { + replaceSrc: function(item) { + return item.src.replace(/\.\w+$/, function(m) { + return '@2x' + m; + }); + }, + ratio: 1, // Function or number. Set to 1 to disable. + }, + proto: { + initRetina: function() { + if (window.devicePixelRatio > 1) { + + var st = mfp.st.retina, + ratio = st.ratio; + + ratio = !isNaN(ratio) ? ratio : ratio(); + + if (ratio > 1) { + _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) { + item.img.css({ + 'max-width': item.img[0].naturalWidth / ratio, + 'width': '100%', + }); + }); + _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) { + item.src = st.replaceSrc(item, ratio); + }); + } + } + + }, + }, + }); + + /*>>retina*/ + _checkInstance(); + }) +); \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/magnific-popup/jquery.magnific-popup.min.js b/Includes/Modules/QuickView/assets/libs/magnific-popup/jquery.magnific-popup.min.js new file mode 100644 index 00000000..6ee3a3bd --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/magnific-popup/jquery.magnific-popup.min.js @@ -0,0 +1,4 @@ +/*! Magnific Popup - v1.1.0 - 2016-02-20 +* http://dimsemenov.com/plugins/magnific-popup/ +* Copyright (c) 2016 Dmitry Semenov; */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split("_"),e.length>1){var f=b.find(p+"-"+e[0]);if(f.length>0){var g=e[1];"replaceWith"===g?f[0]!==d[0]&&f.replaceWith(d):"img"===g?f.is("img")?f.attr("src",d):f.replaceWith(a("").attr("src",d).attr("class",f.attr("class"))):f.attr(e[1],d)}}else b.find(p+"-"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("
");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()}); \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/magnific-popup/magnific-popup.css b/Includes/Modules/QuickView/assets/libs/magnific-popup/magnific-popup.css new file mode 100644 index 00000000..ff23c294 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/magnific-popup/magnific-popup.css @@ -0,0 +1,447 @@ +/* Magnific Popup CSS */ +.mfp-bg { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1042; + overflow: hidden; + position: fixed; + background: #0b0b0b; + opacity: 0.8; +} + +.mfp-wrap { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1043; + position: fixed; + outline: none !important; + -webkit-backface-visibility: hidden; +} + +.mfp-container { + text-align: center; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + padding: 0 8px; + box-sizing: border-box; +} + +.mfp-container:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +.mfp-align-top .mfp-container:before { + display: none; +} + +.mfp-content { + position: relative; + display: inline-block; + vertical-align: middle; + margin: 0 auto; + text-align: left; + z-index: 1045; +} + +.mfp-inline-holder .mfp-content, +.mfp-ajax-holder .mfp-content { + width: 100%; + cursor: auto; +} + +.mfp-ajax-cur { + cursor: progress; +} + +.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out; +} + +.mfp-zoom { + cursor: pointer; + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; +} + +.mfp-auto-cursor .mfp-content { + cursor: auto; +} + +.mfp-close, +.mfp-arrow, +.mfp-preloader, +.mfp-counter { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.mfp-loading.mfp-figure { + display: none; +} + +.mfp-hide { + display: none !important; +} + +.mfp-preloader { + color: #CCC; + position: absolute; + top: 50%; + width: auto; + text-align: center; + margin-top: -0.8em; + left: 8px; + right: 8px; + z-index: 1044; +} + +.mfp-preloader a { + color: #CCC; +} + +.mfp-preloader a:hover { + color: #FFF; +} + +.mfp-s-ready .mfp-preloader { + display: none; +} + +.mfp-s-error .mfp-content { + display: none; +} + +button.mfp-close, +button.mfp-arrow { + overflow: visible; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + display: block; + outline: none; + padding: 0; + z-index: 1046; + box-shadow: none; + touch-action: manipulation; +} + +button::-moz-focus-inner { + padding: 0; + border: 0; +} + +.mfp-close { + width: 44px; + height: 44px; + line-height: 44px; + position: absolute; + right: 0; + top: 0; + text-decoration: none; + text-align: center; + opacity: 0.65; + padding: 0 0 18px 10px; + color: #FFF; + font-style: normal; + font-size: 28px; + font-family: Arial, Baskerville, monospace; +} + +.mfp-close:hover, +.mfp-close:focus { + opacity: 1; +} + +.mfp-close:active { + top: 1px; +} + +.mfp-close-btn-in .mfp-close { + color: #333; +} + +.mfp-image-holder .mfp-close, +.mfp-iframe-holder .mfp-close { + color: #FFF; + right: -6px; + text-align: right; + padding-right: 6px; + width: 100%; +} + +.mfp-counter { + position: absolute; + top: 0; + right: 0; + color: #CCC; + font-size: 12px; + line-height: 18px; + white-space: nowrap; +} + +.mfp-arrow { + position: absolute; + opacity: 0.65; + margin: 0; + top: 50%; + margin-top: -55px; + padding: 0; + width: 90px; + height: 110px; + -webkit-tap-highlight-color: transparent; +} + +.mfp-arrow:active { + margin-top: -54px; +} + +.mfp-arrow:hover, +.mfp-arrow:focus { + opacity: 1; +} + +.mfp-arrow:before, +.mfp-arrow:after { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; + margin-top: 35px; + margin-left: 35px; + border: medium inset transparent; +} + +.mfp-arrow:after { + border-top-width: 13px; + border-bottom-width: 13px; + top: 8px; +} + +.mfp-arrow:before { + border-top-width: 21px; + border-bottom-width: 21px; + opacity: 0.7; +} + +.mfp-arrow-left { + left: 0; +} + +.mfp-arrow-left:after { + border-right: 17px solid #FFF; + margin-left: 31px; +} + +.mfp-arrow-left:before { + margin-left: 25px; + border-right: 27px solid #3F3F3F; +} + +.mfp-arrow-right { + right: 0; +} + +.mfp-arrow-right:after { + border-left: 17px solid #FFF; + margin-left: 39px; +} + +.mfp-arrow-right:before { + border-left: 27px solid #3F3F3F; +} + +.mfp-iframe-holder { + padding-top: 40px; + padding-bottom: 40px; +} + +.mfp-iframe-holder .mfp-content { + line-height: 0; + width: 100%; + max-width: 900px; +} + +.mfp-iframe-holder .mfp-close { + top: -40px; +} + +.mfp-iframe-scaler { + width: 100%; + height: 0; + overflow: hidden; + padding-top: 56.25%; +} + +.mfp-iframe-scaler iframe { + position: absolute; + display: block; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #000; +} + +/* Main image in popup */ +img.mfp-img { + width: auto; + max-width: 100%; + height: auto; + display: block; + line-height: 0; + box-sizing: border-box; + padding: 40px 0 40px; + margin: 0 auto; +} + +/* The shadow behind the image */ +.mfp-figure { + line-height: 0; +} + +.mfp-figure:after { + content: ''; + position: absolute; + left: 0; + top: 40px; + bottom: 40px; + display: block; + right: 0; + width: auto; + height: auto; + z-index: -1; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #444; +} + +.mfp-figure small { + color: #BDBDBD; + display: block; + font-size: 12px; + line-height: 14px; +} + +.mfp-figure figure { + margin: 0; +} + +.mfp-bottom-bar { + margin-top: -36px; + position: absolute; + top: 100%; + left: 0; + width: 100%; + cursor: auto; +} + +.mfp-title { + text-align: left; + line-height: 18px; + color: #F3F3F3; + word-wrap: break-word; + padding-right: 36px; +} + +.mfp-image-holder .mfp-content { + max-width: 100%; +} + +.mfp-gallery .mfp-image-holder .mfp-figure { + cursor: pointer; +} + +@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) { + /** + * Remove all paddings around the image on small screen + */ + .mfp-img-mobile .mfp-image-holder { + padding-left: 0; + padding-right: 0; + } + + .mfp-img-mobile img.mfp-img { + padding: 0; + } + + .mfp-img-mobile .mfp-figure:after { + top: 0; + bottom: 0; + } + + .mfp-img-mobile .mfp-figure small { + display: inline; + margin-left: 5px; + } + + .mfp-img-mobile .mfp-bottom-bar { + background: rgba(0, 0, 0, 0.6); + bottom: 0; + margin: 0; + top: auto; + padding: 3px 5px; + position: fixed; + box-sizing: border-box; + } + + .mfp-img-mobile .mfp-bottom-bar:empty { + padding: 0; + } + + .mfp-img-mobile .mfp-counter { + right: 5px; + top: 3px; + } + + .mfp-img-mobile .mfp-close { + top: 0; + right: 0; + width: 35px; + height: 35px; + line-height: 35px; + background: rgba(0, 0, 0, 0.6); + position: fixed; + text-align: center; + padding: 0; + } +} + +@media all and (max-width: 900px) { + .mfp-arrow { + -webkit-transform: scale(0.75); + transform: scale(0.75); + } + + .mfp-arrow-left { + -webkit-transform-origin: 0; + transform-origin: 0; + } + + .mfp-arrow-right { + -webkit-transform-origin: 100%; + transform-origin: 100%; + } + + .mfp-container { + padding-left: 6px; + padding-right: 6px; + } +} diff --git a/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/custom-theme.css b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/custom-theme.css new file mode 100644 index 00000000..22d0eb87 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/custom-theme.css @@ -0,0 +1,145 @@ +.ps-theme-wpc { + -ms-touch-action: none; + touch-action: none; + overflow: hidden !important; + -ms-overflow-style: none; +} + +@supports (-ms-overflow-style: none) { + .ps-theme-wpc { + overflow: auto !important; + } +} + +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .ps-theme-wpc { + overflow: auto !important; + } +} + +.ps-theme-wpc.ps-active-x > .ps-scrollbar-x-rail, +.ps-theme-wpc.ps-active-y > .ps-scrollbar-y-rail { + display: block; + background-color: transparent; +} + +.ps-theme-wpc.ps-in-scrolling { + pointer-events: none; +} + +.ps-theme-wpc.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { + background-color: rgba(0, 0, 0, .1) !important; +} + +.ps-theme-wpc.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { + background-color: rgba(0, 0, 0, 1); +} + +.ps-theme-wpc.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { + background-color: rgba(0, 0, 0, .1) !important; +} + +.ps-theme-wpc.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { + background-color: rgba(0, 0, 0, 1); + width: 2px; + border-radius: 1px; +} + +.ps-theme-wpc > .ps-scrollbar-x-rail { + display: none; + position: absolute; + /* please don't change 'position' */ + opacity: 0; + transition: background-color .2s linear, opacity .2s linear; + bottom: 0; + /* there must be 'bottom' for ps-scrollbar-x-rail */ + height: 2px; + border-radius: 1px; +} + +.ps-theme-wpc > .ps-scrollbar-x-rail > .ps-scrollbar-x { + position: absolute; + /* please don't change 'position' */ + background-color: rgba(0, 0, 0, 1); + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + bottom: 0; + /* there must be 'bottom' for ps-scrollbar-x */ + height: 2px !important; + border-radius: 1px !important; +} + +.ps-theme-wpc > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x, .ps-theme-wpc > .ps-scrollbar-x-rail:active > .ps-scrollbar-x { + height: 2px; + border-radius: 1px; +} + +.ps-theme-wpc > .ps-scrollbar-y-rail { + display: none; + position: absolute; + /* please don't change 'position' */ + opacity: 0; + transition: background-color .2s linear, opacity .2s linear; + right: 0; + /* there must be 'right' for ps-scrollbar-y-rail */ + width: 2px; + border-radius: 1px; +} + +.ps-theme-wpc > .ps-scrollbar-y-rail > .ps-scrollbar-y { + position: absolute; + /* please don't change 'position' */ + background-color: rgba(0, 0, 0, 1); + /* border-radius: 0; */ + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + right: 0; + /* there must be 'right' for ps-scrollbar-y */ + width: 2px !important; + border-radius: 1px !important; +} + +.ps-theme-wpc > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y, .ps-theme-wpc > .ps-scrollbar-y-rail:active > .ps-scrollbar-y { + width: 2px; + border-radius: 1px; +} + +.ps-theme-wpc:hover.ps-in-scrolling { + pointer-events: none; +} + +.ps-theme-wpc:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { + background-color: rgba(0, 0, 0, 1); +} + +.ps-theme-wpc:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { + background-color: rgba(0, 0, 0, 1); + height: 2px; + border-radius: 1px; +} + +.ps-theme-wpc:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { + background-color: rgba(0, 0, 0, 1); +} + +.ps-theme-wpc:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { + background-color: rgba(0, 0, 0, 1); + width: 2px; + border-radius: 1px; +} + +.ps-theme-wpc:hover > .ps-scrollbar-x-rail:hover { + background-color: rgba(0, 0, 0, .1); + opacity: 1; +} + +.ps-theme-wpc:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x { + background-color: rgba(0, 0, 0, 1); +} + +.ps-theme-wpc:hover > .ps-scrollbar-y-rail:hover { + background-color: rgba(0, 0, 0, .1); + opacity: 1; +} + +.ps-theme-wpc:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y { + background-color: rgba(0, 0, 0, 1); +} diff --git a/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.css b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.css new file mode 100644 index 00000000..261a97a0 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.css @@ -0,0 +1,160 @@ +/* perfect-scrollbar v0.6.14 */ +.ps-container { + -ms-touch-action: auto; + touch-action: auto; + overflow: hidden !important; + -ms-overflow-style: none; +} + +@supports (-ms-overflow-style: none) { + .ps-container { + overflow: auto !important; + } +} + +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .ps-container { + overflow: auto !important; + } +} + +.ps-container.ps-active-x > .ps-scrollbar-x-rail, +.ps-container.ps-active-y > .ps-scrollbar-y-rail { + display: block; + background-color: transparent; +} + +.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { + background-color: #eee; + opacity: 0.9; +} + +.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { + background-color: #999; + height: 11px; +} + +.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { + background-color: #eee; + opacity: 0.9; +} + +.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { + background-color: #999; + width: 11px; +} + +.ps-container > .ps-scrollbar-x-rail { + display: none; + position: absolute; + /* please don't change 'position' */ + opacity: 0; + -webkit-transition: background-color .2s linear, opacity .2s linear; + -o-transition: background-color .2s linear, opacity .2s linear; + -moz-transition: background-color .2s linear, opacity .2s linear; + transition: background-color .2s linear, opacity .2s linear; + bottom: 0px; + /* there must be 'bottom' for ps-scrollbar-x-rail */ + height: 15px; +} + +.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x { + position: absolute; + /* please don't change 'position' */ + background-color: #aaa; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out; + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out; + -o-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + -moz-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out; + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out; + bottom: 2px; + /* there must be 'bottom' for ps-scrollbar-x */ + height: 6px; +} + +.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x, .ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x { + height: 11px; +} + +.ps-container > .ps-scrollbar-y-rail { + display: none; + position: absolute; + /* please don't change 'position' */ + opacity: 0; + -webkit-transition: background-color .2s linear, opacity .2s linear; + -o-transition: background-color .2s linear, opacity .2s linear; + -moz-transition: background-color .2s linear, opacity .2s linear; + transition: background-color .2s linear, opacity .2s linear; + right: 0; + /* there must be 'right' for ps-scrollbar-y-rail */ + width: 15px; +} + +.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y { + position: absolute; + /* please don't change 'position' */ + background-color: #aaa; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out; + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out; + -o-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + -moz-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out; + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out; + right: 2px; + /* there must be 'right' for ps-scrollbar-y */ + width: 6px; +} + +.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y, .ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y { + width: 11px; +} + +.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { + background-color: #eee; + opacity: 0.9; +} + +.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { + background-color: #999; + height: 11px; +} + +.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { + background-color: #eee; + opacity: 0.9; +} + +.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { + background-color: #999; + width: 11px; +} + +.ps-container:hover > .ps-scrollbar-x-rail, +.ps-container:hover > .ps-scrollbar-y-rail { + opacity: 0.6; +} + +.ps-container:hover > .ps-scrollbar-x-rail:hover { + background-color: #eee; + opacity: 0.9; +} + +.ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x { + background-color: #999; +} + +.ps-container:hover > .ps-scrollbar-y-rail:hover { + background-color: #eee; + opacity: 0.9; +} + +.ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y { + background-color: #999; +} diff --git a/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css new file mode 100644 index 00000000..2182cdf9 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css @@ -0,0 +1,2 @@ +/* perfect-scrollbar v0.6.14 */ +.ps-container{-ms-touch-action:auto;touch-action:auto;overflow:hidden !important;-ms-overflow-style:none}@supports (-ms-overflow-style: none){.ps-container{overflow:auto !important}}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){.ps-container{overflow:auto !important}}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block;background-color:transparent}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;bottom:0px;height:15px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;bottom:2px;height:6px}.ps-container>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x,.ps-container>.ps-scrollbar-x-rail:active>.ps-scrollbar-x{height:11px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;right:0;width:15px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;right:2px;width:6px}.ps-container>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y,.ps-container>.ps-scrollbar-y-rail:active>.ps-scrollbar-y{width:11px}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999} diff --git a/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.js b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.js new file mode 100644 index 00000000..5bbde4da --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.js @@ -0,0 +1,1805 @@ +/* perfect-scrollbar v0.6.14 */ +(function e(t, n, r) { + function s(o, u) { + if (!n[o]) { + if (!t[o]) { + var a = typeof require == 'function' && require; + if (!u && a) return a(o, !0); + if (i) return i(o, !0); + var f = new Error('Cannot find module \'' + o + '\''); + throw f.code = 'MODULE_NOT_FOUND', f; + } + var l = n[o] = {exports: {}}; + t[o][0].call(l.exports, function(e) { + var n = t[o][1][e]; + return s(n ? n : e); + }, l, l.exports, e, t, n, r); + } + return n[o].exports; + } + + var i = typeof require == 'function' && require; + for (var o = 0; o < r.length; o++) s(r[o]); + return s; +})({ + 1: [ + function(require, module, exports) { + 'use strict'; + + var ps = require('../main'); + var psInstances = require('../plugin/instances'); + + function mountJQuery(jQuery) { + jQuery.fn.perfectScrollbar = function(settingOrCommand) { + return this.each(function() { + if (typeof settingOrCommand === 'object' || + typeof settingOrCommand === 'undefined') { + // If it's an object or none, initialize. + var settings = settingOrCommand; + + if (!psInstances.get(this)) { + ps.initialize(this, settings); + } + } else { + // Unless, it may be a command. + var command = settingOrCommand; + + if (command === 'update') { + ps.update(this); + } else if (command === 'destroy') { + ps.destroy(this); + } + } + }); + }; + } + + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], mountJQuery); + } else { + var jq = window.jQuery ? window.jQuery : window.$; + if (typeof jq !== 'undefined') { + mountJQuery(jq); + } + } + + module.exports = mountJQuery; + + }, {'../main': 7, '../plugin/instances': 18}], + 2: [ + function(require, module, exports) { + 'use strict'; + + function oldAdd(element, className) { + var classes = element.className.split(' '); + if (classes.indexOf(className) < 0) { + classes.push(className); + } + element.className = classes.join(' '); + } + + function oldRemove(element, className) { + var classes = element.className.split(' '); + var idx = classes.indexOf(className); + if (idx >= 0) { + classes.splice(idx, 1); + } + element.className = classes.join(' '); + } + + exports.add = function(element, className) { + if (element.classList) { + element.classList.add(className); + } else { + oldAdd(element, className); + } + }; + + exports.remove = function(element, className) { + if (element.classList) { + element.classList.remove(className); + } else { + oldRemove(element, className); + } + }; + + exports.list = function(element) { + if (element.classList) { + return Array.prototype.slice.apply(element.classList); + } else { + return element.className.split(' '); + } + }; + + }, {}], + 3: [ + function(require, module, exports) { + 'use strict'; + + var DOM = {}; + + DOM.e = function(tagName, className) { + var element = document.createElement(tagName); + element.className = className; + return element; + }; + + DOM.appendTo = function(child, parent) { + parent.appendChild(child); + return child; + }; + + function cssGet(element, styleName) { + return window.getComputedStyle(element)[styleName]; + } + + function cssSet(element, styleName, styleValue) { + if (typeof styleValue === 'number') { + styleValue = styleValue.toString() + 'px'; + } + element.style[styleName] = styleValue; + return element; + } + + function cssMultiSet(element, obj) { + for (var key in obj) { + var val = obj[key]; + if (typeof val === 'number') { + val = val.toString() + 'px'; + } + element.style[key] = val; + } + return element; + } + + DOM.css = function(element, styleNameOrObject, styleValue) { + if (typeof styleNameOrObject === 'object') { + // multiple set with object + return cssMultiSet(element, styleNameOrObject); + } else { + if (typeof styleValue === 'undefined') { + return cssGet(element, styleNameOrObject); + } else { + return cssSet(element, styleNameOrObject, styleValue); + } + } + }; + + DOM.matches = function(element, query) { + if (typeof element.matches !== 'undefined') { + return element.matches(query); + } else { + if (typeof element.matchesSelector !== 'undefined') { + return element.matchesSelector(query); + } else if (typeof element.webkitMatchesSelector !== 'undefined') { + return element.webkitMatchesSelector(query); + } else if (typeof element.mozMatchesSelector !== 'undefined') { + return element.mozMatchesSelector(query); + } else if (typeof element.msMatchesSelector !== 'undefined') { + return element.msMatchesSelector(query); + } + } + }; + + DOM.remove = function(element) { + if (typeof element.remove !== 'undefined') { + element.remove(); + } else { + if (element.parentNode) { + element.parentNode.removeChild(element); + } + } + }; + + DOM.queryChildren = function(element, selector) { + return Array.prototype.filter.call(element.childNodes, function(child) { + return DOM.matches(child, selector); + }); + }; + + module.exports = DOM; + + }, {}], + 4: [ + function(require, module, exports) { + 'use strict'; + + var EventElement = function(element) { + this.element = element; + this.events = {}; + }; + + EventElement.prototype.bind = function(eventName, handler) { + if (typeof this.events[eventName] === 'undefined') { + this.events[eventName] = []; + } + this.events[eventName].push(handler); + this.element.addEventListener(eventName, handler, false); + }; + + EventElement.prototype.unbind = function(eventName, handler) { + var isHandlerProvided = (typeof handler !== 'undefined'); + this.events[eventName] = this.events[eventName].filter(function(hdlr) { + if (isHandlerProvided && hdlr !== handler) { + return true; + } + this.element.removeEventListener(eventName, hdlr, false); + return false; + }, this); + }; + + EventElement.prototype.unbindAll = function() { + for (var name in this.events) { + this.unbind(name); + } + }; + + var EventManager = function() { + this.eventElements = []; + }; + + EventManager.prototype.eventElement = function(element) { + var ee = this.eventElements.filter(function(eventElement) { + return eventElement.element === element; + })[0]; + if (typeof ee === 'undefined') { + ee = new EventElement(element); + this.eventElements.push(ee); + } + return ee; + }; + + EventManager.prototype.bind = function(element, eventName, handler) { + this.eventElement(element).bind(eventName, handler); + }; + + EventManager.prototype.unbind = function(element, eventName, handler) { + this.eventElement(element).unbind(eventName, handler); + }; + + EventManager.prototype.unbindAll = function() { + for (var i = 0; i < this.eventElements.length; i++) { + this.eventElements[i].unbindAll(); + } + }; + + EventManager.prototype.once = function(element, eventName, handler) { + var ee = this.eventElement(element); + var onceHandler = function(e) { + ee.unbind(eventName, onceHandler); + handler(e); + }; + ee.bind(eventName, onceHandler); + }; + + module.exports = EventManager; + + }, {}], + 5: [ + function(require, module, exports) { + 'use strict'; + + module.exports = (function() { + function s4() { + return Math.floor((1 + Math.random()) * 0x10000). + toString(16). + substring(1); + } + + return function() { + return s4() + s4() + '-' + s4() + '-' + s4() + '-' + + s4() + '-' + s4() + s4() + s4(); + }; + })(); + + }, {}], + 6: [ + function(require, module, exports) { + 'use strict'; + + var cls = require('./class'); + var dom = require('./dom'); + + var toInt = exports.toInt = function(x) { + return parseInt(x, 10) || 0; + }; + + var clone = exports.clone = function(obj) { + if (!obj) { + return null; + } else if (obj.constructor === Array) { + return obj.map(clone); + } else if (typeof obj === 'object') { + var result = {}; + for (var key in obj) { + result[key] = clone(obj[key]); + } + return result; + } else { + return obj; + } + }; + + exports.extend = function(original, source) { + var result = clone(original); + for (var key in source) { + result[key] = clone(source[key]); + } + return result; + }; + + exports.isEditable = function(el) { + return dom.matches(el, 'input,[contenteditable]') || + dom.matches(el, 'select,[contenteditable]') || + dom.matches(el, 'textarea,[contenteditable]') || + dom.matches(el, 'button,[contenteditable]'); + }; + + exports.removePsClasses = function(element) { + var clsList = cls.list(element); + for (var i = 0; i < clsList.length; i++) { + var className = clsList[i]; + if (className.indexOf('ps-') === 0) { + cls.remove(element, className); + } + } + }; + + exports.outerWidth = function(element) { + return toInt(dom.css(element, 'width')) + + toInt(dom.css(element, 'paddingLeft')) + + toInt(dom.css(element, 'paddingRight')) + + toInt(dom.css(element, 'borderLeftWidth')) + + toInt(dom.css(element, 'borderRightWidth')); + }; + + exports.startScrolling = function(element, axis) { + cls.add(element, 'ps-in-scrolling'); + if (typeof axis !== 'undefined') { + cls.add(element, 'ps-' + axis); + } else { + cls.add(element, 'ps-x'); + cls.add(element, 'ps-y'); + } + }; + + exports.stopScrolling = function(element, axis) { + cls.remove(element, 'ps-in-scrolling'); + if (typeof axis !== 'undefined') { + cls.remove(element, 'ps-' + axis); + } else { + cls.remove(element, 'ps-x'); + cls.remove(element, 'ps-y'); + } + }; + + exports.env = { + isWebKit: 'WebkitAppearance' in document.documentElement.style, + supportsTouch: (('ontouchstart' in window) || window.DocumentTouch && + document instanceof window.DocumentTouch), + supportsIePointer: window.navigator.msMaxTouchPoints !== null, + }; + + }, {'./class': 2, './dom': 3}], + 7: [ + function(require, module, exports) { + 'use strict'; + + var destroy = require('./plugin/destroy'); + var initialize = require('./plugin/initialize'); + var update = require('./plugin/update'); + + module.exports = { + initialize: initialize, + update: update, + destroy: destroy, + }; + + }, + {'./plugin/destroy': 9, './plugin/initialize': 17, './plugin/update': 21}], + 8: [ + function(require, module, exports) { + 'use strict'; + + module.exports = { + handlers: [ + 'click-rail', + 'drag-scrollbar', + 'keyboard', + 'wheel', + 'touch'], + maxScrollbarLength: null, + minScrollbarLength: null, + scrollXMarginOffset: 0, + scrollYMarginOffset: 0, + suppressScrollX: false, + suppressScrollY: false, + swipePropagation: true, + useBothWheelAxes: false, + wheelPropagation: false, + wheelSpeed: 1, + theme: 'default', + }; + + }, {}], + 9: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var dom = require('../lib/dom'); + var instances = require('./instances'); + + module.exports = function(element) { + var i = instances.get(element); + + if (!i) { + return; + } + + i.event.unbindAll(); + dom.remove(i.scrollbarX); + dom.remove(i.scrollbarY); + dom.remove(i.scrollbarXRail); + dom.remove(i.scrollbarYRail); + _.removePsClasses(element); + + instances.remove(element); + }; + + }, {'../lib/dom': 3, '../lib/helper': 6, './instances': 18}], + 10: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindClickRailHandler(element, i) { + function pageOffset(el) { + return el.getBoundingClientRect(); + } + + var stopPropagation = function(e) { + e.stopPropagation(); + }; + + i.event.bind(i.scrollbarY, 'click', stopPropagation); + i.event.bind(i.scrollbarYRail, 'click', function(e) { + var positionTop = e.pageY - window.pageYOffset - + pageOffset(i.scrollbarYRail).top; + var direction = positionTop > i.scrollbarYTop ? 1 : -1; + + updateScroll(element, 'top', + element.scrollTop + direction * i.containerHeight); + updateGeometry(element); + + e.stopPropagation(); + }); + + i.event.bind(i.scrollbarX, 'click', stopPropagation); + i.event.bind(i.scrollbarXRail, 'click', function(e) { + var positionLeft = e.pageX - window.pageXOffset - + pageOffset(i.scrollbarXRail).left; + var direction = positionLeft > i.scrollbarXLeft ? 1 : -1; + + updateScroll(element, 'left', + element.scrollLeft + direction * i.containerWidth); + updateGeometry(element); + + e.stopPropagation(); + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindClickRailHandler(element, i); + }; + + }, {'../instances': 18, '../update-geometry': 19, '../update-scroll': 20}], + 11: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var dom = require('../../lib/dom'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindMouseScrollXHandler(element, i) { + var currentLeft = null; + var currentPageX = null; + + function updateScrollLeft(deltaX) { + var newLeft = currentLeft + (deltaX * i.railXRatio); + var maxLeft = Math.max(0, + i.scrollbarXRail.getBoundingClientRect().left) + + (i.railXRatio * (i.railXWidth - i.scrollbarXWidth)); + + if (newLeft < 0) { + i.scrollbarXLeft = 0; + } else if (newLeft > maxLeft) { + i.scrollbarXLeft = maxLeft; + } else { + i.scrollbarXLeft = newLeft; + } + + var scrollLeft = _.toInt( + i.scrollbarXLeft * (i.contentWidth - i.containerWidth) / + (i.containerWidth - (i.railXRatio * i.scrollbarXWidth))) - + i.negativeScrollAdjustment; + updateScroll(element, 'left', scrollLeft); + } + + var mouseMoveHandler = function(e) { + updateScrollLeft(e.pageX - currentPageX); + updateGeometry(element); + e.stopPropagation(); + e.preventDefault(); + }; + + var mouseUpHandler = function() { + _.stopScrolling(element, 'x'); + i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler); + }; + + i.event.bind(i.scrollbarX, 'mousedown', function(e) { + currentPageX = e.pageX; + currentLeft = _.toInt(dom.css(i.scrollbarX, 'left')) * i.railXRatio; + _.startScrolling(element, 'x'); + + i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler); + i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler); + + e.stopPropagation(); + e.preventDefault(); + }); + } + + function bindMouseScrollYHandler(element, i) { + var currentTop = null; + var currentPageY = null; + + function updateScrollTop(deltaY) { + var newTop = currentTop + (deltaY * i.railYRatio); + var maxTop = Math.max(0, + i.scrollbarYRail.getBoundingClientRect().top) + + (i.railYRatio * (i.railYHeight - i.scrollbarYHeight)); + + if (newTop < 0) { + i.scrollbarYTop = 0; + } else if (newTop > maxTop) { + i.scrollbarYTop = maxTop; + } else { + i.scrollbarYTop = newTop; + } + + var scrollTop = _.toInt( + i.scrollbarYTop * (i.contentHeight - i.containerHeight) / + (i.containerHeight - (i.railYRatio * i.scrollbarYHeight))); + updateScroll(element, 'top', scrollTop); + } + + var mouseMoveHandler = function(e) { + updateScrollTop(e.pageY - currentPageY); + updateGeometry(element); + e.stopPropagation(); + e.preventDefault(); + }; + + var mouseUpHandler = function() { + _.stopScrolling(element, 'y'); + i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler); + }; + + i.event.bind(i.scrollbarY, 'mousedown', function(e) { + currentPageY = e.pageY; + currentTop = _.toInt(dom.css(i.scrollbarY, 'top')) * i.railYRatio; + _.startScrolling(element, 'y'); + + i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler); + i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler); + + e.stopPropagation(); + e.preventDefault(); + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindMouseScrollXHandler(element, i); + bindMouseScrollYHandler(element, i); + }; + + }, + { + '../../lib/dom': 3, + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 12: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var dom = require('../../lib/dom'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindKeyboardHandler(element, i) { + var hovered = false; + i.event.bind(element, 'mouseenter', function() { + hovered = true; + }); + i.event.bind(element, 'mouseleave', function() { + hovered = false; + }); + + var shouldPrevent = false; + + function shouldPreventDefault(deltaX, deltaY) { + var scrollTop = element.scrollTop; + if (deltaX === 0) { + if (!i.scrollbarYActive) { + return false; + } + if ((scrollTop === 0 && deltaY > 0) || + (scrollTop >= i.contentHeight - i.containerHeight && deltaY < + 0)) { + return !i.settings.wheelPropagation; + } + } + + var scrollLeft = element.scrollLeft; + if (deltaY === 0) { + if (!i.scrollbarXActive) { + return false; + } + if ((scrollLeft === 0 && deltaX < 0) || + (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > + 0)) { + return !i.settings.wheelPropagation; + } + } + return true; + } + + i.event.bind(i.ownerDocument, 'keydown', function(e) { + if ((e.isDefaultPrevented && e.isDefaultPrevented()) || + e.defaultPrevented) { + return; + } + + var focused = dom.matches(i.scrollbarX, ':focus') || + dom.matches(i.scrollbarY, ':focus'); + + if (!hovered && !focused) { + return; + } + + var activeElement = document.activeElement ? + document.activeElement : + i.ownerDocument.activeElement; + if (activeElement) { + if (activeElement.tagName === 'IFRAME') { + activeElement = activeElement.contentDocument.activeElement; + } else { + // go deeper if element is a webcomponent + while (activeElement.shadowRoot) { + activeElement = activeElement.shadowRoot.activeElement; + } + } + if (_.isEditable(activeElement)) { + return; + } + } + + var deltaX = 0; + var deltaY = 0; + + switch (e.which) { + case 37: // left + if (e.metaKey) { + deltaX = -i.contentWidth; + } else if (e.altKey) { + deltaX = -i.containerWidth; + } else { + deltaX = -30; + } + break; + case 38: // up + if (e.metaKey) { + deltaY = i.contentHeight; + } else if (e.altKey) { + deltaY = i.containerHeight; + } else { + deltaY = 30; + } + break; + case 39: // right + if (e.metaKey) { + deltaX = i.contentWidth; + } else if (e.altKey) { + deltaX = i.containerWidth; + } else { + deltaX = 30; + } + break; + case 40: // down + if (e.metaKey) { + deltaY = -i.contentHeight; + } else if (e.altKey) { + deltaY = -i.containerHeight; + } else { + deltaY = -30; + } + break; + case 33: // page up + deltaY = 90; + break; + case 32: // space bar + if (e.shiftKey) { + deltaY = 90; + } else { + deltaY = -90; + } + break; + case 34: // page down + deltaY = -90; + break; + case 35: // end + if (e.ctrlKey) { + deltaY = -i.contentHeight; + } else { + deltaY = -i.containerHeight; + } + break; + case 36: // home + if (e.ctrlKey) { + deltaY = element.scrollTop; + } else { + deltaY = i.containerHeight; + } + break; + default: + return; + } + + updateScroll(element, 'top', element.scrollTop - deltaY); + updateScroll(element, 'left', element.scrollLeft + deltaX); + updateGeometry(element); + + shouldPrevent = shouldPreventDefault(deltaX, deltaY); + if (shouldPrevent) { + e.preventDefault(); + } + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindKeyboardHandler(element, i); + }; + + }, + { + '../../lib/dom': 3, + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 13: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindMouseWheelHandler(element, i) { + var shouldPrevent = false; + + function shouldPreventDefault(deltaX, deltaY) { + var scrollTop = element.scrollTop; + if (deltaX === 0) { + if (!i.scrollbarYActive) { + return false; + } + if ((scrollTop === 0 && deltaY > 0) || + (scrollTop >= i.contentHeight - i.containerHeight && deltaY < + 0)) { + return !i.settings.wheelPropagation; + } + } + + var scrollLeft = element.scrollLeft; + if (deltaY === 0) { + if (!i.scrollbarXActive) { + return false; + } + if ((scrollLeft === 0 && deltaX < 0) || + (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > + 0)) { + return !i.settings.wheelPropagation; + } + } + return true; + } + + function getDeltaFromEvent(e) { + var deltaX = e.deltaX; + var deltaY = -1 * e.deltaY; + + if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') { + // OS X Safari + deltaX = -1 * e.wheelDeltaX / 6; + deltaY = e.wheelDeltaY / 6; + } + + if (e.deltaMode && e.deltaMode === 1) { + // Firefox in deltaMode 1: Line scrolling + deltaX *= 10; + deltaY *= 10; + } + + if (deltaX !== deltaX && deltaY !== deltaY/* NaN checks */) { + // IE in some mouse drivers + deltaX = 0; + deltaY = e.wheelDelta; + } + + if (e.shiftKey) { + // reverse axis with shift key + return [-deltaY, -deltaX]; + } + return [deltaX, deltaY]; + } + + function shouldBeConsumedByChild(deltaX, deltaY) { + var child = element.querySelector( + 'textarea:hover, select[multiple]:hover, .ps-child:hover'); + if (child) { + if (!window.getComputedStyle(child). + overflow. + match(/(scroll|auto)/)) { + // if not scrollable + return false; + } + + var maxScrollTop = child.scrollHeight - child.clientHeight; + if (maxScrollTop > 0) { + if (!(child.scrollTop === 0 && deltaY > 0) && + !(child.scrollTop === maxScrollTop && deltaY < 0)) { + return true; + } + } + var maxScrollLeft = child.scrollLeft - child.clientWidth; + if (maxScrollLeft > 0) { + if (!(child.scrollLeft === 0 && deltaX < 0) && + !(child.scrollLeft === maxScrollLeft && deltaX > 0)) { + return true; + } + } + } + return false; + } + + function mousewheelHandler(e) { + var delta = getDeltaFromEvent(e); + + var deltaX = delta[0]; + var deltaY = delta[1]; + + if (shouldBeConsumedByChild(deltaX, deltaY)) { + return; + } + + shouldPrevent = false; + if (!i.settings.useBothWheelAxes) { + // deltaX will only be used for horizontal scrolling and deltaY will + // only be used for vertical scrolling - this is the default + updateScroll(element, 'top', + element.scrollTop - (deltaY * i.settings.wheelSpeed)); + updateScroll(element, 'left', + element.scrollLeft + (deltaX * i.settings.wheelSpeed)); + } else if (i.scrollbarYActive && !i.scrollbarXActive) { + // only vertical scrollbar is active and useBothWheelAxes option is + // active, so let's scroll vertical bar using both mouse wheel axes + if (deltaY) { + updateScroll(element, 'top', + element.scrollTop - (deltaY * i.settings.wheelSpeed)); + } else { + updateScroll(element, 'top', + element.scrollTop + (deltaX * i.settings.wheelSpeed)); + } + shouldPrevent = true; + } else if (i.scrollbarXActive && !i.scrollbarYActive) { + // useBothWheelAxes and only horizontal bar is active, so use both + // wheel axes for horizontal bar + if (deltaX) { + updateScroll(element, 'left', + element.scrollLeft + (deltaX * i.settings.wheelSpeed)); + } else { + updateScroll(element, 'left', + element.scrollLeft - (deltaY * i.settings.wheelSpeed)); + } + shouldPrevent = true; + } + + updateGeometry(element); + + shouldPrevent = (shouldPrevent || + shouldPreventDefault(deltaX, deltaY)); + if (shouldPrevent) { + e.stopPropagation(); + e.preventDefault(); + } + } + + if (typeof window.onwheel !== 'undefined') { + i.event.bind(element, 'wheel', mousewheelHandler); + } else if (typeof window.onmousewheel !== 'undefined') { + i.event.bind(element, 'mousewheel', mousewheelHandler); + } + } + + module.exports = function(element) { + var i = instances.get(element); + bindMouseWheelHandler(element, i); + }; + + }, {'../instances': 18, '../update-geometry': 19, '../update-scroll': 20}], + 14: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + + function bindNativeScrollHandler(element, i) { + i.event.bind(element, 'scroll', function() { + updateGeometry(element); + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindNativeScrollHandler(element, i); + }; + + }, {'../instances': 18, '../update-geometry': 19}], + 15: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindSelectionHandler(element, i) { + function getRangeNode() { + var selection = window.getSelection ? window.getSelection() : + document.getSelection ? document.getSelection() : ''; + if (selection.toString().length === 0) { + return null; + } else { + return selection.getRangeAt(0).commonAncestorContainer; + } + } + + var scrollingLoop = null; + var scrollDiff = {top: 0, left: 0}; + + function startScrolling() { + if (!scrollingLoop) { + scrollingLoop = setInterval(function() { + if (!instances.get(element)) { + clearInterval(scrollingLoop); + return; + } + + updateScroll(element, 'top', element.scrollTop + scrollDiff.top); + updateScroll(element, 'left', + element.scrollLeft + scrollDiff.left); + updateGeometry(element); + }, 50); // every .1 sec + } + } + + function stopScrolling() { + if (scrollingLoop) { + clearInterval(scrollingLoop); + scrollingLoop = null; + } + _.stopScrolling(element); + } + + var isSelected = false; + i.event.bind(i.ownerDocument, 'selectionchange', function() { + if (element.contains(getRangeNode())) { + isSelected = true; + } else { + isSelected = false; + stopScrolling(); + } + }); + i.event.bind(window, 'mouseup', function() { + if (isSelected) { + isSelected = false; + stopScrolling(); + } + }); + i.event.bind(window, 'keyup', function() { + if (isSelected) { + isSelected = false; + stopScrolling(); + } + }); + + i.event.bind(window, 'mousemove', function(e) { + if (isSelected) { + var mousePosition = {x: e.pageX, y: e.pageY}; + var containerGeometry = { + left: element.offsetLeft, + right: element.offsetLeft + element.offsetWidth, + top: element.offsetTop, + bottom: element.offsetTop + element.offsetHeight, + }; + + if (mousePosition.x < containerGeometry.left + 3) { + scrollDiff.left = -5; + _.startScrolling(element, 'x'); + } else if (mousePosition.x > containerGeometry.right - 3) { + scrollDiff.left = 5; + _.startScrolling(element, 'x'); + } else { + scrollDiff.left = 0; + } + + if (mousePosition.y < containerGeometry.top + 3) { + if (containerGeometry.top + 3 - mousePosition.y < 5) { + scrollDiff.top = -5; + } else { + scrollDiff.top = -20; + } + _.startScrolling(element, 'y'); + } else if (mousePosition.y > containerGeometry.bottom - 3) { + if (mousePosition.y - containerGeometry.bottom + 3 < 5) { + scrollDiff.top = 5; + } else { + scrollDiff.top = 20; + } + _.startScrolling(element, 'y'); + } else { + scrollDiff.top = 0; + } + + if (scrollDiff.top === 0 && scrollDiff.left === 0) { + stopScrolling(); + } else { + startScrolling(); + } + } + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindSelectionHandler(element, i); + }; + + }, + { + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 16: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindTouchHandler(element, i, supportsTouch, supportsIePointer) { + function shouldPreventDefault(deltaX, deltaY) { + var scrollTop = element.scrollTop; + var scrollLeft = element.scrollLeft; + var magnitudeX = Math.abs(deltaX); + var magnitudeY = Math.abs(deltaY); + + if (magnitudeY > magnitudeX) { + // user is perhaps trying to swipe up/down the page + + if (((deltaY < 0) && + (scrollTop === i.contentHeight - i.containerHeight)) || + ((deltaY > 0) && (scrollTop === 0))) { + return !i.settings.swipePropagation; + } + } else if (magnitudeX > magnitudeY) { + // user is perhaps trying to swipe left/right across the page + + if (((deltaX < 0) && + (scrollLeft === i.contentWidth - i.containerWidth)) || + ((deltaX > 0) && (scrollLeft === 0))) { + return !i.settings.swipePropagation; + } + } + + return true; + } + + function applyTouchMove(differenceX, differenceY) { + updateScroll(element, 'top', element.scrollTop - differenceY); + updateScroll(element, 'left', element.scrollLeft - differenceX); + + updateGeometry(element); + } + + var startOffset = {}; + var startTime = 0; + var speed = {}; + var easingLoop = null; + var inGlobalTouch = false; + var inLocalTouch = false; + + function globalTouchStart() { + inGlobalTouch = true; + } + + function globalTouchEnd() { + inGlobalTouch = false; + } + + function getTouch(e) { + if (e.targetTouches) { + return e.targetTouches[0]; + } else { + // Maybe IE pointer + return e; + } + } + + function shouldHandle(e) { + if (e.targetTouches && e.targetTouches.length === 1) { + return true; + } + if (e.pointerType && e.pointerType !== 'mouse' && e.pointerType !== + e.MSPOINTER_TYPE_MOUSE) { + return true; + } + return false; + } + + function touchStart(e) { + if (shouldHandle(e)) { + inLocalTouch = true; + + var touch = getTouch(e); + + startOffset.pageX = touch.pageX; + startOffset.pageY = touch.pageY; + + startTime = (new Date()).getTime(); + + if (easingLoop !== null) { + clearInterval(easingLoop); + } + + e.stopPropagation(); + } + } + + function touchMove(e) { + if (!inLocalTouch && i.settings.swipePropagation) { + touchStart(e); + } + if (!inGlobalTouch && inLocalTouch && shouldHandle(e)) { + var touch = getTouch(e); + + var currentOffset = {pageX: touch.pageX, pageY: touch.pageY}; + + var differenceX = currentOffset.pageX - startOffset.pageX; + var differenceY = currentOffset.pageY - startOffset.pageY; + + applyTouchMove(differenceX, differenceY); + startOffset = currentOffset; + + var currentTime = (new Date()).getTime(); + + var timeGap = currentTime - startTime; + if (timeGap > 0) { + speed.x = differenceX / timeGap; + speed.y = differenceY / timeGap; + startTime = currentTime; + } + + if (shouldPreventDefault(differenceX, differenceY)) { + e.stopPropagation(); + e.preventDefault(); + } + } + } + + function touchEnd() { + if (!inGlobalTouch && inLocalTouch) { + inLocalTouch = false; + + clearInterval(easingLoop); + easingLoop = setInterval(function() { + if (!instances.get(element)) { + clearInterval(easingLoop); + return; + } + + if (!speed.x && !speed.y) { + clearInterval(easingLoop); + return; + } + + if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) { + clearInterval(easingLoop); + return; + } + + applyTouchMove(speed.x * 30, speed.y * 30); + + speed.x *= 0.8; + speed.y *= 0.8; + }, 10); + } + } + + if (supportsTouch) { + i.event.bind(window, 'touchstart', globalTouchStart); + i.event.bind(window, 'touchend', globalTouchEnd); + i.event.bind(element, 'touchstart', touchStart); + i.event.bind(element, 'touchmove', touchMove); + i.event.bind(element, 'touchend', touchEnd); + } + + if (supportsIePointer) { + if (window.PointerEvent) { + i.event.bind(window, 'pointerdown', globalTouchStart); + i.event.bind(window, 'pointerup', globalTouchEnd); + i.event.bind(element, 'pointerdown', touchStart); + i.event.bind(element, 'pointermove', touchMove); + i.event.bind(element, 'pointerup', touchEnd); + } else if (window.MSPointerEvent) { + i.event.bind(window, 'MSPointerDown', globalTouchStart); + i.event.bind(window, 'MSPointerUp', globalTouchEnd); + i.event.bind(element, 'MSPointerDown', touchStart); + i.event.bind(element, 'MSPointerMove', touchMove); + i.event.bind(element, 'MSPointerUp', touchEnd); + } + } + } + + module.exports = function(element) { + if (!_.env.supportsTouch && !_.env.supportsIePointer) { + return; + } + + var i = instances.get(element); + bindTouchHandler(element, i, _.env.supportsTouch, + _.env.supportsIePointer); + }; + + }, + { + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 17: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var cls = require('../lib/class'); + var instances = require('./instances'); + var updateGeometry = require('./update-geometry'); + +// Handlers + var handlers = { + 'click-rail': require('./handler/click-rail'), + 'drag-scrollbar': require('./handler/drag-scrollbar'), + 'keyboard': require('./handler/keyboard'), + 'wheel': require('./handler/mouse-wheel'), + 'touch': require('./handler/touch'), + 'selection': require('./handler/selection'), + }; + var nativeScrollHandler = require('./handler/native-scroll'); + + module.exports = function(element, userSettings) { + userSettings = typeof userSettings === 'object' ? userSettings : {}; + + cls.add(element, 'ps-container'); + + // Create a plugin instance. + var i = instances.add(element); + + i.settings = _.extend(i.settings, userSettings); + cls.add(element, 'ps-theme-' + i.settings.theme); + + i.settings.handlers.forEach(function(handlerName) { + handlers[handlerName](element); + }); + + nativeScrollHandler(element); + + updateGeometry(element); + }; + + }, + { + '../lib/class': 2, + '../lib/helper': 6, + './handler/click-rail': 10, + './handler/drag-scrollbar': 11, + './handler/keyboard': 12, + './handler/mouse-wheel': 13, + './handler/native-scroll': 14, + './handler/selection': 15, + './handler/touch': 16, + './instances': 18, + './update-geometry': 19, + }], + 18: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var cls = require('../lib/class'); + var defaultSettings = require('./default-setting'); + var dom = require('../lib/dom'); + var EventManager = require('../lib/event-manager'); + var guid = require('../lib/guid'); + + var instances = {}; + + function Instance(element) { + var i = this; + + i.settings = _.clone(defaultSettings); + i.containerWidth = null; + i.containerHeight = null; + i.contentWidth = null; + i.contentHeight = null; + + i.isRtl = dom.css(element, 'direction') === 'rtl'; + i.isNegativeScroll = (function() { + var originalScrollLeft = element.scrollLeft; + var result = null; + element.scrollLeft = -1; + result = element.scrollLeft < 0; + element.scrollLeft = originalScrollLeft; + return result; + })(); + i.negativeScrollAdjustment = i.isNegativeScroll ? + element.scrollWidth - element.clientWidth : + 0; + i.event = new EventManager(); + i.ownerDocument = element.ownerDocument || document; + + function focus() { + cls.add(element, 'ps-focus'); + } + + function blur() { + cls.remove(element, 'ps-focus'); + } + + i.scrollbarXRail = dom.appendTo(dom.e('div', 'ps-scrollbar-x-rail'), + element); + i.scrollbarX = dom.appendTo(dom.e('div', 'ps-scrollbar-x'), + i.scrollbarXRail); + i.scrollbarX.setAttribute('tabindex', 0); + i.event.bind(i.scrollbarX, 'focus', focus); + i.event.bind(i.scrollbarX, 'blur', blur); + i.scrollbarXActive = null; + i.scrollbarXWidth = null; + i.scrollbarXLeft = null; + i.scrollbarXBottom = _.toInt(dom.css(i.scrollbarXRail, 'bottom')); + i.isScrollbarXUsingBottom = i.scrollbarXBottom === i.scrollbarXBottom; // !isNaN + i.scrollbarXTop = i.isScrollbarXUsingBottom ? + null : + _.toInt(dom.css(i.scrollbarXRail, 'top')); + i.railBorderXWidth = _.toInt( + dom.css(i.scrollbarXRail, 'borderLeftWidth')) + + _.toInt(dom.css(i.scrollbarXRail, 'borderRightWidth')); + // Set rail to display:block to calculate margins + dom.css(i.scrollbarXRail, 'display', 'block'); + i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + + _.toInt(dom.css(i.scrollbarXRail, 'marginRight')); + dom.css(i.scrollbarXRail, 'display', ''); + i.railXWidth = null; + i.railXRatio = null; + + i.scrollbarYRail = dom.appendTo(dom.e('div', 'ps-scrollbar-y-rail'), + element); + i.scrollbarY = dom.appendTo(dom.e('div', 'ps-scrollbar-y'), + i.scrollbarYRail); + i.scrollbarY.setAttribute('tabindex', 0); + i.event.bind(i.scrollbarY, 'focus', focus); + i.event.bind(i.scrollbarY, 'blur', blur); + i.scrollbarYActive = null; + i.scrollbarYHeight = null; + i.scrollbarYTop = null; + i.scrollbarYRight = _.toInt(dom.css(i.scrollbarYRail, 'right')); + i.isScrollbarYUsingRight = i.scrollbarYRight === i.scrollbarYRight; // !isNaN + i.scrollbarYLeft = i.isScrollbarYUsingRight ? + null : + _.toInt(dom.css(i.scrollbarYRail, 'left')); + i.scrollbarYOuterWidth = i.isRtl ? _.outerWidth(i.scrollbarY) : null; + i.railBorderYWidth = _.toInt( + dom.css(i.scrollbarYRail, 'borderTopWidth')) + + _.toInt(dom.css(i.scrollbarYRail, 'borderBottomWidth')); + dom.css(i.scrollbarYRail, 'display', 'block'); + i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom')); + dom.css(i.scrollbarYRail, 'display', ''); + i.railYHeight = null; + i.railYRatio = null; + } + + function getId(element) { + return element.getAttribute('data-ps-id'); + } + + function setId(element, id) { + element.setAttribute('data-ps-id', id); + } + + function removeId(element) { + element.removeAttribute('data-ps-id'); + } + + exports.add = function(element) { + var newId = guid(); + setId(element, newId); + instances[newId] = new Instance(element); + return instances[newId]; + }; + + exports.remove = function(element) { + delete instances[getId(element)]; + removeId(element); + }; + + exports.get = function(element) { + return instances[getId(element)]; + }; + + }, + { + '../lib/class': 2, + '../lib/dom': 3, + '../lib/event-manager': 4, + '../lib/guid': 5, + '../lib/helper': 6, + './default-setting': 8, + }], + 19: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var cls = require('../lib/class'); + var dom = require('../lib/dom'); + var instances = require('./instances'); + var updateScroll = require('./update-scroll'); + + function getThumbSize(i, thumbSize) { + if (i.settings.minScrollbarLength) { + thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength); + } + if (i.settings.maxScrollbarLength) { + thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength); + } + return thumbSize; + } + + function updateCss(element, i) { + var xRailOffset = {width: i.railXWidth}; + if (i.isRtl) { + xRailOffset.left = i.negativeScrollAdjustment + element.scrollLeft + + i.containerWidth - i.contentWidth; + } else { + xRailOffset.left = element.scrollLeft; + } + if (i.isScrollbarXUsingBottom) { + xRailOffset.bottom = i.scrollbarXBottom - element.scrollTop; + } else { + xRailOffset.top = i.scrollbarXTop + element.scrollTop; + } + dom.css(i.scrollbarXRail, xRailOffset); + + var yRailOffset = {top: element.scrollTop, height: i.railYHeight}; + if (i.isScrollbarYUsingRight) { + if (i.isRtl) { + yRailOffset.right = i.contentWidth - + (i.negativeScrollAdjustment + element.scrollLeft) - + i.scrollbarYRight - i.scrollbarYOuterWidth; + } else { + yRailOffset.right = i.scrollbarYRight - element.scrollLeft; + } + } else { + if (i.isRtl) { + yRailOffset.left = i.negativeScrollAdjustment + element.scrollLeft + + i.containerWidth * 2 - i.contentWidth - i.scrollbarYLeft - + i.scrollbarYOuterWidth; + } else { + yRailOffset.left = i.scrollbarYLeft + element.scrollLeft; + } + } + dom.css(i.scrollbarYRail, yRailOffset); + + dom.css(i.scrollbarX, { + left: i.scrollbarXLeft, + width: i.scrollbarXWidth - i.railBorderXWidth, + }); + dom.css(i.scrollbarY, { + top: i.scrollbarYTop, + height: i.scrollbarYHeight - i.railBorderYWidth, + }); + } + + module.exports = function(element) { + var i = instances.get(element); + + i.containerWidth = element.clientWidth; + i.containerHeight = element.clientHeight; + i.contentWidth = element.scrollWidth; + i.contentHeight = element.scrollHeight; + + var existingRails; + if (!element.contains(i.scrollbarXRail)) { + existingRails = dom.queryChildren(element, '.ps-scrollbar-x-rail'); + if (existingRails.length > 0) { + existingRails.forEach(function(rail) { + dom.remove(rail); + }); + } + dom.appendTo(i.scrollbarXRail, element); + } + if (!element.contains(i.scrollbarYRail)) { + existingRails = dom.queryChildren(element, '.ps-scrollbar-y-rail'); + if (existingRails.length > 0) { + existingRails.forEach(function(rail) { + dom.remove(rail); + }); + } + dom.appendTo(i.scrollbarYRail, element); + } + + if (!i.settings.suppressScrollX && i.containerWidth + + i.settings.scrollXMarginOffset < i.contentWidth) { + i.scrollbarXActive = true; + i.railXWidth = i.containerWidth - i.railXMarginWidth; + i.railXRatio = i.containerWidth / i.railXWidth; + i.scrollbarXWidth = getThumbSize(i, + _.toInt(i.railXWidth * i.containerWidth / i.contentWidth)); + i.scrollbarXLeft = _.toInt( + (i.negativeScrollAdjustment + element.scrollLeft) * + (i.railXWidth - i.scrollbarXWidth) / + (i.contentWidth - i.containerWidth)); + } else { + i.scrollbarXActive = false; + } + + if (!i.settings.suppressScrollY && i.containerHeight + + i.settings.scrollYMarginOffset < i.contentHeight) { + i.scrollbarYActive = true; + i.railYHeight = i.containerHeight - i.railYMarginHeight; + i.railYRatio = i.containerHeight / i.railYHeight; + i.scrollbarYHeight = getThumbSize(i, + _.toInt(i.railYHeight * i.containerHeight / i.contentHeight)); + i.scrollbarYTop = _.toInt( + element.scrollTop * (i.railYHeight - i.scrollbarYHeight) / + (i.contentHeight - i.containerHeight)); + } else { + i.scrollbarYActive = false; + } + + if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) { + i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth; + } + if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) { + i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight; + } + + updateCss(element, i); + + if (i.scrollbarXActive) { + cls.add(element, 'ps-active-x'); + } else { + cls.remove(element, 'ps-active-x'); + i.scrollbarXWidth = 0; + i.scrollbarXLeft = 0; + updateScroll(element, 'left', 0); + } + if (i.scrollbarYActive) { + cls.add(element, 'ps-active-y'); + } else { + cls.remove(element, 'ps-active-y'); + i.scrollbarYHeight = 0; + i.scrollbarYTop = 0; + updateScroll(element, 'top', 0); + } + }; + + }, + { + '../lib/class': 2, + '../lib/dom': 3, + '../lib/helper': 6, + './instances': 18, + './update-scroll': 20, + }], + 20: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('./instances'); + + var lastTop; + var lastLeft; + + var createDOMEvent = function(name) { + var event = document.createEvent('Event'); + event.initEvent(name, true, true); + return event; + }; + + module.exports = function(element, axis, value) { + if (typeof element === 'undefined') { + throw 'You must provide an element to the update-scroll function'; + } + + if (typeof axis === 'undefined') { + throw 'You must provide an axis to the update-scroll function'; + } + + if (typeof value === 'undefined') { + throw 'You must provide a value to the update-scroll function'; + } + + if (axis === 'top' && value <= 0) { + element.scrollTop = value = 0; // don't allow negative scroll + element.dispatchEvent(createDOMEvent('ps-y-reach-start')); + } + + if (axis === 'left' && value <= 0) { + element.scrollLeft = value = 0; // don't allow negative scroll + element.dispatchEvent(createDOMEvent('ps-x-reach-start')); + } + + var i = instances.get(element); + + if (axis === 'top' && value >= i.contentHeight - i.containerHeight) { + // don't allow scroll past container + value = i.contentHeight - i.containerHeight; + if (value - element.scrollTop <= 1) { + // mitigates rounding errors on non-subpixel scroll values + value = element.scrollTop; + } else { + element.scrollTop = value; + } + element.dispatchEvent(createDOMEvent('ps-y-reach-end')); + } + + if (axis === 'left' && value >= i.contentWidth - i.containerWidth) { + // don't allow scroll past container + value = i.contentWidth - i.containerWidth; + if (value - element.scrollLeft <= 1) { + // mitigates rounding errors on non-subpixel scroll values + value = element.scrollLeft; + } else { + element.scrollLeft = value; + } + element.dispatchEvent(createDOMEvent('ps-x-reach-end')); + } + + if (!lastTop) { + lastTop = element.scrollTop; + } + + if (!lastLeft) { + lastLeft = element.scrollLeft; + } + + if (axis === 'top' && value < lastTop) { + element.dispatchEvent(createDOMEvent('ps-scroll-up')); + } + + if (axis === 'top' && value > lastTop) { + element.dispatchEvent(createDOMEvent('ps-scroll-down')); + } + + if (axis === 'left' && value < lastLeft) { + element.dispatchEvent(createDOMEvent('ps-scroll-left')); + } + + if (axis === 'left' && value > lastLeft) { + element.dispatchEvent(createDOMEvent('ps-scroll-right')); + } + + if (axis === 'top') { + element.scrollTop = lastTop = value; + element.dispatchEvent(createDOMEvent('ps-scroll-y')); + } + + if (axis === 'left') { + element.scrollLeft = lastLeft = value; + element.dispatchEvent(createDOMEvent('ps-scroll-x')); + } + + }; + + }, {'./instances': 18}], + 21: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var dom = require('../lib/dom'); + var instances = require('./instances'); + var updateGeometry = require('./update-geometry'); + var updateScroll = require('./update-scroll'); + + module.exports = function(element) { + var i = instances.get(element); + + if (!i) { + return; + } + + // Recalcuate negative scrollLeft adjustment + i.negativeScrollAdjustment = i.isNegativeScroll ? + element.scrollWidth - element.clientWidth : + 0; + + // Recalculate rail margins + dom.css(i.scrollbarXRail, 'display', 'block'); + dom.css(i.scrollbarYRail, 'display', 'block'); + i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + + _.toInt(dom.css(i.scrollbarXRail, 'marginRight')); + i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom')); + + // Hide scrollbars not to affect scrollWidth and scrollHeight + dom.css(i.scrollbarXRail, 'display', 'none'); + dom.css(i.scrollbarYRail, 'display', 'none'); + + updateGeometry(element); + + // Update top/left scroll to trigger events + updateScroll(element, 'top', element.scrollTop); + updateScroll(element, 'left', element.scrollLeft); + + dom.css(i.scrollbarXRail, 'display', ''); + dom.css(i.scrollbarYRail, 'display', ''); + }; + + }, + { + '../lib/dom': 3, + '../lib/helper': 6, + './instances': 18, + './update-geometry': 19, + './update-scroll': 20, + }], +}, {}, [1]); diff --git a/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js new file mode 100644 index 00000000..73066193 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js @@ -0,0 +1,2 @@ +/* perfect-scrollbar v0.6.14 */ +!function t(e,n,r){function o(i,s){if(!n[i]){if(!e[i]){var a="function"==typeof require&&require;if(!s&&a)return a(i,!0);if(l)return l(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return o(n?n:t)},u,u.exports,t,e,n,r)}return n[i].exports}for(var l="function"==typeof require&&require,i=0;i=0&&n.splice(r,1),t.className=n.join(" ")}n.add=function(t,e){t.classList?t.classList.add(e):r(t,e)},n.remove=function(t,e){t.classList?t.classList.remove(e):o(t,e)},n.list=function(t){return t.classList?Array.prototype.slice.apply(t.classList):t.className.split(" ")}},{}],3:[function(t,e,n){"use strict";function r(t,e){return window.getComputedStyle(t)[e]}function o(t,e,n){return"number"==typeof n&&(n=n.toString()+"px"),t.style[e]=n,t}function l(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r=r.toString()+"px"),t.style[n]=r}return t}var i={};i.e=function(t,e){var n=document.createElement(t);return n.className=e,n},i.appendTo=function(t,e){return e.appendChild(t),t},i.css=function(t,e,n){return"object"==typeof e?l(t,e):"undefined"==typeof n?r(t,e):o(t,e,n)},i.matches=function(t,e){return"undefined"!=typeof t.matches?t.matches(e):"undefined"!=typeof t.matchesSelector?t.matchesSelector(e):"undefined"!=typeof t.webkitMatchesSelector?t.webkitMatchesSelector(e):"undefined"!=typeof t.mozMatchesSelector?t.mozMatchesSelector(e):"undefined"!=typeof t.msMatchesSelector?t.msMatchesSelector(e):void 0},i.remove=function(t){"undefined"!=typeof t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)},i.queryChildren=function(t,e){return Array.prototype.filter.call(t.childNodes,function(t){return i.matches(t,e)})},e.exports=i},{}],4:[function(t,e,n){"use strict";var r=function(t){this.element=t,this.events={}};r.prototype.bind=function(t,e){"undefined"==typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e),this.element.addEventListener(t,e,!1)},r.prototype.unbind=function(t,e){var n="undefined"!=typeof e;this.events[t]=this.events[t].filter(function(r){return!(!n||r===e)||(this.element.removeEventListener(t,r,!1),!1)},this)},r.prototype.unbindAll=function(){for(var t in this.events)this.unbind(t)};var o=function(){this.eventElements=[]};o.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return"undefined"==typeof e&&(e=new r(t),this.eventElements.push(e)),e},o.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},o.prototype.unbind=function(t,e,n){this.eventElement(t).unbind(e,n)},o.prototype.unbindAll=function(){for(var t=0;te.scrollbarYTop?1:-1;i(t,"top",t.scrollTop+s*e.containerHeight),l(t),r.stopPropagation()}),e.event.bind(e.scrollbarX,"click",r),e.event.bind(e.scrollbarXRail,"click",function(r){var o=r.pageX-window.pageXOffset-n(e.scrollbarXRail).left,s=o>e.scrollbarXLeft?1:-1;i(t,"left",t.scrollLeft+s*e.containerWidth),l(t),r.stopPropagation()})}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(t,e,n){"use strict";function r(t,e){function n(n){var o=r+n*e.railXRatio,i=Math.max(0,e.scrollbarXRail.getBoundingClientRect().left)+e.railXRatio*(e.railXWidth-e.scrollbarXWidth);o<0?e.scrollbarXLeft=0:o>i?e.scrollbarXLeft=i:e.scrollbarXLeft=o;var s=l.toInt(e.scrollbarXLeft*(e.contentWidth-e.containerWidth)/(e.containerWidth-e.railXRatio*e.scrollbarXWidth))-e.negativeScrollAdjustment;c(t,"left",s)}var r=null,o=null,s=function(e){n(e.pageX-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"x"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarX,"mousedown",function(n){o=n.pageX,r=l.toInt(i.css(e.scrollbarX,"left"))*e.railXRatio,l.startScrolling(t,"x"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}function o(t,e){function n(n){var o=r+n*e.railYRatio,i=Math.max(0,e.scrollbarYRail.getBoundingClientRect().top)+e.railYRatio*(e.railYHeight-e.scrollbarYHeight);o<0?e.scrollbarYTop=0:o>i?e.scrollbarYTop=i:e.scrollbarYTop=o;var s=l.toInt(e.scrollbarYTop*(e.contentHeight-e.containerHeight)/(e.containerHeight-e.railYRatio*e.scrollbarYHeight));c(t,"top",s)}var r=null,o=null,s=function(e){n(e.pageY-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"y"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarY,"mousedown",function(n){o=n.pageY,r=l.toInt(i.css(e.scrollbarY,"top"))*e.railYRatio,l.startScrolling(t,"y"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}var l=t("../../lib/helper"),i=t("../../lib/dom"),s=t("../instances"),a=t("../update-geometry"),c=t("../update-scroll");e.exports=function(t){var e=s.get(t);r(t,e),o(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}var r=!1;e.event.bind(t,"mouseenter",function(){r=!0}),e.event.bind(t,"mouseleave",function(){r=!1});var i=!1;e.event.bind(e.ownerDocument,"keydown",function(c){if(!(c.isDefaultPrevented&&c.isDefaultPrevented()||c.defaultPrevented)){var u=l.matches(e.scrollbarX,":focus")||l.matches(e.scrollbarY,":focus");if(r||u){var d=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(d){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(o.isEditable(d))return}var p=0,f=0;switch(c.which){case 37:p=c.metaKey?-e.contentWidth:c.altKey?-e.containerWidth:-30;break;case 38:f=c.metaKey?e.contentHeight:c.altKey?e.containerHeight:30;break;case 39:p=c.metaKey?e.contentWidth:c.altKey?e.containerWidth:30;break;case 40:f=c.metaKey?-e.contentHeight:c.altKey?-e.containerHeight:-30;break;case 33:f=90;break;case 32:f=c.shiftKey?90:-90;break;case 34:f=-90;break;case 35:f=c.ctrlKey?-e.contentHeight:-e.containerHeight;break;case 36:f=c.ctrlKey?t.scrollTop:e.containerHeight;break;default:return}a(t,"top",t.scrollTop-f),a(t,"left",t.scrollLeft+p),s(t),i=n(p,f),i&&c.preventDefault()}}})}var o=t("../../lib/helper"),l=t("../../lib/dom"),i=t("../instances"),s=t("../update-geometry"),a=t("../update-scroll");e.exports=function(t){var e=i.get(t);r(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}function r(t){var e=t.deltaX,n=-1*t.deltaY;return"undefined"!=typeof e&&"undefined"!=typeof n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function o(e,n){var r=t.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;var o=r.scrollHeight-r.clientHeight;if(o>0&&!(0===r.scrollTop&&n>0||r.scrollTop===o&&n<0))return!0;var l=r.scrollLeft-r.clientWidth;if(l>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===l&&e>0))return!0}return!1}function s(s){var c=r(s),u=c[0],d=c[1];o(u,d)||(a=!1,e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(d?i(t,"top",t.scrollTop-d*e.settings.wheelSpeed):i(t,"top",t.scrollTop+u*e.settings.wheelSpeed),a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(u?i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed):i(t,"left",t.scrollLeft-d*e.settings.wheelSpeed),a=!0):(i(t,"top",t.scrollTop-d*e.settings.wheelSpeed),i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed)),l(t),a=a||n(u,d),a&&(s.stopPropagation(),s.preventDefault()))}var a=!1;"undefined"!=typeof window.onwheel?e.event.bind(t,"wheel",s):"undefined"!=typeof window.onmousewheel&&e.event.bind(t,"mousewheel",s)}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(t,e,n){"use strict";function r(t,e){e.event.bind(t,"scroll",function(){l(t)})}var o=t("../instances"),l=t("../update-geometry");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19}],15:[function(t,e,n){"use strict";function r(t,e){function n(){var t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===t.toString().length?null:t.getRangeAt(0).commonAncestorContainer}function r(){c||(c=setInterval(function(){return l.get(t)?(s(t,"top",t.scrollTop+u.top),s(t,"left",t.scrollLeft+u.left),void i(t)):void clearInterval(c)},50))}function a(){c&&(clearInterval(c),c=null),o.stopScrolling(t)}var c=null,u={top:0,left:0},d=!1;e.event.bind(e.ownerDocument,"selectionchange",function(){t.contains(n())?d=!0:(d=!1,a())}),e.event.bind(window,"mouseup",function(){d&&(d=!1,a())}),e.event.bind(window,"keyup",function(){d&&(d=!1,a())}),e.event.bind(window,"mousemove",function(e){if(d){var n={x:e.pageX,y:e.pageY},l={left:t.offsetLeft,right:t.offsetLeft+t.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight};n.xl.right-3?(u.left=5,o.startScrolling(t,"x")):u.left=0,n.yl.bottom-3?(n.y-l.bottom+3<5?u.top=5:u.top=20,o.startScrolling(t,"y")):u.top=0,0===u.top&&0===u.left?a():r()}})}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){var e=l.get(t);r(t,e)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(t,e,n){"use strict";function r(t,e,n,r){function o(n,r){var o=t.scrollTop,l=t.scrollLeft,i=Math.abs(n),s=Math.abs(r);if(s>i){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return!e.settings.swipePropagation}else if(i>s&&(n<0&&l===e.contentWidth-e.containerWidth||n>0&&0===l))return!e.settings.swipePropagation;return!0}function a(e,n){s(t,"top",t.scrollTop-n),s(t,"left",t.scrollLeft-e),i(t)}function c(){w=!0}function u(){w=!1}function d(t){return t.targetTouches?t.targetTouches[0]:t}function p(t){return!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE)}function f(t){if(p(t)){Y=!0;var e=d(t);g.pageX=e.pageX,g.pageY=e.pageY,v=(new Date).getTime(),null!==y&&clearInterval(y),t.stopPropagation()}}function h(t){if(!Y&&e.settings.swipePropagation&&f(t),!w&&Y&&p(t)){var n=d(t),r={pageX:n.pageX,pageY:n.pageY},l=r.pageX-g.pageX,i=r.pageY-g.pageY;a(l,i),g=r;var s=(new Date).getTime(),c=s-v;c>0&&(m.x=l/c,m.y=i/c,v=s),o(l,i)&&(t.stopPropagation(),t.preventDefault())}}function b(){!w&&Y&&(Y=!1,clearInterval(y),y=setInterval(function(){return l.get(t)&&(m.x||m.y)?Math.abs(m.x)<.01&&Math.abs(m.y)<.01?void clearInterval(y):(a(30*m.x,30*m.y),m.x*=.8,void(m.y*=.8)):void clearInterval(y)},10))}var g={},v=0,m={},y=null,w=!1,Y=!1;n&&(e.event.bind(window,"touchstart",c),e.event.bind(window,"touchend",u),e.event.bind(t,"touchstart",f),e.event.bind(t,"touchmove",h),e.event.bind(t,"touchend",b)),r&&(window.PointerEvent?(e.event.bind(window,"pointerdown",c),e.event.bind(window,"pointerup",u),e.event.bind(t,"pointerdown",f),e.event.bind(t,"pointermove",h),e.event.bind(t,"pointerup",b)):window.MSPointerEvent&&(e.event.bind(window,"MSPointerDown",c),e.event.bind(window,"MSPointerUp",u),e.event.bind(t,"MSPointerDown",f),e.event.bind(t,"MSPointerMove",h),e.event.bind(t,"MSPointerUp",b)))}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){if(o.env.supportsTouch||o.env.supportsIePointer){var e=l.get(t);r(t,e,o.env.supportsTouch,o.env.supportsIePointer)}}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/class"),l=t("./instances"),i=t("./update-geometry"),s={"click-rail":t("./handler/click-rail"),"drag-scrollbar":t("./handler/drag-scrollbar"),keyboard:t("./handler/keyboard"),wheel:t("./handler/mouse-wheel"),touch:t("./handler/touch"),selection:t("./handler/selection")},a=t("./handler/native-scroll");e.exports=function(t,e){e="object"==typeof e?e:{},o.add(t,"ps-container");var n=l.add(t);n.settings=r.extend(n.settings,e),o.add(t,"ps-theme-"+n.settings.theme),n.settings.handlers.forEach(function(e){s[e](t)}),a(t),i(t)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(t,e,n){"use strict";function r(t){function e(){a.add(t,"ps-focus")}function n(){a.remove(t,"ps-focus")}var r=this;r.settings=s.clone(c),r.containerWidth=null,r.containerHeight=null,r.contentWidth=null,r.contentHeight=null,r.isRtl="rtl"===u.css(t,"direction"),r.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),r.negativeScrollAdjustment=r.isNegativeScroll?t.scrollWidth-t.clientWidth:0,r.event=new d,r.ownerDocument=t.ownerDocument||document,r.scrollbarXRail=u.appendTo(u.e("div","ps-scrollbar-x-rail"),t),r.scrollbarX=u.appendTo(u.e("div","ps-scrollbar-x"),r.scrollbarXRail),r.scrollbarX.setAttribute("tabindex",0),r.event.bind(r.scrollbarX,"focus",e),r.event.bind(r.scrollbarX,"blur",n),r.scrollbarXActive=null,r.scrollbarXWidth=null,r.scrollbarXLeft=null,r.scrollbarXBottom=s.toInt(u.css(r.scrollbarXRail,"bottom")),r.isScrollbarXUsingBottom=r.scrollbarXBottom===r.scrollbarXBottom,r.scrollbarXTop=r.isScrollbarXUsingBottom?null:s.toInt(u.css(r.scrollbarXRail,"top")),r.railBorderXWidth=s.toInt(u.css(r.scrollbarXRail,"borderLeftWidth"))+s.toInt(u.css(r.scrollbarXRail,"borderRightWidth")),u.css(r.scrollbarXRail,"display","block"),r.railXMarginWidth=s.toInt(u.css(r.scrollbarXRail,"marginLeft"))+s.toInt(u.css(r.scrollbarXRail,"marginRight")),u.css(r.scrollbarXRail,"display",""),r.railXWidth=null,r.railXRatio=null,r.scrollbarYRail=u.appendTo(u.e("div","ps-scrollbar-y-rail"),t),r.scrollbarY=u.appendTo(u.e("div","ps-scrollbar-y"),r.scrollbarYRail),r.scrollbarY.setAttribute("tabindex",0),r.event.bind(r.scrollbarY,"focus",e),r.event.bind(r.scrollbarY,"blur",n),r.scrollbarYActive=null,r.scrollbarYHeight=null,r.scrollbarYTop=null,r.scrollbarYRight=s.toInt(u.css(r.scrollbarYRail,"right")),r.isScrollbarYUsingRight=r.scrollbarYRight===r.scrollbarYRight,r.scrollbarYLeft=r.isScrollbarYUsingRight?null:s.toInt(u.css(r.scrollbarYRail,"left")),r.scrollbarYOuterWidth=r.isRtl?s.outerWidth(r.scrollbarY):null,r.railBorderYWidth=s.toInt(u.css(r.scrollbarYRail,"borderTopWidth"))+s.toInt(u.css(r.scrollbarYRail,"borderBottomWidth")),u.css(r.scrollbarYRail,"display","block"),r.railYMarginHeight=s.toInt(u.css(r.scrollbarYRail,"marginTop"))+s.toInt(u.css(r.scrollbarYRail,"marginBottom")),u.css(r.scrollbarYRail,"display",""),r.railYHeight=null,r.railYRatio=null}function o(t){return t.getAttribute("data-ps-id")}function l(t,e){t.setAttribute("data-ps-id",e)}function i(t){t.removeAttribute("data-ps-id")}var s=t("../lib/helper"),a=t("../lib/class"),c=t("./default-setting"),u=t("../lib/dom"),d=t("../lib/event-manager"),p=t("../lib/guid"),f={};n.add=function(t){var e=p();return l(t,e),f[e]=new r(t),f[e]},n.remove=function(t){delete f[o(t)],i(t)},n.get=function(t){return f[o(t)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(t,e,n){"use strict";function r(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function o(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,s.css(e.scrollbarXRail,n);var r={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?r.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:r.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?r.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:r.left=e.scrollbarYLeft+t.scrollLeft,s.css(e.scrollbarYRail,r),s.css(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),s.css(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}var l=t("../lib/helper"),i=t("../lib/class"),s=t("../lib/dom"),a=t("./instances"),c=t("./update-scroll");e.exports=function(t){var e=a.get(t);e.containerWidth=t.clientWidth,e.containerHeight=t.clientHeight,e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight;var n;t.contains(e.scrollbarXRail)||(n=s.queryChildren(t,".ps-scrollbar-x-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarXRail,t)),t.contains(e.scrollbarYRail)||(n=s.queryChildren(t,".ps-scrollbar-y-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarYRail,t)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),o(t,e),e.scrollbarXActive?i.add(t,"ps-active-x"):(i.remove(t,"ps-active-x"),e.scrollbarXWidth=0,e.scrollbarXLeft=0,c(t,"left",0)),e.scrollbarYActive?i.add(t,"ps-active-y"):(i.remove(t,"ps-active-y"),e.scrollbarYHeight=0,e.scrollbarYTop=0,c(t,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(t,e,n){"use strict";var r,o,l=t("./instances"),i=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e};e.exports=function(t,e,n){if("undefined"==typeof t)throw"You must provide an element to the update-scroll function";if("undefined"==typeof e)throw"You must provide an axis to the update-scroll function";if("undefined"==typeof n)throw"You must provide a value to the update-scroll function";"top"===e&&n<=0&&(t.scrollTop=n=0,t.dispatchEvent(i("ps-y-reach-start"))),"left"===e&&n<=0&&(t.scrollLeft=n=0,t.dispatchEvent(i("ps-x-reach-start")));var s=l.get(t);"top"===e&&n>=s.contentHeight-s.containerHeight&&(n=s.contentHeight-s.containerHeight,n-t.scrollTop<=1?n=t.scrollTop:t.scrollTop=n,t.dispatchEvent(i("ps-y-reach-end"))),"left"===e&&n>=s.contentWidth-s.containerWidth&&(n=s.contentWidth-s.containerWidth,n-t.scrollLeft<=1?n=t.scrollLeft:t.scrollLeft=n,t.dispatchEvent(i("ps-x-reach-end"))),r||(r=t.scrollTop),o||(o=t.scrollLeft),"top"===e&&nr&&t.dispatchEvent(i("ps-scroll-down")),"left"===e&&no&&t.dispatchEvent(i("ps-scroll-right")),"top"===e&&(t.scrollTop=r=n,t.dispatchEvent(i("ps-scroll-y"))),"left"===e&&(t.scrollLeft=o=n,t.dispatchEvent(i("ps-scroll-x")))}},{"./instances":18}],21:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances"),i=t("./update-geometry"),s=t("./update-scroll");e.exports=function(t){var e=l.get(t);e&&(e.negativeScrollAdjustment=e.isNegativeScroll?t.scrollWidth-t.clientWidth:0,o.css(e.scrollbarXRail,"display","block"),o.css(e.scrollbarYRail,"display","block"),e.railXMarginWidth=r.toInt(o.css(e.scrollbarXRail,"marginLeft"))+r.toInt(o.css(e.scrollbarXRail,"marginRight")),e.railYMarginHeight=r.toInt(o.css(e.scrollbarYRail,"marginTop"))+r.toInt(o.css(e.scrollbarYRail,"marginBottom")),o.css(e.scrollbarXRail,"display","none"),o.css(e.scrollbarYRail,"display","none"),i(t),s(t,"top",t.scrollTop),s(t,"left",t.scrollLeft),o.css(e.scrollbarXRail,"display",""),o.css(e.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]); \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.js b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.js new file mode 100644 index 00000000..556cbdbb --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.js @@ -0,0 +1,1778 @@ +/* perfect-scrollbar v0.6.14 */ +(function e(t, n, r) { + function s(o, u) { + if (!n[o]) { + if (!t[o]) { + var a = typeof require == 'function' && require; + if (!u && a) return a(o, !0); + if (i) return i(o, !0); + var f = new Error('Cannot find module \'' + o + '\''); + throw f.code = 'MODULE_NOT_FOUND', f; + } + var l = n[o] = {exports: {}}; + t[o][0].call(l.exports, function(e) { + var n = t[o][1][e]; + return s(n ? n : e); + }, l, l.exports, e, t, n, r); + } + return n[o].exports; + } + + var i = typeof require == 'function' && require; + for (var o = 0; o < r.length; o++) s(r[o]); + return s; +})({ + 1: [ + function(require, module, exports) { + 'use strict'; + + var ps = require('../main'); + + if (typeof define === 'function' && define.amd) { + // AMD + define(ps); + } else { + // Add to a global object. + window.PerfectScrollbar = ps; + if (typeof window.Ps === 'undefined') { + window.Ps = ps; + } + } + + }, {'../main': 7}], + 2: [ + function(require, module, exports) { + 'use strict'; + + function oldAdd(element, className) { + var classes = element.className.split(' '); + if (classes.indexOf(className) < 0) { + classes.push(className); + } + element.className = classes.join(' '); + } + + function oldRemove(element, className) { + var classes = element.className.split(' '); + var idx = classes.indexOf(className); + if (idx >= 0) { + classes.splice(idx, 1); + } + element.className = classes.join(' '); + } + + exports.add = function(element, className) { + if (element.classList) { + element.classList.add(className); + } else { + oldAdd(element, className); + } + }; + + exports.remove = function(element, className) { + if (element.classList) { + element.classList.remove(className); + } else { + oldRemove(element, className); + } + }; + + exports.list = function(element) { + if (element.classList) { + return Array.prototype.slice.apply(element.classList); + } else { + return element.className.split(' '); + } + }; + + }, {}], + 3: [ + function(require, module, exports) { + 'use strict'; + + var DOM = {}; + + DOM.e = function(tagName, className) { + var element = document.createElement(tagName); + element.className = className; + return element; + }; + + DOM.appendTo = function(child, parent) { + parent.appendChild(child); + return child; + }; + + function cssGet(element, styleName) { + return window.getComputedStyle(element)[styleName]; + } + + function cssSet(element, styleName, styleValue) { + if (typeof styleValue === 'number') { + styleValue = styleValue.toString() + 'px'; + } + element.style[styleName] = styleValue; + return element; + } + + function cssMultiSet(element, obj) { + for (var key in obj) { + var val = obj[key]; + if (typeof val === 'number') { + val = val.toString() + 'px'; + } + element.style[key] = val; + } + return element; + } + + DOM.css = function(element, styleNameOrObject, styleValue) { + if (typeof styleNameOrObject === 'object') { + // multiple set with object + return cssMultiSet(element, styleNameOrObject); + } else { + if (typeof styleValue === 'undefined') { + return cssGet(element, styleNameOrObject); + } else { + return cssSet(element, styleNameOrObject, styleValue); + } + } + }; + + DOM.matches = function(element, query) { + if (typeof element.matches !== 'undefined') { + return element.matches(query); + } else { + if (typeof element.matchesSelector !== 'undefined') { + return element.matchesSelector(query); + } else if (typeof element.webkitMatchesSelector !== 'undefined') { + return element.webkitMatchesSelector(query); + } else if (typeof element.mozMatchesSelector !== 'undefined') { + return element.mozMatchesSelector(query); + } else if (typeof element.msMatchesSelector !== 'undefined') { + return element.msMatchesSelector(query); + } + } + }; + + DOM.remove = function(element) { + if (typeof element.remove !== 'undefined') { + element.remove(); + } else { + if (element.parentNode) { + element.parentNode.removeChild(element); + } + } + }; + + DOM.queryChildren = function(element, selector) { + return Array.prototype.filter.call(element.childNodes, function(child) { + return DOM.matches(child, selector); + }); + }; + + module.exports = DOM; + + }, {}], + 4: [ + function(require, module, exports) { + 'use strict'; + + var EventElement = function(element) { + this.element = element; + this.events = {}; + }; + + EventElement.prototype.bind = function(eventName, handler) { + if (typeof this.events[eventName] === 'undefined') { + this.events[eventName] = []; + } + this.events[eventName].push(handler); + this.element.addEventListener(eventName, handler, false); + }; + + EventElement.prototype.unbind = function(eventName, handler) { + var isHandlerProvided = (typeof handler !== 'undefined'); + this.events[eventName] = this.events[eventName].filter(function(hdlr) { + if (isHandlerProvided && hdlr !== handler) { + return true; + } + this.element.removeEventListener(eventName, hdlr, false); + return false; + }, this); + }; + + EventElement.prototype.unbindAll = function() { + for (var name in this.events) { + this.unbind(name); + } + }; + + var EventManager = function() { + this.eventElements = []; + }; + + EventManager.prototype.eventElement = function(element) { + var ee = this.eventElements.filter(function(eventElement) { + return eventElement.element === element; + })[0]; + if (typeof ee === 'undefined') { + ee = new EventElement(element); + this.eventElements.push(ee); + } + return ee; + }; + + EventManager.prototype.bind = function(element, eventName, handler) { + this.eventElement(element).bind(eventName, handler); + }; + + EventManager.prototype.unbind = function(element, eventName, handler) { + this.eventElement(element).unbind(eventName, handler); + }; + + EventManager.prototype.unbindAll = function() { + for (var i = 0; i < this.eventElements.length; i++) { + this.eventElements[i].unbindAll(); + } + }; + + EventManager.prototype.once = function(element, eventName, handler) { + var ee = this.eventElement(element); + var onceHandler = function(e) { + ee.unbind(eventName, onceHandler); + handler(e); + }; + ee.bind(eventName, onceHandler); + }; + + module.exports = EventManager; + + }, {}], + 5: [ + function(require, module, exports) { + 'use strict'; + + module.exports = (function() { + function s4() { + return Math.floor((1 + Math.random()) * 0x10000). + toString(16). + substring(1); + } + + return function() { + return s4() + s4() + '-' + s4() + '-' + s4() + '-' + + s4() + '-' + s4() + s4() + s4(); + }; + })(); + + }, {}], + 6: [ + function(require, module, exports) { + 'use strict'; + + var cls = require('./class'); + var dom = require('./dom'); + + var toInt = exports.toInt = function(x) { + return parseInt(x, 10) || 0; + }; + + var clone = exports.clone = function(obj) { + if (!obj) { + return null; + } else if (obj.constructor === Array) { + return obj.map(clone); + } else if (typeof obj === 'object') { + var result = {}; + for (var key in obj) { + result[key] = clone(obj[key]); + } + return result; + } else { + return obj; + } + }; + + exports.extend = function(original, source) { + var result = clone(original); + for (var key in source) { + result[key] = clone(source[key]); + } + return result; + }; + + exports.isEditable = function(el) { + return dom.matches(el, 'input,[contenteditable]') || + dom.matches(el, 'select,[contenteditable]') || + dom.matches(el, 'textarea,[contenteditable]') || + dom.matches(el, 'button,[contenteditable]'); + }; + + exports.removePsClasses = function(element) { + var clsList = cls.list(element); + for (var i = 0; i < clsList.length; i++) { + var className = clsList[i]; + if (className.indexOf('ps-') === 0) { + cls.remove(element, className); + } + } + }; + + exports.outerWidth = function(element) { + return toInt(dom.css(element, 'width')) + + toInt(dom.css(element, 'paddingLeft')) + + toInt(dom.css(element, 'paddingRight')) + + toInt(dom.css(element, 'borderLeftWidth')) + + toInt(dom.css(element, 'borderRightWidth')); + }; + + exports.startScrolling = function(element, axis) { + cls.add(element, 'ps-in-scrolling'); + if (typeof axis !== 'undefined') { + cls.add(element, 'ps-' + axis); + } else { + cls.add(element, 'ps-x'); + cls.add(element, 'ps-y'); + } + }; + + exports.stopScrolling = function(element, axis) { + cls.remove(element, 'ps-in-scrolling'); + if (typeof axis !== 'undefined') { + cls.remove(element, 'ps-' + axis); + } else { + cls.remove(element, 'ps-x'); + cls.remove(element, 'ps-y'); + } + }; + + exports.env = { + isWebKit: 'WebkitAppearance' in document.documentElement.style, + supportsTouch: (('ontouchstart' in window) || window.DocumentTouch && + document instanceof window.DocumentTouch), + supportsIePointer: window.navigator.msMaxTouchPoints !== null, + }; + + }, {'./class': 2, './dom': 3}], + 7: [ + function(require, module, exports) { + 'use strict'; + + var destroy = require('./plugin/destroy'); + var initialize = require('./plugin/initialize'); + var update = require('./plugin/update'); + + module.exports = { + initialize: initialize, + update: update, + destroy: destroy, + }; + + }, + {'./plugin/destroy': 9, './plugin/initialize': 17, './plugin/update': 21}], + 8: [ + function(require, module, exports) { + 'use strict'; + + module.exports = { + handlers: [ + 'click-rail', + 'drag-scrollbar', + 'keyboard', + 'wheel', + 'touch'], + maxScrollbarLength: null, + minScrollbarLength: null, + scrollXMarginOffset: 0, + scrollYMarginOffset: 0, + suppressScrollX: false, + suppressScrollY: false, + swipePropagation: true, + useBothWheelAxes: false, + wheelPropagation: false, + wheelSpeed: 1, + theme: 'default', + }; + + }, {}], + 9: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var dom = require('../lib/dom'); + var instances = require('./instances'); + + module.exports = function(element) { + var i = instances.get(element); + + if (!i) { + return; + } + + i.event.unbindAll(); + dom.remove(i.scrollbarX); + dom.remove(i.scrollbarY); + dom.remove(i.scrollbarXRail); + dom.remove(i.scrollbarYRail); + _.removePsClasses(element); + + instances.remove(element); + }; + + }, {'../lib/dom': 3, '../lib/helper': 6, './instances': 18}], + 10: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindClickRailHandler(element, i) { + function pageOffset(el) { + return el.getBoundingClientRect(); + } + + var stopPropagation = function(e) { + e.stopPropagation(); + }; + + i.event.bind(i.scrollbarY, 'click', stopPropagation); + i.event.bind(i.scrollbarYRail, 'click', function(e) { + var positionTop = e.pageY - window.pageYOffset - + pageOffset(i.scrollbarYRail).top; + var direction = positionTop > i.scrollbarYTop ? 1 : -1; + + updateScroll(element, 'top', + element.scrollTop + direction * i.containerHeight); + updateGeometry(element); + + e.stopPropagation(); + }); + + i.event.bind(i.scrollbarX, 'click', stopPropagation); + i.event.bind(i.scrollbarXRail, 'click', function(e) { + var positionLeft = e.pageX - window.pageXOffset - + pageOffset(i.scrollbarXRail).left; + var direction = positionLeft > i.scrollbarXLeft ? 1 : -1; + + updateScroll(element, 'left', + element.scrollLeft + direction * i.containerWidth); + updateGeometry(element); + + e.stopPropagation(); + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindClickRailHandler(element, i); + }; + + }, {'../instances': 18, '../update-geometry': 19, '../update-scroll': 20}], + 11: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var dom = require('../../lib/dom'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindMouseScrollXHandler(element, i) { + var currentLeft = null; + var currentPageX = null; + + function updateScrollLeft(deltaX) { + var newLeft = currentLeft + (deltaX * i.railXRatio); + var maxLeft = Math.max(0, + i.scrollbarXRail.getBoundingClientRect().left) + + (i.railXRatio * (i.railXWidth - i.scrollbarXWidth)); + + if (newLeft < 0) { + i.scrollbarXLeft = 0; + } else if (newLeft > maxLeft) { + i.scrollbarXLeft = maxLeft; + } else { + i.scrollbarXLeft = newLeft; + } + + var scrollLeft = _.toInt( + i.scrollbarXLeft * (i.contentWidth - i.containerWidth) / + (i.containerWidth - (i.railXRatio * i.scrollbarXWidth))) - + i.negativeScrollAdjustment; + updateScroll(element, 'left', scrollLeft); + } + + var mouseMoveHandler = function(e) { + updateScrollLeft(e.pageX - currentPageX); + updateGeometry(element); + e.stopPropagation(); + e.preventDefault(); + }; + + var mouseUpHandler = function() { + _.stopScrolling(element, 'x'); + i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler); + }; + + i.event.bind(i.scrollbarX, 'mousedown', function(e) { + currentPageX = e.pageX; + currentLeft = _.toInt(dom.css(i.scrollbarX, 'left')) * i.railXRatio; + _.startScrolling(element, 'x'); + + i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler); + i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler); + + e.stopPropagation(); + e.preventDefault(); + }); + } + + function bindMouseScrollYHandler(element, i) { + var currentTop = null; + var currentPageY = null; + + function updateScrollTop(deltaY) { + var newTop = currentTop + (deltaY * i.railYRatio); + var maxTop = Math.max(0, + i.scrollbarYRail.getBoundingClientRect().top) + + (i.railYRatio * (i.railYHeight - i.scrollbarYHeight)); + + if (newTop < 0) { + i.scrollbarYTop = 0; + } else if (newTop > maxTop) { + i.scrollbarYTop = maxTop; + } else { + i.scrollbarYTop = newTop; + } + + var scrollTop = _.toInt( + i.scrollbarYTop * (i.contentHeight - i.containerHeight) / + (i.containerHeight - (i.railYRatio * i.scrollbarYHeight))); + updateScroll(element, 'top', scrollTop); + } + + var mouseMoveHandler = function(e) { + updateScrollTop(e.pageY - currentPageY); + updateGeometry(element); + e.stopPropagation(); + e.preventDefault(); + }; + + var mouseUpHandler = function() { + _.stopScrolling(element, 'y'); + i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler); + }; + + i.event.bind(i.scrollbarY, 'mousedown', function(e) { + currentPageY = e.pageY; + currentTop = _.toInt(dom.css(i.scrollbarY, 'top')) * i.railYRatio; + _.startScrolling(element, 'y'); + + i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler); + i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler); + + e.stopPropagation(); + e.preventDefault(); + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindMouseScrollXHandler(element, i); + bindMouseScrollYHandler(element, i); + }; + + }, + { + '../../lib/dom': 3, + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 12: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var dom = require('../../lib/dom'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindKeyboardHandler(element, i) { + var hovered = false; + i.event.bind(element, 'mouseenter', function() { + hovered = true; + }); + i.event.bind(element, 'mouseleave', function() { + hovered = false; + }); + + var shouldPrevent = false; + + function shouldPreventDefault(deltaX, deltaY) { + var scrollTop = element.scrollTop; + if (deltaX === 0) { + if (!i.scrollbarYActive) { + return false; + } + if ((scrollTop === 0 && deltaY > 0) || + (scrollTop >= i.contentHeight - i.containerHeight && deltaY < + 0)) { + return !i.settings.wheelPropagation; + } + } + + var scrollLeft = element.scrollLeft; + if (deltaY === 0) { + if (!i.scrollbarXActive) { + return false; + } + if ((scrollLeft === 0 && deltaX < 0) || + (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > + 0)) { + return !i.settings.wheelPropagation; + } + } + return true; + } + + i.event.bind(i.ownerDocument, 'keydown', function(e) { + if ((e.isDefaultPrevented && e.isDefaultPrevented()) || + e.defaultPrevented) { + return; + } + + var focused = dom.matches(i.scrollbarX, ':focus') || + dom.matches(i.scrollbarY, ':focus'); + + if (!hovered && !focused) { + return; + } + + var activeElement = document.activeElement ? + document.activeElement : + i.ownerDocument.activeElement; + if (activeElement) { + if (activeElement.tagName === 'IFRAME') { + activeElement = activeElement.contentDocument.activeElement; + } else { + // go deeper if element is a webcomponent + while (activeElement.shadowRoot) { + activeElement = activeElement.shadowRoot.activeElement; + } + } + if (_.isEditable(activeElement)) { + return; + } + } + + var deltaX = 0; + var deltaY = 0; + + switch (e.which) { + case 37: // left + if (e.metaKey) { + deltaX = -i.contentWidth; + } else if (e.altKey) { + deltaX = -i.containerWidth; + } else { + deltaX = -30; + } + break; + case 38: // up + if (e.metaKey) { + deltaY = i.contentHeight; + } else if (e.altKey) { + deltaY = i.containerHeight; + } else { + deltaY = 30; + } + break; + case 39: // right + if (e.metaKey) { + deltaX = i.contentWidth; + } else if (e.altKey) { + deltaX = i.containerWidth; + } else { + deltaX = 30; + } + break; + case 40: // down + if (e.metaKey) { + deltaY = -i.contentHeight; + } else if (e.altKey) { + deltaY = -i.containerHeight; + } else { + deltaY = -30; + } + break; + case 33: // page up + deltaY = 90; + break; + case 32: // space bar + if (e.shiftKey) { + deltaY = 90; + } else { + deltaY = -90; + } + break; + case 34: // page down + deltaY = -90; + break; + case 35: // end + if (e.ctrlKey) { + deltaY = -i.contentHeight; + } else { + deltaY = -i.containerHeight; + } + break; + case 36: // home + if (e.ctrlKey) { + deltaY = element.scrollTop; + } else { + deltaY = i.containerHeight; + } + break; + default: + return; + } + + updateScroll(element, 'top', element.scrollTop - deltaY); + updateScroll(element, 'left', element.scrollLeft + deltaX); + updateGeometry(element); + + shouldPrevent = shouldPreventDefault(deltaX, deltaY); + if (shouldPrevent) { + e.preventDefault(); + } + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindKeyboardHandler(element, i); + }; + + }, + { + '../../lib/dom': 3, + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 13: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindMouseWheelHandler(element, i) { + var shouldPrevent = false; + + function shouldPreventDefault(deltaX, deltaY) { + var scrollTop = element.scrollTop; + if (deltaX === 0) { + if (!i.scrollbarYActive) { + return false; + } + if ((scrollTop === 0 && deltaY > 0) || + (scrollTop >= i.contentHeight - i.containerHeight && deltaY < + 0)) { + return !i.settings.wheelPropagation; + } + } + + var scrollLeft = element.scrollLeft; + if (deltaY === 0) { + if (!i.scrollbarXActive) { + return false; + } + if ((scrollLeft === 0 && deltaX < 0) || + (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > + 0)) { + return !i.settings.wheelPropagation; + } + } + return true; + } + + function getDeltaFromEvent(e) { + var deltaX = e.deltaX; + var deltaY = -1 * e.deltaY; + + if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') { + // OS X Safari + deltaX = -1 * e.wheelDeltaX / 6; + deltaY = e.wheelDeltaY / 6; + } + + if (e.deltaMode && e.deltaMode === 1) { + // Firefox in deltaMode 1: Line scrolling + deltaX *= 10; + deltaY *= 10; + } + + if (deltaX !== deltaX && deltaY !== deltaY/* NaN checks */) { + // IE in some mouse drivers + deltaX = 0; + deltaY = e.wheelDelta; + } + + if (e.shiftKey) { + // reverse axis with shift key + return [-deltaY, -deltaX]; + } + return [deltaX, deltaY]; + } + + function shouldBeConsumedByChild(deltaX, deltaY) { + var child = element.querySelector( + 'textarea:hover, select[multiple]:hover, .ps-child:hover'); + if (child) { + if (!window.getComputedStyle(child). + overflow. + match(/(scroll|auto)/)) { + // if not scrollable + return false; + } + + var maxScrollTop = child.scrollHeight - child.clientHeight; + if (maxScrollTop > 0) { + if (!(child.scrollTop === 0 && deltaY > 0) && + !(child.scrollTop === maxScrollTop && deltaY < 0)) { + return true; + } + } + var maxScrollLeft = child.scrollLeft - child.clientWidth; + if (maxScrollLeft > 0) { + if (!(child.scrollLeft === 0 && deltaX < 0) && + !(child.scrollLeft === maxScrollLeft && deltaX > 0)) { + return true; + } + } + } + return false; + } + + function mousewheelHandler(e) { + var delta = getDeltaFromEvent(e); + + var deltaX = delta[0]; + var deltaY = delta[1]; + + if (shouldBeConsumedByChild(deltaX, deltaY)) { + return; + } + + shouldPrevent = false; + if (!i.settings.useBothWheelAxes) { + // deltaX will only be used for horizontal scrolling and deltaY will + // only be used for vertical scrolling - this is the default + updateScroll(element, 'top', + element.scrollTop - (deltaY * i.settings.wheelSpeed)); + updateScroll(element, 'left', + element.scrollLeft + (deltaX * i.settings.wheelSpeed)); + } else if (i.scrollbarYActive && !i.scrollbarXActive) { + // only vertical scrollbar is active and useBothWheelAxes option is + // active, so let's scroll vertical bar using both mouse wheel axes + if (deltaY) { + updateScroll(element, 'top', + element.scrollTop - (deltaY * i.settings.wheelSpeed)); + } else { + updateScroll(element, 'top', + element.scrollTop + (deltaX * i.settings.wheelSpeed)); + } + shouldPrevent = true; + } else if (i.scrollbarXActive && !i.scrollbarYActive) { + // useBothWheelAxes and only horizontal bar is active, so use both + // wheel axes for horizontal bar + if (deltaX) { + updateScroll(element, 'left', + element.scrollLeft + (deltaX * i.settings.wheelSpeed)); + } else { + updateScroll(element, 'left', + element.scrollLeft - (deltaY * i.settings.wheelSpeed)); + } + shouldPrevent = true; + } + + updateGeometry(element); + + shouldPrevent = (shouldPrevent || + shouldPreventDefault(deltaX, deltaY)); + if (shouldPrevent) { + e.stopPropagation(); + e.preventDefault(); + } + } + + if (typeof window.onwheel !== 'undefined') { + i.event.bind(element, 'wheel', mousewheelHandler); + } else if (typeof window.onmousewheel !== 'undefined') { + i.event.bind(element, 'mousewheel', mousewheelHandler); + } + } + + module.exports = function(element) { + var i = instances.get(element); + bindMouseWheelHandler(element, i); + }; + + }, {'../instances': 18, '../update-geometry': 19, '../update-scroll': 20}], + 14: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + + function bindNativeScrollHandler(element, i) { + i.event.bind(element, 'scroll', function() { + updateGeometry(element); + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindNativeScrollHandler(element, i); + }; + + }, {'../instances': 18, '../update-geometry': 19}], + 15: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindSelectionHandler(element, i) { + function getRangeNode() { + var selection = window.getSelection ? window.getSelection() : + document.getSelection ? document.getSelection() : ''; + if (selection.toString().length === 0) { + return null; + } else { + return selection.getRangeAt(0).commonAncestorContainer; + } + } + + var scrollingLoop = null; + var scrollDiff = {top: 0, left: 0}; + + function startScrolling() { + if (!scrollingLoop) { + scrollingLoop = setInterval(function() { + if (!instances.get(element)) { + clearInterval(scrollingLoop); + return; + } + + updateScroll(element, 'top', element.scrollTop + scrollDiff.top); + updateScroll(element, 'left', + element.scrollLeft + scrollDiff.left); + updateGeometry(element); + }, 50); // every .1 sec + } + } + + function stopScrolling() { + if (scrollingLoop) { + clearInterval(scrollingLoop); + scrollingLoop = null; + } + _.stopScrolling(element); + } + + var isSelected = false; + i.event.bind(i.ownerDocument, 'selectionchange', function() { + if (element.contains(getRangeNode())) { + isSelected = true; + } else { + isSelected = false; + stopScrolling(); + } + }); + i.event.bind(window, 'mouseup', function() { + if (isSelected) { + isSelected = false; + stopScrolling(); + } + }); + i.event.bind(window, 'keyup', function() { + if (isSelected) { + isSelected = false; + stopScrolling(); + } + }); + + i.event.bind(window, 'mousemove', function(e) { + if (isSelected) { + var mousePosition = {x: e.pageX, y: e.pageY}; + var containerGeometry = { + left: element.offsetLeft, + right: element.offsetLeft + element.offsetWidth, + top: element.offsetTop, + bottom: element.offsetTop + element.offsetHeight, + }; + + if (mousePosition.x < containerGeometry.left + 3) { + scrollDiff.left = -5; + _.startScrolling(element, 'x'); + } else if (mousePosition.x > containerGeometry.right - 3) { + scrollDiff.left = 5; + _.startScrolling(element, 'x'); + } else { + scrollDiff.left = 0; + } + + if (mousePosition.y < containerGeometry.top + 3) { + if (containerGeometry.top + 3 - mousePosition.y < 5) { + scrollDiff.top = -5; + } else { + scrollDiff.top = -20; + } + _.startScrolling(element, 'y'); + } else if (mousePosition.y > containerGeometry.bottom - 3) { + if (mousePosition.y - containerGeometry.bottom + 3 < 5) { + scrollDiff.top = 5; + } else { + scrollDiff.top = 20; + } + _.startScrolling(element, 'y'); + } else { + scrollDiff.top = 0; + } + + if (scrollDiff.top === 0 && scrollDiff.left === 0) { + stopScrolling(); + } else { + startScrolling(); + } + } + }); + } + + module.exports = function(element) { + var i = instances.get(element); + bindSelectionHandler(element, i); + }; + + }, + { + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 16: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../../lib/helper'); + var instances = require('../instances'); + var updateGeometry = require('../update-geometry'); + var updateScroll = require('../update-scroll'); + + function bindTouchHandler(element, i, supportsTouch, supportsIePointer) { + function shouldPreventDefault(deltaX, deltaY) { + var scrollTop = element.scrollTop; + var scrollLeft = element.scrollLeft; + var magnitudeX = Math.abs(deltaX); + var magnitudeY = Math.abs(deltaY); + + if (magnitudeY > magnitudeX) { + // user is perhaps trying to swipe up/down the page + + if (((deltaY < 0) && + (scrollTop === i.contentHeight - i.containerHeight)) || + ((deltaY > 0) && (scrollTop === 0))) { + return !i.settings.swipePropagation; + } + } else if (magnitudeX > magnitudeY) { + // user is perhaps trying to swipe left/right across the page + + if (((deltaX < 0) && + (scrollLeft === i.contentWidth - i.containerWidth)) || + ((deltaX > 0) && (scrollLeft === 0))) { + return !i.settings.swipePropagation; + } + } + + return true; + } + + function applyTouchMove(differenceX, differenceY) { + updateScroll(element, 'top', element.scrollTop - differenceY); + updateScroll(element, 'left', element.scrollLeft - differenceX); + + updateGeometry(element); + } + + var startOffset = {}; + var startTime = 0; + var speed = {}; + var easingLoop = null; + var inGlobalTouch = false; + var inLocalTouch = false; + + function globalTouchStart() { + inGlobalTouch = true; + } + + function globalTouchEnd() { + inGlobalTouch = false; + } + + function getTouch(e) { + if (e.targetTouches) { + return e.targetTouches[0]; + } else { + // Maybe IE pointer + return e; + } + } + + function shouldHandle(e) { + if (e.targetTouches && e.targetTouches.length === 1) { + return true; + } + if (e.pointerType && e.pointerType !== 'mouse' && e.pointerType !== + e.MSPOINTER_TYPE_MOUSE) { + return true; + } + return false; + } + + function touchStart(e) { + if (shouldHandle(e)) { + inLocalTouch = true; + + var touch = getTouch(e); + + startOffset.pageX = touch.pageX; + startOffset.pageY = touch.pageY; + + startTime = (new Date()).getTime(); + + if (easingLoop !== null) { + clearInterval(easingLoop); + } + + e.stopPropagation(); + } + } + + function touchMove(e) { + if (!inLocalTouch && i.settings.swipePropagation) { + touchStart(e); + } + if (!inGlobalTouch && inLocalTouch && shouldHandle(e)) { + var touch = getTouch(e); + + var currentOffset = {pageX: touch.pageX, pageY: touch.pageY}; + + var differenceX = currentOffset.pageX - startOffset.pageX; + var differenceY = currentOffset.pageY - startOffset.pageY; + + applyTouchMove(differenceX, differenceY); + startOffset = currentOffset; + + var currentTime = (new Date()).getTime(); + + var timeGap = currentTime - startTime; + if (timeGap > 0) { + speed.x = differenceX / timeGap; + speed.y = differenceY / timeGap; + startTime = currentTime; + } + + if (shouldPreventDefault(differenceX, differenceY)) { + e.stopPropagation(); + e.preventDefault(); + } + } + } + + function touchEnd() { + if (!inGlobalTouch && inLocalTouch) { + inLocalTouch = false; + + clearInterval(easingLoop); + easingLoop = setInterval(function() { + if (!instances.get(element)) { + clearInterval(easingLoop); + return; + } + + if (!speed.x && !speed.y) { + clearInterval(easingLoop); + return; + } + + if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) { + clearInterval(easingLoop); + return; + } + + applyTouchMove(speed.x * 30, speed.y * 30); + + speed.x *= 0.8; + speed.y *= 0.8; + }, 10); + } + } + + if (supportsTouch) { + i.event.bind(window, 'touchstart', globalTouchStart); + i.event.bind(window, 'touchend', globalTouchEnd); + i.event.bind(element, 'touchstart', touchStart); + i.event.bind(element, 'touchmove', touchMove); + i.event.bind(element, 'touchend', touchEnd); + } + + if (supportsIePointer) { + if (window.PointerEvent) { + i.event.bind(window, 'pointerdown', globalTouchStart); + i.event.bind(window, 'pointerup', globalTouchEnd); + i.event.bind(element, 'pointerdown', touchStart); + i.event.bind(element, 'pointermove', touchMove); + i.event.bind(element, 'pointerup', touchEnd); + } else if (window.MSPointerEvent) { + i.event.bind(window, 'MSPointerDown', globalTouchStart); + i.event.bind(window, 'MSPointerUp', globalTouchEnd); + i.event.bind(element, 'MSPointerDown', touchStart); + i.event.bind(element, 'MSPointerMove', touchMove); + i.event.bind(element, 'MSPointerUp', touchEnd); + } + } + } + + module.exports = function(element) { + if (!_.env.supportsTouch && !_.env.supportsIePointer) { + return; + } + + var i = instances.get(element); + bindTouchHandler(element, i, _.env.supportsTouch, + _.env.supportsIePointer); + }; + + }, + { + '../../lib/helper': 6, + '../instances': 18, + '../update-geometry': 19, + '../update-scroll': 20, + }], + 17: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var cls = require('../lib/class'); + var instances = require('./instances'); + var updateGeometry = require('./update-geometry'); + +// Handlers + var handlers = { + 'click-rail': require('./handler/click-rail'), + 'drag-scrollbar': require('./handler/drag-scrollbar'), + 'keyboard': require('./handler/keyboard'), + 'wheel': require('./handler/mouse-wheel'), + 'touch': require('./handler/touch'), + 'selection': require('./handler/selection'), + }; + var nativeScrollHandler = require('./handler/native-scroll'); + + module.exports = function(element, userSettings) { + userSettings = typeof userSettings === 'object' ? userSettings : {}; + + cls.add(element, 'ps-container'); + + // Create a plugin instance. + var i = instances.add(element); + + i.settings = _.extend(i.settings, userSettings); + cls.add(element, 'ps-theme-' + i.settings.theme); + + i.settings.handlers.forEach(function(handlerName) { + handlers[handlerName](element); + }); + + nativeScrollHandler(element); + + updateGeometry(element); + }; + + }, + { + '../lib/class': 2, + '../lib/helper': 6, + './handler/click-rail': 10, + './handler/drag-scrollbar': 11, + './handler/keyboard': 12, + './handler/mouse-wheel': 13, + './handler/native-scroll': 14, + './handler/selection': 15, + './handler/touch': 16, + './instances': 18, + './update-geometry': 19, + }], + 18: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var cls = require('../lib/class'); + var defaultSettings = require('./default-setting'); + var dom = require('../lib/dom'); + var EventManager = require('../lib/event-manager'); + var guid = require('../lib/guid'); + + var instances = {}; + + function Instance(element) { + var i = this; + + i.settings = _.clone(defaultSettings); + i.containerWidth = null; + i.containerHeight = null; + i.contentWidth = null; + i.contentHeight = null; + + i.isRtl = dom.css(element, 'direction') === 'rtl'; + i.isNegativeScroll = (function() { + var originalScrollLeft = element.scrollLeft; + var result = null; + element.scrollLeft = -1; + result = element.scrollLeft < 0; + element.scrollLeft = originalScrollLeft; + return result; + })(); + i.negativeScrollAdjustment = i.isNegativeScroll ? + element.scrollWidth - element.clientWidth : + 0; + i.event = new EventManager(); + i.ownerDocument = element.ownerDocument || document; + + function focus() { + cls.add(element, 'ps-focus'); + } + + function blur() { + cls.remove(element, 'ps-focus'); + } + + i.scrollbarXRail = dom.appendTo(dom.e('div', 'ps-scrollbar-x-rail'), + element); + i.scrollbarX = dom.appendTo(dom.e('div', 'ps-scrollbar-x'), + i.scrollbarXRail); + i.scrollbarX.setAttribute('tabindex', 0); + i.event.bind(i.scrollbarX, 'focus', focus); + i.event.bind(i.scrollbarX, 'blur', blur); + i.scrollbarXActive = null; + i.scrollbarXWidth = null; + i.scrollbarXLeft = null; + i.scrollbarXBottom = _.toInt(dom.css(i.scrollbarXRail, 'bottom')); + i.isScrollbarXUsingBottom = i.scrollbarXBottom === i.scrollbarXBottom; // !isNaN + i.scrollbarXTop = i.isScrollbarXUsingBottom ? + null : + _.toInt(dom.css(i.scrollbarXRail, 'top')); + i.railBorderXWidth = _.toInt( + dom.css(i.scrollbarXRail, 'borderLeftWidth')) + + _.toInt(dom.css(i.scrollbarXRail, 'borderRightWidth')); + // Set rail to display:block to calculate margins + dom.css(i.scrollbarXRail, 'display', 'block'); + i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + + _.toInt(dom.css(i.scrollbarXRail, 'marginRight')); + dom.css(i.scrollbarXRail, 'display', ''); + i.railXWidth = null; + i.railXRatio = null; + + i.scrollbarYRail = dom.appendTo(dom.e('div', 'ps-scrollbar-y-rail'), + element); + i.scrollbarY = dom.appendTo(dom.e('div', 'ps-scrollbar-y'), + i.scrollbarYRail); + i.scrollbarY.setAttribute('tabindex', 0); + i.event.bind(i.scrollbarY, 'focus', focus); + i.event.bind(i.scrollbarY, 'blur', blur); + i.scrollbarYActive = null; + i.scrollbarYHeight = null; + i.scrollbarYTop = null; + i.scrollbarYRight = _.toInt(dom.css(i.scrollbarYRail, 'right')); + i.isScrollbarYUsingRight = i.scrollbarYRight === i.scrollbarYRight; // !isNaN + i.scrollbarYLeft = i.isScrollbarYUsingRight ? + null : + _.toInt(dom.css(i.scrollbarYRail, 'left')); + i.scrollbarYOuterWidth = i.isRtl ? _.outerWidth(i.scrollbarY) : null; + i.railBorderYWidth = _.toInt( + dom.css(i.scrollbarYRail, 'borderTopWidth')) + + _.toInt(dom.css(i.scrollbarYRail, 'borderBottomWidth')); + dom.css(i.scrollbarYRail, 'display', 'block'); + i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom')); + dom.css(i.scrollbarYRail, 'display', ''); + i.railYHeight = null; + i.railYRatio = null; + } + + function getId(element) { + return element.getAttribute('data-ps-id'); + } + + function setId(element, id) { + element.setAttribute('data-ps-id', id); + } + + function removeId(element) { + element.removeAttribute('data-ps-id'); + } + + exports.add = function(element) { + var newId = guid(); + setId(element, newId); + instances[newId] = new Instance(element); + return instances[newId]; + }; + + exports.remove = function(element) { + delete instances[getId(element)]; + removeId(element); + }; + + exports.get = function(element) { + return instances[getId(element)]; + }; + + }, + { + '../lib/class': 2, + '../lib/dom': 3, + '../lib/event-manager': 4, + '../lib/guid': 5, + '../lib/helper': 6, + './default-setting': 8, + }], + 19: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var cls = require('../lib/class'); + var dom = require('../lib/dom'); + var instances = require('./instances'); + var updateScroll = require('./update-scroll'); + + function getThumbSize(i, thumbSize) { + if (i.settings.minScrollbarLength) { + thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength); + } + if (i.settings.maxScrollbarLength) { + thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength); + } + return thumbSize; + } + + function updateCss(element, i) { + var xRailOffset = {width: i.railXWidth}; + if (i.isRtl) { + xRailOffset.left = i.negativeScrollAdjustment + element.scrollLeft + + i.containerWidth - i.contentWidth; + } else { + xRailOffset.left = element.scrollLeft; + } + if (i.isScrollbarXUsingBottom) { + xRailOffset.bottom = i.scrollbarXBottom - element.scrollTop; + } else { + xRailOffset.top = i.scrollbarXTop + element.scrollTop; + } + dom.css(i.scrollbarXRail, xRailOffset); + + var yRailOffset = {top: element.scrollTop, height: i.railYHeight}; + if (i.isScrollbarYUsingRight) { + if (i.isRtl) { + yRailOffset.right = i.contentWidth - + (i.negativeScrollAdjustment + element.scrollLeft) - + i.scrollbarYRight - i.scrollbarYOuterWidth; + } else { + yRailOffset.right = i.scrollbarYRight - element.scrollLeft; + } + } else { + if (i.isRtl) { + yRailOffset.left = i.negativeScrollAdjustment + element.scrollLeft + + i.containerWidth * 2 - i.contentWidth - i.scrollbarYLeft - + i.scrollbarYOuterWidth; + } else { + yRailOffset.left = i.scrollbarYLeft + element.scrollLeft; + } + } + dom.css(i.scrollbarYRail, yRailOffset); + + dom.css(i.scrollbarX, { + left: i.scrollbarXLeft, + width: i.scrollbarXWidth - i.railBorderXWidth, + }); + dom.css(i.scrollbarY, { + top: i.scrollbarYTop, + height: i.scrollbarYHeight - i.railBorderYWidth, + }); + } + + module.exports = function(element) { + var i = instances.get(element); + + i.containerWidth = element.clientWidth; + i.containerHeight = element.clientHeight; + i.contentWidth = element.scrollWidth; + i.contentHeight = element.scrollHeight; + + var existingRails; + if (!element.contains(i.scrollbarXRail)) { + existingRails = dom.queryChildren(element, '.ps-scrollbar-x-rail'); + if (existingRails.length > 0) { + existingRails.forEach(function(rail) { + dom.remove(rail); + }); + } + dom.appendTo(i.scrollbarXRail, element); + } + if (!element.contains(i.scrollbarYRail)) { + existingRails = dom.queryChildren(element, '.ps-scrollbar-y-rail'); + if (existingRails.length > 0) { + existingRails.forEach(function(rail) { + dom.remove(rail); + }); + } + dom.appendTo(i.scrollbarYRail, element); + } + + if (!i.settings.suppressScrollX && i.containerWidth + + i.settings.scrollXMarginOffset < i.contentWidth) { + i.scrollbarXActive = true; + i.railXWidth = i.containerWidth - i.railXMarginWidth; + i.railXRatio = i.containerWidth / i.railXWidth; + i.scrollbarXWidth = getThumbSize(i, + _.toInt(i.railXWidth * i.containerWidth / i.contentWidth)); + i.scrollbarXLeft = _.toInt( + (i.negativeScrollAdjustment + element.scrollLeft) * + (i.railXWidth - i.scrollbarXWidth) / + (i.contentWidth - i.containerWidth)); + } else { + i.scrollbarXActive = false; + } + + if (!i.settings.suppressScrollY && i.containerHeight + + i.settings.scrollYMarginOffset < i.contentHeight) { + i.scrollbarYActive = true; + i.railYHeight = i.containerHeight - i.railYMarginHeight; + i.railYRatio = i.containerHeight / i.railYHeight; + i.scrollbarYHeight = getThumbSize(i, + _.toInt(i.railYHeight * i.containerHeight / i.contentHeight)); + i.scrollbarYTop = _.toInt( + element.scrollTop * (i.railYHeight - i.scrollbarYHeight) / + (i.contentHeight - i.containerHeight)); + } else { + i.scrollbarYActive = false; + } + + if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) { + i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth; + } + if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) { + i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight; + } + + updateCss(element, i); + + if (i.scrollbarXActive) { + cls.add(element, 'ps-active-x'); + } else { + cls.remove(element, 'ps-active-x'); + i.scrollbarXWidth = 0; + i.scrollbarXLeft = 0; + updateScroll(element, 'left', 0); + } + if (i.scrollbarYActive) { + cls.add(element, 'ps-active-y'); + } else { + cls.remove(element, 'ps-active-y'); + i.scrollbarYHeight = 0; + i.scrollbarYTop = 0; + updateScroll(element, 'top', 0); + } + }; + + }, + { + '../lib/class': 2, + '../lib/dom': 3, + '../lib/helper': 6, + './instances': 18, + './update-scroll': 20, + }], + 20: [ + function(require, module, exports) { + 'use strict'; + + var instances = require('./instances'); + + var lastTop; + var lastLeft; + + var createDOMEvent = function(name) { + var event = document.createEvent('Event'); + event.initEvent(name, true, true); + return event; + }; + + module.exports = function(element, axis, value) { + if (typeof element === 'undefined') { + throw 'You must provide an element to the update-scroll function'; + } + + if (typeof axis === 'undefined') { + throw 'You must provide an axis to the update-scroll function'; + } + + if (typeof value === 'undefined') { + throw 'You must provide a value to the update-scroll function'; + } + + if (axis === 'top' && value <= 0) { + element.scrollTop = value = 0; // don't allow negative scroll + element.dispatchEvent(createDOMEvent('ps-y-reach-start')); + } + + if (axis === 'left' && value <= 0) { + element.scrollLeft = value = 0; // don't allow negative scroll + element.dispatchEvent(createDOMEvent('ps-x-reach-start')); + } + + var i = instances.get(element); + + if (axis === 'top' && value >= i.contentHeight - i.containerHeight) { + // don't allow scroll past container + value = i.contentHeight - i.containerHeight; + if (value - element.scrollTop <= 1) { + // mitigates rounding errors on non-subpixel scroll values + value = element.scrollTop; + } else { + element.scrollTop = value; + } + element.dispatchEvent(createDOMEvent('ps-y-reach-end')); + } + + if (axis === 'left' && value >= i.contentWidth - i.containerWidth) { + // don't allow scroll past container + value = i.contentWidth - i.containerWidth; + if (value - element.scrollLeft <= 1) { + // mitigates rounding errors on non-subpixel scroll values + value = element.scrollLeft; + } else { + element.scrollLeft = value; + } + element.dispatchEvent(createDOMEvent('ps-x-reach-end')); + } + + if (!lastTop) { + lastTop = element.scrollTop; + } + + if (!lastLeft) { + lastLeft = element.scrollLeft; + } + + if (axis === 'top' && value < lastTop) { + element.dispatchEvent(createDOMEvent('ps-scroll-up')); + } + + if (axis === 'top' && value > lastTop) { + element.dispatchEvent(createDOMEvent('ps-scroll-down')); + } + + if (axis === 'left' && value < lastLeft) { + element.dispatchEvent(createDOMEvent('ps-scroll-left')); + } + + if (axis === 'left' && value > lastLeft) { + element.dispatchEvent(createDOMEvent('ps-scroll-right')); + } + + if (axis === 'top') { + element.scrollTop = lastTop = value; + element.dispatchEvent(createDOMEvent('ps-scroll-y')); + } + + if (axis === 'left') { + element.scrollLeft = lastLeft = value; + element.dispatchEvent(createDOMEvent('ps-scroll-x')); + } + + }; + + }, {'./instances': 18}], + 21: [ + function(require, module, exports) { + 'use strict'; + + var _ = require('../lib/helper'); + var dom = require('../lib/dom'); + var instances = require('./instances'); + var updateGeometry = require('./update-geometry'); + var updateScroll = require('./update-scroll'); + + module.exports = function(element) { + var i = instances.get(element); + + if (!i) { + return; + } + + // Recalcuate negative scrollLeft adjustment + i.negativeScrollAdjustment = i.isNegativeScroll ? + element.scrollWidth - element.clientWidth : + 0; + + // Recalculate rail margins + dom.css(i.scrollbarXRail, 'display', 'block'); + dom.css(i.scrollbarYRail, 'display', 'block'); + i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + + _.toInt(dom.css(i.scrollbarXRail, 'marginRight')); + i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom')); + + // Hide scrollbars not to affect scrollWidth and scrollHeight + dom.css(i.scrollbarXRail, 'display', 'none'); + dom.css(i.scrollbarYRail, 'display', 'none'); + + updateGeometry(element); + + // Update top/left scroll to trigger events + updateScroll(element, 'top', element.scrollTop); + updateScroll(element, 'left', element.scrollLeft); + + dom.css(i.scrollbarXRail, 'display', ''); + dom.css(i.scrollbarYRail, 'display', ''); + }; + + }, + { + '../lib/dom': 3, + '../lib/helper': 6, + './instances': 18, + './update-geometry': 19, + './update-scroll': 20, + }], +}, {}, [1]); diff --git a/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.min.js b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.min.js new file mode 100644 index 00000000..bec913d6 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/perfect-scrollbar/js/perfect-scrollbar.min.js @@ -0,0 +1,2 @@ +/* perfect-scrollbar v0.6.14 */ +!function t(e,n,r){function o(i,s){if(!n[i]){if(!e[i]){var a="function"==typeof require&&require;if(!s&&a)return a(i,!0);if(l)return l(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return o(n?n:t)},u,u.exports,t,e,n,r)}return n[i].exports}for(var l="function"==typeof require&&require,i=0;i=0&&n.splice(r,1),t.className=n.join(" ")}n.add=function(t,e){t.classList?t.classList.add(e):r(t,e)},n.remove=function(t,e){t.classList?t.classList.remove(e):o(t,e)},n.list=function(t){return t.classList?Array.prototype.slice.apply(t.classList):t.className.split(" ")}},{}],3:[function(t,e,n){"use strict";function r(t,e){return window.getComputedStyle(t)[e]}function o(t,e,n){return"number"==typeof n&&(n=n.toString()+"px"),t.style[e]=n,t}function l(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r=r.toString()+"px"),t.style[n]=r}return t}var i={};i.e=function(t,e){var n=document.createElement(t);return n.className=e,n},i.appendTo=function(t,e){return e.appendChild(t),t},i.css=function(t,e,n){return"object"==typeof e?l(t,e):"undefined"==typeof n?r(t,e):o(t,e,n)},i.matches=function(t,e){return"undefined"!=typeof t.matches?t.matches(e):"undefined"!=typeof t.matchesSelector?t.matchesSelector(e):"undefined"!=typeof t.webkitMatchesSelector?t.webkitMatchesSelector(e):"undefined"!=typeof t.mozMatchesSelector?t.mozMatchesSelector(e):"undefined"!=typeof t.msMatchesSelector?t.msMatchesSelector(e):void 0},i.remove=function(t){"undefined"!=typeof t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)},i.queryChildren=function(t,e){return Array.prototype.filter.call(t.childNodes,function(t){return i.matches(t,e)})},e.exports=i},{}],4:[function(t,e,n){"use strict";var r=function(t){this.element=t,this.events={}};r.prototype.bind=function(t,e){"undefined"==typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e),this.element.addEventListener(t,e,!1)},r.prototype.unbind=function(t,e){var n="undefined"!=typeof e;this.events[t]=this.events[t].filter(function(r){return!(!n||r===e)||(this.element.removeEventListener(t,r,!1),!1)},this)},r.prototype.unbindAll=function(){for(var t in this.events)this.unbind(t)};var o=function(){this.eventElements=[]};o.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return"undefined"==typeof e&&(e=new r(t),this.eventElements.push(e)),e},o.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},o.prototype.unbind=function(t,e,n){this.eventElement(t).unbind(e,n)},o.prototype.unbindAll=function(){for(var t=0;te.scrollbarYTop?1:-1;i(t,"top",t.scrollTop+s*e.containerHeight),l(t),r.stopPropagation()}),e.event.bind(e.scrollbarX,"click",r),e.event.bind(e.scrollbarXRail,"click",function(r){var o=r.pageX-window.pageXOffset-n(e.scrollbarXRail).left,s=o>e.scrollbarXLeft?1:-1;i(t,"left",t.scrollLeft+s*e.containerWidth),l(t),r.stopPropagation()})}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(t,e,n){"use strict";function r(t,e){function n(n){var o=r+n*e.railXRatio,i=Math.max(0,e.scrollbarXRail.getBoundingClientRect().left)+e.railXRatio*(e.railXWidth-e.scrollbarXWidth);o<0?e.scrollbarXLeft=0:o>i?e.scrollbarXLeft=i:e.scrollbarXLeft=o;var s=l.toInt(e.scrollbarXLeft*(e.contentWidth-e.containerWidth)/(e.containerWidth-e.railXRatio*e.scrollbarXWidth))-e.negativeScrollAdjustment;c(t,"left",s)}var r=null,o=null,s=function(e){n(e.pageX-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"x"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarX,"mousedown",function(n){o=n.pageX,r=l.toInt(i.css(e.scrollbarX,"left"))*e.railXRatio,l.startScrolling(t,"x"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}function o(t,e){function n(n){var o=r+n*e.railYRatio,i=Math.max(0,e.scrollbarYRail.getBoundingClientRect().top)+e.railYRatio*(e.railYHeight-e.scrollbarYHeight);o<0?e.scrollbarYTop=0:o>i?e.scrollbarYTop=i:e.scrollbarYTop=o;var s=l.toInt(e.scrollbarYTop*(e.contentHeight-e.containerHeight)/(e.containerHeight-e.railYRatio*e.scrollbarYHeight));c(t,"top",s)}var r=null,o=null,s=function(e){n(e.pageY-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"y"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarY,"mousedown",function(n){o=n.pageY,r=l.toInt(i.css(e.scrollbarY,"top"))*e.railYRatio,l.startScrolling(t,"y"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}var l=t("../../lib/helper"),i=t("../../lib/dom"),s=t("../instances"),a=t("../update-geometry"),c=t("../update-scroll");e.exports=function(t){var e=s.get(t);r(t,e),o(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}var r=!1;e.event.bind(t,"mouseenter",function(){r=!0}),e.event.bind(t,"mouseleave",function(){r=!1});var i=!1;e.event.bind(e.ownerDocument,"keydown",function(c){if(!(c.isDefaultPrevented&&c.isDefaultPrevented()||c.defaultPrevented)){var u=l.matches(e.scrollbarX,":focus")||l.matches(e.scrollbarY,":focus");if(r||u){var d=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(d){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(o.isEditable(d))return}var p=0,f=0;switch(c.which){case 37:p=c.metaKey?-e.contentWidth:c.altKey?-e.containerWidth:-30;break;case 38:f=c.metaKey?e.contentHeight:c.altKey?e.containerHeight:30;break;case 39:p=c.metaKey?e.contentWidth:c.altKey?e.containerWidth:30;break;case 40:f=c.metaKey?-e.contentHeight:c.altKey?-e.containerHeight:-30;break;case 33:f=90;break;case 32:f=c.shiftKey?90:-90;break;case 34:f=-90;break;case 35:f=c.ctrlKey?-e.contentHeight:-e.containerHeight;break;case 36:f=c.ctrlKey?t.scrollTop:e.containerHeight;break;default:return}a(t,"top",t.scrollTop-f),a(t,"left",t.scrollLeft+p),s(t),i=n(p,f),i&&c.preventDefault()}}})}var o=t("../../lib/helper"),l=t("../../lib/dom"),i=t("../instances"),s=t("../update-geometry"),a=t("../update-scroll");e.exports=function(t){var e=i.get(t);r(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}function r(t){var e=t.deltaX,n=-1*t.deltaY;return"undefined"!=typeof e&&"undefined"!=typeof n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function o(e,n){var r=t.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;var o=r.scrollHeight-r.clientHeight;if(o>0&&!(0===r.scrollTop&&n>0||r.scrollTop===o&&n<0))return!0;var l=r.scrollLeft-r.clientWidth;if(l>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===l&&e>0))return!0}return!1}function s(s){var c=r(s),u=c[0],d=c[1];o(u,d)||(a=!1,e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(d?i(t,"top",t.scrollTop-d*e.settings.wheelSpeed):i(t,"top",t.scrollTop+u*e.settings.wheelSpeed),a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(u?i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed):i(t,"left",t.scrollLeft-d*e.settings.wheelSpeed),a=!0):(i(t,"top",t.scrollTop-d*e.settings.wheelSpeed),i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed)),l(t),a=a||n(u,d),a&&(s.stopPropagation(),s.preventDefault()))}var a=!1;"undefined"!=typeof window.onwheel?e.event.bind(t,"wheel",s):"undefined"!=typeof window.onmousewheel&&e.event.bind(t,"mousewheel",s)}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(t,e,n){"use strict";function r(t,e){e.event.bind(t,"scroll",function(){l(t)})}var o=t("../instances"),l=t("../update-geometry");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19}],15:[function(t,e,n){"use strict";function r(t,e){function n(){var t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===t.toString().length?null:t.getRangeAt(0).commonAncestorContainer}function r(){c||(c=setInterval(function(){return l.get(t)?(s(t,"top",t.scrollTop+u.top),s(t,"left",t.scrollLeft+u.left),void i(t)):void clearInterval(c)},50))}function a(){c&&(clearInterval(c),c=null),o.stopScrolling(t)}var c=null,u={top:0,left:0},d=!1;e.event.bind(e.ownerDocument,"selectionchange",function(){t.contains(n())?d=!0:(d=!1,a())}),e.event.bind(window,"mouseup",function(){d&&(d=!1,a())}),e.event.bind(window,"keyup",function(){d&&(d=!1,a())}),e.event.bind(window,"mousemove",function(e){if(d){var n={x:e.pageX,y:e.pageY},l={left:t.offsetLeft,right:t.offsetLeft+t.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight};n.xl.right-3?(u.left=5,o.startScrolling(t,"x")):u.left=0,n.yl.bottom-3?(n.y-l.bottom+3<5?u.top=5:u.top=20,o.startScrolling(t,"y")):u.top=0,0===u.top&&0===u.left?a():r()}})}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){var e=l.get(t);r(t,e)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(t,e,n){"use strict";function r(t,e,n,r){function o(n,r){var o=t.scrollTop,l=t.scrollLeft,i=Math.abs(n),s=Math.abs(r);if(s>i){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return!e.settings.swipePropagation}else if(i>s&&(n<0&&l===e.contentWidth-e.containerWidth||n>0&&0===l))return!e.settings.swipePropagation;return!0}function a(e,n){s(t,"top",t.scrollTop-n),s(t,"left",t.scrollLeft-e),i(t)}function c(){w=!0}function u(){w=!1}function d(t){return t.targetTouches?t.targetTouches[0]:t}function p(t){return!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE)}function f(t){if(p(t)){Y=!0;var e=d(t);g.pageX=e.pageX,g.pageY=e.pageY,v=(new Date).getTime(),null!==y&&clearInterval(y),t.stopPropagation()}}function h(t){if(!Y&&e.settings.swipePropagation&&f(t),!w&&Y&&p(t)){var n=d(t),r={pageX:n.pageX,pageY:n.pageY},l=r.pageX-g.pageX,i=r.pageY-g.pageY;a(l,i),g=r;var s=(new Date).getTime(),c=s-v;c>0&&(m.x=l/c,m.y=i/c,v=s),o(l,i)&&(t.stopPropagation(),t.preventDefault())}}function b(){!w&&Y&&(Y=!1,clearInterval(y),y=setInterval(function(){return l.get(t)&&(m.x||m.y)?Math.abs(m.x)<.01&&Math.abs(m.y)<.01?void clearInterval(y):(a(30*m.x,30*m.y),m.x*=.8,void(m.y*=.8)):void clearInterval(y)},10))}var g={},v=0,m={},y=null,w=!1,Y=!1;n&&(e.event.bind(window,"touchstart",c),e.event.bind(window,"touchend",u),e.event.bind(t,"touchstart",f),e.event.bind(t,"touchmove",h),e.event.bind(t,"touchend",b)),r&&(window.PointerEvent?(e.event.bind(window,"pointerdown",c),e.event.bind(window,"pointerup",u),e.event.bind(t,"pointerdown",f),e.event.bind(t,"pointermove",h),e.event.bind(t,"pointerup",b)):window.MSPointerEvent&&(e.event.bind(window,"MSPointerDown",c),e.event.bind(window,"MSPointerUp",u),e.event.bind(t,"MSPointerDown",f),e.event.bind(t,"MSPointerMove",h),e.event.bind(t,"MSPointerUp",b)))}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){if(o.env.supportsTouch||o.env.supportsIePointer){var e=l.get(t);r(t,e,o.env.supportsTouch,o.env.supportsIePointer)}}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/class"),l=t("./instances"),i=t("./update-geometry"),s={"click-rail":t("./handler/click-rail"),"drag-scrollbar":t("./handler/drag-scrollbar"),keyboard:t("./handler/keyboard"),wheel:t("./handler/mouse-wheel"),touch:t("./handler/touch"),selection:t("./handler/selection")},a=t("./handler/native-scroll");e.exports=function(t,e){e="object"==typeof e?e:{},o.add(t,"ps-container");var n=l.add(t);n.settings=r.extend(n.settings,e),o.add(t,"ps-theme-"+n.settings.theme),n.settings.handlers.forEach(function(e){s[e](t)}),a(t),i(t)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(t,e,n){"use strict";function r(t){function e(){a.add(t,"ps-focus")}function n(){a.remove(t,"ps-focus")}var r=this;r.settings=s.clone(c),r.containerWidth=null,r.containerHeight=null,r.contentWidth=null,r.contentHeight=null,r.isRtl="rtl"===u.css(t,"direction"),r.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),r.negativeScrollAdjustment=r.isNegativeScroll?t.scrollWidth-t.clientWidth:0,r.event=new d,r.ownerDocument=t.ownerDocument||document,r.scrollbarXRail=u.appendTo(u.e("div","ps-scrollbar-x-rail"),t),r.scrollbarX=u.appendTo(u.e("div","ps-scrollbar-x"),r.scrollbarXRail),r.scrollbarX.setAttribute("tabindex",0),r.event.bind(r.scrollbarX,"focus",e),r.event.bind(r.scrollbarX,"blur",n),r.scrollbarXActive=null,r.scrollbarXWidth=null,r.scrollbarXLeft=null,r.scrollbarXBottom=s.toInt(u.css(r.scrollbarXRail,"bottom")),r.isScrollbarXUsingBottom=r.scrollbarXBottom===r.scrollbarXBottom,r.scrollbarXTop=r.isScrollbarXUsingBottom?null:s.toInt(u.css(r.scrollbarXRail,"top")),r.railBorderXWidth=s.toInt(u.css(r.scrollbarXRail,"borderLeftWidth"))+s.toInt(u.css(r.scrollbarXRail,"borderRightWidth")),u.css(r.scrollbarXRail,"display","block"),r.railXMarginWidth=s.toInt(u.css(r.scrollbarXRail,"marginLeft"))+s.toInt(u.css(r.scrollbarXRail,"marginRight")),u.css(r.scrollbarXRail,"display",""),r.railXWidth=null,r.railXRatio=null,r.scrollbarYRail=u.appendTo(u.e("div","ps-scrollbar-y-rail"),t),r.scrollbarY=u.appendTo(u.e("div","ps-scrollbar-y"),r.scrollbarYRail),r.scrollbarY.setAttribute("tabindex",0),r.event.bind(r.scrollbarY,"focus",e),r.event.bind(r.scrollbarY,"blur",n),r.scrollbarYActive=null,r.scrollbarYHeight=null,r.scrollbarYTop=null,r.scrollbarYRight=s.toInt(u.css(r.scrollbarYRail,"right")),r.isScrollbarYUsingRight=r.scrollbarYRight===r.scrollbarYRight,r.scrollbarYLeft=r.isScrollbarYUsingRight?null:s.toInt(u.css(r.scrollbarYRail,"left")),r.scrollbarYOuterWidth=r.isRtl?s.outerWidth(r.scrollbarY):null,r.railBorderYWidth=s.toInt(u.css(r.scrollbarYRail,"borderTopWidth"))+s.toInt(u.css(r.scrollbarYRail,"borderBottomWidth")),u.css(r.scrollbarYRail,"display","block"),r.railYMarginHeight=s.toInt(u.css(r.scrollbarYRail,"marginTop"))+s.toInt(u.css(r.scrollbarYRail,"marginBottom")),u.css(r.scrollbarYRail,"display",""),r.railYHeight=null,r.railYRatio=null}function o(t){return t.getAttribute("data-ps-id")}function l(t,e){t.setAttribute("data-ps-id",e)}function i(t){t.removeAttribute("data-ps-id")}var s=t("../lib/helper"),a=t("../lib/class"),c=t("./default-setting"),u=t("../lib/dom"),d=t("../lib/event-manager"),p=t("../lib/guid"),f={};n.add=function(t){var e=p();return l(t,e),f[e]=new r(t),f[e]},n.remove=function(t){delete f[o(t)],i(t)},n.get=function(t){return f[o(t)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(t,e,n){"use strict";function r(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function o(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,s.css(e.scrollbarXRail,n);var r={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?r.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:r.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?r.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:r.left=e.scrollbarYLeft+t.scrollLeft,s.css(e.scrollbarYRail,r),s.css(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),s.css(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}var l=t("../lib/helper"),i=t("../lib/class"),s=t("../lib/dom"),a=t("./instances"),c=t("./update-scroll");e.exports=function(t){var e=a.get(t);e.containerWidth=t.clientWidth,e.containerHeight=t.clientHeight,e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight;var n;t.contains(e.scrollbarXRail)||(n=s.queryChildren(t,".ps-scrollbar-x-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarXRail,t)),t.contains(e.scrollbarYRail)||(n=s.queryChildren(t,".ps-scrollbar-y-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarYRail,t)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),o(t,e),e.scrollbarXActive?i.add(t,"ps-active-x"):(i.remove(t,"ps-active-x"),e.scrollbarXWidth=0,e.scrollbarXLeft=0,c(t,"left",0)),e.scrollbarYActive?i.add(t,"ps-active-y"):(i.remove(t,"ps-active-y"),e.scrollbarYHeight=0,e.scrollbarYTop=0,c(t,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(t,e,n){"use strict";var r,o,l=t("./instances"),i=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e};e.exports=function(t,e,n){if("undefined"==typeof t)throw"You must provide an element to the update-scroll function";if("undefined"==typeof e)throw"You must provide an axis to the update-scroll function";if("undefined"==typeof n)throw"You must provide a value to the update-scroll function";"top"===e&&n<=0&&(t.scrollTop=n=0,t.dispatchEvent(i("ps-y-reach-start"))),"left"===e&&n<=0&&(t.scrollLeft=n=0,t.dispatchEvent(i("ps-x-reach-start")));var s=l.get(t);"top"===e&&n>=s.contentHeight-s.containerHeight&&(n=s.contentHeight-s.containerHeight,n-t.scrollTop<=1?n=t.scrollTop:t.scrollTop=n,t.dispatchEvent(i("ps-y-reach-end"))),"left"===e&&n>=s.contentWidth-s.containerWidth&&(n=s.contentWidth-s.containerWidth,n-t.scrollLeft<=1?n=t.scrollLeft:t.scrollLeft=n,t.dispatchEvent(i("ps-x-reach-end"))),r||(r=t.scrollTop),o||(o=t.scrollLeft),"top"===e&&nr&&t.dispatchEvent(i("ps-scroll-down")),"left"===e&&no&&t.dispatchEvent(i("ps-scroll-right")),"top"===e&&(t.scrollTop=r=n,t.dispatchEvent(i("ps-scroll-y"))),"left"===e&&(t.scrollLeft=o=n,t.dispatchEvent(i("ps-scroll-x")))}},{"./instances":18}],21:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances"),i=t("./update-geometry"),s=t("./update-scroll");e.exports=function(t){var e=l.get(t);e&&(e.negativeScrollAdjustment=e.isNegativeScroll?t.scrollWidth-t.clientWidth:0,o.css(e.scrollbarXRail,"display","block"),o.css(e.scrollbarYRail,"display","block"),e.railXMarginWidth=r.toInt(o.css(e.scrollbarXRail,"marginLeft"))+r.toInt(o.css(e.scrollbarXRail,"marginRight")),e.railYMarginHeight=r.toInt(o.css(e.scrollbarYRail,"marginTop"))+r.toInt(o.css(e.scrollbarYRail,"marginBottom")),o.css(e.scrollbarXRail,"display","none"),o.css(e.scrollbarYRail,"display","none"),i(t),s(t,"top",t.scrollTop),s(t,"left",t.scrollLeft),o.css(e.scrollbarXRail,"display",""),o.css(e.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]); \ No newline at end of file diff --git a/Includes/Modules/QuickView/assets/libs/slick/slick.css b/Includes/Modules/QuickView/assets/libs/slick/slick.css new file mode 100644 index 00000000..cd07a8c5 --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/slick/slick.css @@ -0,0 +1,115 @@ +/* Slider */ +.slick-slider { + position: relative; + + display: block; + box-sizing: border-box; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + -webkit-touch-callout: none; + -khtml-user-select: none; + -ms-touch-action: pan-y; + touch-action: pan-y; + -webkit-tap-highlight-color: transparent; +} + +.slick-list { + position: relative; + + display: block; + overflow: hidden; + + margin: 0; + padding: 0; +} + +.slick-list:focus { + outline: none; +} + +.slick-list.dragging { + cursor: pointer; + cursor: hand; +} + +.slick-slider .slick-track, +.slick-slider .slick-list { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.slick-track { + position: relative; + top: 0; + left: 0; + + display: block; + margin-left: auto; + margin-right: auto; +} + +.slick-track:before, +.slick-track:after { + display: table; + + content: ''; +} + +.slick-track:after { + clear: both; +} + +.slick-loading .slick-track { + visibility: hidden; +} + +.slick-slide { + display: none; + float: left; + + height: 100%; + min-height: 1px; +} + +[dir='rtl'] .slick-slide { + float: right; +} + +.slick-slide img { + display: block; +} + +.slick-slide.slick-loading img { + display: none; +} + +.slick-slide.dragging img { + pointer-events: none; +} + +.slick-initialized .slick-slide { + display: block; +} + +.slick-loading .slick-slide { + visibility: hidden; +} + +.slick-vertical .slick-slide { + display: block; + + height: auto; + + border: 1px solid transparent; +} + +.slick-arrow.slick-hidden { + display: none; +} diff --git a/Includes/Modules/QuickView/assets/libs/slick/slick.min.js b/Includes/Modules/QuickView/assets/libs/slick/slick.min.js new file mode 100644 index 00000000..42172c2f --- /dev/null +++ b/Includes/Modules/QuickView/assets/libs/slick/slick.min.js @@ -0,0 +1 @@ +!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i(' -
- - -
+ From 9484ecab703dc620dc221a444c0f09da91c7dbb9 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder <65698588+gooyeduck@users.noreply.github.com> Date: Mon, 22 Jan 2024 18:27:31 +0600 Subject: [PATCH 04/22] feat(quick-view): the data loading in the qucik view tempalte is being done. --- Includes/Modules/QuickView/Includes/Ajax.php | 73 +- .../QuickView/Includes/CommonHooks.php | 151 --- .../QuickView/Includes/EnqueueScript.php | 132 +- .../QuickView/assets/scripts/frontend.css | 1157 +++++++++++++++++ .../QuickView/assets/scripts/frontend.js | 694 +++++----- .../QuickView/templates/quick-view-button.php | 4 +- 6 files changed, 1619 insertions(+), 592 deletions(-) diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index 8ba27e9d..49460297 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -27,8 +27,8 @@ class Ajax { private function __construct() { add_action( 'wp_ajax_sgsb_quick_view_save_settings', array( $this, 'save_settings' ) ); add_action( 'wp_ajax_sgsb_quick_view_get_settings', array( $this, 'get_settings' ) ); - add_action( 'wp_ajax_get_product_data', array( $this, 'get_product_data_callback' ) ); - add_action( 'wp_ajax_nopriv_get_product_data', array( $this, 'get_product_data_callback' ) ); + add_action( 'wp_ajax_woosq_quickview', array( $this, 'ajax_quickview_callback' ) ); + add_action( 'wp_ajax_nopriv_woosq_quickview', array( $this, 'ajax_quickview_callback' ) ); // add_action( 'wp_ajax_load_modal_template', array( $this, 'load_modal_template_callback' ) ); // add_action( 'wp_ajax_nopriv_load_modal_template', array( $this, 'load_modal_template_callback' ) ); } @@ -62,25 +62,27 @@ public function get_settings() { wp_send_json_success( $form_data ); } - public function get_product_data_callback() { - error_log( 'invoked' ); + + + public function ajax_quickview_callback() { + error_log( 'Invoking' ); + check_ajax_referer( 'woosq-security', 'nonce' ); + global $post, $product; - $settings = get_option( 'sgsb_quick_view_settings' ); - $view_settings = sgsb_find_option_setting( $settings, 'view', 'popup' ); - $content_images = sgsb_find_option_setting( $settings, 'content_image', 'all' ); - $sidebar_heading = sgsb_find_option_setting( $settings, 'sidebar_heading', 'no' ); - $content_view_button = sgsb_find_option_setting( $settings, 'content_view_details_button', 'no' ); - $content_image_lightbox = sgsb_find_option_setting( $settings, 'content_image_lightbox', 'no' ); - // error_log( 'Runnign' ); - $product_id = isset( $_POST['product_id'] ) ? intval( $_POST['product_id'] ) : 0; - $product = wc_get_product( $product_id ); - - ob_start(); + $product_id = absint( sanitize_key( $_REQUEST['product_id'] ) ); + $product = wc_get_product( $product_id ); + $content_image = 'all'; + $content_view_details_button = 'no'; + $content_image_lightbox = 'no'; + $view = 'popup'; + $sidebar_heading = "no"; + if ( $product ) { - $post = get_post( $product_id ); + $post = get_post( $product_id ); + setup_postdata( $post ); $thumb_ids = array(); - if ( $content_images === 'product_image' ) { + if ( $content_image === 'product_image' ) { if ( $product_image = $product->get_image_id() ) { $thumb_ids[] = $product_image; } @@ -93,7 +95,7 @@ public function get_product_data_callback() { } } } else { - if ( $content_images === 'all' ) { + if ( $content_image === 'all' ) { if ( $product_image = $product->get_image_id() ) { $thumb_ids[] = $product_image; } @@ -110,6 +112,7 @@ public function get_product_data_callback() { if ( is_a( $product, 'WC_Product_Variation' ) ) { // get images from WPC Additional Variation Images $_images = array_filter( explode( ',', get_post_meta( $product_id, 'wpcvi_images', true ) ) ); + if ( ! empty( $_images ) ) { $thumb_ids = array_merge( $thumb_ids, $_images ); } @@ -118,21 +121,21 @@ public function get_product_data_callback() { } } - $thumb_ids = apply_filters( 'sgsb_qv_thumbnails', $thumb_ids, $product ); + $thumb_ids = apply_filters( 'woosq_thumbnails', $thumb_ids, $product ); $thumb_ids = array_unique( $thumb_ids ); error_log( print_r( $thumb_ids, 1 ) ); - if ( $view_settings === 'popup' ) { - echo '
'; + if ( $view === 'popup' ) { + echo '
'; } elseif ( $sidebar_heading === 'yes' ) { echo '
' . esc_html( $product->get_name() ) . ' ×
'; } else { echo ' × '; } ?> -
-
> -
+
+
> +
-
-
+
+
-
+
-
+
-
-
-
+
+
+
%s', $product->get_permalink(), esc_html( $view_details_text ) ); } - if ( $view_settings === 'popup' ) { + if ( $view === 'popup' ) { echo '
'; } wp_reset_postdata(); } - // $response = '

Hello World

'; - // return $response; wp_die(); } } diff --git a/Includes/Modules/QuickView/Includes/CommonHooks.php b/Includes/Modules/QuickView/Includes/CommonHooks.php index f4afeca5..55524e74 100644 --- a/Includes/Modules/QuickView/Includes/CommonHooks.php +++ b/Includes/Modules/QuickView/Includes/CommonHooks.php @@ -26,10 +26,6 @@ class CommonHooks { */ private function __construct() { add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'show_quick_view_button_shop' ), 15 ); - // ajax - add_action( 'wp_ajax_woosq_quickview', array( $this, 'ajax_quickview' ) ); - add_action( 'wp_ajax_nopriv_woosq_quickview', array( $this, 'ajax_quickview' ) ); - add_action( 'wp_footer', array( $this, 'footer' ) ); } /** @@ -61,154 +57,7 @@ private function display_buy_now_button() { $product_id = get_the_ID(); $direct_checkout_button_layout = get_post_meta( $product_id, '_sgsb_direct_checkout_button_layout', true ); $settings = get_option( 'sgsb_quick_view_settings' ); - include __DIR__ . '/../templates/quick-view-button.php'; } - public function footer() { - echo '
'; - echo '
'; - } - - function ajax_quickview() { - global $product; - - $product_id = get_the_ID(); - $settings = get_option( 'sgsb_quick_view_settings' ); - $view_settings = sgsb_find_option_setting( $settings, 'view', 'popup' ); - $view_settings = sgsb_find_option_setting( $settings, 'content_image', 'product_image' ); - - if ( ! apply_filters( 'woosq_disable_security_check', false ) ) { - check_ajax_referer( 'woosq-security', 'nonce' ); - } - - global $post, $product; - $product_id = absint( sanitize_key( $_REQUEST['product_id'] ) ); - $product = wc_get_product( $product_id ); - - if ( $product ) { - $post = get_post( $product_id ); - setup_postdata( $post ); - $thumb_ids = array(); - - if ( self::get_setting( 'content_image', 'all' ) === 'product_image' ) { - if ( $product_image = $product->get_image_id() ) { - $thumb_ids[] = $product_image; - } - - if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { - foreach ( $children as $child ) { - if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { - $thumb_ids[] = $child_product_image; - } - } - } - } else { - if ( self::get_setting( 'content_image', 'all' ) === 'all' ) { - if ( $product_image = $product->get_image_id() ) { - $thumb_ids[] = $product_image; - } - - if ( $product->is_type( 'variable' ) && ( $children = $product->get_visible_children() ) ) { - foreach ( $children as $child ) { - if ( ( $child_product = wc_get_product( $child ) ) && ( $child_product_image = $child_product->get_image_id() ) ) { - $thumb_ids[] = $child_product_image; - } - } - } - } - - if ( is_a( $product, 'WC_Product_Variation' ) ) { - // get images from WPC Additional Variation Images - $_images = array_filter( explode( ',', get_post_meta( $product_id, 'wpcvi_images', true ) ) ); - - if ( ! empty( $_images ) ) { - $thumb_ids = array_merge( $thumb_ids, $_images ); - } - } else { - $thumb_ids = array_merge( $thumb_ids, $product->get_gallery_image_ids() ); - } - } - - $thumb_ids = apply_filters( 'woosq_thumbnails', $thumb_ids, $product ); - $thumb_ids = array_unique( $thumb_ids ); - - if ( self::get_setting( 'view', 'popup' ) === 'popup' ) { - echo '
'; - } elseif ( self::get_setting( 'sidebar_heading', 'no' ) === 'yes' ) { - echo '
' . esc_html( $product->get_name() ) . ' ×
'; - } else { - echo ' × '; - } - ?> -
-
> -
- '; - - $image_sz = apply_filters( 'woosq_image_size', 'default' ); - - if ( $image_sz === 'default' ) { - $image_size = self::get_setting( 'image_size', 'woosq' ); - } else { - $image_size = $image_sz; - } - - if ( ! empty( $thumb_ids ) ) { - foreach ( $thumb_ids as $thumb_id ) { - if ( self::get_setting( 'content_image_lightbox', 'no' ) !== 'no' ) { - $image_full = wp_get_attachment_image_src( $thumb_id, 'full' ); - - echo '
' . wp_get_attachment_image( - $thumb_id, - $image_size, - false, - array( - 'data-fancybox' => 'gallery', - 'data-src' => esc_url( $image_full[0] ), - ) - ) . '
'; - } else { - echo '
' . wp_get_attachment_image( $thumb_id, $image_size ) . '
'; - } - } - } else { - echo '
' . wc_placeholder_img( $image_size ) . '
'; - } - - echo '
'; - - do_action( 'woosq_after_thumbnails', $product ); - ?> -
-
- - -
- -
- - -
-
-
- %s', $product->get_permalink(), esc_html( $view_details_text ) ); - // } - - if ( $view_settings === 'popup' ) { - echo '
'; - } - - wp_reset_postdata(); - } - - wp_die(); - } } diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 3035b0bb..70df9eef 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -122,79 +122,79 @@ public function wp_enqueue_scripts() { ); wp_enqueue_script( 'sgsbqcv-frontend', - sgsb_modules_url( 'QuickView/assets/scripts/quick-view.js' ), + sgsb_modules_url( 'QuickView/assets/scripts/frontend.js' ), array( 'jquery', 'wc-add-to-cart-variation', ), - filemtime( sgsb_modules_path( 'QuickView/assets/scripts/quick-view.js' ) ), + filemtime( sgsb_modules_path( 'QuickView/assets/scripts/frontend.js' ) ), true ); - wp_localize_script( - 'sgsbqcv-frontend', - 'sgsbqcv_vars', - array( - 'ajax_url' => admin_url( 'admin-ajax.php' ), - 'nonce' => wp_create_nonce( 'woosq-security' ), - 'view' => 'popup', - 'effect' => 'mfp-3d-unfold', - 'scrollbar' => 'yes', - 'auto_close' => 'yes', - 'hashchange' => apply_filters( 'woosq_hashchange', 'no' ), - 'cart_redirect' => get_option( 'woocommerce_cart_redirect_after_add' ), - 'cart_url' => apply_filters( 'woocommerce_add_to_cart_redirect', wc_get_cart_url(), null ), - 'close' => self::localization( 'close', esc_html__( 'Close (Esc)', 'woo-smart-quick-view' ) ), - 'next_prev' => 'yes', - 'next' => self::localization( 'next', esc_html__( 'Next (Right arrow key)', 'woo-smart-quick-view' ) ), - 'prev' => self::localization( 'prev', esc_html__( 'Previous (Left arrow key)', 'woo-smart-quick-view' ) ), - 'thumbnails_effect' => 'no', - 'related_slick_params' => apply_filters( - 'woosq_related_slick_params', - json_encode( - apply_filters( - 'woosq_related_slick_params_arr', - array( - 'slidesToShow' => 2, - 'slidesToScroll' => 2, - 'dots' => true, - 'arrows' => false, - 'adaptiveHeight' => true, - 'rtl' => is_rtl(), - ) - ) - ) - ), - 'thumbnails_slick_params' => apply_filters( - 'woosq_thumbnails_slick_params', - json_encode( - apply_filters( - 'woosq_thumbnails_slick_params_arr', - array( - 'slidesToShow' => 1, - 'slidesToScroll' => 1, - 'dots' => true, - 'arrows' => true, - 'adaptiveHeight' => false, - 'rtl' => is_rtl(), - ) - ) - ) - ), - 'thumbnails_zoom_params' => apply_filters( - 'woosq_thumbnails_zoom_params', - json_encode( - apply_filters( - 'woosq_thumbnails_zoom_params_arr', - array( - 'duration' => 120, - 'magnify' => 1, - ) - ) - ) - ), - 'quick_view' => isset( $_REQUEST['quick-view'] ) ? absint( sanitize_key( $_REQUEST['quick-view'] ) ) : 0, + wp_localize_script( + 'sgsbqcv-frontend', + 'woosq_vars', + array( + 'ajax_url' => admin_url( 'admin-ajax.php' ), + 'nonce' => wp_create_nonce( 'woosq-security' ), + 'view' => 'popup', + 'effect' => 'mfp-3d-unfold', + 'scrollbar' => 'no', + 'auto_close' => 'yes', + 'hashchange' => 'no', + 'cart_redirect' => get_option( 'woocommerce_cart_redirect_after_add' ), + 'cart_url' => apply_filters( 'woocommerce_add_to_cart_redirect', wc_get_cart_url(), null ), + 'close' => self::localization( 'close', esc_html__( 'Close (Esc)', 'woo-smart-quick-view' ) ), + 'next_prev' => 'yes', + 'next' => self::localization( 'next', esc_html__( 'Next (Right arrow key)', 'woo-smart-quick-view' ) ), + 'prev' => self::localization( 'prev', esc_html__( 'Previous (Left arrow key)', 'woo-smart-quick-view' ) ), + 'thumbnails_effect' => 'no', + 'related_slick_params' => apply_filters( + 'woosq_related_slick_params', + json_encode( + apply_filters( + 'woosq_related_slick_params_arr', + array( + 'slidesToShow' => 2, + 'slidesToScroll' => 2, + 'dots' => true, + 'arrows' => false, + 'adaptiveHeight' => true, + 'rtl' => is_rtl(), + ) + ) + ) + ), + 'thumbnails_slick_params' => apply_filters( + 'woosq_thumbnails_slick_params', + json_encode( + apply_filters( + 'woosq_thumbnails_slick_params_arr', + array( + 'slidesToShow' => 1, + 'slidesToScroll' => 1, + 'dots' => true, + 'arrows' => true, + 'adaptiveHeight' => false, + 'rtl' => is_rtl(), + ) ) - ); + ) + ), + 'thumbnails_zoom_params' => apply_filters( + 'woosq_thumbnails_zoom_params', + json_encode( + apply_filters( + 'woosq_thumbnails_zoom_params_arr', + array( + 'duration' => 120, + 'magnify' => 1, + ) + ) + ) + ), + 'quick_view' => isset( $_REQUEST['quick-view'] ) ? absint( sanitize_key( $_REQUEST['quick-view'] ) ) : 0, + ) + ); // $this->inline_styles(); } diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.css b/Includes/Modules/QuickView/assets/scripts/frontend.css index e69de29b..3a0558c7 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.css +++ b/Includes/Modules/QuickView/assets/scripts/frontend.css @@ -0,0 +1,1157 @@ +@keyframes wpc-spinner { + to { + transform: rotate(360deg); + } +} + +@-webkit-keyframes wpc-spinner { + to { + -webkit-transform: rotate(360deg); + } +} + +@keyframes woosq-spinner { + to { + transform: rotate(360deg); + } +} + +@-webkit-keyframes woosq-spinner { + to { + -webkit-transform: rotate(360deg); + } +} + +.woosq-btn-has-icon { + display: inline-flex; + align-items: center; +} + +.woosq-btn-has-icon .woosq-btn-icon { + margin: 0; +} + +.woosq-btn-icon-text .woosq-btn-text { + margin-left: 5px; +} + +.woosq-btn-text-icon .woosq-btn-text { + margin-right: 5px; +} + +.woosq-popup { + position: relative; + width: 90%; + max-width: 920px; + margin: 0 auto; + padding: 0; + background-color: #fff; + max-height: 460px; + box-sizing: border-box; + overflow: hidden; +} + +.woosq-popup *, .woosq-sidebar * { + box-sizing: border-box; +} + +.woosq-open .select2-container { + z-index: 99999969; +} + +.woosq-product { + position: relative; + overflow: hidden; +} + +.woosq-product > .product { + display: flex !important; + float: none !important; +} + +.woosq-product > .product > div { + width: 50% !important; + float: none !important; + margin: 0 !important; + height: 460px; + overflow: auto; +} + +.woosq-product .thumbnails { + outline: none; + width: 460px; + max-height: 460px; + text-align: center; + position: relative; + background-color: #f9f9f9; +} + +.woosq-product .thumbnails .images { + width: 100% !important; + height: 100% !important; + float: none !important; + margin: 0 !important; + padding: 0 !important; +} + +.woosq-product .thumbnails .thumbnail { + display: flex; + height: 100%; + justify-content: center; +} + +.woosq-product .thumbnails img { + display: block; + object-fit: contain; + object-position: center; + vertical-align: middle; + max-height: 460px; + max-width: 100%; + margin: auto; + border-radius: 0; +} + +.woosq-product .thumbnails img[data-fancybox="gallery"] { + cursor: pointer; +} + +.woosq-open .fancybox-container { + z-index: 99999970; +} + +.woosq-product .thumbnails { + position: relative; + margin: 0 0 0 0; +} + +.woosq-product .thumbnails .slick-slide { + outline: none; + max-height: 100%; +} + +.woosq-product .thumbnails .slick-list { + display: flex; + width: 100%; + height: 100%; + max-height: 100%; + position: relative; +} + +.woosq-product .thumbnails .slick-track { + display: flex; + align-items: center; + max-height: 460px; +} + +.woosq-product .thumbnails .slick-dots { + margin: 0; + padding: 0; + display: block; + width: 100%; + text-align: center; + position: absolute; + left: 0; + bottom: 10px; + z-index: 8; +} + +.woosq-product .thumbnails .slick-dots li { + position: relative; + display: inline-block; + width: 16px; + height: 16px; + margin: 0; + padding: 0; + cursor: pointer; +} + +.woosq-product .thumbnails .slick-dots li button { + font-size: 0; + line-height: 0; + display: block; + width: 16px; + height: 16px; + padding: 5px; + margin: 0; + text-align: center; + cursor: pointer; + color: transparent; + border: none; + outline: none; + background: transparent; + opacity: .5; +} + +.woosq-product .thumbnails .slick-dots li.slick-active button { + opacity: 1; +} + +.woosq-product .thumbnails .slick-dots li button:before { + content: ''; + display: block; + width: 8px; + height: 8px; + border-radius: 50%; + background-color: #000000; +} + +.woosq-product .thumbnails .slick-dots li button:focus { + outline: none; +} + +.woosq-product .thumbnails .slick-arrow { + width: 44px; + height: 44px; + line-height: 44px; + text-align: center; + padding: 0 0 0 0; + margin: 0 0 0 0; + overflow: hidden; + position: absolute; + top: 50%; + transform: translateY(-50%); + font-size: 0; + color: #222; + background-color: transparent; + border-radius: 0; + border: none !important; + z-index: 8; +} + +.woosq-product .thumbnails .slick-arrow:hover { + color: #fff; + background-color: rgba(0, 0, 0, .5); +} + +.woosq-product .thumbnails .slick-arrow:before { + font-family: "feather"; + font-size: 24px; + line-height: 44px; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + speak: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.woosq-product .thumbnails .slick-arrow:focus { + outline: none; +} + +.woosq-product .thumbnails .slick-arrow.slick-prev { + left: 0; +} + +.woosq-product .thumbnails .slick-arrow.slick-prev:before { + content: '\e929'; +} + +.woosq-product .thumbnails .slick-arrow.slick-next { + right: 0; +} + +.woosq-product .thumbnails .slick-arrow.slick-next:before { + content: '\e92a'; +} + +.woosq-product > .product .summary { + margin: 0; + padding: 0; + background-color: #fff; +} + +.woosq-related { + padding-top: 20px; + padding-bottom: 0; + margin-top: 10px; + margin-bottom: 0; + border-width: 1px 0 0 0; + border-style: dashed; + border-color: #dddddd; +} + +.woosq-related .woosq-related-heading { + margin-bottom: 10px; +} + +.woosq-related .woosq-related-product { + outline: none; + display: flex; + align-items: center; +} + +.woosq-related .woosq-related-product .woosq-related-product-image { + width: 80px; + flex: 0 0 80px; + margin: 0; +} + +.woosq-related .woosq-related-product .woosq-related-product-image img { + width: 100%; + height: auto; +} + +.woosq-related .woosq-related-product .woosq-related-product-info { + flex-grow: 1; + padding: 0 10px; + text-align: start; +} + +.woosq-related .woosq-related-product .woosq-related-product-name { + font-weight: 700; +} + +.woosq-related .woosq-related-product .woosq-related-product-atc p, .woosq-related .woosq-related-product .woosq-related-product-atc .add_to_cart_inline { + margin: 0; + padding: 0; + border: none; + display: inline-block; + width: 100%; +} + +.woosq-related .woosq-related-product .woosq-related-product-atc p .button { + display: block; + margin: 0; + outline: none; +} + +.woosq-related .slick-dots { + list-style: none; + text-align: center; + margin: 0; + padding: 0; +} + +.woosq-related .slick-dots li { + display: inline-block; + margin: 0 5px; + font-size: 0; +} + +.woosq-related .slick-dots li button { + width: 8px; + height: 8px; + border-radius: 50%; + padding: 0; + font-size: 0; + line-height: 0; + background-color: rgba(0, 0, 0, .2); + border: none; + outline: none; + overflow: hidden; +} + +.woosq-related .slick-dots li.slick-active button { + background-color: rgba(0, 0, 0, .5); +} + +.view-details-btn { + width: 50%; + height: 44px; + line-height: 44px; + overflow: hidden; + position: absolute; + left: auto; + right: 0; + bottom: 0; + background-color: #222; + box-shadow: 10px -20px 20px #fff; + color: #fff; + text-align: center; + outline: none; + -webkit-transition: all 0.15s ease-out; + -moz-transition: all 0.15s ease-out; + transition: all 0.15s ease-out; +} + +.view-details-btn:after { + content: '\e90f'; + font-family: "feather"; + margin-left: 10px; +} + +.view-details-btn:hover { + background-color: #5fbd74; +} + +.woosq-product > .product .summary .summary-content { + height: 100%; + overflow-x: hidden; + overflow-y: auto; + position: relative; + padding: 20px; +} + +.woosq-popup.view-details .woosq-product > .product .summary .summary-content { + padding-bottom: 64px; +} + +/* RTL */ + +body.rtl .mfp-woosq .mfp-close { + right: auto !important; + left: 0 !important; +} + +/* Responsive */ + +@media screen and (max-width: 1023px) { + .woosq-popup { + max-width: 460px; + max-height: 90vh; + overflow: hidden; + display: flex; + flex-direction: column; + } + + .woosq-product { + height: 100%; + flex-grow: 1; + position: relative; + overflow-y: auto; + } + + .woosq-product > .product { + display: flex; + flex-direction: column; + } + + .woosq-product > .product > div { + width: 100% !important; + float: none !important; + margin: 0 !important; + height: auto; + } + + .woosq-product > .product .thumbnails { + max-height: 338px; + } + + .woosq-product .thumbnails img { + max-height: 338px; + margin: 0; + } + + .woosq-product .thumbnails .slick-track { + max-height: 338px; + } + + .view-details-btn { + width: 100%; + } +} + +@media screen and (max-width: 767px) { + .mfp-woosq .mfp-arrow { + display: none; + } +} + +/* Popup */ + +.mfp-woosq { + z-index: 99999969; + overflow: auto; +} + +.mfp-woosq .mfp-content { + text-align: -webkit-auto; +} + +.mfp-woosq .mfp-container { + padding: 0; +} + +.mfp-woosq .mfp-close { + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + font-size: 0; +} + +.mfp-woosq .mfp-close:hover { + background-color: transparent; +} + +.mfp-woosq .mfp-close:active { + top: 0; +} + +.mfp-woosq .mfp-close:focus { + outline: none; +} + +.mfp-woosq .mfp-close:before { + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + content: '\e9ea'; + font-family: "feather"; + display: inline-block; + font-size: 24px; + color: #222; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + speak: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.mfp-woosq .mfp-preloader { + position: absolute; + top: 50%; + left: 50%; + width: 30px; + height: 30px; + font-size: 0; + margin: 0 auto; + margin-top: -15px; + margin-left: -15px; + right: auto; + bottom: auto; +} + +.mfp-woosq .mfp-preloader:before { + content: '\e9a7'; + font-family: "feather"; + display: inline-block; + font-size: 24px; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + speak: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #fff; + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + -webkit-animation: woosq-spinner 1s linear infinite; + -moz-animation: woosq-spinner 1s linear infinite; + -ms-animation: woosq-spinner 1s linear infinite; + -o-animation: woosq-spinner 1s linear infinite; + animation: woosq-spinner 1s linear infinite; +} + +.mfp-woosq .mfp-arrow { + width: 60px; + height: 60px; + line-height: 60px; + border: none; + padding: 0; + outline: none; + text-align: center; + margin-top: -30px; + border-radius: 0; + opacity: 1; +} + +.mfp-woosq .mfp-arrow:active { + margin-top: -30px; +} + +.mfp-woosq .mfp-arrow:hover { + background-color: rgba(0, 0, 0, .5); +} + +.mfp-woosq .mfp-arrow:focus { + outline: none; +} + +.mfp-woosq .mfp-arrow:before { + width: 60px; + height: 60px; + line-height: 60px; + padding: 0; + border-width: 0; + margin: 0; + display: inline-block; + font-family: "feather"; + font-size: 24px; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + speak: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #fff; +} + +.mfp-woosq .mfp-arrow:after { + display: none; +} + +.mfp-woosq .mfp-arrow.mfp-arrow-left:before { + content: '\e90e'; +} + +.mfp-woosq .mfp-arrow.mfp-arrow-right:before { + content: '\e90f'; +} + +/* +====== Fade effect ====== +*/ +.mfp-fade { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-fade.mfp-bg { + opacity: 0; + -webkit-transition: all 0.15s ease-out; + -moz-transition: all 0.15s ease-out; + transition: all 0.15s ease-out; +} + +.mfp-fade.mfp-bg.mfp-ready { + opacity: 0.8; +} + +.mfp-fade.mfp-bg.mfp-removing { + opacity: 0; +} + +.mfp-fade.mfp-wrap .mfp-content { + opacity: 0; + -webkit-transition: all 0.15s ease-out; + -moz-transition: all 0.15s ease-out; + transition: all 0.15s ease-out; +} + +.mfp-fade.mfp-wrap.mfp-ready .mfp-content { + opacity: 1; +} + +.mfp-fade.mfp-wrap.mfp-removing .mfp-content { + opacity: 0; +} + +/* +====== Zoom effect ====== +*/ +.mfp-zoom-in { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-zoom-in .mfp-with-anim { + opacity: 0; + transition: all 0.2s ease-in-out; + transform: scale(0.8); +} + +.mfp-zoom-in.mfp-bg { + opacity: 0; + transition: all 0.3s ease-out; +} + +.mfp-zoom-in.mfp-ready .mfp-with-anim { + opacity: 1; + transform: scale(1); +} + +.mfp-zoom-in.mfp-ready.mfp-bg { + opacity: 0.8; +} + +.mfp-zoom-in.mfp-removing .mfp-with-anim { + transform: scale(0.8); + opacity: 0; +} + +.mfp-zoom-in.mfp-removing.mfp-bg { + opacity: 0; +} + +/* +====== Newspaper effect ====== +*/ +.mfp-newspaper { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-newspaper .mfp-with-anim { + opacity: 0; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.5s; + transform: scale(0) rotate(500deg); +} + +.mfp-newspaper.mfp-bg { + opacity: 0; + transition: all 0.5s; +} + +.mfp-newspaper.mfp-ready .mfp-with-anim { + opacity: 1; + transform: scale(1) rotate(0deg); +} + +.mfp-newspaper.mfp-ready.mfp-bg { + opacity: 0.8; +} + +.mfp-newspaper.mfp-removing .mfp-with-anim { + transform: scale(0) rotate(500deg); + opacity: 0; +} + +.mfp-newspaper.mfp-removing.mfp-bg { + opacity: 0; +} + +/* +====== Move-horizontal effect ====== +*/ +.mfp-move-horizontal { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-move-horizontal .mfp-with-anim { + opacity: 0; + transition: all 0.3s; + transform: translateX(-50px); +} + +.mfp-move-horizontal.mfp-bg { + opacity: 0; + transition: all 0.3s; +} + +.mfp-move-horizontal.mfp-ready .mfp-with-anim { + opacity: 1; + transform: translateX(0); +} + +.mfp-move-horizontal.mfp-ready.mfp-bg { + opacity: 0.8; +} + +.mfp-move-horizontal.mfp-removing .mfp-with-anim { + transform: translateX(50px); + opacity: 0; +} + +.mfp-move-horizontal.mfp-removing.mfp-bg { + opacity: 0; +} + +/* +====== Move-from-top effect ====== +*/ +.mfp-move-from-top { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-move-from-top .mfp-content { + +} + +.mfp-move-from-top .mfp-with-anim { + opacity: 0; + transition: all 0.2s; + transform: translateY(-100px); +} + +.mfp-move-from-top.mfp-bg { + opacity: 0; + transition: all 0.2s; +} + +.mfp-move-from-top.mfp-ready .mfp-with-anim { + opacity: 1; + transform: translateY(0); +} + +.mfp-move-from-top.mfp-ready.mfp-bg { + opacity: 0.8; +} + +.mfp-move-from-top.mfp-removing .mfp-with-anim { + transform: translateY(-50px); + opacity: 0; +} + +.mfp-move-from-top.mfp-removing.mfp-bg { + opacity: 0; +} + +/* +====== 3d unfold ====== +*/ +.mfp-3d-unfold { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-3d-unfold .mfp-content { + perspective: 2000px; +} + +.mfp-3d-unfold .mfp-with-anim { + opacity: 0; + transition: all 0.3s ease-in-out; + transform-style: preserve-3d; + transform: rotateY(-60deg); +} + +.mfp-3d-unfold.mfp-bg { + opacity: 0; + transition: all 0.5s; +} + +.mfp-3d-unfold.mfp-ready .mfp-with-anim { + opacity: 1; + transform: rotateY(0deg); +} + +.mfp-3d-unfold.mfp-ready.mfp-bg { + opacity: 0.8; +} + +.mfp-3d-unfold.mfp-removing .mfp-with-anim { + transform: rotateY(60deg); + opacity: 0; +} + +.mfp-3d-unfold.mfp-removing.mfp-bg { + opacity: 0; +} + +/* +====== Zoom-out effect ====== +*/ +.mfp-zoom-out { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-zoom-out .mfp-with-anim { + opacity: 0; + transition: all 0.3s ease-in-out; + transform: scale(1.3); +} + +.mfp-zoom-out.mfp-bg { + opacity: 0; + transition: all 0.3s ease-out; +} + +.mfp-zoom-out.mfp-ready .mfp-with-anim { + opacity: 1; + transform: scale(1); +} + +.mfp-zoom-out.mfp-ready.mfp-bg { + opacity: 0.8; +} + +.mfp-zoom-out.mfp-removing .mfp-with-anim { + transform: scale(1.3); + opacity: 0; +} + +.mfp-zoom-out.mfp-removing.mfp-bg { + opacity: 0; +} + +/* +====== Slide bottom effect ====== +*/ +.mfp-slide-bottom { + /* start state */ + /* animate in */ + /* animate out */ +} + +.mfp-slide-bottom .mfp-with-anim { + opacity: 0; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; + -webkit-transform: translateY(-20px) perspective(600px) rotateX(10deg); + -moz-transform: translateY(-20px) perspective(600px) rotateX(10deg); + -ms-transform: translateY(-20px) perspective(600px) rotateX(10deg); + -o-transform: translateY(-20px) perspective(600px) rotateX(10deg); + transform: translateY(-20px) perspective(600px) rotateX(10deg); + +} + +/* animate in */ +.mfp-slide-bottom.mfp-ready .mfp-with-anim { + opacity: 1; + -webkit-transform: translateY(0) perspective(600px) rotateX(0); + -moz-transform: translateY(0) perspective(600px) rotateX(0); + -ms-transform: translateY(0) perspective(600px) rotateX(0); + -o-transform: translateY(0) perspective(600px) rotateX(0); + transform: translateY(0) perspective(600px) rotateX(0); +} + +/* animate out */ +.mfp-slide-bottom.mfp-removing .mfp-with-anim { + opacity: 0; + -webkit-transform: translateY(-10px) perspective(600px) rotateX(10deg); + -moz-transform: translateY(-10px) perspective(600px) rotateX(10deg); + -ms-transform: translateY(-10px) perspective(600px) rotateX(10deg); + -o-transform: translateY(-10px) perspective(600px) rotateX(10deg); + transform: translateY(-10px) perspective(600px) rotateX(10deg); +} + +/* Dark overlay, start state */ +.mfp-slide-bottom.mfp-bg { + opacity: 0; + -webkit-transition: opacity 0.3s ease-out; + -moz-transition: opacity 0.3s ease-out; + -o-transition: opacity 0.3s ease-out; + transition: opacity 0.3s ease-out; +} + +/* animate in */ +.mfp-slide-bottom.mfp-ready.mfp-bg { + opacity: 0.8; +} + +/* animate out */ +.mfp-slide-bottom.mfp-removing.mfp-bg { + opacity: 0; +} + +/* Sidebar */ + +.woosq-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + -webkit-transition: opacity 0.3s; + transition: opacity 0.3s; + z-index: 99999968; + opacity: 0; + visibility: hidden; +} + +.woosq-sidebar { + font-family: "Open Sans", Helvetica, Arial, sans-serif; + font-size: 14px; + padding: 0; + height: 100%; + max-height: 100%; + background-color: #ffffff; + z-index: 99999969; + position: fixed; + display: flex; + flex-direction: column; + opacity: 0; + visibility: hidden; +} + +.woosq-sidebar .woosq-close { + width: 40px; + height: 40px; + line-height: 40px; + font-size: 0; + background-image: url(../images/close.svg); + background-repeat: no-repeat; + background-position: center; + background-size: 20px 20px; + text-align: center; + position: absolute; + top: 0; + left: -40px; + z-index: 9; + cursor: pointer; +} + +body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { + opacity: 1; + visibility: visible; +} + +.woosq-sidebar .woosq-product { + flex-grow: 1; + overflow-x: hidden; + overflow-y: auto; +} + +.woosq-sidebar .woosq-product > .product { + display: flex; + flex-direction: column; +} + +.woosq-sidebar .woosq-product > .product > div { + width: 100% !important; + float: none !important; + margin: 0 !important; + height: auto; +} + +.woosq-sidebar .view-details-btn { + width: 100%; + position: relative; + box-shadow: none; + padding: 14px 20px; + line-height: 1; + height: auto; +} + +.woosq-sidebar.woosq-loading:before { + content: ''; + display: block; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, .5); + position: absolute; + top: 0; + left: 0; + z-index: 8; +} + +.woosq-sidebar.woosq-loading:after { + width: 32px; + height: 32px; + display: block; + position: absolute; + top: 50%; + left: 50%; + margin-top: -16px; + margin-left: -16px; + content: ''; + background-image: url("../images/curve.svg"); + background-repeat: no-repeat; + background-position: center; + -webkit-animation: woosq-spinner 1s linear infinite; + -moz-animation: woosq-spinner 1s linear infinite; + -ms-animation: woosq-spinner 1s linear infinite; + -o-animation: woosq-spinner 1s linear infinite; + animation: woosq-spinner 1s linear infinite; + z-index: 9; +} + +/* Position 01 */ + +.woosq-sidebar.woosq-position-01 { + position: fixed; + top: 0; + left: 100%; + width: 100%; + max-width: 460px; + box-sizing: border-box; + text-align: start; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -ms-transition: all 0.5s; + -o-transition: all 0.5s; + transition: all 0.5s; +} + +.woosq-open .woosq-sidebar.woosq-position-01 { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} + +/* Position 02 */ + +.woosq-sidebar.woosq-position-02 { + position: fixed; + top: 0; + left: 0; + width: 100%; + max-width: 460px; + box-sizing: border-box; + text-align: start; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -ms-transition: all 0.5s; + -o-transition: all 0.5s; + transition: all 0.5s; +} + +.woosq-sidebar.woosq-position-02 .woosq-close { + left: unset; + right: -40px; +} + +.woosq-open .woosq-sidebar.woosq-position-02 { + -webkit-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); +} + +.woosq-sidebar.woosq-heading-yes { + display: flex; + flex-direction: column; +} + +.woosq-sidebar.woosq-heading-yes .woosq-sidebar-heading { + flex: 0 0 auto; + height: 48px; + line-height: 48px; + padding: 0 60px 0 20px; + margin: 0; + position: relative; + color: #222222; + font-weight: 700; + text-transform: uppercase; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; + overflow: hidden; + background-color: rgba(0, 0, 0, .1); +} + +.woosq-sidebar.woosq-heading-yes .woosq-sidebar-heading .woosq-close { + display: inline-block; + width: 48px; + height: 48px; + line-height: 48px; + position: absolute; + left: unset; + top: 0; + right: 0; + cursor: pointer; + font-size: 0; + background-image: url("../images/close-dark.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: 14px; +} + +.woosq-sidebar.woosq-heading-yes .woosq-product .thumbnails { + padding: 20px 20px 0 20px; + background-color: transparent; +} + +@media screen and (max-width: 1023px) { + .woosq-sidebar .woosq-close { + left: unset !important; + right: 0 !important; + background-color: rgba(255, 255, 255, .5); + background-image: url(../images/close-dark.svg); + } +} diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index ae1b6d09..6d4653cb 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -1,337 +1,357 @@ -// 'use strict'; - -// var sgsbqcv_ids = [], sgsbqcv_products = []; -// console.log(sgsbqcv_vars); -// (function($) { -// $(function() { -// $('.sgsbqcv-btn, .woosq-link').each(function() { -// var id = $(this).attr('data-id'); -// var pid = $(this).attr('data-pid'); -// var product_id = $(this).attr('data-product_id'); - -// if (typeof pid !== typeof undefined && pid !== false) { -// id = pid; -// } - -// if (typeof product_id !== typeof undefined && product_id !== false) { -// id = product_id; -// } - -// if (-1 === $.inArray(id, sgsbqcv_ids)) { -// sgsbqcv_ids.push(id); -// sgsbqcv_products.push({src: sgsbqcv_vars.ajax_url + '?product_id=' + id}); -// } -// }); - -// console.log(sgsbqcv_ids) -// console.log(sgsbqcv_products) -// // quick view -// if (sgsbqcv_vars.quick_view > 0) { -// setTimeout(function() { -// woosq_open(sgsbqcv_vars.quick_view); -// }, 1000); -// } -// }); - -// $(document).on('click touch', '[href*="#woosq-"]', function(e) { -// var $this = $(this); -// var href = $this.attr('href'); -// var reg = /#woosq-([0-9]+)/g; -// var match = reg.exec(href); - -// if (match[1] !== undefined) { -// var id = match[1]; -// var effect = $this.attr('data-effect'); -// var context = $this.attr('data-context'); - -// woosq_open(id, effect, context); -// e.preventDefault(); -// } -// }); - -// $(document).on('click touch', '.sgsbqcv-btn, .woosq-link', function(e) { -// e.preventDefault(); - -// var $this = $(this); -// var id = $this.attr('data-id'); -// var pid = $this.attr('data-pid'); -// var product_id = $this.attr('data-product_id'); -// var effect = $this.attr('data-effect'); -// var context = $this.attr('data-context'); - -// if (typeof pid !== typeof undefined && pid !== false) { -// id = pid; -// } - -// if (typeof product_id !== typeof undefined && product_id !== false) { -// id = product_id; -// } - -// console.log("contectss"); -// console.log(`${id} ${effect} ${context}`); -// woosq_open(id, effect, context); -// }); - -// $(document).on('added_to_cart', function() { -// if (sgsbqcv_vars.auto_close === 'yes') { -// if (sgsbqcv_vars.view === 'popup') { -// $.magnificPopup.close(); -// } - -// woosq_close(); -// } -// }); - -// $(document).on('woosq_loaded', function() { -// var form_variation = $('#woosq-popup').find('.variations_form'); - -// form_variation.each(function() { -// $(this).wc_variation_form(); -// }); - -// woosq_init_content('loaded'); - -// // add redirect -// if (!$('#woosq-popup .woosq-redirect').length) { -// if ((sgsbqcv_vars.cart_redirect === 'yes') && -// (sgsbqcv_vars.cart_url !== '')) { -// $('#woosq-popup form'). -// prepend( -// ''); -// } else { -// $('#woosq-popup form'). -// prepend( -// ''); -// } -// } -// }); - -// $(window).on('resize', function() { -// woosq_init_content('resize'); -// }); - -// $(document).on('found_variation', function(e, t) { -// if (!$(e['target']).closest('.woosb-product').length && -// !$(e['target']).closest('.woosg-product').length && -// !$(e['target']).closest('.woobt-product').length && -// !$(e['target']).closest('.woofs-product').length && -// $(e['target']).closest('#woosq-popup').length) { -// if (t['image_id'] !== undefined) { -// if ($('#woosq-popup .thumbnails .thumbnail').length > 1) { -// var $thumb = $( -// '.thumbnail:not(.slick-cloned)[data-id="' + t['image_id'] + '"]'); - -// if ($thumb.length) { -// var pos = $('#woosq-popup .thumbnails .thumbnail').index($thumb); -// var $images = $('#woosq-popup .thumbnails .images'); - -// if ((pos > 0) && $images.hasClass('slick-initialized')) { -// setTimeout(function() { -// $images.slick('slickGoTo', pos - 1); -// }, 100); -// } -// } -// } -// } -// } -// }); - -// $(document).on('reset_data', function(e) { -// if ($(e['target']).closest('#woosq-popup').length) { -// if (($('#woosq-popup .thumbnails .thumbnail').length > 1) && -// $('#woosq-popup .thumbnails .images').hasClass('slick-initialized')) { -// $('#woosq-popup .thumbnails .images').slick('slickGoTo', 0); -// } -// } -// }); - -// if (sgsbqcv_vars.hashchange === 'yes') { -// $(window).on('hashchange', function() { -// if (location.href.indexOf('#woosq') < 0) { -// if (sgsbqcv_vars.view === 'popup') { -// $.magnificPopup.close(); -// } - -// woosq_close(); -// } -// }); -// } - -// $(document).on('click touch', '.woosq-overlay, .woosq-close', function() { -// woosq_close(); -// }); -// })(jQuery); - -// function woosq_open(id, effect, context) { -// jQuery('body').addClass('woosq-open'); - -// if (sgsbqcv_vars.view === 'sidebar') { -// // sidebar -// woosq_loading(); - -// var data = { -// action: 'get_product_data', product_id: id, nonce: sgsbqcv_vars.nonce, -// }; - -// jQuery.post(sgsbqcv_vars.ajax_url, data, function(response) { -// jQuery('.woosq-sidebar').html(response); -// woosq_loaded(); -// jQuery(document.body).trigger('woosq_loaded', [id]); -// }); -// } else { -// // popup -// if (-1 === jQuery.inArray(id, sgsbqcv_ids)) { -// sgsbqcv_ids.push(id); -// sgsbqcv_products.push({src: sgsbqcv_vars.ajax_url + '?product_id=' + id}); -// } - -// var index = woosq_get_key(sgsbqcv_products, 'src', -// sgsbqcv_vars.ajax_url + '?product_id=' + id); -// var main_class = 'mfp-woosq'; - -// if (typeof context !== typeof undefined && context !== false) { -// main_class = main_class + ' mfp-woosq-' + context; -// } - -// if (typeof effect !== typeof undefined && effect !== false) { -// main_class = main_class + ' ' + effect; -// } else { -// main_class = main_class + ' ' + sgsbqcv_vars.effect; -// } - -// jQuery.magnificPopup.open({ -// items: sgsbqcv_products, -// type: 'ajax', -// mainClass: main_class, -// removalDelay: 160, -// overflowY: 'scroll', -// fixedContentPos: true, -// tClose: sgsbqcv_vars.close, -// gallery: { -// tPrev: sgsbqcv_vars.prev, -// tNext: sgsbqcv_vars.next, -// enabled: sgsbqcv_vars.next_prev === 'yes', -// }, -// ajax: { -// settings: { -// type: 'GET', -// data: { -// action: 'get_product_data', nonce: sgsbqcv_vars.nonce, -// }, -// }, -// }, -// callbacks: { -// open: function() { -// if (sgsbqcv_vars.hashchange === 'yes') { -// location.href = location.href.split('#')[0] + '#woosq'; -// } -// }, ajaxContentAdded: function() { -// jQuery(document.body).trigger('woosq_loaded', [id]); -// }, close: function() { -// if (sgsbqcv_vars.hashchange === 'yes') { -// if (location.hash) history.go(-1); -// } -// }, afterClose: function() { -// jQuery(document.body).trigger('woosq_close', [id]); -// }, -// }, -// }, index); -// } -// jQuery(document.body).trigger('woosq_open', [id]); -// } - -// function woosq_close() { -// jQuery('body').removeClass('woosq-open'); -// jQuery(document.body).trigger('woosq_close'); -// } - -// function woosq_loading() { -// jQuery('.woosq-sidebar').addClass('woosq-loading'); -// } - -// function woosq_loaded() { -// jQuery('.woosq-sidebar').removeClass('woosq-loading'); -// } - -// function woosq_init_content(context) { -// if (context === 'loaded') { -// woosq_thumbnails_zoom(); -// woosq_thumbnails_slick(); -// woosq_related_slick(); -// } - -// if (sgsbqcv_vars.view === 'sidebar') { -// if (sgsbqcv_vars.scrollbar === 'yes') { -// jQuery('.woosq-product'). -// perfectScrollbar('destroy'). -// perfectScrollbar({theme: 'wpc'}); -// } -// } else { -// // fix for popup -// if (sgsbqcv_vars.scrollbar === 'yes') { -// if (jQuery(window).width() < 1024) { -// // jQuery('.woosq-product .summary-content').perfectScrollbar('destroy'); -// jQuery('.woosq-product'). -// perfectScrollbar('destroy'). -// perfectScrollbar({theme: 'wpc'}); -// } else { -// // jQuery('.woosq-product').perfectScrollbar('destroy'); -// jQuery('.woosq-product .summary-content'). -// perfectScrollbar('destroy'). -// perfectScrollbar({theme: 'wpc'}); -// } -// } -// } -// } - -// function woosq_get_key(array, key, value) { -// for (var i = 0; i < array.length; i++) { -// if (array[i][key] === value) { -// return i; -// } -// } - -// return -1; -// } - -// function woosq_thumbnails_zoom() { -// if (sgsbqcv_vars.thumbnails_effect === 'zoom') { -// jQuery('#woosq-popup .thumbnails .images .thumbnail').each(function() { -// var $this = jQuery(this); -// var zoom_params = JSON.parse(sgsbqcv_vars.thumbnails_zoom_params); - -// zoom_params.url = $this.find('img').attr('data-src'); - -// // destroy first -// $this.trigger('zoom.destroy'); -// $this.zoom(zoom_params); -// }); -// } -// } - -// function woosq_thumbnails_slick() { -// if (jQuery('#woosq-popup .thumbnails .images .thumbnail').length > 1) { -// if (jQuery('#woosq-popup .thumbnails .images'). -// hasClass('slick-initialized')) { -// // unslick first -// jQuery('#woosq-popup .thumbnails .images').slick('unslick'); -// } - -// jQuery('#woosq-popup .thumbnails .images'). -// slick(JSON.parse(sgsbqcv_vars.thumbnails_slick_params)); -// } -// } - -// function woosq_related_slick() { -// if (jQuery('.woosq-related-products').hasClass('slick-initialized')) { -// // unslick first -// jQuery('.woosq-related-products').slick('unslick'); -// } - -// if (jQuery('.woosq-related-product').length > 1) { -// jQuery('.woosq-related-products'). -// slick(JSON.parse(sgsbqcv_vars.related_slick_params)); -// } -// } +"use strict"; + +var woosq_ids = [], + woosq_products = []; +console.log("Workimg"); +(function ($) { + $(function () { + $(".woosq-btn, .woosq-link").each(function () { + var id = $(this).attr("data-id"); + var pid = $(this).attr("data-pid"); + var product_id = $(this).attr("data-product_id"); + console.log(product_id); + if (typeof pid !== typeof undefined && pid !== false) { + id = pid; + } + + if (typeof product_id !== typeof undefined && product_id !== false) { + id = product_id; + } + + if (-1 === $.inArray(id, woosq_ids)) { + woosq_ids.push(id); + woosq_products.push({ src: woosq_vars.ajax_url + "?product_id=" + id }); + } + }); + // quick view + if (woosq_vars.quick_view > 0) { + setTimeout(function () { + woosq_open(woosq_vars.quick_view); + }, 1000); + } + }); + + console.log(woosq_vars); + + $(document).on("click touch", '[href*="#woosq-"]', function (e) { + var $this = $(this); + var href = $this.attr("href"); + var reg = /#woosq-([0-9]+)/g; + var match = reg.exec(href); + + if (match[1] !== undefined) { + var id = match[1]; + var effect = $this.attr("data-effect"); + var context = $this.attr("data-context"); + + woosq_open(id, effect, context); + e.preventDefault(); + } + }); + + $(document).on("click touch", ".woosq-btn, .woosq-link", function (e) { + e.preventDefault(); + + var $this = $(this); + var id = $this.attr("data-id"); + var pid = $this.attr("data-pid"); + var product_id = $this.attr("data-product_id"); + var effect = $this.attr("data-effect"); + var context = $this.attr("data-context"); + + if (typeof pid !== typeof undefined && pid !== false) { + id = pid; + } + + if (typeof product_id !== typeof undefined && product_id !== false) { + id = product_id; + } + + woosq_open(id, effect, context); + }); + + $(document).on("added_to_cart", function () { + if (woosq_vars.auto_close === "yes") { + if (woosq_vars.view === "popup") { + $.magnificPopup.close(); + } + + woosq_close(); + } + }); + + $(document).on("woosq_loaded", function () { + var form_variation = $("#woosq-popup").find(".variations_form"); + + form_variation.each(function () { + $(this).wc_variation_form(); + }); + + woosq_init_content("loaded"); + + // add redirect + if (!$("#woosq-popup .woosq-redirect").length) { + if (woosq_vars.cart_redirect === "yes" && woosq_vars.cart_url !== "") { + $("#woosq-popup form").prepend( + '' + ); + } else { + $("#woosq-popup form").prepend( + '' + ); + } + } + }); + + $(window).on("resize", function () { + woosq_init_content("resize"); + }); + + $(document).on("found_variation", function (e, t) { + if ( + !$(e["target"]).closest(".woosb-product").length && + !$(e["target"]).closest(".woosg-product").length && + !$(e["target"]).closest(".woobt-product").length && + !$(e["target"]).closest(".woofs-product").length && + $(e["target"]).closest("#woosq-popup").length + ) { + if (t["image_id"] !== undefined) { + if ($("#woosq-popup .thumbnails .thumbnail").length > 1) { + var $thumb = $( + '.thumbnail:not(.slick-cloned)[data-id="' + t["image_id"] + '"]' + ); + + if ($thumb.length) { + var pos = $("#woosq-popup .thumbnails .thumbnail").index($thumb); + var $images = $("#woosq-popup .thumbnails .images"); + + if (pos > 0 && $images.hasClass("slick-initialized")) { + setTimeout(function () { + $images.slick("slickGoTo", pos - 1); + }, 100); + } + } + } + } + } + }); + + $(document).on("reset_data", function (e) { + if ($(e["target"]).closest("#woosq-popup").length) { + if ( + $("#woosq-popup .thumbnails .thumbnail").length > 1 && + $("#woosq-popup .thumbnails .images").hasClass("slick-initialized") + ) { + $("#woosq-popup .thumbnails .images").slick("slickGoTo", 0); + } + } + }); + + if (woosq_vars.hashchange === "yes") { + $(window).on("hashchange", function () { + if (location.href.indexOf("#woosq") < 0) { + if (woosq_vars.view === "popup") { + $.magnificPopup.close(); + } + + woosq_close(); + } + }); + } + + $(document).on("click touch", ".woosq-overlay, .woosq-close", function () { + woosq_close(); + }); +})(jQuery); + +function woosq_open(id, effect, context) { + jQuery("body").addClass("woosq-open"); + + if (woosq_vars.view === "sidebar") { + // sidebar + woosq_loading(); + + var data = { + action: "woosq_quickview", + product_id: id, + nonce: woosq_vars.nonce, + }; + + jQuery.post(woosq_vars.ajax_url, data, function (response) { + jQuery(".woosq-sidebar").html(response); + woosq_loaded(); + jQuery(document.body).trigger("woosq_loaded", [id]); + }); + } else { + // popup + if (-1 === jQuery.inArray(id, woosq_ids)) { + woosq_ids.push(id); + woosq_products.push({ src: woosq_vars.ajax_url + "?product_id=" + id }); + } + + var index = woosq_get_key( + woosq_products, + "src", + woosq_vars.ajax_url + "?product_id=" + id + ); + var main_class = "mfp-woosq"; + + if (typeof context !== typeof undefined && context !== false) { + main_class = main_class + " mfp-woosq-" + context; + } + + if (typeof effect !== typeof undefined && effect !== false) { + main_class = main_class + " " + effect; + } else { + main_class = main_class + " " + woosq_vars.effect; + } + + jQuery.magnificPopup.open( + { + items: woosq_products, + type: "ajax", + mainClass: main_class, + removalDelay: 160, + overflowY: "scroll", + fixedContentPos: true, + tClose: woosq_vars.close, + gallery: { + tPrev: woosq_vars.prev, + tNext: woosq_vars.next, + enabled: woosq_vars.next_prev === "yes", + }, + ajax: { + settings: { + type: "GET", + data: { + action: "woosq_quickview", + nonce: woosq_vars.nonce, + }, + }, + }, + callbacks: { + open: function () { + if (woosq_vars.hashchange === "yes") { + location.href = location.href.split("#")[0] + "#woosq"; + } + }, + ajaxContentAdded: function () { + jQuery(document.body).trigger("woosq_loaded", [id]); + }, + close: function () { + if (woosq_vars.hashchange === "yes") { + if (location.hash) history.go(-1); + } + }, + afterClose: function () { + jQuery(document.body).trigger("woosq_close", [id]); + }, + }, + }, + index + ); + } + + jQuery(document.body).trigger("woosq_open", [id]); +} + +function woosq_close() { + jQuery("body").removeClass("woosq-open"); + jQuery(document.body).trigger("woosq_close"); +} + +function woosq_loading() { + jQuery(".woosq-sidebar").addClass("woosq-loading"); +} + +function woosq_loaded() { + jQuery(".woosq-sidebar").removeClass("woosq-loading"); +} + +function woosq_init_content(context) { + if (context === "loaded") { + woosq_thumbnails_zoom(); + woosq_thumbnails_slick(); + woosq_related_slick(); + } + + if (woosq_vars.view === "sidebar") { + if (woosq_vars.scrollbar === "yes") { + jQuery(".woosq-product") + .perfectScrollbar("destroy") + .perfectScrollbar({ theme: "wpc" }); + } + } else { + // fix for popup + if (woosq_vars.scrollbar === "yes") { + if (jQuery(window).width() < 1024) { + jQuery(".woosq-product .summary-content").perfectScrollbar("destroy"); + jQuery(".woosq-product") + .perfectScrollbar("destroy") + .perfectScrollbar({ theme: "wpc" }); + } else { + jQuery(".woosq-product").perfectScrollbar("destroy"); + jQuery(".woosq-product .summary-content") + .perfectScrollbar("destroy") + .perfectScrollbar({ theme: "wpc" }); + } + } + } +} + +function woosq_get_key(array, key, value) { + for (var i = 0; i < array.length; i++) { + if (array[i][key] === value) { + return i; + } + } + + return -1; +} + +function woosq_thumbnails_zoom() { + if (woosq_vars.thumbnails_effect === "zoom") { + jQuery("#woosq-popup .thumbnails .images .thumbnail").each(function () { + var $this = jQuery(this); + var zoom_params = JSON.parse(woosq_vars.thumbnails_zoom_params); + + zoom_params.url = $this.find("img").attr("data-src"); + + // destroy first + $this.trigger("zoom.destroy"); + $this.zoom(zoom_params); + }); + } +} + +function woosq_thumbnails_slick() { + if (jQuery("#woosq-popup .thumbnails .images .thumbnail").length > 1) { + if ( + jQuery("#woosq-popup .thumbnails .images").hasClass("slick-initialized") + ) { + // unslick first + jQuery("#woosq-popup .thumbnails .images").slick("unslick"); + } + + jQuery("#woosq-popup .thumbnails .images").slick( + JSON.parse(woosq_vars.thumbnails_slick_params) + ); + } +} + +function woosq_related_slick() { + if (jQuery(".woosq-related-products").hasClass("slick-initialized")) { + // unslick first + jQuery(".woosq-related-products").slick("unslick"); + } + + if (jQuery(".woosq-related-product").length > 1) { + jQuery(".woosq-related-products").slick( + JSON.parse(woosq_vars.related_slick_params) + ); + } +} diff --git a/Includes/Modules/QuickView/templates/quick-view-button.php b/Includes/Modules/QuickView/templates/quick-view-button.php index 90d82c4d..825e764a 100644 --- a/Includes/Modules/QuickView/templates/quick-view-button.php +++ b/Includes/Modules/QuickView/templates/quick-view-button.php @@ -17,8 +17,8 @@ array_filter( array( 'button', - 'product_type_' . $product_type, - 'sgsbqcv-btn' . $product_page, + ' woosq-btn-' . $product_id, + 'woosq-btn' . $product_page, ) ) ); From ae8bcd73eecf154b52ad4c93a73a5242cc8c06a7 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder <65698588+gooyeduck@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:41:31 +0600 Subject: [PATCH 05/22] feat(quick-view): the product template is being added. --- Includes/Modules/QuickView/Includes/Ajax.php | 13 ++++- .../QuickView/Includes/CommonHooks.php | 36 +++++++++++++ .../QuickView/Includes/EnqueueScript.php | 1 + .../QuickView/assets/scripts/frontend.js | 54 ++++++++++++++++--- .../QuickView/templates/add-to-cart.php | 4 ++ 5 files changed, 99 insertions(+), 9 deletions(-) create mode 100644 Includes/Modules/QuickView/templates/add-to-cart.php diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index 49460297..e1abb5d2 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -29,6 +29,8 @@ private function __construct() { add_action( 'wp_ajax_sgsb_quick_view_get_settings', array( $this, 'get_settings' ) ); add_action( 'wp_ajax_woosq_quickview', array( $this, 'ajax_quickview_callback' ) ); add_action( 'wp_ajax_nopriv_woosq_quickview', array( $this, 'ajax_quickview_callback' ) ); + add_action( 'wp_ajax_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); + add_action( 'wp_ajax_nopriv_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); // add_action( 'wp_ajax_load_modal_template', array( $this, 'load_modal_template_callback' ) ); // add_action( 'wp_ajax_nopriv_load_modal_template', array( $this, 'load_modal_template_callback' ) ); } @@ -65,7 +67,6 @@ public function get_settings() { public function ajax_quickview_callback() { - error_log( 'Invoking' ); check_ajax_referer( 'woosq-security', 'nonce' ); global $post, $product; @@ -75,7 +76,7 @@ public function ajax_quickview_callback() { $content_view_details_button = 'no'; $content_image_lightbox = 'no'; $view = 'popup'; - $sidebar_heading = "no"; + $sidebar_heading = 'no'; if ( $product ) { $post = get_post( $product_id ); @@ -203,4 +204,12 @@ public function ajax_quickview_callback() { wp_die(); } + + public function custom_ajax_add_to_cart() { + $product_id = $_POST['product_id']; + $quantity = $_POST['quantity']; + error_log( $product_id ); + WC()->cart->add_to_cart( $product_id, $quantity ); + wp_die(); + } } diff --git a/Includes/Modules/QuickView/Includes/CommonHooks.php b/Includes/Modules/QuickView/Includes/CommonHooks.php index 55524e74..43630d7c 100644 --- a/Includes/Modules/QuickView/Includes/CommonHooks.php +++ b/Includes/Modules/QuickView/Includes/CommonHooks.php @@ -26,6 +26,27 @@ class CommonHooks { */ private function __construct() { add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'show_quick_view_button_shop' ), 15 ); + // add_action( 'woosq_product_summary', array( $this, 'before_title' ), 4 ); + add_action( 'woosq_product_summary', 'woocommerce_template_single_title', 5 ); + // add_action( 'woosq_product_summary', array( $this, 'after_title' ), 6 ); + + // add_action( 'woosq_product_summary', array( $this, 'before_rating' ), 9 ); + add_action( 'woosq_product_summary', 'woocommerce_template_single_rating' ); + // add_action( 'woosq_product_summary', array( $this, 'after_rating' ), 11 ); + + // add_action( 'woosq_product_summary', array( $this, 'before_price' ), 14 ); + add_action( 'woosq_product_summary', 'woocommerce_template_single_price', 15 ); + // add_action( 'woosq_product_summary', array( $this, 'after_price' ), 16 ); + + // add_action( 'woosq_product_summary', array( $this, 'before_excerpt' ), 19 ); + add_action( 'woosq_product_summary', 'woocommerce_template_single_excerpt', 20 ); + // add_action( 'woosq_product_summary', array( $this, 'after_excerpt' ), 21 ); + + add_action( 'woosq_product_summary', array( $this, 'add_to_cart' ), 25 ); + + // add_action( 'woosq_product_summary', array( $this, 'before_meta' ), 29 ); + add_action( 'woosq_product_summary', 'woocommerce_template_single_meta', 30 ); + // add_action( 'woosq_product_summary', array( $this, 'after_meta' ), 31 ); } /** @@ -60,4 +81,19 @@ private function display_buy_now_button() { include __DIR__ . '/../templates/quick-view-button.php'; } + + /** + * Hook for WooCommerce loop add to cart link. + * + * @since 1.1.3 + * + * @param string $_product Add to cart link. + */ + public function add_to_cart( $_product ) { + global $product; + $product = $_product; + $product_id = get_the_ID(); + // include __DIR__ . '/../templates/add-to-cart.php'; + woocommerce_template_single_add_to_cart(); + } } diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 70df9eef..1925eefd 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -52,6 +52,7 @@ public function wp_enqueue_scripts() { wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script( 'wc-add-to-cart-variation' ); + wp_enqueue_script( 'wc-add-to-cart' ); // slick. wp_enqueue_style( diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index 6d4653cb..f4c584c4 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -70,16 +70,56 @@ console.log("Workimg"); woosq_open(id, effect, context); }); - $(document).on("added_to_cart", function () { - if (woosq_vars.auto_close === "yes") { - if (woosq_vars.view === "popup") { - $.magnificPopup.close(); - } - - woosq_close(); + jQuery(document).ready(function ($) { + console.log("loading"); + function custom_ajax_add_to_cart(product_id) { + var quantity = $('#custom-quantity').val(); + + $.ajax({ + type: 'POST', + url: woosq_vars.ajax_url, + data: { + action: 'custom_ajax_add_to_cart', + product_id: product_id, + quantity: quantity, + }, + success: function (response) { + alert('Product added to cart!'); + }, + }); } + + $('body').on('click', '.custom-add-to-cart button', function () { + + // Get the ID of the clicked element (assumes the button has an ID attribute) + var clickedElementId = $(this).attr('product-id'); + console.log(clickedElementId); + + // // Call the function with the clicked element's ID + custom_ajax_add_to_cart(clickedElementId); + // Add your additional logic here }); + $('.custom-add-to-cart').on('click', function () { + console.log("clicked"); + // Get the ID of the clicked element (assumes the button has an ID attribute) + var clickedElementId = $(this).attr('product-id'); + + // // Call the function with the clicked element's ID + // custom_ajax_add_to_cart(clickedElementId); + }); +}); + + // $(document).on("added_to_cart", function () { + // if (woosq_vars.auto_close === "yes") { + // if (woosq_vars.view === "popup") { + // $.magnificPopup.close(); + // } + + // woosq_close(); + // } + // }); + $(document).on("woosq_loaded", function () { var form_variation = $("#woosq-popup").find(".variations_form"); diff --git a/Includes/Modules/QuickView/templates/add-to-cart.php b/Includes/Modules/QuickView/templates/add-to-cart.php new file mode 100644 index 00000000..9792c8ca --- /dev/null +++ b/Includes/Modules/QuickView/templates/add-to-cart.php @@ -0,0 +1,4 @@ +
+ + +
From 04e90cb35d3cebba38e8060b1819da9ab39ae3dd Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Sat, 27 Jan 2024 18:24:22 +0600 Subject: [PATCH 06/22] feat(quick-view): multiple settings fields being added. --- .../assets/src/components/CartContent.js | 51 ++++++ .../assets/src/components/ContentGroup.js | 72 +++++++++ .../{DesingTab.js => DesingTab.jsx} | 27 ++-- .../src/components/GeneralSettingsTab.js | 50 ------ .../src/components/GeneralSettingsTab.jsx | 153 ++++++++++++++++++ .../components/{Preview.js => Preview.jsx} | 0 ...QuickViewLayout.js => QuickViewLayout.jsx} | 90 ++++++----- .../src/components/SettingInstruction.js | 59 ------- .../pro-previews/Modules/QuickView/index.js | 33 ++++ assets/src/components/pro-previews/index.js | 1 + 10 files changed, 373 insertions(+), 163 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/src/components/CartContent.js create mode 100644 Includes/Modules/QuickView/assets/src/components/ContentGroup.js rename Includes/Modules/QuickView/assets/src/components/{DesingTab.js => DesingTab.jsx} (66%) delete mode 100644 Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js create mode 100644 Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx rename Includes/Modules/QuickView/assets/src/components/{Preview.js => Preview.jsx} (100%) rename Includes/Modules/QuickView/assets/src/components/{QuickViewLayout.js => QuickViewLayout.jsx} (67%) delete mode 100644 Includes/Modules/QuickView/assets/src/components/SettingInstruction.js create mode 100644 assets/src/components/pro-previews/Modules/QuickView/index.js diff --git a/Includes/Modules/QuickView/assets/src/components/CartContent.js b/Includes/Modules/QuickView/assets/src/components/CartContent.js new file mode 100644 index 00000000..e6bfd21a --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/CartContent.js @@ -0,0 +1,51 @@ +import { Checkbox, Col } from "antd"; +import SettingsTooltip from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsTooltip"; +import UpgradeCrown from "sales-booster/src/components/settings/Panels/PanelSettings/UpgradeCrown"; +import { Fragment } from "react"; + +const CartContent = ({ + name, + title, + tooltip, + areaRows, + checkedValue, + changeHandler, + needUpgrade = false, +}) => { + return ( + // Make settings checkbox component with card preview. + + + {/* Handle settings checkbox field by using dynamic props */} + changeHandler(name, event.target.checked)} + > + + + +
+ {/* Handle checkbox title. */} + + {/* Handle checkbox tooltip. */} + {tooltip && } + {/* Handle checkbox settings upgrade icon. */} + {needUpgrade && ( + + + + ) } +
+ +
+ ); +} + +export default CartContent; diff --git a/Includes/Modules/QuickView/assets/src/components/ContentGroup.js b/Includes/Modules/QuickView/assets/src/components/ContentGroup.js new file mode 100644 index 00000000..0fcabe23 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/ContentGroup.js @@ -0,0 +1,72 @@ +import {Typography, Col, Card, Row} from "antd"; +import FieldWrapper from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/FieldWrapper"; +import SettingsTooltip from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsTooltip"; +import UpgradeCrown from "sales-booster/src/components/settings/Panels/PanelSettings/UpgradeCrown"; +import CartContent from "./CartContent"; +import UpgradeOverlay from "sales-booster/src/components/settings/Panels/PanelSettings/UpgradeOverlay"; + +const { Title } = Typography; + +const ContentGroup = ( { + title, + options, + tooltip, + formData, + needUpgrade, + changeHandler +} ) => { + return ( + // Make settings checkbox component with card preview. + + +
+ {/* Handle checkbox title. */} + + {title} + + {/* Handle checkbox tooltip. */} + {tooltip && } + {/* Handle checkbox settings upgrade icon. */} + {needUpgrade && } +
+ + + {/* Content settings field wrapper component with card preview. */} + + { options && options?.map( ( option, index ) => ( + + + + + + { option?.needUpgrade && } + + + ) ) } + +
+ ); +} + +export default ContentGroup; diff --git a/Includes/Modules/QuickView/assets/src/components/DesingTab.js b/Includes/Modules/QuickView/assets/src/components/DesingTab.jsx similarity index 66% rename from Includes/Modules/QuickView/assets/src/components/DesingTab.js rename to Includes/Modules/QuickView/assets/src/components/DesingTab.jsx index bf44fa78..6a47dc81 100644 --- a/Includes/Modules/QuickView/assets/src/components/DesingTab.js +++ b/Includes/Modules/QuickView/assets/src/components/DesingTab.jsx @@ -20,30 +20,31 @@ function DesignTab(props) { - {applyFilters( - "sgsb_bar_color_quick_view_settings", - "", - formData, - onFieldChange - )} + {applyFilters( - "sgsb_design_panel_quick_view_settings", + "sgsb_quick_view_navigation_settings", "", formData, onFieldChange )} + diff --git a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js deleted file mode 100644 index 38578a2a..00000000 --- a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.js +++ /dev/null @@ -1,50 +0,0 @@ -import { Fragment } from "react"; -import { __ } from "@wordpress/i18n"; -import { applyFilters } from "@wordpress/hooks"; -import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; -import SingleCheckBox from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/SingleCheckBox"; -import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; -import SettingInstruction from "./SettingInstruction"; - -function GeneralSettingsTab(props) { - const { formData, onFieldChange, onFormSave, buttonLoading, onFormReset } = - props; - - return ( - - - {applyFilters( - "sgsb_shop_quick_view_enable_settings", - "", - formData, - onFieldChange - )} - - {applyFilters( - "sgsb_variation_product_quick_view_enable_settings", - "", - formData, - onFieldChange - )} - - - - - ); -} - -export default GeneralSettingsTab; diff --git a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx new file mode 100644 index 00000000..aafcb7c4 --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx @@ -0,0 +1,153 @@ +import { Fragment } from "react"; +import { __ } from "@wordpress/i18n"; +import { applyFilters } from "@wordpress/hooks"; +import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; +import SingleCheckBox from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/SingleCheckBox"; +import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; +import Switcher from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/Switcher"; +import SelectBox from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/SelectBox"; +import TextInput from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/TextInput"; +import ContentGroup from "./ContentGroup"; + +function GeneralSettingsTab(props) { + const { formData, onFieldChange, onFormSave, buttonLoading, onFormReset } = + props; + + const modalEffects = [ + { + value: "normal", + label: __("Normal", "storegrowth-sales-booster"), + }, + { + value: "sticky", + label: __("Sticky", "storegrowth-sales-booster"), + }, + ]; + + let contentOptions = [ + { + name : "show_title", + title : __("Show Title", "storegrowth-sales-booster"), + }, + { + name : "show_description", + title : __("Show Description", "storegrowth-sales-booster"), + }, + { + name : "show_price", + title : __("Show Price", "storegrowth-sales-booster"), + }, + { + name : "show_image", + title : __("Show Product Image", "storegrowth-sales-booster"), + }, + { + name : "show_excert", + title : __("Show Excert", "storegrowth-sales-booster"), + }, + { + name : "show_meta", + title : __("Show Product Meta", "storegrowth-sales-booster"), + }, + { + name : "show_add_to_cart", + title : __("Show Add to Cart", "storegrowth-sales-booster"), + }, + ]; + + return ( + + + {applyFilters( + "sgsb_shop_quick_view_enable_settings", + "", + formData, + onFieldChange + )} + + + + + + + {applyFilters( + "sgsb_variation_product_quick_view_enable_settings", + "", + formData, + onFieldChange + )} + + + + ); +} + +export default GeneralSettingsTab; diff --git a/Includes/Modules/QuickView/assets/src/components/Preview.js b/Includes/Modules/QuickView/assets/src/components/Preview.jsx similarity index 100% rename from Includes/Modules/QuickView/assets/src/components/Preview.js rename to Includes/Modules/QuickView/assets/src/components/Preview.jsx diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx similarity index 67% rename from Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js rename to Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx index 4ee22395..8b6f6655 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.js +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx @@ -9,10 +9,11 @@ import PanelContainer from "sales-booster/src/components/settings/Panels/PanelCo import PanelRow from "sales-booster/src/components/settings/Panels/PanelRow"; import PanelPreview from "sales-booster/src/components/settings/Panels/PanelPreview"; import PanelSettings from "sales-booster/src/components/settings/Panels/PanelSettings"; +import TouchPreview from "sales-booster/src/components/settings/Panels/TouchPreview"; import GeneralSettingsTab from "./GeneralSettingsTab"; import DesignTab from "./DesingTab"; import Preview from "./Preview"; -import TouchPreview from "sales-booster/src/components/settings/Panels/TouchPreview"; + function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const isProEnabled = sgsbAdmin.isPro; @@ -22,23 +23,30 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const tabName = searchParams.get("tab_name") || "general"; const initalQuickViewData = { - stockbar_height: 10, - stockbar_bg_color: "#EBF6FF", - stockbar_fg_color: "#008DFF", - stockbar_template: "quick_view_one", - stock_display_format: "above", - stockbar_border_color: "#DDE6F9", - total_sell_count_text: __("Total Sold", "storegrowth-sales-booster"), - available_item_count_text: __( - "Available Item", - "storegrowth-sales-booster" - ), - shop_page_quick_view_enable: false, - shop_page_countdown_enable: false, - product_page_quick_view_enable: true, - product_page_countdown_enable: true, - variation_page_quick_view_enable: false, + popup_on_mobile : false, + enable_lightbox : false, + modal_animation_effect : "", + enable_product_navigation : false, + show_title : true, + show_description : true, + show_price : true, + show_image : true, + show_excerpt : true, + show_meta : true, + show_add_to_cart : false, + button_label : __("Quick View", "storegrowth-sales-booster"), + button_position : "after_add_to_cart", + enable_qucik_view_icon : false, + quick_view_icon : "quick-icon-1", + show_quick_icon : true, + show_view_details_button : false, + button_color : "#000000", + button_text_color : "#ffffff", + modal_background_color : "#ffffff", + navigation_background : "#000000", + navigation_text_color : "$ffffff", }; + const [formData, setFormData] = useState({ ...initalQuickViewData, }); @@ -54,15 +62,15 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const notificationMessage = (type) => { if (type == "general_settings") { notification["success"]({ - message: "Settings Section", - description: "General settings section data updated successfully.", + message : "Settings Section", + description : "General settings section data updated successfully.", }); } if (type == "design") { notification["success"]({ - message: "Design Section", - description: "Design section data updated successfully.", + message : "Design Section", + description : "Design section data updated successfully.", }); } }; @@ -71,16 +79,16 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { setButtonLoading(true); let data = { - action: "sgsb_quick_view_save_settings", - _ajax_nonce: sgsbAdmin.nonce, - form_data: formData, + action : "sgsb_quick_view_save_settings", + _ajax_nonce : sgsbAdmin?.nonce, + form_data : formData, }; jQuery .ajax({ - url: sgsbAdmin.ajax_url, - method: "POST", - data: data, + url : sgsbAdmin.ajax_url, + method : "POST", + data : data, }) .success(() => { setButtonLoading(false); @@ -93,16 +101,16 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { jQuery .ajax({ - url: sgsbAdmin.ajax_url, - method: "POST", - data: { - action: "sgsb_quick_view_get_settings", - _ajax_nonce: sgsbAdmin.nonce, + url : sgsbAdmin?.ajax_url, + method : "POST", + data : { + action : "sgsb_quick_view_get_settings", + _ajax_nonce : sgsbAdmin?.nonce, }, }) .success((response) => { - if (response.success) { - setFormData({ ...formData, ...response.data }); + if (response?.success) { + setFormData({ ...formData, ...response?.data }); setTimeout(() => setPageLoading(false), 500); } }); @@ -116,15 +124,15 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { setFormData({ ...formData, [key]: value }); }; - const noop = () => {}; + const noop = () => { }; const excludeTabs = ["general"]; const showPreview = !excludeTabs?.includes(tabName); const tabPanels = [ { - key: "general", - title: __("Stock Bar Setting", "storegrowth-sales-booster"), - panel: ( + key : "general", + title : __("Stock Bar Setting", "storegrowth-sales-booster"), + panel : ( { - return ( - -
-

- To be able to view the stock bar of a specific product must go to{" "} - - all products - {" "} - in woocommerce. Then select a desired product to Edit. In the - product meta of woocommerce you will be able to see{" "} - "Inventory". -

- -
-

- Explore full range of products{" "} - - here - - . -

-
-
- -
-
-
- ); -}; - -export default SettingInstruction; diff --git a/assets/src/components/pro-previews/Modules/QuickView/index.js b/assets/src/components/pro-previews/Modules/QuickView/index.js new file mode 100644 index 00000000..f0944f17 --- /dev/null +++ b/assets/src/components/pro-previews/Modules/QuickView/index.js @@ -0,0 +1,33 @@ +import { __ } from '@wordpress/i18n'; +import { Fragment } from 'react'; +import { addFilter } from '@wordpress/hooks'; +import InputNumber from '../../../settings/Panels/PanelSettings/Fields/Number'; +import SelectBox from '../../../settings/Panels/PanelSettings/Fields/SelectBox'; +import TextInput from '../../../settings/Panels/PanelSettings/Fields/TextInput'; +import SingleCheckBox from '../../../settings/Panels/PanelSettings/Fields/SingleCheckBox'; +import ColourPicker from '../../../settings/Panels/PanelSettings/Fields/ColorPicker'; + +// Handle stock bar modules pro settings prompts. +addFilter( + 'sgsb_quick_view_navigation_settings', + 'sgsb_quick_view_navigation_settings_callback', + ( component ) => { + return ( + + + + + ); + } +); + diff --git a/assets/src/components/pro-previews/index.js b/assets/src/components/pro-previews/index.js index a735c2e3..d57a5a31 100644 --- a/assets/src/components/pro-previews/index.js +++ b/assets/src/components/pro-previews/index.js @@ -1,4 +1,5 @@ import './Modules/QuickCart/index.js'; +import './Modules/QuickView/index.js'; import './Modules/SalesPop/index.js'; import './Modules/SalesCountdown/index.js'; import './Modules/StockBar/index.js'; From 1e6810e06ce30202b78f01468b9a24931a883b65 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Mon, 5 Feb 2024 08:49:55 +0600 Subject: [PATCH 07/22] feat(quick-view): initial setting addition --- Includes/Modules/QuickView/Includes/Ajax.php | 32 +- .../QuickView/Includes/CommonHooks.php | 54 +-- .../QuickView/Includes/EnqueueScript.php | 50 ++- .../QuickView/assets/scripts/frontend.css | 218 +++++----- .../QuickView/assets/scripts/frontend.js | 286 +++++++------- .../QuickView/assets/scripts/quick-view.js | 371 ++++++++++-------- .../src/components/ButtonSettingsTab.jsx | 118 ++++++ .../assets/src/components/DesingTab.jsx | 4 - .../src/components/GeneralSettingsTab.jsx | 25 -- .../assets/src/components/QuickViewLayout.jsx | 131 ++++--- .../QuickView/templates/quick-view-button.php | 22 +- .../QuickView/templates/quick-view-footer.php | 6 - .../templates/simple-stock-status.php | 65 --- 13 files changed, 733 insertions(+), 649 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx delete mode 100644 Includes/Modules/QuickView/templates/quick-view-footer.php delete mode 100644 Includes/Modules/QuickView/templates/simple-stock-status.php diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index e1abb5d2..d69f6b54 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -27,8 +27,8 @@ class Ajax { private function __construct() { add_action( 'wp_ajax_sgsb_quick_view_save_settings', array( $this, 'save_settings' ) ); add_action( 'wp_ajax_sgsb_quick_view_get_settings', array( $this, 'get_settings' ) ); - add_action( 'wp_ajax_woosq_quickview', array( $this, 'ajax_quickview_callback' ) ); - add_action( 'wp_ajax_nopriv_woosq_quickview', array( $this, 'ajax_quickview_callback' ) ); + add_action( 'wp_ajax_sgsbqcv_quickview', array( $this, 'ajax_quickview_callback' ) ); + add_action( 'wp_ajax_nopriv_sgsbqcv_quickview', array( $this, 'ajax_quickview_callback' ) ); add_action( 'wp_ajax_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); add_action( 'wp_ajax_nopriv_custom_ajax_add_to_cart', array( $this, 'custom_ajax_add_to_cart' ) ); // add_action( 'wp_ajax_load_modal_template', array( $this, 'load_modal_template_callback' ) ); @@ -67,7 +67,7 @@ public function get_settings() { public function ajax_quickview_callback() { - check_ajax_referer( 'woosq-security', 'nonce' ); + check_ajax_referer( 'sgsbqcv-security', 'nonce' ); global $post, $product; $product_id = absint( sanitize_key( $_REQUEST['product_id'] ) ); @@ -122,30 +122,30 @@ public function ajax_quickview_callback() { } } - $thumb_ids = apply_filters( 'woosq_thumbnails', $thumb_ids, $product ); + $thumb_ids = apply_filters( 'sgsbqcv_thumbnails', $thumb_ids, $product ); $thumb_ids = array_unique( $thumb_ids ); error_log( print_r( $thumb_ids, 1 ) ); if ( $view === 'popup' ) { - echo '
'; + echo '
'; } elseif ( $sidebar_heading === 'yes' ) { - echo '
' . esc_html( $product->get_name() ) . ' ×
'; + echo '
' . esc_html( $product->get_name() ) . ' ×
'; } else { - echo ' × '; + echo ' × '; } ?> -
+
>
'; - $image_sz = apply_filters( 'woosq_image_size', 'default' ); + $image_sz = apply_filters( 'sgsbqcv_image_size', 'default' ); if ( $image_sz === 'default' ) { - $image_size = 'woosq'; + $image_size = 'sgsbqcv'; } else { $image_size = $image_sz; } @@ -174,17 +174,17 @@ public function ajax_quickview_callback() { echo '
'; - do_action( 'woosq_after_thumbnails', $product ); + do_action( 'sgsbqcv_after_thumbnails', $product ); ?>
- +
- +
- +
@@ -196,7 +196,7 @@ public function ajax_quickview_callback() { } if ( $view === 'popup' ) { - echo '
'; + echo '
'; } wp_reset_postdata(); diff --git a/Includes/Modules/QuickView/Includes/CommonHooks.php b/Includes/Modules/QuickView/Includes/CommonHooks.php index 43630d7c..7e1b20ca 100644 --- a/Includes/Modules/QuickView/Includes/CommonHooks.php +++ b/Includes/Modules/QuickView/Includes/CommonHooks.php @@ -25,48 +25,36 @@ class CommonHooks { * Constructor of Common_Hooks class. */ private function __construct() { - add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'show_quick_view_button_shop' ), 15 ); - // add_action( 'woosq_product_summary', array( $this, 'before_title' ), 4 ); - add_action( 'woosq_product_summary', 'woocommerce_template_single_title', 5 ); - // add_action( 'woosq_product_summary', array( $this, 'after_title' ), 6 ); - - // add_action( 'woosq_product_summary', array( $this, 'before_rating' ), 9 ); - add_action( 'woosq_product_summary', 'woocommerce_template_single_rating' ); - // add_action( 'woosq_product_summary', array( $this, 'after_rating' ), 11 ); - - // add_action( 'woosq_product_summary', array( $this, 'before_price' ), 14 ); - add_action( 'woosq_product_summary', 'woocommerce_template_single_price', 15 ); - // add_action( 'woosq_product_summary', array( $this, 'after_price' ), 16 ); - - // add_action( 'woosq_product_summary', array( $this, 'before_excerpt' ), 19 ); - add_action( 'woosq_product_summary', 'woocommerce_template_single_excerpt', 20 ); - // add_action( 'woosq_product_summary', array( $this, 'after_excerpt' ), 21 ); - - add_action( 'woosq_product_summary', array( $this, 'add_to_cart' ), 25 ); - - // add_action( 'woosq_product_summary', array( $this, 'before_meta' ), 29 ); - add_action( 'woosq_product_summary', 'woocommerce_template_single_meta', 30 ); - // add_action( 'woosq_product_summary', array( $this, 'after_meta' ), 31 ); + $this->button_positon_hooks(); + + add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_title', 5 ); + add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_rating' ); + add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_price', 15 ); + add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_excerpt', 20 ); + add_action( 'sgsbqcv_product_summary', array( $this, 'add_to_cart' ), 25 ); + add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_meta', 30 ); } /** * Hook for WooCommerce loop add to cart link. * * @since 1.0.0 + */ + public function show_quick_view_button_shop() { + echo esc_html( $this->display_buy_now_button() ); + } + /** + * Hook for button postion. * - * @param string $add_to_cart Add to cart link. - * - * @return string + * @since 1.1.3 */ - public function show_quick_view_button_shop( $add_to_cart ) { - ob_start(); - $this->display_buy_now_button(); - $buy_now_button = ob_get_contents(); - ob_end_clean(); - - $add_to_cart .= $buy_now_button; + public function button_positon_hooks() { + $settings = get_option( 'sgsb_quick_view_settings' ); + $button_position = sgsb_find_option_setting( $settings, 'button_position', 'after_add_to_cart' ); + $hook = 'woocommerce_after_shop_loop_item'; + $priority = ( 'after_add_to_cart' === $button_position ) ? 15 : 10; - return $add_to_cart; + add_action( $hook, array( $this, 'show_quick_view_button_shop' ), $priority ); } /** diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 1925eefd..1587b461 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -48,7 +48,7 @@ public function wp_enqueue_scripts() { filemtime( sgsb_modules_path( 'QuickView/assets/scripts/sgsb-quick-view-style.css' ) ) ); - // Pass AJAX URL to script + // Pass AJAX URL to script. wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script( 'wc-add-to-cart-variation' ); @@ -69,22 +69,30 @@ public function wp_enqueue_scripts() { true ); - // fancybox + wp_enqueue_script( + 'zoom', + sgsb_modules_url( 'QuickView/assets/libs/zoom/jquery.zoom.min.js' ), + array( 'jquery' ), + filemtime( sgsb_modules_path( 'QuickView/assets/libs/zoom/jquery.zoom.min.js' ) ), + true + ); + + // fancybox // if ( self::get_setting( 'content_image_lightbox', 'no' ) === 'yes' ) { - // wp_enqueue_style( 'fancybox', WOOSQ_URI . 'assets/libs/fancybox/jquery.fancybox.min.css' ); - // wp_enqueue_script( 'fancybox', WOOSQ_URI . 'assets/libs/fancybox/jquery.fancybox.min.js', array( 'jquery' ), WOOSQ_VERSION, true ); + // wp_enqueue_style( 'fancybox', sgsbqcv_URI . 'assets/libs/fancybox/jquery.fancybox.min.css' ); + // wp_enqueue_script( 'fancybox', sgsbqcv_URI . 'assets/libs/fancybox/jquery.fancybox.min.js', array( 'jquery' ), sgsbqcv_VERSION, true ); // } // zoom // if ( self::get_setting( 'content_image_lightbox', 'no' ) === 'zoom' ) { - // wp_enqueue_script( 'zoom', WOOSQ_URI . 'assets/libs/zoom/jquery.zoom.min.js', array( 'jquery' ), WOOSQ_VERSION, true ); + // wp_enqueue_script( 'zoom', sgsbqcv_URI . 'assets/libs/zoom/jquery.zoom.min.js', array( 'jquery' ), sgsbqcv_VERSION, true ); // } - // perfect srollbar + // perfect srollbar // if ( self::get_setting( 'perfect_scrollbar', 'yes' ) === 'yes' ) { - // wp_enqueue_style( 'perfect-scrollbar', WOOSQ_URI . 'assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css' ); - // wp_enqueue_style( 'perfect-scrollbar-wpc', WOOSQ_URI . 'assets/libs/perfect-scrollbar/css/custom-theme.css' ); - // wp_enqueue_script( 'perfect-scrollbar', WOOSQ_URI . 'assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js', array( 'jquery' ), WOOSQ_VERSION, true ); + // wp_enqueue_style( 'perfect-scrollbar', sgsbqcv_URI . 'assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css' ); + // wp_enqueue_style( 'perfect-scrollbar-wpc', sgsbqcv_URI . 'assets/libs/perfect-scrollbar/css/custom-theme.css' ); + // wp_enqueue_script( 'perfect-scrollbar', sgsbqcv_URI . 'assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js', array( 'jquery' ), sgsbqcv_VERSION, true ); // } // magnific @@ -111,7 +119,7 @@ public function wp_enqueue_scripts() { ); // if ( self::get_setting( 'button_icon', 'no' ) !== 'no' ) { - // wp_enqueue_style( 'woosq-icons', WOOSQ_URI . 'assets/css/icons.css', array(), WOOSQ_VERSION ); + // wp_enqueue_style( 'sgsbqcv-icons', sgsbqcv_URI . 'assets/css/icons.css', array(), sgsbqcv_VERSION ); // } // main style & js @@ -133,13 +141,13 @@ public function wp_enqueue_scripts() { ); wp_localize_script( 'sgsbqcv-frontend', - 'woosq_vars', + 'sgsbqcv_vars', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), - 'nonce' => wp_create_nonce( 'woosq-security' ), + 'nonce' => wp_create_nonce( 'sgsbqcv-security' ), 'view' => 'popup', 'effect' => 'mfp-3d-unfold', - 'scrollbar' => 'no', + 'scrollbar' => 'yes', 'auto_close' => 'yes', 'hashchange' => 'no', 'cart_redirect' => get_option( 'woocommerce_cart_redirect_after_add' ), @@ -148,12 +156,12 @@ public function wp_enqueue_scripts() { 'next_prev' => 'yes', 'next' => self::localization( 'next', esc_html__( 'Next (Right arrow key)', 'woo-smart-quick-view' ) ), 'prev' => self::localization( 'prev', esc_html__( 'Previous (Left arrow key)', 'woo-smart-quick-view' ) ), - 'thumbnails_effect' => 'no', + 'thumbnails_effect' => 'zoom', 'related_slick_params' => apply_filters( - 'woosq_related_slick_params', + 'sgsbqcv_related_slick_params', json_encode( apply_filters( - 'woosq_related_slick_params_arr', + 'sgsbqcv_related_slick_params_arr', array( 'slidesToShow' => 2, 'slidesToScroll' => 2, @@ -166,10 +174,10 @@ public function wp_enqueue_scripts() { ) ), 'thumbnails_slick_params' => apply_filters( - 'woosq_thumbnails_slick_params', + 'sgsbqcv_thumbnails_slick_params', json_encode( apply_filters( - 'woosq_thumbnails_slick_params_arr', + 'sgsbqcv_thumbnails_slick_params_arr', array( 'slidesToShow' => 1, 'slidesToScroll' => 1, @@ -182,10 +190,10 @@ public function wp_enqueue_scripts() { ) ), 'thumbnails_zoom_params' => apply_filters( - 'woosq_thumbnails_zoom_params', + 'sgsbqcv_thumbnails_zoom_params', json_encode( apply_filters( - 'woosq_thumbnails_zoom_params_arr', + 'sgsbqcv_thumbnails_zoom_params_arr', array( 'duration' => 120, 'magnify' => 1, @@ -209,7 +217,7 @@ public static function localization( $key = '', $default = '' ) { $str = $default; } - return apply_filters( 'woosq_localization_' . $key, $str ); + return apply_filters( 'sgsbqcv_localization_' . $key, $str ); } /** diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.css b/Includes/Modules/QuickView/assets/scripts/frontend.css index 3a0558c7..8645899b 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.css +++ b/Includes/Modules/QuickView/assets/scripts/frontend.css @@ -10,36 +10,36 @@ } } -@keyframes woosq-spinner { +@keyframes sgsbqcv-spinner { to { transform: rotate(360deg); } } -@-webkit-keyframes woosq-spinner { +@-webkit-keyframes sgsbqcv-spinner { to { -webkit-transform: rotate(360deg); } } -.woosq-btn-has-icon { +.sgsbqcv-btn-has-icon { display: inline-flex; align-items: center; } -.woosq-btn-has-icon .woosq-btn-icon { +.sgsbqcv-btn-has-icon .sgsbqcv-btn-icon { margin: 0; } -.woosq-btn-icon-text .woosq-btn-text { +.sgsbqcv-btn-icon-text .sgsbqcv-btn-text { margin-left: 5px; } -.woosq-btn-text-icon .woosq-btn-text { +.sgsbqcv-btn-text-icon .sgsbqcv-btn-text { margin-right: 5px; } -.woosq-popup { +.sgsbqcv-popup { position: relative; width: 90%; max-width: 920px; @@ -51,25 +51,25 @@ overflow: hidden; } -.woosq-popup *, .woosq-sidebar * { +.sgsbqcv-popup *, .sgsbqcv-sidebar * { box-sizing: border-box; } -.woosq-open .select2-container { +.sgsbqcv-open .select2-container { z-index: 99999969; } -.woosq-product { +.sgsbqcv-product { position: relative; overflow: hidden; } -.woosq-product > .product { +.sgsbqcv-product > .product { display: flex !important; float: none !important; } -.woosq-product > .product > div { +.sgsbqcv-product > .product > div { width: 50% !important; float: none !important; margin: 0 !important; @@ -77,7 +77,7 @@ overflow: auto; } -.woosq-product .thumbnails { +.sgsbqcv-product .thumbnails { outline: none; width: 460px; max-height: 460px; @@ -86,7 +86,7 @@ background-color: #f9f9f9; } -.woosq-product .thumbnails .images { +.sgsbqcv-product .thumbnails .images { width: 100% !important; height: 100% !important; float: none !important; @@ -94,13 +94,13 @@ padding: 0 !important; } -.woosq-product .thumbnails .thumbnail { +.sgsbqcv-product .thumbnails .thumbnail { display: flex; height: 100%; justify-content: center; } -.woosq-product .thumbnails img { +.sgsbqcv-product .thumbnails img { display: block; object-fit: contain; object-position: center; @@ -111,25 +111,25 @@ border-radius: 0; } -.woosq-product .thumbnails img[data-fancybox="gallery"] { +.sgsbqcv-product .thumbnails img[data-fancybox="gallery"] { cursor: pointer; } -.woosq-open .fancybox-container { +.sgsbqcv-open .fancybox-container { z-index: 99999970; } -.woosq-product .thumbnails { +.sgsbqcv-product .thumbnails { position: relative; margin: 0 0 0 0; } -.woosq-product .thumbnails .slick-slide { +.sgsbqcv-product .thumbnails .slick-slide { outline: none; max-height: 100%; } -.woosq-product .thumbnails .slick-list { +.sgsbqcv-product .thumbnails .slick-list { display: flex; width: 100%; height: 100%; @@ -137,13 +137,13 @@ position: relative; } -.woosq-product .thumbnails .slick-track { +.sgsbqcv-product .thumbnails .slick-track { display: flex; align-items: center; max-height: 460px; } -.woosq-product .thumbnails .slick-dots { +.sgsbqcv-product .thumbnails .slick-dots { margin: 0; padding: 0; display: block; @@ -155,7 +155,7 @@ z-index: 8; } -.woosq-product .thumbnails .slick-dots li { +.sgsbqcv-product .thumbnails .slick-dots li { position: relative; display: inline-block; width: 16px; @@ -165,7 +165,7 @@ cursor: pointer; } -.woosq-product .thumbnails .slick-dots li button { +.sgsbqcv-product .thumbnails .slick-dots li button { font-size: 0; line-height: 0; display: block; @@ -182,11 +182,11 @@ opacity: .5; } -.woosq-product .thumbnails .slick-dots li.slick-active button { +.sgsbqcv-product .thumbnails .slick-dots li.slick-active button { opacity: 1; } -.woosq-product .thumbnails .slick-dots li button:before { +.sgsbqcv-product .thumbnails .slick-dots li button:before { content: ''; display: block; width: 8px; @@ -195,11 +195,11 @@ background-color: #000000; } -.woosq-product .thumbnails .slick-dots li button:focus { +.sgsbqcv-product .thumbnails .slick-dots li button:focus { outline: none; } -.woosq-product .thumbnails .slick-arrow { +.sgsbqcv-product .thumbnails .slick-arrow { width: 44px; height: 44px; line-height: 44px; @@ -218,12 +218,12 @@ z-index: 8; } -.woosq-product .thumbnails .slick-arrow:hover { +.sgsbqcv-product .thumbnails .slick-arrow:hover { color: #fff; background-color: rgba(0, 0, 0, .5); } -.woosq-product .thumbnails .slick-arrow:before { +.sgsbqcv-product .thumbnails .slick-arrow:before { font-family: "feather"; font-size: 24px; line-height: 44px; @@ -236,33 +236,33 @@ -moz-osx-font-smoothing: grayscale; } -.woosq-product .thumbnails .slick-arrow:focus { +.sgsbqcv-product .thumbnails .slick-arrow:focus { outline: none; } -.woosq-product .thumbnails .slick-arrow.slick-prev { +.sgsbqcv-product .thumbnails .slick-arrow.slick-prev { left: 0; } -.woosq-product .thumbnails .slick-arrow.slick-prev:before { +.sgsbqcv-product .thumbnails .slick-arrow.slick-prev:before { content: '\e929'; } -.woosq-product .thumbnails .slick-arrow.slick-next { +.sgsbqcv-product .thumbnails .slick-arrow.slick-next { right: 0; } -.woosq-product .thumbnails .slick-arrow.slick-next:before { +.sgsbqcv-product .thumbnails .slick-arrow.slick-next:before { content: '\e92a'; } -.woosq-product > .product .summary { +.sgsbqcv-product > .product .summary { margin: 0; padding: 0; background-color: #fff; } -.woosq-related { +.sgsbqcv-related { padding-top: 20px; padding-bottom: 0; margin-top: 10px; @@ -272,38 +272,38 @@ border-color: #dddddd; } -.woosq-related .woosq-related-heading { +.sgsbqcv-related .sgsbqcv-related-heading { margin-bottom: 10px; } -.woosq-related .woosq-related-product { +.sgsbqcv-related .sgsbqcv-related-product { outline: none; display: flex; align-items: center; } -.woosq-related .woosq-related-product .woosq-related-product-image { +.sgsbqcv-related .sgsbqcv-related-product .sgsbqcv-related-product-image { width: 80px; flex: 0 0 80px; margin: 0; } -.woosq-related .woosq-related-product .woosq-related-product-image img { +.sgsbqcv-related .sgsbqcv-related-product .sgsbqcv-related-product-image img { width: 100%; height: auto; } -.woosq-related .woosq-related-product .woosq-related-product-info { +.sgsbqcv-related .sgsbqcv-related-product .sgsbqcv-related-product-info { flex-grow: 1; padding: 0 10px; text-align: start; } -.woosq-related .woosq-related-product .woosq-related-product-name { +.sgsbqcv-related .sgsbqcv-related-product .sgsbqcv-related-product-name { font-weight: 700; } -.woosq-related .woosq-related-product .woosq-related-product-atc p, .woosq-related .woosq-related-product .woosq-related-product-atc .add_to_cart_inline { +.sgsbqcv-related .sgsbqcv-related-product .sgsbqcv-related-product-atc p, .sgsbqcv-related .sgsbqcv-related-product .sgsbqcv-related-product-atc .add_to_cart_inline { margin: 0; padding: 0; border: none; @@ -311,26 +311,26 @@ width: 100%; } -.woosq-related .woosq-related-product .woosq-related-product-atc p .button { +.sgsbqcv-related .sgsbqcv-related-product .sgsbqcv-related-product-atc p .button { display: block; margin: 0; outline: none; } -.woosq-related .slick-dots { +.sgsbqcv-related .slick-dots { list-style: none; text-align: center; margin: 0; padding: 0; } -.woosq-related .slick-dots li { +.sgsbqcv-related .slick-dots li { display: inline-block; margin: 0 5px; font-size: 0; } -.woosq-related .slick-dots li button { +.sgsbqcv-related .slick-dots li button { width: 8px; height: 8px; border-radius: 50%; @@ -343,7 +343,7 @@ overflow: hidden; } -.woosq-related .slick-dots li.slick-active button { +.sgsbqcv-related .slick-dots li.slick-active button { background-color: rgba(0, 0, 0, .5); } @@ -376,7 +376,7 @@ background-color: #5fbd74; } -.woosq-product > .product .summary .summary-content { +.sgsbqcv-product > .product .summary .summary-content { height: 100%; overflow-x: hidden; overflow-y: auto; @@ -384,13 +384,13 @@ padding: 20px; } -.woosq-popup.view-details .woosq-product > .product .summary .summary-content { +.sgsbqcv-popup.view-details .sgsbqcv-product > .product .summary .summary-content { padding-bottom: 64px; } /* RTL */ -body.rtl .mfp-woosq .mfp-close { +body.rtl .mfp-sgsbqcv .mfp-close { right: auto !important; left: 0 !important; } @@ -398,7 +398,7 @@ body.rtl .mfp-woosq .mfp-close { /* Responsive */ @media screen and (max-width: 1023px) { - .woosq-popup { + .sgsbqcv-popup { max-width: 460px; max-height: 90vh; overflow: hidden; @@ -406,35 +406,35 @@ body.rtl .mfp-woosq .mfp-close { flex-direction: column; } - .woosq-product { + .sgsbqcv-product { height: 100%; flex-grow: 1; position: relative; overflow-y: auto; } - .woosq-product > .product { + .sgsbqcv-product > .product { display: flex; flex-direction: column; } - .woosq-product > .product > div { + .sgsbqcv-product > .product > div { width: 100% !important; float: none !important; margin: 0 !important; height: auto; } - .woosq-product > .product .thumbnails { + .sgsbqcv-product > .product .thumbnails { max-height: 338px; } - .woosq-product .thumbnails img { + .sgsbqcv-product .thumbnails img { max-height: 338px; margin: 0; } - .woosq-product .thumbnails .slick-track { + .sgsbqcv-product .thumbnails .slick-track { max-height: 338px; } @@ -444,27 +444,27 @@ body.rtl .mfp-woosq .mfp-close { } @media screen and (max-width: 767px) { - .mfp-woosq .mfp-arrow { + .mfp-sgsbqcv .mfp-arrow { display: none; } } /* Popup */ -.mfp-woosq { +.mfp-sgsbqcv { z-index: 99999969; overflow: auto; } -.mfp-woosq .mfp-content { +.mfp-sgsbqcv .mfp-content { text-align: -webkit-auto; } -.mfp-woosq .mfp-container { +.mfp-sgsbqcv .mfp-container { padding: 0; } -.mfp-woosq .mfp-close { +.mfp-sgsbqcv .mfp-close { width: 30px; height: 30px; line-height: 30px; @@ -472,19 +472,19 @@ body.rtl .mfp-woosq .mfp-close { font-size: 0; } -.mfp-woosq .mfp-close:hover { +.mfp-sgsbqcv .mfp-close:hover { background-color: transparent; } -.mfp-woosq .mfp-close:active { +.mfp-sgsbqcv .mfp-close:active { top: 0; } -.mfp-woosq .mfp-close:focus { +.mfp-sgsbqcv .mfp-close:focus { outline: none; } -.mfp-woosq .mfp-close:before { +.mfp-sgsbqcv .mfp-close:before { width: 30px; height: 30px; line-height: 30px; @@ -503,7 +503,7 @@ body.rtl .mfp-woosq .mfp-close { -moz-osx-font-smoothing: grayscale; } -.mfp-woosq .mfp-preloader { +.mfp-sgsbqcv .mfp-preloader { position: absolute; top: 50%; left: 50%; @@ -517,7 +517,7 @@ body.rtl .mfp-woosq .mfp-close { bottom: auto; } -.mfp-woosq .mfp-preloader:before { +.mfp-sgsbqcv .mfp-preloader:before { content: '\e9a7'; font-family: "feather"; display: inline-block; @@ -534,14 +534,14 @@ body.rtl .mfp-woosq .mfp-close { height: 30px; line-height: 30px; text-align: center; - -webkit-animation: woosq-spinner 1s linear infinite; - -moz-animation: woosq-spinner 1s linear infinite; - -ms-animation: woosq-spinner 1s linear infinite; - -o-animation: woosq-spinner 1s linear infinite; - animation: woosq-spinner 1s linear infinite; + -webkit-animation: sgsbqcv-spinner 1s linear infinite; + -moz-animation: sgsbqcv-spinner 1s linear infinite; + -ms-animation: sgsbqcv-spinner 1s linear infinite; + -o-animation: sgsbqcv-spinner 1s linear infinite; + animation: sgsbqcv-spinner 1s linear infinite; } -.mfp-woosq .mfp-arrow { +.mfp-sgsbqcv .mfp-arrow { width: 60px; height: 60px; line-height: 60px; @@ -554,19 +554,19 @@ body.rtl .mfp-woosq .mfp-close { opacity: 1; } -.mfp-woosq .mfp-arrow:active { +.mfp-sgsbqcv .mfp-arrow:active { margin-top: -30px; } -.mfp-woosq .mfp-arrow:hover { +.mfp-sgsbqcv .mfp-arrow:hover { background-color: rgba(0, 0, 0, .5); } -.mfp-woosq .mfp-arrow:focus { +.mfp-sgsbqcv .mfp-arrow:focus { outline: none; } -.mfp-woosq .mfp-arrow:before { +.mfp-sgsbqcv .mfp-arrow:before { width: 60px; height: 60px; line-height: 60px; @@ -586,15 +586,15 @@ body.rtl .mfp-woosq .mfp-close { color: #fff; } -.mfp-woosq .mfp-arrow:after { +.mfp-sgsbqcv .mfp-arrow:after { display: none; } -.mfp-woosq .mfp-arrow.mfp-arrow-left:before { +.mfp-sgsbqcv .mfp-arrow.mfp-arrow-left:before { content: '\e90e'; } -.mfp-woosq .mfp-arrow.mfp-arrow-right:before { +.mfp-sgsbqcv .mfp-arrow.mfp-arrow-right:before { content: '\e90f'; } @@ -939,7 +939,7 @@ body.rtl .mfp-woosq .mfp-close { /* Sidebar */ -.woosq-overlay { +.sgsbqcv-overlay { position: fixed; top: 0; left: 0; @@ -953,7 +953,7 @@ body.rtl .mfp-woosq .mfp-close { visibility: hidden; } -.woosq-sidebar { +.sgsbqcv-sidebar { font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 14px; padding: 0; @@ -968,7 +968,7 @@ body.rtl .mfp-woosq .mfp-close { visibility: hidden; } -.woosq-sidebar .woosq-close { +.sgsbqcv-sidebar .sgsbqcv-close { width: 40px; height: 40px; line-height: 40px; @@ -985,30 +985,30 @@ body.rtl .mfp-woosq .mfp-close { cursor: pointer; } -body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { +body.sgsbqcv-open .sgsbqcv-overlay, body.sgsbqcv-open .sgsbqcv-sidebar { opacity: 1; visibility: visible; } -.woosq-sidebar .woosq-product { +.sgsbqcv-sidebar .sgsbqcv-product { flex-grow: 1; overflow-x: hidden; overflow-y: auto; } -.woosq-sidebar .woosq-product > .product { +.sgsbqcv-sidebar .sgsbqcv-product > .product { display: flex; flex-direction: column; } -.woosq-sidebar .woosq-product > .product > div { +.sgsbqcv-sidebar .sgsbqcv-product > .product > div { width: 100% !important; float: none !important; margin: 0 !important; height: auto; } -.woosq-sidebar .view-details-btn { +.sgsbqcv-sidebar .view-details-btn { width: 100%; position: relative; box-shadow: none; @@ -1017,7 +1017,7 @@ body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { height: auto; } -.woosq-sidebar.woosq-loading:before { +.sgsbqcv-sidebar.sgsbqcv-loading:before { content: ''; display: block; width: 100%; @@ -1029,7 +1029,7 @@ body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { z-index: 8; } -.woosq-sidebar.woosq-loading:after { +.sgsbqcv-sidebar.sgsbqcv-loading:after { width: 32px; height: 32px; display: block; @@ -1042,17 +1042,17 @@ body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { background-image: url("../images/curve.svg"); background-repeat: no-repeat; background-position: center; - -webkit-animation: woosq-spinner 1s linear infinite; - -moz-animation: woosq-spinner 1s linear infinite; - -ms-animation: woosq-spinner 1s linear infinite; - -o-animation: woosq-spinner 1s linear infinite; - animation: woosq-spinner 1s linear infinite; + -webkit-animation: sgsbqcv-spinner 1s linear infinite; + -moz-animation: sgsbqcv-spinner 1s linear infinite; + -ms-animation: sgsbqcv-spinner 1s linear infinite; + -o-animation: sgsbqcv-spinner 1s linear infinite; + animation: sgsbqcv-spinner 1s linear infinite; z-index: 9; } /* Position 01 */ -.woosq-sidebar.woosq-position-01 { +.sgsbqcv-sidebar.sgsbqcv-position-01 { position: fixed; top: 0; left: 100%; @@ -1069,14 +1069,14 @@ body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { transition: all 0.5s; } -.woosq-open .woosq-sidebar.woosq-position-01 { +.sgsbqcv-open .sgsbqcv-sidebar.sgsbqcv-position-01 { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } /* Position 02 */ -.woosq-sidebar.woosq-position-02 { +.sgsbqcv-sidebar.sgsbqcv-position-02 { position: fixed; top: 0; left: 0; @@ -1093,22 +1093,22 @@ body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { transition: all 0.5s; } -.woosq-sidebar.woosq-position-02 .woosq-close { +.sgsbqcv-sidebar.sgsbqcv-position-02 .sgsbqcv-close { left: unset; right: -40px; } -.woosq-open .woosq-sidebar.woosq-position-02 { +.sgsbqcv-open .sgsbqcv-sidebar.sgsbqcv-position-02 { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } -.woosq-sidebar.woosq-heading-yes { +.sgsbqcv-sidebar.sgsbqcv-heading-yes { display: flex; flex-direction: column; } -.woosq-sidebar.woosq-heading-yes .woosq-sidebar-heading { +.sgsbqcv-sidebar.sgsbqcv-heading-yes .sgsbqcv-sidebar-heading { flex: 0 0 auto; height: 48px; line-height: 48px; @@ -1125,7 +1125,7 @@ body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { background-color: rgba(0, 0, 0, .1); } -.woosq-sidebar.woosq-heading-yes .woosq-sidebar-heading .woosq-close { +.sgsbqcv-sidebar.sgsbqcv-heading-yes .sgsbqcv-sidebar-heading .sgsbqcv-close { display: inline-block; width: 48px; height: 48px; @@ -1142,13 +1142,13 @@ body.woosq-open .woosq-overlay, body.woosq-open .woosq-sidebar { background-size: 14px; } -.woosq-sidebar.woosq-heading-yes .woosq-product .thumbnails { +.sgsbqcv-sidebar.sgsbqcv-heading-yes .sgsbqcv-product .thumbnails { padding: 20px 20px 0 20px; background-color: transparent; } @media screen and (max-width: 1023px) { - .woosq-sidebar .woosq-close { + .sgsbqcv-sidebar .sgsbqcv-close { left: unset !important; right: 0 !important; background-color: rgba(255, 255, 255, .5); diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index f4c584c4..124eaac6 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -1,11 +1,11 @@ "use strict"; -var woosq_ids = [], - woosq_products = []; +var sgsbqcv_ids = [], + sgsbqcv_products = []; console.log("Workimg"); (function ($) { $(function () { - $(".woosq-btn, .woosq-link").each(function () { + $(".sgsbqcv-btn, .sgsbqcv-link").each(function () { var id = $(this).attr("data-id"); var pid = $(this).attr("data-pid"); var product_id = $(this).attr("data-product_id"); @@ -18,25 +18,27 @@ console.log("Workimg"); id = product_id; } - if (-1 === $.inArray(id, woosq_ids)) { - woosq_ids.push(id); - woosq_products.push({ src: woosq_vars.ajax_url + "?product_id=" + id }); + if (-1 === $.inArray(id, sgsbqcv_ids)) { + sgsbqcv_ids.push(id); + sgsbqcv_products.push({ + src: sgsbqcv_vars.ajax_url + "?product_id=" + id, + }); } }); // quick view - if (woosq_vars.quick_view > 0) { + if (sgsbqcv_vars.quick_view > 0) { setTimeout(function () { - woosq_open(woosq_vars.quick_view); + sgsbqcv_open(sgsbqcv_vars.quick_view); }, 1000); } }); - console.log(woosq_vars); + console.log(sgsbqcv_vars); - $(document).on("click touch", '[href*="#woosq-"]', function (e) { + $(document).on("click touch", '[href*="#sgsbqcv-"]', function (e) { var $this = $(this); var href = $this.attr("href"); - var reg = /#woosq-([0-9]+)/g; + var reg = /#sgsbqcv-([0-9]+)/g; var match = reg.exec(href); if (match[1] !== undefined) { @@ -44,12 +46,12 @@ console.log("Workimg"); var effect = $this.attr("data-effect"); var context = $this.attr("data-context"); - woosq_open(id, effect, context); + sgsbqcv_open(id, effect, context); e.preventDefault(); } }); - $(document).on("click touch", ".woosq-btn, .woosq-link", function (e) { + $(document).on("click touch", ".sgsbqcv-btn, .sgsbqcv-link", function (e) { e.preventDefault(); var $this = $(this); @@ -67,79 +69,81 @@ console.log("Workimg"); id = product_id; } - woosq_open(id, effect, context); + sgsbqcv_open(id, effect, context); }); jQuery(document).ready(function ($) { console.log("loading"); function custom_ajax_add_to_cart(product_id) { - var quantity = $('#custom-quantity').val(); - - $.ajax({ - type: 'POST', - url: woosq_vars.ajax_url, - data: { - action: 'custom_ajax_add_to_cart', - product_id: product_id, - quantity: quantity, - }, - success: function (response) { - alert('Product added to cart!'); - }, - }); + var quantity = $("#custom-quantity").val(); + + $.ajax({ + type: "POST", + url: sgsbqcv_vars.ajax_url, + data: { + action: "custom_ajax_add_to_cart", + product_id: product_id, + quantity: quantity, + }, + success: function (response) { + alert("Product added to cart!"); + }, + }); } - $('body').on('click', '.custom-add-to-cart button', function () { - + $("body").on("click", ".custom-add-to-cart button", function () { // Get the ID of the clicked element (assumes the button has an ID attribute) - var clickedElementId = $(this).attr('product-id'); - console.log(clickedElementId); + var clickedElementId = $(this).attr("product-id"); + console.log(clickedElementId); - // // Call the function with the clicked element's ID - custom_ajax_add_to_cart(clickedElementId); + // // Call the function with the clicked element's ID + custom_ajax_add_to_cart(clickedElementId); // Add your additional logic here - }); + }); - $('.custom-add-to-cart').on('click', function () { + $(".custom-add-to-cart").on("click", function () { console.log("clicked"); - // Get the ID of the clicked element (assumes the button has an ID attribute) - var clickedElementId = $(this).attr('product-id'); + // Get the ID of the clicked element (assumes the button has an ID attribute) + var clickedElementId = $(this).attr("product-id"); - // // Call the function with the clicked element's ID - // custom_ajax_add_to_cart(clickedElementId); + // // Call the function with the clicked element's ID + // custom_ajax_add_to_cart(clickedElementId); }); -}); + }); // $(document).on("added_to_cart", function () { - // if (woosq_vars.auto_close === "yes") { - // if (woosq_vars.view === "popup") { + // if (sgsbqcv_vars.auto_close === "yes") { + // if (sgsbqcv_vars.view === "popup") { // $.magnificPopup.close(); // } - // woosq_close(); + // sgsbqcv_close(); // } // }); - $(document).on("woosq_loaded", function () { - var form_variation = $("#woosq-popup").find(".variations_form"); + $(document).on("sgsbqcv_loaded", function () { + var form_variation = $("#sgsbqcv-popup").find(".variations_form"); form_variation.each(function () { $(this).wc_variation_form(); }); - woosq_init_content("loaded"); + sgsbqcv_init_content("loaded"); // add redirect - if (!$("#woosq-popup .woosq-redirect").length) { - if (woosq_vars.cart_redirect === "yes" && woosq_vars.cart_url !== "") { - $("#woosq-popup form").prepend( - '' ); } else { - $("#woosq-popup form").prepend( - '' ); @@ -148,7 +152,7 @@ console.log("Workimg"); }); $(window).on("resize", function () { - woosq_init_content("resize"); + sgsbqcv_init_content("resize"); }); $(document).on("found_variation", function (e, t) { @@ -157,17 +161,17 @@ console.log("Workimg"); !$(e["target"]).closest(".woosg-product").length && !$(e["target"]).closest(".woobt-product").length && !$(e["target"]).closest(".woofs-product").length && - $(e["target"]).closest("#woosq-popup").length + $(e["target"]).closest("#sgsbqcv-popup").length ) { if (t["image_id"] !== undefined) { - if ($("#woosq-popup .thumbnails .thumbnail").length > 1) { + if ($("#sgsbqcv-popup .thumbnails .thumbnail").length > 1) { var $thumb = $( '.thumbnail:not(.slick-cloned)[data-id="' + t["image_id"] + '"]' ); if ($thumb.length) { - var pos = $("#woosq-popup .thumbnails .thumbnail").index($thumb); - var $images = $("#woosq-popup .thumbnails .images"); + var pos = $("#sgsbqcv-popup .thumbnails .thumbnail").index($thumb); + var $images = $("#sgsbqcv-popup .thumbnails .images"); if (pos > 0 && $images.hasClass("slick-initialized")) { setTimeout(function () { @@ -181,114 +185,120 @@ console.log("Workimg"); }); $(document).on("reset_data", function (e) { - if ($(e["target"]).closest("#woosq-popup").length) { + if ($(e["target"]).closest("#sgsbqcv-popup").length) { if ( - $("#woosq-popup .thumbnails .thumbnail").length > 1 && - $("#woosq-popup .thumbnails .images").hasClass("slick-initialized") + $("#sgsbqcv-popup .thumbnails .thumbnail").length > 1 && + $("#sgsbqcv-popup .thumbnails .images").hasClass("slick-initialized") ) { - $("#woosq-popup .thumbnails .images").slick("slickGoTo", 0); + $("#sgsbqcv-popup .thumbnails .images").slick("slickGoTo", 0); } } }); - if (woosq_vars.hashchange === "yes") { + if (sgsbqcv_vars.hashchange === "yes") { $(window).on("hashchange", function () { - if (location.href.indexOf("#woosq") < 0) { - if (woosq_vars.view === "popup") { + if (location.href.indexOf("#sgsbqcv") < 0) { + if (sgsbqcv_vars.view === "popup") { $.magnificPopup.close(); } - woosq_close(); + sgsbqcv_close(); } }); } - $(document).on("click touch", ".woosq-overlay, .woosq-close", function () { - woosq_close(); - }); + $(document).on( + "click touch", + ".sgsbqcv-overlay, .sgsbqcv-close", + function () { + sgsbqcv_close(); + } + ); })(jQuery); -function woosq_open(id, effect, context) { - jQuery("body").addClass("woosq-open"); +function sgsbqcv_open(id, effect, context) { + jQuery("body").addClass("sgsbqcv-open"); - if (woosq_vars.view === "sidebar") { + if (sgsbqcv_vars.view === "sidebar") { // sidebar - woosq_loading(); + sgsbqcv_loading(); var data = { - action: "woosq_quickview", + action: "sgsbqcv_quickview", product_id: id, - nonce: woosq_vars.nonce, + nonce: sgsbqcv_vars.nonce, }; - jQuery.post(woosq_vars.ajax_url, data, function (response) { - jQuery(".woosq-sidebar").html(response); - woosq_loaded(); - jQuery(document.body).trigger("woosq_loaded", [id]); + jQuery.post(sgsbqcv_vars.ajax_url, data, function (response) { + jQuery(".sgsbqcv-sidebar").html(response); + sgsbqcv_loaded(); + jQuery(document.body).trigger("sgsbqcv_loaded", [id]); }); } else { // popup - if (-1 === jQuery.inArray(id, woosq_ids)) { - woosq_ids.push(id); - woosq_products.push({ src: woosq_vars.ajax_url + "?product_id=" + id }); + if (-1 === jQuery.inArray(id, sgsbqcv_ids)) { + sgsbqcv_ids.push(id); + sgsbqcv_products.push({ + src: sgsbqcv_vars.ajax_url + "?product_id=" + id, + }); } - var index = woosq_get_key( - woosq_products, + var index = sgsbqcv_get_key( + sgsbqcv_products, "src", - woosq_vars.ajax_url + "?product_id=" + id + sgsbqcv_vars.ajax_url + "?product_id=" + id ); - var main_class = "mfp-woosq"; + var main_class = "mfp-sgsbqcv"; if (typeof context !== typeof undefined && context !== false) { - main_class = main_class + " mfp-woosq-" + context; + main_class = main_class + " mfp-sgsbqcv-" + context; } if (typeof effect !== typeof undefined && effect !== false) { main_class = main_class + " " + effect; } else { - main_class = main_class + " " + woosq_vars.effect; + main_class = main_class + " " + sgsbqcv_vars.effect; } jQuery.magnificPopup.open( { - items: woosq_products, + items: sgsbqcv_products, type: "ajax", mainClass: main_class, removalDelay: 160, overflowY: "scroll", fixedContentPos: true, - tClose: woosq_vars.close, + tClose: sgsbqcv_vars.close, gallery: { - tPrev: woosq_vars.prev, - tNext: woosq_vars.next, - enabled: woosq_vars.next_prev === "yes", + tPrev: sgsbqcv_vars.prev, + tNext: sgsbqcv_vars.next, + enabled: sgsbqcv_vars.next_prev === "yes", }, ajax: { settings: { type: "GET", data: { - action: "woosq_quickview", - nonce: woosq_vars.nonce, + action: "sgsbqcv_quickview", + nonce: sgsbqcv_vars.nonce, }, }, }, callbacks: { open: function () { - if (woosq_vars.hashchange === "yes") { - location.href = location.href.split("#")[0] + "#woosq"; + if (sgsbqcv_vars.hashchange === "yes") { + location.href = location.href.split("#")[0] + "#sgsbqcv"; } }, ajaxContentAdded: function () { - jQuery(document.body).trigger("woosq_loaded", [id]); + jQuery(document.body).trigger("sgsbqcv_loaded", [id]); }, close: function () { - if (woosq_vars.hashchange === "yes") { + if (sgsbqcv_vars.hashchange === "yes") { if (location.hash) history.go(-1); } }, afterClose: function () { - jQuery(document.body).trigger("woosq_close", [id]); + jQuery(document.body).trigger("sgsbqcv_close", [id]); }, }, }, @@ -296,46 +306,46 @@ function woosq_open(id, effect, context) { ); } - jQuery(document.body).trigger("woosq_open", [id]); + jQuery(document.body).trigger("sgsbqcv_open", [id]); } -function woosq_close() { - jQuery("body").removeClass("woosq-open"); - jQuery(document.body).trigger("woosq_close"); +function sgsbqcv_close() { + jQuery("body").removeClass("sgsbqcv-open"); + jQuery(document.body).trigger("sgsbqcv_close"); } -function woosq_loading() { - jQuery(".woosq-sidebar").addClass("woosq-loading"); +function sgsbqcv_loading() { + jQuery(".sgsbqcv-sidebar").addClass("sgsbqcv-loading"); } -function woosq_loaded() { - jQuery(".woosq-sidebar").removeClass("woosq-loading"); +function sgsbqcv_loaded() { + jQuery(".sgsbqcv-sidebar").removeClass("sgsbqcv-loading"); } -function woosq_init_content(context) { +function sgsbqcv_init_content(context) { if (context === "loaded") { - woosq_thumbnails_zoom(); - woosq_thumbnails_slick(); - woosq_related_slick(); + sgsbqcv_thumbnails_zoom(); + sgsbqcv_thumbnails_slick(); + sgsbqcv_related_slick(); } - if (woosq_vars.view === "sidebar") { - if (woosq_vars.scrollbar === "yes") { - jQuery(".woosq-product") + if (sgsbqcv_vars.view === "sidebar") { + if (sgsbqcv_vars.scrollbar === "yes") { + jQuery(".sgsbqcv-product") .perfectScrollbar("destroy") .perfectScrollbar({ theme: "wpc" }); } } else { // fix for popup - if (woosq_vars.scrollbar === "yes") { + if (sgsbqcv_vars.scrollbar === "yes") { if (jQuery(window).width() < 1024) { - jQuery(".woosq-product .summary-content").perfectScrollbar("destroy"); - jQuery(".woosq-product") + jQuery(".sgsbqcv-product .summary-content").perfectScrollbar("destroy"); + jQuery(".sgsbqcv-product") .perfectScrollbar("destroy") .perfectScrollbar({ theme: "wpc" }); } else { - jQuery(".woosq-product").perfectScrollbar("destroy"); - jQuery(".woosq-product .summary-content") + jQuery(".sgsbqcv-product").perfectScrollbar("destroy"); + jQuery(".sgsbqcv-product .summary-content") .perfectScrollbar("destroy") .perfectScrollbar({ theme: "wpc" }); } @@ -343,7 +353,7 @@ function woosq_init_content(context) { } } -function woosq_get_key(array, key, value) { +function sgsbqcv_get_key(array, key, value) { for (var i = 0; i < array.length; i++) { if (array[i][key] === value) { return i; @@ -353,11 +363,11 @@ function woosq_get_key(array, key, value) { return -1; } -function woosq_thumbnails_zoom() { - if (woosq_vars.thumbnails_effect === "zoom") { - jQuery("#woosq-popup .thumbnails .images .thumbnail").each(function () { +function sgsbqcv_thumbnails_zoom() { + if (sgsbqcv_vars.thumbnails_effect === "zoom") { + jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").each(function () { var $this = jQuery(this); - var zoom_params = JSON.parse(woosq_vars.thumbnails_zoom_params); + var zoom_params = JSON.parse(sgsbqcv_vars.thumbnails_zoom_params); zoom_params.url = $this.find("img").attr("data-src"); @@ -368,30 +378,30 @@ function woosq_thumbnails_zoom() { } } -function woosq_thumbnails_slick() { - if (jQuery("#woosq-popup .thumbnails .images .thumbnail").length > 1) { +function sgsbqcv_thumbnails_slick() { + if (jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").length > 1) { if ( - jQuery("#woosq-popup .thumbnails .images").hasClass("slick-initialized") + jQuery("#sgsbqcv-popup .thumbnails .images").hasClass("slick-initialized") ) { // unslick first - jQuery("#woosq-popup .thumbnails .images").slick("unslick"); + jQuery("#sgsbqcv-popup .thumbnails .images").slick("unslick"); } - jQuery("#woosq-popup .thumbnails .images").slick( - JSON.parse(woosq_vars.thumbnails_slick_params) + jQuery("#sgsbqcv-popup .thumbnails .images").slick( + JSON.parse(sgsbqcv_vars.thumbnails_slick_params) ); } } -function woosq_related_slick() { - if (jQuery(".woosq-related-products").hasClass("slick-initialized")) { +function sgsbqcv_related_slick() { + if (jQuery(".sgsbqcv-related-products").hasClass("slick-initialized")) { // unslick first - jQuery(".woosq-related-products").slick("unslick"); + jQuery(".sgsbqcv-related-products").slick("unslick"); } - if (jQuery(".woosq-related-product").length > 1) { - jQuery(".woosq-related-products").slick( - JSON.parse(woosq_vars.related_slick_params) + if (jQuery(".sgsbqcv-related-product").length > 1) { + jQuery(".sgsbqcv-related-products").slick( + JSON.parse(sgsbqcv_vars.related_slick_params) ); } } diff --git a/Includes/Modules/QuickView/assets/scripts/quick-view.js b/Includes/Modules/QuickView/assets/scripts/quick-view.js index 0f179c19..2b2ddcc5 100644 --- a/Includes/Modules/QuickView/assets/scripts/quick-view.js +++ b/Includes/Modules/QuickView/assets/scripts/quick-view.js @@ -1,13 +1,14 @@ -'use strict'; +"use strict"; -var sgsbqcv_ids = [], sgsbqcv_products = []; +var sgsbqcv_ids = [], + sgsbqcv_products = []; console.log(sgsbqcv_vars); -(function($) { - $(function() { - $('.sgsbqcv-btn, .woosq-link').each(function() { - var id = $(this).attr('data-id'); - var pid = $(this).attr('data-pid'); - var product_id = $(this).attr('data-product_id'); +(function ($) { + $(function () { + $(".sgsbqcv-btn, .sgsbqcv-link").each(function () { + var id = $(this).attr("data-id"); + var pid = $(this).attr("data-pid"); + var product_id = $(this).attr("data-product_id"); if (typeof pid !== typeof undefined && pid !== false) { id = pid; @@ -19,45 +20,47 @@ console.log(sgsbqcv_vars); if (-1 === $.inArray(id, sgsbqcv_ids)) { sgsbqcv_ids.push(id); - sgsbqcv_products.push({src: sgsbqcv_vars.ajax_url + '?product_id=' + id}); + sgsbqcv_products.push({ + src: sgsbqcv_vars.ajax_url + "?product_id=" + id, + }); } }); - console.log(sgsbqcv_ids) - console.log(sgsbqcv_products) + console.log(sgsbqcv_ids); + console.log(sgsbqcv_products); // quick view if (sgsbqcv_vars.quick_view > 0) { - setTimeout(function() { - woosq_open(sgsbqcv_vars.quick_view); + setTimeout(function () { + sgsbqcv_open(sgsbqcv_vars.quick_view); }, 1000); } }); - $(document).on('click touch', '[href*="#woosq-"]', function(e) { + $(document).on("click touch", '[href*="#sgsbqcv-"]', function (e) { var $this = $(this); - var href = $this.attr('href'); - var reg = /#woosq-([0-9]+)/g; + var href = $this.attr("href"); + var reg = /#sgsbqcv-([0-9]+)/g; var match = reg.exec(href); if (match[1] !== undefined) { var id = match[1]; - var effect = $this.attr('data-effect'); - var context = $this.attr('data-context'); + var effect = $this.attr("data-effect"); + var context = $this.attr("data-context"); - woosq_open(id, effect, context); + sgsbqcv_open(id, effect, context); e.preventDefault(); } }); - $(document).on('click touch', '.sgsbqcv-btn, .woosq-link', function(e) { + $(document).on("click touch", ".sgsbqcv-btn, .sgsbqcv-link", function (e) { e.preventDefault(); var $this = $(this); - var id = $this.attr('data-id'); - var pid = $this.attr('data-pid'); - var product_id = $this.attr('data-product_id'); - var effect = $this.attr('data-effect'); - var context = $this.attr('data-context'); + var id = $this.attr("data-id"); + var pid = $this.attr("data-pid"); + var product_id = $this.attr("data-product_id"); + var effect = $this.attr("data-effect"); + var context = $this.attr("data-context"); if (typeof pid !== typeof undefined && pid !== false) { id = pid; @@ -69,67 +72,74 @@ console.log(sgsbqcv_vars); console.log("contectss"); console.log(`${id} ${effect} ${context}`); - woosq_open(id, effect, context); + sgsbqcv_open(id, effect, context); }); - $(document).on('added_to_cart', function() { - if (sgsbqcv_vars.auto_close === 'yes') { - if (sgsbqcv_vars.view === 'popup') { + $(document).on("added_to_cart", function () { + if (sgsbqcv_vars.auto_close === "yes") { + if (sgsbqcv_vars.view === "popup") { $.magnificPopup.close(); } - woosq_close(); + sgsbqcv_close(); } }); - $(document).on('woosq_loaded', function() { - var form_variation = $('#woosq-popup').find('.variations_form'); + $(document).on("sgsbqcv_loaded", function () { + var form_variation = $("#sgsbqcv-popup").find(".variations_form"); - form_variation.each(function() { + form_variation.each(function () { $(this).wc_variation_form(); }); - woosq_init_content('loaded'); + sgsbqcv_init_content("loaded"); // add redirect - if (!$('#woosq-popup .woosq-redirect').length) { - if ((sgsbqcv_vars.cart_redirect === 'yes') && - (sgsbqcv_vars.cart_url !== '')) { - $('#woosq-popup form'). - prepend( - ''); + if (!$("#sgsbqcv-popup .sgsbqcv-redirect").length) { + if ( + sgsbqcv_vars.cart_redirect === "yes" && + sgsbqcv_vars.cart_url !== "" + ) { + $("#sgsbqcv-popup form").prepend( + '' + ); } else { - $('#woosq-popup form'). - prepend( - ''); + $("#sgsbqcv-popup form").prepend( + '' + ); } } }); - $(window).on('resize', function() { - woosq_init_content('resize'); + $(window).on("resize", function () { + sgsbqcv_init_content("resize"); }); - $(document).on('found_variation', function(e, t) { - if (!$(e['target']).closest('.woosb-product').length && - !$(e['target']).closest('.woosg-product').length && - !$(e['target']).closest('.woobt-product').length && - !$(e['target']).closest('.woofs-product').length && - $(e['target']).closest('#woosq-popup').length) { - if (t['image_id'] !== undefined) { - if ($('#woosq-popup .thumbnails .thumbnail').length > 1) { + $(document).on("found_variation", function (e, t) { + if ( + !$(e["target"]).closest(".woosb-product").length && + !$(e["target"]).closest(".woosg-product").length && + !$(e["target"]).closest(".woobt-product").length && + !$(e["target"]).closest(".woofs-product").length && + $(e["target"]).closest("#sgsbqcv-popup").length + ) { + if (t["image_id"] !== undefined) { + if ($("#sgsbqcv-popup .thumbnails .thumbnail").length > 1) { var $thumb = $( - '.thumbnail:not(.slick-cloned)[data-id="' + t['image_id'] + '"]'); + '.thumbnail:not(.slick-cloned)[data-id="' + t["image_id"] + '"]' + ); if ($thumb.length) { - var pos = $('#woosq-popup .thumbnails .thumbnail').index($thumb); - var $images = $('#woosq-popup .thumbnails .images'); + var pos = $("#sgsbqcv-popup .thumbnails .thumbnail").index($thumb); + var $images = $("#sgsbqcv-popup .thumbnails .images"); - if ((pos > 0) && $images.hasClass('slick-initialized')) { - setTimeout(function() { - $images.slick('slickGoTo', pos - 1); + if (pos > 0 && $images.hasClass("slick-initialized")) { + setTimeout(function () { + $images.slick("slickGoTo", pos - 1); }, 100); } } @@ -138,155 +148,175 @@ console.log(sgsbqcv_vars); } }); - $(document).on('reset_data', function(e) { - if ($(e['target']).closest('#woosq-popup').length) { - if (($('#woosq-popup .thumbnails .thumbnail').length > 1) && - $('#woosq-popup .thumbnails .images').hasClass('slick-initialized')) { - $('#woosq-popup .thumbnails .images').slick('slickGoTo', 0); + $(document).on("reset_data", function (e) { + if ($(e["target"]).closest("#sgsbqcv-popup").length) { + if ( + $("#sgsbqcv-popup .thumbnails .thumbnail").length > 1 && + $("#sgsbqcv-popup .thumbnails .images").hasClass("slick-initialized") + ) { + $("#sgsbqcv-popup .thumbnails .images").slick("slickGoTo", 0); } } }); - if (sgsbqcv_vars.hashchange === 'yes') { - $(window).on('hashchange', function() { - if (location.href.indexOf('#woosq') < 0) { - if (sgsbqcv_vars.view === 'popup') { + if (sgsbqcv_vars.hashchange === "yes") { + $(window).on("hashchange", function () { + if (location.href.indexOf("#sgsbqcv") < 0) { + if (sgsbqcv_vars.view === "popup") { $.magnificPopup.close(); } - woosq_close(); + sgsbqcv_close(); } }); } - $(document).on('click touch', '.woosq-overlay, .woosq-close', function() { - woosq_close(); - }); + $(document).on( + "click touch", + ".sgsbqcv-overlay, .sgsbqcv-close", + function () { + sgsbqcv_close(); + } + ); })(jQuery); -function woosq_open(id, effect, context) { - jQuery('body').addClass('woosq-open'); +function sgsbqcv_open(id, effect, context) { + jQuery("body").addClass("sgsbqcv-open"); - if (sgsbqcv_vars.view === 'sidebar') { + if (sgsbqcv_vars.view === "sidebar") { // sidebar - woosq_loading(); + sgsbqcv_loading(); var data = { - action: 'get_product_data', product_id: id, nonce: sgsbqcv_vars.nonce, + action: "get_product_data", + product_id: id, + nonce: sgsbqcv_vars.nonce, }; - jQuery.post(sgsbqcv_vars.ajax_url, data, function(response) { - jQuery('.woosq-sidebar').html(response); - woosq_loaded(); - jQuery(document.body).trigger('woosq_loaded', [id]); + jQuery.post(sgsbqcv_vars.ajax_url, data, function (response) { + jQuery(".sgsbqcv-sidebar").html(response); + sgsbqcv_loaded(); + jQuery(document.body).trigger("sgsbqcv_loaded", [id]); }); } else { // popup if (-1 === jQuery.inArray(id, sgsbqcv_ids)) { sgsbqcv_ids.push(id); - sgsbqcv_products.push({src: sgsbqcv_vars.ajax_url + '?product_id=' + id}); + sgsbqcv_products.push({ + src: sgsbqcv_vars.ajax_url + "?product_id=" + id, + }); } - var index = woosq_get_key(sgsbqcv_products, 'src', - sgsbqcv_vars.ajax_url + '?product_id=' + id); - var main_class = 'mfp-woosq'; + var index = sgsbqcv_get_key( + sgsbqcv_products, + "src", + sgsbqcv_vars.ajax_url + "?product_id=" + id + ); + var main_class = "mfp-sgsbqcv"; if (typeof context !== typeof undefined && context !== false) { - main_class = main_class + ' mfp-woosq-' + context; + main_class = main_class + " mfp-sgsbqcv-" + context; } if (typeof effect !== typeof undefined && effect !== false) { - main_class = main_class + ' ' + effect; + main_class = main_class + " " + effect; } else { - main_class = main_class + ' ' + sgsbqcv_vars.effect; + main_class = main_class + " " + sgsbqcv_vars.effect; } - jQuery.magnificPopup.open({ - items: sgsbqcv_products, - type: 'ajax', - mainClass: main_class, - removalDelay: 160, - overflowY: 'scroll', - fixedContentPos: true, - tClose: sgsbqcv_vars.close, - gallery: { - tPrev: sgsbqcv_vars.prev, - tNext: sgsbqcv_vars.next, - enabled: sgsbqcv_vars.next_prev === 'yes', - }, - ajax: { - settings: { - type: 'GET', - data: { - action: 'get_product_data', nonce: sgsbqcv_vars.nonce, + jQuery.magnificPopup.open( + { + items: sgsbqcv_products, + type: "ajax", + mainClass: main_class, + removalDelay: 160, + overflowY: "scroll", + fixedContentPos: true, + tClose: sgsbqcv_vars.close, + gallery: { + tPrev: sgsbqcv_vars.prev, + tNext: sgsbqcv_vars.next, + enabled: sgsbqcv_vars.next_prev === "yes", + }, + ajax: { + settings: { + type: "GET", + data: { + action: "get_product_data", + nonce: sgsbqcv_vars.nonce, + }, }, }, - }, - callbacks: { - open: function() { - if (sgsbqcv_vars.hashchange === 'yes') { - location.href = location.href.split('#')[0] + '#woosq'; - } - }, ajaxContentAdded: function() { - jQuery(document.body).trigger('woosq_loaded', [id]); - }, close: function() { - if (sgsbqcv_vars.hashchange === 'yes') { - if (location.hash) history.go(-1); - } - }, afterClose: function() { - jQuery(document.body).trigger('woosq_close', [id]); + callbacks: { + open: function () { + if (sgsbqcv_vars.hashchange === "yes") { + location.href = location.href.split("#")[0] + "#sgsbqcv"; + } + }, + ajaxContentAdded: function () { + jQuery(document.body).trigger("sgsbqcv_loaded", [id]); + }, + close: function () { + if (sgsbqcv_vars.hashchange === "yes") { + if (location.hash) history.go(-1); + } + }, + afterClose: function () { + jQuery(document.body).trigger("sgsbqcv_close", [id]); + }, }, }, - }, index); + index + ); } - jQuery(document.body).trigger('woosq_open', [id]); + jQuery(document.body).trigger("sgsbqcv_open", [id]); } -function woosq_close() { - jQuery('body').removeClass('woosq-open'); - jQuery(document.body).trigger('woosq_close'); +function sgsbqcv_close() { + jQuery("body").removeClass("sgsbqcv-open"); + jQuery(document.body).trigger("sgsbqcv_close"); } -function woosq_loading() { - jQuery('.woosq-sidebar').addClass('woosq-loading'); +function sgsbqcv_loading() { + jQuery(".sgsbqcv-sidebar").addClass("sgsbqcv-loading"); } -function woosq_loaded() { - jQuery('.woosq-sidebar').removeClass('woosq-loading'); +function sgsbqcv_loaded() { + jQuery(".sgsbqcv-sidebar").removeClass("sgsbqcv-loading"); } -function woosq_init_content(context) { - if (context === 'loaded') { - woosq_thumbnails_zoom(); - woosq_thumbnails_slick(); - woosq_related_slick(); +function sgsbqcv_init_content(context) { + if (context === "loaded") { + sgsbqcv_thumbnails_zoom(); + sgsbqcv_thumbnails_slick(); + sgsbqcv_related_slick(); } - if (sgsbqcv_vars.view === 'sidebar') { - if (sgsbqcv_vars.scrollbar === 'yes') { - jQuery('.woosq-product'). - perfectScrollbar('destroy'). - perfectScrollbar({theme: 'wpc'}); + if (sgsbqcv_vars.view === "sidebar") { + if (sgsbqcv_vars.scrollbar === "yes") { + jQuery(".sgsbqcv-product") + .perfectScrollbar("destroy") + .perfectScrollbar({ theme: "wpc" }); } } else { // fix for popup - if (sgsbqcv_vars.scrollbar === 'yes') { + if (sgsbqcv_vars.scrollbar === "yes") { if (jQuery(window).width() < 1024) { - // jQuery('.woosq-product .summary-content').perfectScrollbar('destroy'); - jQuery('.woosq-product'). - perfectScrollbar('destroy'). - perfectScrollbar({theme: 'wpc'}); + // jQuery('.sgsbqcv-product .summary-content').perfectScrollbar('destroy'); + jQuery(".sgsbqcv-product") + .perfectScrollbar("destroy") + .perfectScrollbar({ theme: "wpc" }); } else { - // jQuery('.woosq-product').perfectScrollbar('destroy'); - jQuery('.woosq-product .summary-content'). - perfectScrollbar('destroy'). - perfectScrollbar({theme: 'wpc'}); + // jQuery('.sgsbqcv-product').perfectScrollbar('destroy'); + jQuery(".sgsbqcv-product .summary-content") + .perfectScrollbar("destroy") + .perfectScrollbar({ theme: "wpc" }); } } } } -function woosq_get_key(array, key, value) { +function sgsbqcv_get_key(array, key, value) { for (var i = 0; i < array.length; i++) { if (array[i][key] === value) { return i; @@ -296,42 +326,45 @@ function woosq_get_key(array, key, value) { return -1; } -function woosq_thumbnails_zoom() { - if (sgsbqcv_vars.thumbnails_effect === 'zoom') { - jQuery('#woosq-popup .thumbnails .images .thumbnail').each(function() { +function sgsbqcv_thumbnails_zoom() { + if (sgsbqcv_vars.thumbnails_effect === "zoom") { + jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").each(function () { var $this = jQuery(this); var zoom_params = JSON.parse(sgsbqcv_vars.thumbnails_zoom_params); - zoom_params.url = $this.find('img').attr('data-src'); + zoom_params.url = $this.find("img").attr("data-src"); // destroy first - $this.trigger('zoom.destroy'); + $this.trigger("zoom.destroy"); $this.zoom(zoom_params); }); } } -function woosq_thumbnails_slick() { - if (jQuery('#woosq-popup .thumbnails .images .thumbnail').length > 1) { - if (jQuery('#woosq-popup .thumbnails .images'). - hasClass('slick-initialized')) { +function sgsbqcv_thumbnails_slick() { + if (jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").length > 1) { + if ( + jQuery("#sgsbqcv-popup .thumbnails .images").hasClass("slick-initialized") + ) { // unslick first - jQuery('#woosq-popup .thumbnails .images').slick('unslick'); + jQuery("#sgsbqcv-popup .thumbnails .images").slick("unslick"); } - jQuery('#woosq-popup .thumbnails .images'). - slick(JSON.parse(sgsbqcv_vars.thumbnails_slick_params)); + jQuery("#sgsbqcv-popup .thumbnails .images").slick( + JSON.parse(sgsbqcv_vars.thumbnails_slick_params) + ); } } -function woosq_related_slick() { - if (jQuery('.woosq-related-products').hasClass('slick-initialized')) { +function sgsbqcv_related_slick() { + if (jQuery(".sgsbqcv-related-products").hasClass("slick-initialized")) { // unslick first - jQuery('.woosq-related-products').slick('unslick'); + jQuery(".sgsbqcv-related-products").slick("unslick"); } - if (jQuery('.woosq-related-product').length > 1) { - jQuery('.woosq-related-products'). - slick(JSON.parse(sgsbqcv_vars.related_slick_params)); + if (jQuery(".sgsbqcv-related-product").length > 1) { + jQuery(".sgsbqcv-related-products").slick( + JSON.parse(sgsbqcv_vars.related_slick_params) + ); } } diff --git a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx new file mode 100644 index 00000000..eceddfcb --- /dev/null +++ b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx @@ -0,0 +1,118 @@ +import { Fragment } from "react"; +import { __ } from "@wordpress/i18n"; +import { applyFilters } from "@wordpress/hooks"; +import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; +import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; +import TextInput from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/TextInput"; +import { Switcher, SelectBox } from "sales-booster/src/components/settings/Panels"; +import Templates from "./Templates"; + +function ButtonSettingsTab(props) { + const { + formData, + setFormData, + onFieldChange, + onFormSave, + buttonLoading, + onFormReset, + } = props; + + const buttonPositions = [ + { + value: "after_add_to_cart", + label: __("After Add to Cart", "storegrowth-sales-booster"), + }, + { + value: "before_add_to_cart", + label: __("Before Add to Cart", "storegrowth-sales-booster"), + }, + { + value: "center_on_the_image", + label: __("Center On The Image", "storegrowth-sales-booster"), + }, + ]; + + return ( + + + + + + + + + + + ); +} + +export default ButtonSettingsTab; diff --git a/Includes/Modules/QuickView/assets/src/components/DesingTab.jsx b/Includes/Modules/QuickView/assets/src/components/DesingTab.jsx index 6a47dc81..36bf07ec 100644 --- a/Includes/Modules/QuickView/assets/src/components/DesingTab.jsx +++ b/Includes/Modules/QuickView/assets/src/components/DesingTab.jsx @@ -4,12 +4,10 @@ import { applyFilters } from "@wordpress/hooks"; import SettingsSection from "sales-booster/src/components/settings/Panels/PanelSettings/SettingsSection"; import ColourPicker from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/ColorPicker"; import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; -import Templates from "./Templates"; function DesignTab(props) { const { formData, - setFormData, onFieldChange, onFormSave, buttonLoading, @@ -47,8 +45,6 @@ function DesignTab(props) { - - - - {applyFilters( "sgsb_variation_product_quick_view_enable_settings", "", diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx index 8b6f6655..eda37baf 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx @@ -13,6 +13,7 @@ import TouchPreview from "sales-booster/src/components/settings/Panels/TouchPrev import GeneralSettingsTab from "./GeneralSettingsTab"; import DesignTab from "./DesingTab"; import Preview from "./Preview"; +import ButtonSettingsTab from "./ButtonSettingsTab"; function QuickViewLayout({ navigate, useSearchParams, moduleId }) { @@ -23,28 +24,29 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const tabName = searchParams.get("tab_name") || "general"; const initalQuickViewData = { - popup_on_mobile : false, - enable_lightbox : false, - modal_animation_effect : "", - enable_product_navigation : false, - show_title : true, - show_description : true, - show_price : true, - show_image : true, - show_excerpt : true, - show_meta : true, - show_add_to_cart : false, - button_label : __("Quick View", "storegrowth-sales-booster"), - button_position : "after_add_to_cart", - enable_qucik_view_icon : false, - quick_view_icon : "quick-icon-1", - show_quick_icon : true, - show_view_details_button : false, - button_color : "#000000", - button_text_color : "#ffffff", - modal_background_color : "#ffffff", - navigation_background : "#000000", - navigation_text_color : "$ffffff", + popup_on_mobile: false, + enable_lightbox: false, + modal_animation_effect: "", + enable_product_navigation: false, + show_title: true, + show_description: true, + show_price: true, + show_image: true, + show_excerpt: true, + show_meta: true, + show_add_to_cart: false, + button_label: __("Quick View", "storegrowth-sales-booster"), + button_position: "after_add_to_cart", + enable_qucik_view_icon: false, + quick_view_icon: "quick-icon-1", + show_quick_icon: true, + enable_close_button: true, + show_view_details_button: false, + button_color: "#000000", + button_text_color: "#ffffff", + modal_background_color: "#ffffff", + navigation_background: "#000000", + navigation_text_color: "$ffffff", }; const [formData, setFormData] = useState({ @@ -60,18 +62,27 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { }; const notificationMessage = (type) => { - if (type == "general_settings") { - notification["success"]({ - message : "Settings Section", - description : "General settings section data updated successfully.", - }); - } - - if (type == "design") { - notification["success"]({ - message : "Design Section", - description : "Design section data updated successfully.", - }); + switch (type) { + case "general_settings": + notification["success"]({ + message: "Settings Section", + description: "General settings section data updated successfully.", + }); + break; + case "button_settings": + notification["success"]({ + message: "Button Settings Section", + description: "Button settings section data updated successfully.", + }); + break; + case "design": + notification["success"]({ + message: "Design Section", + description: "Design section data updated successfully.", + }); + break; + default: + break; } }; @@ -79,16 +90,16 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { setButtonLoading(true); let data = { - action : "sgsb_quick_view_save_settings", - _ajax_nonce : sgsbAdmin?.nonce, - form_data : formData, + action: "sgsb_quick_view_save_settings", + _ajax_nonce: sgsbAdmin?.nonce, + form_data: formData, }; jQuery .ajax({ - url : sgsbAdmin.ajax_url, - method : "POST", - data : data, + url: sgsbAdmin.ajax_url, + method: "POST", + data: data, }) .success(() => { setButtonLoading(false); @@ -101,11 +112,11 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { jQuery .ajax({ - url : sgsbAdmin?.ajax_url, - method : "POST", - data : { - action : "sgsb_quick_view_get_settings", - _ajax_nonce : sgsbAdmin?.nonce, + url: sgsbAdmin?.ajax_url, + method: "POST", + data: { + action: "sgsb_quick_view_get_settings", + _ajax_nonce: sgsbAdmin?.nonce, }, }) .success((response) => { @@ -130,9 +141,9 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const tabPanels = [ { - key : "general", - title : __("Stock Bar Setting", "storegrowth-sales-booster"), - panel : ( + key: "general", + title: __("General Setting", "storegrowth-sales-booster"), + panel: ( onFormSave("button_settings")} + upgradeTeaser={!isProEnabled} + buttonLoading={buttonLoading} + onFormReset={onFormReset} + noop={noop} + /> + ), + }, + { + key: "design", + title: __("Design", "storegrowth-sales-booster"), + panel: ( diff --git a/Includes/Modules/QuickView/templates/quick-view-button.php b/Includes/Modules/QuickView/templates/quick-view-button.php index 825e764a..eeae4c2f 100644 --- a/Includes/Modules/QuickView/templates/quick-view-button.php +++ b/Includes/Modules/QuickView/templates/quick-view-button.php @@ -6,25 +6,25 @@ */ global $product; -$product_id = $product->get_ID(); -$product_type = $product->get_type(); -$settings = get_option( 'sgsb_quick_view_settings' ); -$buy_now_button_label = sgsb_find_option_setting( $settings, 'quick_view_button_label', 'Quick View' ); -$button_effect = sgsb_find_option_setting( $settings, 'effect', 'mfp-3d-unfold' ); -$product_page = is_product() ? '_product_page' : ''; - $classes = implode( +$product_id = $product->get_ID(); +$product_type = $product->get_type(); +$settings = get_option( 'sgsb_quick_view_settings' ); +$button_label = sgsb_find_option_setting( $settings, 'button_label', 'Quick View' ); +$modal_effect = sgsb_find_option_setting( $settings, 'effect', 'mfp-3d-unfold' ); +$product_page = is_product() ? '_product_page' : ''; + $classes = implode( ' ', array_filter( array( 'button', - ' woosq-btn-' . $product_id, - 'woosq-btn' . $product_page, + ' sgsbqcv-btn-' . $product_id, + 'sgsbqcv-btn' . $product_page, ) ) ); ?> - - + + diff --git a/Includes/Modules/QuickView/templates/quick-view-footer.php b/Includes/Modules/QuickView/templates/quick-view-footer.php deleted file mode 100644 index 3e36a5a5..00000000 --- a/Includes/Modules/QuickView/templates/quick-view-footer.php +++ /dev/null @@ -1,6 +0,0 @@ -function footer() { - if ( self::get_setting( 'view', 'popup' ) === 'sidebar' ) { - echo '
'; - echo '
'; - } - } diff --git a/Includes/Modules/QuickView/templates/simple-stock-status.php b/Includes/Modules/QuickView/templates/simple-stock-status.php deleted file mode 100644 index bb3c4840..00000000 --- a/Includes/Modules/QuickView/templates/simple-stock-status.php +++ /dev/null @@ -1,65 +0,0 @@ -managing_stock() ) { - return; -} - -$settings = get_option( 'sgsb_quick_view_settings' ); -$enable_quick_view_in_product_page = sgsb_find_option_setting( $settings, 'product_page_quick_view_enable', true ); - -if ( is_product() && ! $enable_quick_view_in_product_page ) { - return; -} - -$total_sales = intval( $product->get_total_sales() ); -$stock = intval( $product->get_stock_quantity() ); -$total_stock = $stock + $total_sales; - -$bar_height = sgsb_find_option_setting( $settings, 'stockbar_height', '10' ); -$bg_color = sgsb_find_option_setting( $settings, 'stockbar_bg_color', '#e7efff' ); -$fg_color = sgsb_find_option_setting( $settings, 'stockbar_fg_color', '#0875ff' ); -$sd_format = sgsb_find_option_setting( $settings, 'stock_display_format', 'above' ); -$total_sell_text = sgsb_find_option_setting( $settings, 'total_sell_count_text', 'Total Sold' ); -$available_item_text = sgsb_find_option_setting( $settings, 'available_item_count_text', 'Available Item' ); - -?> - -
-
- -
- - - - - - - - - - - - -
- -
- -
-
From 99775810e537b941529287b09442fed9eaec0aa6 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Mon, 5 Feb 2024 17:31:06 +0600 Subject: [PATCH 08/22] feat(quick-view): multiple settings field integrated --- .../QuickView/Includes/EnqueueScript.php | 56 +-- .../QuickView/assets/scripts/frontend.css | 3 +- .../QuickView/assets/scripts/frontend.js | 8 +- .../QuickView/assets/scripts/jqmeter.min.js | 11 - .../QuickView/assets/scripts/quick-view.js | 370 ------------------ .../assets/scripts/sgsb-quick-view-style.css | 57 --- .../src/components/ButtonSettingsTab.jsx | 7 +- .../assets/src/components/DesingTab.jsx | 19 + .../src/components/GeneralSettingsTab.jsx | 50 ++- .../assets/src/components/QuickViewLayout.jsx | 3 +- .../QuickView/templates/quick-view-button.php | 2 +- 11 files changed, 83 insertions(+), 503 deletions(-) delete mode 100644 Includes/Modules/QuickView/assets/scripts/jqmeter.min.js delete mode 100644 Includes/Modules/QuickView/assets/scripts/quick-view.js delete mode 100644 Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 1587b461..8b23b9aa 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -38,15 +38,9 @@ private function __construct() { */ public function wp_enqueue_scripts() { - wp_enqueue_style( 'bootstrap', 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css', array(), '4.3.1' ); - wp_enqueue_script( 'bootstrap', 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js', array( 'jquery' ), '4.3.1', true ); - - wp_enqueue_style( - 'sgsb-quick-view-custom-style', - sgsb_modules_url( 'QuickView/assets/scripts/sgsb-quick-view-style.css' ), - array(), - filemtime( sgsb_modules_path( 'QuickView/assets/scripts/sgsb-quick-view-style.css' ) ) - ); + $settings = get_option( 'sgsb_quick_view_settings' ); + $modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); + $enable_close_button = sgsb_find_option_setting( $settings, 'enable_close_button', true ); // Pass AJAX URL to script. wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); @@ -146,7 +140,8 @@ public function wp_enqueue_scripts() { 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'sgsbqcv-security' ), 'view' => 'popup', - 'effect' => 'mfp-3d-unfold', + 'effect' => $modal_effect, + 'enable_close_button' => $enable_close_button, 'scrollbar' => 'yes', 'auto_close' => 'yes', 'hashchange' => 'no', @@ -205,7 +200,7 @@ public function wp_enqueue_scripts() { ) ); - // $this->inline_styles(); + $this->inline_styles(); } public static function localization( $key = '', $default = '' ) { @@ -248,35 +243,22 @@ private function inline_styles() { // Get settings options. $settings = get_option( 'sgsb_quick_view_settings' ); - $bar_height = sgsb_find_option_setting( $settings, 'stockbar_height', '10' ); - $bg_color = sgsb_find_option_setting( $settings, 'stockbar_bg_color', '#e7efff' ); - $fg_color = sgsb_find_option_setting( $settings, 'stockbar_fg_color', '#0875ff' ); - $border_color = sgsb_find_option_setting( $settings, 'stockbar_border_color', '#dde6f9' ); - - $theme = wp_get_theme(); - $is_twenty_one_theme = ! empty( $theme->name ) ? $theme->name === 'Twenty Twenty-One' : false; + $modal_bg_color = sgsb_find_option_setting( $settings, 'modal_background_color', '#ffffff' ); + $button_color = sgsb_find_option_setting( $settings, 'button_color', '#ffffff' ); + $button_text_color = sgsb_find_option_setting( $settings, 'button_text_color', '#ffffff' ); + $button_border_radius = sgsb_find_option_setting( $settings, 'button_border_radius', 4 ); $custom_css = " - .sgsb-stock-progress-bar-section { - border: 2px solid {$border_color}; - } - .sgsb-stock-progress { - height: {$bar_height}px; - background: {$fg_color}; + .sgsbqcv-btn { + border-radius: {$button_border_radius}px !important; + background-color: {$button_color} !important; + color: {$button_text_color} !important; } - .sgsb-stock-progress-bar { - background-color: {$bg_color}; - } - "; - - if ( $is_twenty_one_theme ) { - $custom_css .= ' - .sgsb-stock-counter-and-bar { - margin-top: 18px; - } - '; + .sgsbqcv-product > .product .summary { + background-color: {$modal_bg_color}; } - - wp_add_inline_style( 'sgsb-stock-cd-custom-style', $custom_css ); + "; + $custom_css = apply_filters( 'sgsb_qcv_inline_styles', $custom_css ); + wp_add_inline_style( 'sgsbqcv-frontend', $custom_css ); } } diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.css b/Includes/Modules/QuickView/assets/scripts/frontend.css index 8645899b..28dd15d9 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.css +++ b/Includes/Modules/QuickView/assets/scripts/frontend.css @@ -45,10 +45,9 @@ max-width: 920px; margin: 0 auto; padding: 0; - background-color: #fff; max-height: 460px; - box-sizing: border-box; overflow: hidden; + border-radius: 18px;; } .sgsbqcv-popup *, .sgsbqcv-sidebar * { diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index 124eaac6..8624e9af 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -45,7 +45,8 @@ console.log("Workimg"); var id = match[1]; var effect = $this.attr("data-effect"); var context = $this.attr("data-context"); - + console.log("Data Effect"); + console.log(effect); sgsbqcv_open(id, effect, context); e.preventDefault(); } @@ -256,7 +257,11 @@ function sgsbqcv_open(id, effect, context) { if (typeof effect !== typeof undefined && effect !== false) { main_class = main_class + " " + effect; + console.log("main2"); + console.log(main_class); } else { + console.log("main1"); + console.log(main_class); main_class = main_class + " " + sgsbqcv_vars.effect; } @@ -269,6 +274,7 @@ function sgsbqcv_open(id, effect, context) { overflowY: "scroll", fixedContentPos: true, tClose: sgsbqcv_vars.close, + showCloseBtn:sgsbqcv_vars?.enable_close_button, gallery: { tPrev: sgsbqcv_vars.prev, tNext: sgsbqcv_vars.next, diff --git a/Includes/Modules/QuickView/assets/scripts/jqmeter.min.js b/Includes/Modules/QuickView/assets/scripts/jqmeter.min.js deleted file mode 100644 index 246537b3..00000000 --- a/Includes/Modules/QuickView/assets/scripts/jqmeter.min.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - -Title: jQMeter: a jQuery Progress Meter Plugin -Author: Gerardo Larios -Version: 0.1.2 -Website: http://www.gerardolarios.com/plugins-and-tools/jqmeter -License: Dual licensed under the MIT and GPL licenses. - -*/ - -!function(e){e.fn.extend({jQMeter:function(t){t&&"object"==typeof t&&(t=e.extend({},e.jQMeter.defaults,t)),this.each(function(){new e.jQMeter(this,t)})}}),e.jQMeter=function(t,r){if(goal=parseInt(r.goal.replace(/\D/g,"")),raised=parseInt(r.raised.replace(/\D/g,"")),width=r.width,height=r.height,bgColor=r.bgColor,barColor=r.barColor,meterOrientation=r.meterOrientation,animationSpeed=r.animationSpeed,counterSpeed=r.counterSpeed,displayTotal=r.displayTotal,total=raised/goal*100,total>=100&&(total=100),"vertical"==meterOrientation?(e(t).html('
'+total+"
"),e(t).children(".outer-therm").attr("style","width:"+width+";height:"+height+";background-color:"+bgColor),e(t).children(".outer-therm").children(".inner-therm").attr("style","background-color:"+barColor+";height:0;width:"+width),e(t).children(".outer-therm").children(".inner-therm").animate({height:total+"%"},animationSpeed)):(e(t).html('
'+total+"
"),e(t).children(".outer-therm").attr("style","width:"+width+";height:"+height+";background-color:"+bgColor),e(t).children(".outer-therm").children(".inner-therm").attr("style","background-color:"+barColor+";height:"+height+";width:0"),e(t).children(".outer-therm").children(".inner-therm").animate({width:total+"%"},animationSpeed)),displayTotal){var i=parseInt(height),n=i/2-13+"px 10px";"horizontal"!=meterOrientation&&(n="10px 0"),e(t).children(".outer-therm").children(".inner-therm").children().show(),e(t).children(".outer-therm").children(".inner-therm").children().css("padding",n),e({Counter:0}).animate({Counter:e(t).children(".outer-therm").children(".inner-therm").children().text()},{duration:counterSpeed,easing:"swing",step:function(){e(t).children(".outer-therm").children(".inner-therm").children().text(Math.ceil(this.Counter)+"%")}})}e(t).append("")},e.jQMeter.defaults={width:"100%",height:"50px",bgColor:"#444",barColor:"#bfd255",meterOrientation:"horizontal",animationSpeed:2e3,counterSpeed:2e3,displayTotal:!0}}(jQuery); diff --git a/Includes/Modules/QuickView/assets/scripts/quick-view.js b/Includes/Modules/QuickView/assets/scripts/quick-view.js deleted file mode 100644 index 2b2ddcc5..00000000 --- a/Includes/Modules/QuickView/assets/scripts/quick-view.js +++ /dev/null @@ -1,370 +0,0 @@ -"use strict"; - -var sgsbqcv_ids = [], - sgsbqcv_products = []; -console.log(sgsbqcv_vars); -(function ($) { - $(function () { - $(".sgsbqcv-btn, .sgsbqcv-link").each(function () { - var id = $(this).attr("data-id"); - var pid = $(this).attr("data-pid"); - var product_id = $(this).attr("data-product_id"); - - if (typeof pid !== typeof undefined && pid !== false) { - id = pid; - } - - if (typeof product_id !== typeof undefined && product_id !== false) { - id = product_id; - } - - if (-1 === $.inArray(id, sgsbqcv_ids)) { - sgsbqcv_ids.push(id); - sgsbqcv_products.push({ - src: sgsbqcv_vars.ajax_url + "?product_id=" + id, - }); - } - }); - - console.log(sgsbqcv_ids); - console.log(sgsbqcv_products); - // quick view - if (sgsbqcv_vars.quick_view > 0) { - setTimeout(function () { - sgsbqcv_open(sgsbqcv_vars.quick_view); - }, 1000); - } - }); - - $(document).on("click touch", '[href*="#sgsbqcv-"]', function (e) { - var $this = $(this); - var href = $this.attr("href"); - var reg = /#sgsbqcv-([0-9]+)/g; - var match = reg.exec(href); - - if (match[1] !== undefined) { - var id = match[1]; - var effect = $this.attr("data-effect"); - var context = $this.attr("data-context"); - - sgsbqcv_open(id, effect, context); - e.preventDefault(); - } - }); - - $(document).on("click touch", ".sgsbqcv-btn, .sgsbqcv-link", function (e) { - e.preventDefault(); - - var $this = $(this); - var id = $this.attr("data-id"); - var pid = $this.attr("data-pid"); - var product_id = $this.attr("data-product_id"); - var effect = $this.attr("data-effect"); - var context = $this.attr("data-context"); - - if (typeof pid !== typeof undefined && pid !== false) { - id = pid; - } - - if (typeof product_id !== typeof undefined && product_id !== false) { - id = product_id; - } - - console.log("contectss"); - console.log(`${id} ${effect} ${context}`); - sgsbqcv_open(id, effect, context); - }); - - $(document).on("added_to_cart", function () { - if (sgsbqcv_vars.auto_close === "yes") { - if (sgsbqcv_vars.view === "popup") { - $.magnificPopup.close(); - } - - sgsbqcv_close(); - } - }); - - $(document).on("sgsbqcv_loaded", function () { - var form_variation = $("#sgsbqcv-popup").find(".variations_form"); - - form_variation.each(function () { - $(this).wc_variation_form(); - }); - - sgsbqcv_init_content("loaded"); - - // add redirect - if (!$("#sgsbqcv-popup .sgsbqcv-redirect").length) { - if ( - sgsbqcv_vars.cart_redirect === "yes" && - sgsbqcv_vars.cart_url !== "" - ) { - $("#sgsbqcv-popup form").prepend( - '' - ); - } else { - $("#sgsbqcv-popup form").prepend( - '' - ); - } - } - }); - - $(window).on("resize", function () { - sgsbqcv_init_content("resize"); - }); - - $(document).on("found_variation", function (e, t) { - if ( - !$(e["target"]).closest(".woosb-product").length && - !$(e["target"]).closest(".woosg-product").length && - !$(e["target"]).closest(".woobt-product").length && - !$(e["target"]).closest(".woofs-product").length && - $(e["target"]).closest("#sgsbqcv-popup").length - ) { - if (t["image_id"] !== undefined) { - if ($("#sgsbqcv-popup .thumbnails .thumbnail").length > 1) { - var $thumb = $( - '.thumbnail:not(.slick-cloned)[data-id="' + t["image_id"] + '"]' - ); - - if ($thumb.length) { - var pos = $("#sgsbqcv-popup .thumbnails .thumbnail").index($thumb); - var $images = $("#sgsbqcv-popup .thumbnails .images"); - - if (pos > 0 && $images.hasClass("slick-initialized")) { - setTimeout(function () { - $images.slick("slickGoTo", pos - 1); - }, 100); - } - } - } - } - } - }); - - $(document).on("reset_data", function (e) { - if ($(e["target"]).closest("#sgsbqcv-popup").length) { - if ( - $("#sgsbqcv-popup .thumbnails .thumbnail").length > 1 && - $("#sgsbqcv-popup .thumbnails .images").hasClass("slick-initialized") - ) { - $("#sgsbqcv-popup .thumbnails .images").slick("slickGoTo", 0); - } - } - }); - - if (sgsbqcv_vars.hashchange === "yes") { - $(window).on("hashchange", function () { - if (location.href.indexOf("#sgsbqcv") < 0) { - if (sgsbqcv_vars.view === "popup") { - $.magnificPopup.close(); - } - - sgsbqcv_close(); - } - }); - } - - $(document).on( - "click touch", - ".sgsbqcv-overlay, .sgsbqcv-close", - function () { - sgsbqcv_close(); - } - ); -})(jQuery); - -function sgsbqcv_open(id, effect, context) { - jQuery("body").addClass("sgsbqcv-open"); - - if (sgsbqcv_vars.view === "sidebar") { - // sidebar - sgsbqcv_loading(); - - var data = { - action: "get_product_data", - product_id: id, - nonce: sgsbqcv_vars.nonce, - }; - - jQuery.post(sgsbqcv_vars.ajax_url, data, function (response) { - jQuery(".sgsbqcv-sidebar").html(response); - sgsbqcv_loaded(); - jQuery(document.body).trigger("sgsbqcv_loaded", [id]); - }); - } else { - // popup - if (-1 === jQuery.inArray(id, sgsbqcv_ids)) { - sgsbqcv_ids.push(id); - sgsbqcv_products.push({ - src: sgsbqcv_vars.ajax_url + "?product_id=" + id, - }); - } - - var index = sgsbqcv_get_key( - sgsbqcv_products, - "src", - sgsbqcv_vars.ajax_url + "?product_id=" + id - ); - var main_class = "mfp-sgsbqcv"; - - if (typeof context !== typeof undefined && context !== false) { - main_class = main_class + " mfp-sgsbqcv-" + context; - } - - if (typeof effect !== typeof undefined && effect !== false) { - main_class = main_class + " " + effect; - } else { - main_class = main_class + " " + sgsbqcv_vars.effect; - } - - jQuery.magnificPopup.open( - { - items: sgsbqcv_products, - type: "ajax", - mainClass: main_class, - removalDelay: 160, - overflowY: "scroll", - fixedContentPos: true, - tClose: sgsbqcv_vars.close, - gallery: { - tPrev: sgsbqcv_vars.prev, - tNext: sgsbqcv_vars.next, - enabled: sgsbqcv_vars.next_prev === "yes", - }, - ajax: { - settings: { - type: "GET", - data: { - action: "get_product_data", - nonce: sgsbqcv_vars.nonce, - }, - }, - }, - callbacks: { - open: function () { - if (sgsbqcv_vars.hashchange === "yes") { - location.href = location.href.split("#")[0] + "#sgsbqcv"; - } - }, - ajaxContentAdded: function () { - jQuery(document.body).trigger("sgsbqcv_loaded", [id]); - }, - close: function () { - if (sgsbqcv_vars.hashchange === "yes") { - if (location.hash) history.go(-1); - } - }, - afterClose: function () { - jQuery(document.body).trigger("sgsbqcv_close", [id]); - }, - }, - }, - index - ); - } - jQuery(document.body).trigger("sgsbqcv_open", [id]); -} - -function sgsbqcv_close() { - jQuery("body").removeClass("sgsbqcv-open"); - jQuery(document.body).trigger("sgsbqcv_close"); -} - -function sgsbqcv_loading() { - jQuery(".sgsbqcv-sidebar").addClass("sgsbqcv-loading"); -} - -function sgsbqcv_loaded() { - jQuery(".sgsbqcv-sidebar").removeClass("sgsbqcv-loading"); -} - -function sgsbqcv_init_content(context) { - if (context === "loaded") { - sgsbqcv_thumbnails_zoom(); - sgsbqcv_thumbnails_slick(); - sgsbqcv_related_slick(); - } - - if (sgsbqcv_vars.view === "sidebar") { - if (sgsbqcv_vars.scrollbar === "yes") { - jQuery(".sgsbqcv-product") - .perfectScrollbar("destroy") - .perfectScrollbar({ theme: "wpc" }); - } - } else { - // fix for popup - if (sgsbqcv_vars.scrollbar === "yes") { - if (jQuery(window).width() < 1024) { - // jQuery('.sgsbqcv-product .summary-content').perfectScrollbar('destroy'); - jQuery(".sgsbqcv-product") - .perfectScrollbar("destroy") - .perfectScrollbar({ theme: "wpc" }); - } else { - // jQuery('.sgsbqcv-product').perfectScrollbar('destroy'); - jQuery(".sgsbqcv-product .summary-content") - .perfectScrollbar("destroy") - .perfectScrollbar({ theme: "wpc" }); - } - } - } -} - -function sgsbqcv_get_key(array, key, value) { - for (var i = 0; i < array.length; i++) { - if (array[i][key] === value) { - return i; - } - } - - return -1; -} - -function sgsbqcv_thumbnails_zoom() { - if (sgsbqcv_vars.thumbnails_effect === "zoom") { - jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").each(function () { - var $this = jQuery(this); - var zoom_params = JSON.parse(sgsbqcv_vars.thumbnails_zoom_params); - - zoom_params.url = $this.find("img").attr("data-src"); - - // destroy first - $this.trigger("zoom.destroy"); - $this.zoom(zoom_params); - }); - } -} - -function sgsbqcv_thumbnails_slick() { - if (jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").length > 1) { - if ( - jQuery("#sgsbqcv-popup .thumbnails .images").hasClass("slick-initialized") - ) { - // unslick first - jQuery("#sgsbqcv-popup .thumbnails .images").slick("unslick"); - } - - jQuery("#sgsbqcv-popup .thumbnails .images").slick( - JSON.parse(sgsbqcv_vars.thumbnails_slick_params) - ); - } -} - -function sgsbqcv_related_slick() { - if (jQuery(".sgsbqcv-related-products").hasClass("slick-initialized")) { - // unslick first - jQuery(".sgsbqcv-related-products").slick("unslick"); - } - - if (jQuery(".sgsbqcv-related-product").length > 1) { - jQuery(".sgsbqcv-related-products").slick( - JSON.parse(sgsbqcv_vars.related_slick_params) - ); - } -} diff --git a/Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css b/Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css deleted file mode 100644 index 9646f318..00000000 --- a/Includes/Modules/QuickView/assets/scripts/sgsb-quick-view-style.css +++ /dev/null @@ -1,57 +0,0 @@ -@import url(../fonts/inter-regular/stylesheet.css); -@import url(../fonts/inter-medium/stylesheet.css); -@import url(../fonts/Inter-semibold/stylesheet.css); -@import url(../fonts/inter-bold/stylesheet.css); - -.sgsb-stock-stockbar-status { - width: 100%; -} -.sgsb-stock-stockbar-status::after { - display: table; - content: " "; - clear: both; -} - -.jqmeter-container .outer-therm { - margin: 0; -} - -.sgsb-stock-progress { - width: 0; - border-radius: 5px; -} - -.sgsb-stock-progress-bar { - width: 100%; - border-radius: 5px; - margin-top: 5px; -} - -.sgsb-stock-progress-bar-section { - gap: 16px; - display: grid; - background: #fff; - border-radius: 6px; - margin-bottom: 20px; - padding: 15px 15px 15px; -} - -.sgsb-stock-progress-title { - display: flex; - line-height: 1; - justify-content: space-between; -} - -.sgsb-stock-progress-available-title{ - float: right; -} -.sgsb-stock-progress-sold-title, -.sgsb-stock-progress-available-title { - font-size: 14px; - color: #073b4c; -} -.sgsb-stock-progress-count { - color: #000; - font-weight: 600; -} - diff --git a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx index eceddfcb..751ecbb4 100644 --- a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx +++ b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx @@ -5,7 +5,6 @@ import SettingsSection from "sales-booster/src/components/settings/Panels/PanelS import ActionsHandler from "sales-booster/src/components/settings/Panels/PanelSettings/ActionsHandler"; import TextInput from "sales-booster/src/components/settings/Panels/PanelSettings/Fields/TextInput"; import { Switcher, SelectBox } from "sales-booster/src/components/settings/Panels"; -import Templates from "./Templates"; function ButtonSettingsTab(props) { const { @@ -29,9 +28,13 @@ function ButtonSettingsTab(props) { { value: "center_on_the_image", label: __("Center On The Image", "storegrowth-sales-booster"), + // disabled:true, + // needUpgrade:true, }, ]; + + return ( @@ -55,7 +58,7 @@ function ButtonSettingsTab(props) { options={[...buttonPositions]} fieldValue={formData?.button_position} changeHandler={onFieldChange} - title={__("Modal Effects", "storegrowth-sales-booster")} + title={__("Button Position", "storegrowth-sales-booster")} /> + {applyFilters( "sgsb_variation_product_quick_view_enable_settings", diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx index eda37baf..5f79d478 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx @@ -26,7 +26,8 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const initalQuickViewData = { popup_on_mobile: false, enable_lightbox: false, - modal_animation_effect: "", + modal_animation_effect: "mfp-3d-unfold", + button_border_radius: 4, enable_product_navigation: false, show_title: true, show_description: true, diff --git a/Includes/Modules/QuickView/templates/quick-view-button.php b/Includes/Modules/QuickView/templates/quick-view-button.php index eeae4c2f..f384b0cb 100644 --- a/Includes/Modules/QuickView/templates/quick-view-button.php +++ b/Includes/Modules/QuickView/templates/quick-view-button.php @@ -10,7 +10,7 @@ $product_type = $product->get_type(); $settings = get_option( 'sgsb_quick_view_settings' ); $button_label = sgsb_find_option_setting( $settings, 'button_label', 'Quick View' ); -$modal_effect = sgsb_find_option_setting( $settings, 'effect', 'mfp-3d-unfold' ); +$modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); $product_page = is_product() ? '_product_page' : ''; $classes = implode( ' ', From 91967f7b5f4c0da925ec5b2604d0b40176346e02 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Tue, 6 Feb 2024 14:36:31 +0600 Subject: [PATCH 09/22] feat(quick-view): content controller, general settings controller --- Includes/Modules/QuickView/Includes/Ajax.php | 27 ++----- .../QuickView/Includes/CommonHooks.php | 70 +++++++++++++++---- .../QuickView/Includes/EnqueueScript.php | 40 ++++------- .../QuickView/assets/scripts/frontend.css | 4 +- .../QuickView/assets/scripts/frontend.js | 62 ++++------------ .../src/components/ButtonSettingsTab.jsx | 16 ++--- .../src/components/GeneralSettingsTab.jsx | 18 ++--- .../assets/src/components/QuickViewLayout.jsx | 6 +- .../QuickView/templates/add-to-cart.php | 4 -- .../templates/description-template.php | 8 +++ .../QuickView/templates/quick-view-modal.php | 19 ----- .../pro-previews/Modules/QuickView/index.js | 25 ++++--- 12 files changed, 136 insertions(+), 163 deletions(-) delete mode 100644 Includes/Modules/QuickView/templates/add-to-cart.php create mode 100644 Includes/Modules/QuickView/templates/description-template.php delete mode 100644 Includes/Modules/QuickView/templates/quick-view-modal.php diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index d69f6b54..8e9eb332 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -64,19 +64,17 @@ public function get_settings() { wp_send_json_success( $form_data ); } - - public function ajax_quickview_callback() { check_ajax_referer( 'sgsbqcv-security', 'nonce' ); global $post, $product; + $settings = get_option( 'sgsb_quick_view_settings' ); + $product_id = absint( sanitize_key( $_REQUEST['product_id'] ) ); $product = wc_get_product( $product_id ); $content_image = 'all'; - $content_view_details_button = 'no'; + $content_view_details_button = sgsb_find_option_setting( $settings, 'show_view_details_button', false ); $content_image_lightbox = 'no'; - $view = 'popup'; - $sidebar_heading = 'no'; if ( $product ) { $post = get_post( $product_id ); @@ -124,15 +122,8 @@ public function ajax_quickview_callback() { $thumb_ids = apply_filters( 'sgsbqcv_thumbnails', $thumb_ids, $product ); $thumb_ids = array_unique( $thumb_ids ); - error_log( print_r( $thumb_ids, 1 ) ); - if ( $view === 'popup' ) { - echo '
'; - } elseif ( $sidebar_heading === 'yes' ) { - echo '
' . esc_html( $product->get_name() ) . ' ×
'; - } else { - echo ' × '; - } + echo '
'; ?>
> @@ -189,16 +180,11 @@ public function ajax_quickview_callback() {
%s', $product->get_permalink(), esc_html( $view_details_text ) ); } - - if ( $view === 'popup' ) { echo '
'; - } - wp_reset_postdata(); } @@ -208,7 +194,6 @@ public function ajax_quickview_callback() { public function custom_ajax_add_to_cart() { $product_id = $_POST['product_id']; $quantity = $_POST['quantity']; - error_log( $product_id ); WC()->cart->add_to_cart( $product_id, $quantity ); wp_die(); } diff --git a/Includes/Modules/QuickView/Includes/CommonHooks.php b/Includes/Modules/QuickView/Includes/CommonHooks.php index 7e1b20ca..750c5dff 100644 --- a/Includes/Modules/QuickView/Includes/CommonHooks.php +++ b/Includes/Modules/QuickView/Includes/CommonHooks.php @@ -26,15 +26,65 @@ class CommonHooks { */ private function __construct() { $this->button_positon_hooks(); + $this->content_loader_hooks(); + } + + /** + * Hook for Content Loader. + * + * @since 1.0.0 + */ + public function content_loader_hooks() { + $settings = get_option( 'sgsb_quick_view_settings' ); - add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_title', 5 ); - add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_rating' ); - add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_price', 15 ); - add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_excerpt', 20 ); - add_action( 'sgsbqcv_product_summary', array( $this, 'add_to_cart' ), 25 ); - add_action( 'sgsbqcv_product_summary', 'woocommerce_template_single_meta', 30 ); + $actions = array( + 'show_title' => array( + 'action' => 'woocommerce_template_single_title', + 'priority' => 5, + ), + 'show_rating' => array( + 'action' => 'woocommerce_template_single_rating', + 'priority' => 10, + ), + 'show_excerpt' => array( + 'action' => 'woocommerce_template_single_excerpt', + 'priority' => 15, + ), + 'show_price' => array( + 'action' => 'woocommerce_template_single_price', + 'priority' => 20, + ), + 'show_add_to_cart' => array( + 'action' => array( $this, 'add_to_cart' ), + 'priority' => 25, + ), + 'show_meta' => array( + 'action' => 'woocommerce_template_single_meta', + 'priority' => 30, + ), + 'show_description' => array( + 'action' => array( $this, 'show_single_product_description' ), + 'priority' => 35, + ), + ); + + foreach ( $actions as $setting => $data ) { + if ( sgsb_find_option_setting( $settings, $setting, true ) ) { + add_action( 'sgsbqcv_product_summary', $data['action'], $data['priority'] ); + } + } } + /** + * Hook for WooCommerce loop add to cart link. + * + * @since 1.0.0 + */ + public function show_single_product_description() { + global $product; + $description = $product->get_description(); + include __DIR__ . '/../templates/description-template.php'; + } /** * Hook for WooCommerce loop add to cart link. * @@ -74,14 +124,8 @@ private function display_buy_now_button() { * Hook for WooCommerce loop add to cart link. * * @since 1.1.3 - * - * @param string $_product Add to cart link. */ - public function add_to_cart( $_product ) { - global $product; - $product = $_product; - $product_id = get_the_ID(); - // include __DIR__ . '/../templates/add-to-cart.php'; + public function add_to_cart() { woocommerce_template_single_add_to_cart(); } } diff --git a/Includes/Modules/QuickView/Includes/EnqueueScript.php b/Includes/Modules/QuickView/Includes/EnqueueScript.php index 8b23b9aa..a63d3c21 100644 --- a/Includes/Modules/QuickView/Includes/EnqueueScript.php +++ b/Includes/Modules/QuickView/Includes/EnqueueScript.php @@ -41,7 +41,8 @@ public function wp_enqueue_scripts() { $settings = get_option( 'sgsb_quick_view_settings' ); $modal_effect = sgsb_find_option_setting( $settings, 'modal_animation_effect', 'mfp-3d-unfold' ); $enable_close_button = sgsb_find_option_setting( $settings, 'enable_close_button', true ); - + $enable_in_mobile = sgsb_find_option_setting( $settings, 'enable_in_mobile', true ); + $enable_zoom_box = sgsb_find_option_setting( $settings, 'enable_zoom_box', false ); // Pass AJAX URL to script. wp_localize_script( 'sgsb-quick-view-custom-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); @@ -70,26 +71,7 @@ public function wp_enqueue_scripts() { filemtime( sgsb_modules_path( 'QuickView/assets/libs/zoom/jquery.zoom.min.js' ) ), true ); - - // fancybox - // if ( self::get_setting( 'content_image_lightbox', 'no' ) === 'yes' ) { - // wp_enqueue_style( 'fancybox', sgsbqcv_URI . 'assets/libs/fancybox/jquery.fancybox.min.css' ); - // wp_enqueue_script( 'fancybox', sgsbqcv_URI . 'assets/libs/fancybox/jquery.fancybox.min.js', array( 'jquery' ), sgsbqcv_VERSION, true ); - // } - - // zoom - // if ( self::get_setting( 'content_image_lightbox', 'no' ) === 'zoom' ) { - // wp_enqueue_script( 'zoom', sgsbqcv_URI . 'assets/libs/zoom/jquery.zoom.min.js', array( 'jquery' ), sgsbqcv_VERSION, true ); - // } - - // perfect srollbar - // if ( self::get_setting( 'perfect_scrollbar', 'yes' ) === 'yes' ) { - // wp_enqueue_style( 'perfect-scrollbar', sgsbqcv_URI . 'assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css' ); - // wp_enqueue_style( 'perfect-scrollbar-wpc', sgsbqcv_URI . 'assets/libs/perfect-scrollbar/css/custom-theme.css' ); - // wp_enqueue_script( 'perfect-scrollbar', sgsbqcv_URI . 'assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js', array( 'jquery' ), sgsbqcv_VERSION, true ); - // } - - // magnific + // magnific. wp_enqueue_style( 'magnific-popup', sgsb_modules_url( 'QuickView/assets/libs/magnific-popup/magnific-popup.css' ), @@ -139,19 +121,17 @@ public function wp_enqueue_scripts() { array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'sgsbqcv-security' ), - 'view' => 'popup', 'effect' => $modal_effect, 'enable_close_button' => $enable_close_button, - 'scrollbar' => 'yes', - 'auto_close' => 'yes', - 'hashchange' => 'no', + 'enable_in_mobile' => $enable_in_mobile, + 'hashchange' => 'yes', 'cart_redirect' => get_option( 'woocommerce_cart_redirect_after_add' ), 'cart_url' => apply_filters( 'woocommerce_add_to_cart_redirect', wc_get_cart_url(), null ), 'close' => self::localization( 'close', esc_html__( 'Close (Esc)', 'woo-smart-quick-view' ) ), 'next_prev' => 'yes', 'next' => self::localization( 'next', esc_html__( 'Next (Right arrow key)', 'woo-smart-quick-view' ) ), 'prev' => self::localization( 'prev', esc_html__( 'Previous (Left arrow key)', 'woo-smart-quick-view' ) ), - 'thumbnails_effect' => 'zoom', + 'thumbnails_effect' => $enable_zoom_box, 'related_slick_params' => apply_filters( 'sgsbqcv_related_slick_params', json_encode( @@ -247,6 +227,7 @@ private function inline_styles() { $button_color = sgsb_find_option_setting( $settings, 'button_color', '#ffffff' ); $button_text_color = sgsb_find_option_setting( $settings, 'button_text_color', '#ffffff' ); $button_border_radius = sgsb_find_option_setting( $settings, 'button_border_radius', 4 ); + $show_image = sgsb_find_option_setting( $settings, 'show_image', 4 ); $custom_css = " .sgsbqcv-btn { @@ -256,8 +237,13 @@ private function inline_styles() { } .sgsbqcv-product > .product .summary { background-color: {$modal_bg_color}; - } + } "; + if ( ! $show_image ) { + $custom_css .= ' .sgsbqcv-popup.mfp-with-anim .thumbnails{ + display:none; + }'; + } $custom_css = apply_filters( 'sgsb_qcv_inline_styles', $custom_css ); wp_add_inline_style( 'sgsbqcv-frontend', $custom_css ); } diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.css b/Includes/Modules/QuickView/assets/scripts/frontend.css index 28dd15d9..1cac79d1 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.css +++ b/Includes/Modules/QuickView/assets/scripts/frontend.css @@ -66,10 +66,12 @@ .sgsbqcv-product > .product { display: flex !important; float: none !important; + justify-content: center; + align-items: center; } .sgsbqcv-product > .product > div { - width: 50% !important; + width: -webkit-fill-available !important; float: none !important; margin: 0 !important; height: 460px; diff --git a/Includes/Modules/QuickView/assets/scripts/frontend.js b/Includes/Modules/QuickView/assets/scripts/frontend.js index 8624e9af..ba0b58c6 100644 --- a/Includes/Modules/QuickView/assets/scripts/frontend.js +++ b/Includes/Modules/QuickView/assets/scripts/frontend.js @@ -2,14 +2,25 @@ var sgsbqcv_ids = [], sgsbqcv_products = []; -console.log("Workimg"); + +function isMobileDevice() { + return window.matchMedia("(max-width: 767px)").matches; +} + (function ($) { + $(function () { + if (isMobileDevice() && !sgsbqcv_vars.enable_in_mobile) { + console.log("running"); + $(".sgsbqcv-btn").each(function () { + $(this).remove(); + }); + } + }); $(function () { $(".sgsbqcv-btn, .sgsbqcv-link").each(function () { var id = $(this).attr("data-id"); var pid = $(this).attr("data-pid"); var product_id = $(this).attr("data-product_id"); - console.log(product_id); if (typeof pid !== typeof undefined && pid !== false) { id = pid; } @@ -33,8 +44,6 @@ console.log("Workimg"); } }); - console.log(sgsbqcv_vars); - $(document).on("click touch", '[href*="#sgsbqcv-"]', function (e) { var $this = $(this); var href = $this.attr("href"); @@ -45,8 +54,6 @@ console.log("Workimg"); var id = match[1]; var effect = $this.attr("data-effect"); var context = $this.attr("data-context"); - console.log("Data Effect"); - console.log(effect); sgsbqcv_open(id, effect, context); e.preventDefault(); } @@ -74,7 +81,6 @@ console.log("Workimg"); }); jQuery(document).ready(function ($) { - console.log("loading"); function custom_ajax_add_to_cart(product_id) { var quantity = $("#custom-quantity").val(); @@ -95,7 +101,6 @@ console.log("Workimg"); $("body").on("click", ".custom-add-to-cart button", function () { // Get the ID of the clicked element (assumes the button has an ID attribute) var clickedElementId = $(this).attr("product-id"); - console.log(clickedElementId); // // Call the function with the clicked element's ID custom_ajax_add_to_cart(clickedElementId); @@ -103,7 +108,6 @@ console.log("Workimg"); }); $(".custom-add-to-cart").on("click", function () { - console.log("clicked"); // Get the ID of the clicked element (assumes the button has an ID attribute) var clickedElementId = $(this).attr("product-id"); @@ -112,16 +116,6 @@ console.log("Workimg"); }); }); - // $(document).on("added_to_cart", function () { - // if (sgsbqcv_vars.auto_close === "yes") { - // if (sgsbqcv_vars.view === "popup") { - // $.magnificPopup.close(); - // } - - // sgsbqcv_close(); - // } - // }); - $(document).on("sgsbqcv_loaded", function () { var form_variation = $("#sgsbqcv-popup").find(".variations_form"); @@ -257,11 +251,7 @@ function sgsbqcv_open(id, effect, context) { if (typeof effect !== typeof undefined && effect !== false) { main_class = main_class + " " + effect; - console.log("main2"); - console.log(main_class); } else { - console.log("main1"); - console.log(main_class); main_class = main_class + " " + sgsbqcv_vars.effect; } @@ -274,7 +264,7 @@ function sgsbqcv_open(id, effect, context) { overflowY: "scroll", fixedContentPos: true, tClose: sgsbqcv_vars.close, - showCloseBtn:sgsbqcv_vars?.enable_close_button, + showCloseBtn: sgsbqcv_vars?.enable_close_button, gallery: { tPrev: sgsbqcv_vars.prev, tNext: sgsbqcv_vars.next, @@ -335,28 +325,6 @@ function sgsbqcv_init_content(context) { sgsbqcv_related_slick(); } - if (sgsbqcv_vars.view === "sidebar") { - if (sgsbqcv_vars.scrollbar === "yes") { - jQuery(".sgsbqcv-product") - .perfectScrollbar("destroy") - .perfectScrollbar({ theme: "wpc" }); - } - } else { - // fix for popup - if (sgsbqcv_vars.scrollbar === "yes") { - if (jQuery(window).width() < 1024) { - jQuery(".sgsbqcv-product .summary-content").perfectScrollbar("destroy"); - jQuery(".sgsbqcv-product") - .perfectScrollbar("destroy") - .perfectScrollbar({ theme: "wpc" }); - } else { - jQuery(".sgsbqcv-product").perfectScrollbar("destroy"); - jQuery(".sgsbqcv-product .summary-content") - .perfectScrollbar("destroy") - .perfectScrollbar({ theme: "wpc" }); - } - } - } } function sgsbqcv_get_key(array, key, value) { @@ -370,7 +338,7 @@ function sgsbqcv_get_key(array, key, value) { } function sgsbqcv_thumbnails_zoom() { - if (sgsbqcv_vars.thumbnails_effect === "zoom") { + if (sgsbqcv_vars.thumbnails_effect ) { jQuery("#sgsbqcv-popup .thumbnails .images .thumbnail").each(function () { var $this = jQuery(this); var zoom_params = JSON.parse(sgsbqcv_vars.thumbnails_zoom_params); diff --git a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx index 751ecbb4..2f0389c5 100644 --- a/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx +++ b/Includes/Modules/QuickView/assets/src/components/ButtonSettingsTab.jsx @@ -9,14 +9,13 @@ import { Switcher, SelectBox } from "sales-booster/src/components/settings/Panel function ButtonSettingsTab(props) { const { formData, - setFormData, onFieldChange, onFormSave, buttonLoading, onFormReset, } = props; - const buttonPositions = [ + let buttonPositions = [ { value: "after_add_to_cart", label: __("After Add to Cart", "storegrowth-sales-booster"), @@ -24,15 +23,14 @@ function ButtonSettingsTab(props) { { value: "before_add_to_cart", label: __("Before Add to Cart", "storegrowth-sales-booster"), - }, - { - value: "center_on_the_image", - label: __("Center On The Image", "storegrowth-sales-booster"), - // disabled:true, - // needUpgrade:true, - }, + } ]; + buttonPositions = applyFilters( + "sgsb_quick_view_button_position_settings", + "", + buttonPositions + ) return ( diff --git a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx index 996b4380..9370bbf1 100644 --- a/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx +++ b/Includes/Modules/QuickView/assets/src/components/GeneralSettingsTab.jsx @@ -50,7 +50,7 @@ function GeneralSettingsTab(props) { title: __("Show Product Image", "storegrowth-sales-booster"), }, { - name: "show_excert", + name: "show_excerpt", title: __("Show Excert", "storegrowth-sales-booster"), }, { @@ -74,12 +74,12 @@ function GeneralSettingsTab(props) { )} {applyFilters( "sgsb_variation_product_quick_view_enable_settings", diff --git a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx index 5f79d478..f0f3a5a6 100644 --- a/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx +++ b/Includes/Modules/QuickView/assets/src/components/QuickViewLayout.jsx @@ -24,8 +24,8 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { const tabName = searchParams.get("tab_name") || "general"; const initalQuickViewData = { - popup_on_mobile: false, - enable_lightbox: false, + enable_in_mobile: true, + enable_zoom_box: false, modal_animation_effect: "mfp-3d-unfold", button_border_radius: 4, enable_product_navigation: false, @@ -35,7 +35,7 @@ function QuickViewLayout({ navigate, useSearchParams, moduleId }) { show_image: true, show_excerpt: true, show_meta: true, - show_add_to_cart: false, + show_add_to_cart: true, button_label: __("Quick View", "storegrowth-sales-booster"), button_position: "after_add_to_cart", enable_qucik_view_icon: false, diff --git a/Includes/Modules/QuickView/templates/add-to-cart.php b/Includes/Modules/QuickView/templates/add-to-cart.php deleted file mode 100644 index 9792c8ca..00000000 --- a/Includes/Modules/QuickView/templates/add-to-cart.php +++ /dev/null @@ -1,4 +0,0 @@ -
- - -
diff --git a/Includes/Modules/QuickView/templates/description-template.php b/Includes/Modules/QuickView/templates/description-template.php new file mode 100644 index 00000000..53e4f457 --- /dev/null +++ b/Includes/Modules/QuickView/templates/description-template.php @@ -0,0 +1,8 @@ +
+
+

Description

+
+
+ +
+
diff --git a/Includes/Modules/QuickView/templates/quick-view-modal.php b/Includes/Modules/QuickView/templates/quick-view-modal.php deleted file mode 100644 index ffe19b90..00000000 --- a/Includes/Modules/QuickView/templates/quick-view-modal.php +++ /dev/null @@ -1,19 +0,0 @@ - diff --git a/assets/src/components/pro-previews/Modules/QuickView/index.js b/assets/src/components/pro-previews/Modules/QuickView/index.js index f0944f17..c70fc4fd 100644 --- a/assets/src/components/pro-previews/Modules/QuickView/index.js +++ b/assets/src/components/pro-previews/Modules/QuickView/index.js @@ -1,10 +1,6 @@ import { __ } from '@wordpress/i18n'; import { Fragment } from 'react'; import { addFilter } from '@wordpress/hooks'; -import InputNumber from '../../../settings/Panels/PanelSettings/Fields/Number'; -import SelectBox from '../../../settings/Panels/PanelSettings/Fields/SelectBox'; -import TextInput from '../../../settings/Panels/PanelSettings/Fields/TextInput'; -import SingleCheckBox from '../../../settings/Panels/PanelSettings/Fields/SingleCheckBox'; import ColourPicker from '../../../settings/Panels/PanelSettings/Fields/ColorPicker'; // Handle stock bar modules pro settings prompts. @@ -20,14 +16,23 @@ addFilter( name={ 'navigation_background' } title={ __( 'Navigation Background Color', 'storegrowth-sales-booster' ) } /> - ); } ); +addFilter( + 'sgsb_quick_view_button_position_settings', + 'sgsb_quick_view_button_position_settings_callback', + ( component,buttonPositions ) => { + return [...buttonPositions, + { + value: "center_on_the_image", + label: __("Center On The Image", "storegrowth-sales-booster"), + disabled:true, + needUpgrade:true, + }, + ] + + } +); From e0381ffa6c87177f300eae209c919eeb77b8c932 Mon Sep 17 00:00:00 2001 From: Satyajit Talukder Date: Wed, 7 Feb 2024 17:35:05 +0600 Subject: [PATCH 10/22] feat(quick-view): icon and pro feature added. --- Includes/Modules/QuickView/Includes/Ajax.php | 6 +- .../Modules/QuickView/QuickViewModule.php | 2 +- .../assets/images/quickview-icon-Blue.svg | 23 ++++ .../src/components/ButtonSettingsTab.jsx | 31 ++++- .../assets/src/components/QuickViewIcon.jsx | 125 ++++++++++++++++++ .../assets/src/components/QuickViewLayout.jsx | 2 +- assets/images/menu/quickview-icon-white.svg | 23 ++++ assets/images/menu/quickview-icon.svg | 23 ++++ assets/src/admin.scss | 42 +++++- .../pro-previews/Modules/QuickView/index.js | 65 +++++---- 10 files changed, 309 insertions(+), 33 deletions(-) create mode 100644 Includes/Modules/QuickView/assets/images/quickview-icon-Blue.svg create mode 100644 Includes/Modules/QuickView/assets/src/components/QuickViewIcon.jsx create mode 100644 assets/images/menu/quickview-icon-white.svg create mode 100644 assets/images/menu/quickview-icon.svg diff --git a/Includes/Modules/QuickView/Includes/Ajax.php b/Includes/Modules/QuickView/Includes/Ajax.php index 8e9eb332..a34b8e17 100644 --- a/Includes/Modules/QuickView/Includes/Ajax.php +++ b/Includes/Modules/QuickView/Includes/Ajax.php @@ -180,10 +180,8 @@ public function ajax_quickview_callback() {
%s', $product->get_permalink(), esc_html( $view_details_text ) ); - } + $permalink = $product->get_permalink(); + do_action( 'sgsb_quick_view_details_button', $permalink, $content_view_details_button ); echo '
From 9153e31d2e4df28f37e8abc2e8b3c069768efeef Mon Sep 17 00:00:00 2001 From: mehedi hasan Date: Mon, 18 Mar 2024 16:35:15 +0600 Subject: [PATCH 22/22] update version and description --- .github/workflows/deploy.yml | 2 +- README.txt | 41 +++++++++++++++++++++++++---------- package.json | 4 ++-- storegrowth-sales-booster.php | 2 +- 4 files changed, 33 insertions(+), 16 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 77b47666..b30a5ccf 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -23,4 +23,4 @@ jobs: SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} SVN_USERNAME: ${{ secrets.SVN_USERNAME }} SLUG: storegrowth-sales-booster - VERSION: 1.25.7 + VERSION: 1.26.7 diff --git a/README.txt b/README.txt index 25a51fa1..34009a0c 100644 --- a/README.txt +++ b/README.txt @@ -4,7 +4,7 @@ Tags: floating cart, fly cart, side cart, checkout optimization, notification ba Requires at least: 5.4 Tested up to: 6.4.1 -Stable tag: 1.25.7 +Stable tag: 1.26.7 Requires PHP: 7.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -25,7 +25,7 @@ We created StoreGrowth to make it easier for busy store owners like you to incre This plugin is super user-friendly, compatible with popular WordPress themes, gives you full customization control, and reduces the hassle of using different tools to boost WooCommerce sales. -[youtube https://youtu.be/q9gWD7iUHX0?si=3C8l7l6o_JFfymg2] +[youtube https://youtu.be/UPGtOEsY2kI?si=s-xfT5NNH5SP1Ya2] [Documentation](https://storegrowth.io/documentation/) [Upgrade to pro](https://storegrowth.io/pricing/) @@ -49,13 +49,11 @@ It is designed in a way that requires zero technical skills and minimal feature Whether you’re a new or experienced WooCommerce store owner, this plugin is what you need to engage your visitors and boost conversion instantly. - - -Everything You Need To Supercharge Your WooCommerce Store +##ALL MODULES## StoreGrowth has all the powerful features that you need to increase sales and average order value with the highest converting checkout. -**Fly Cart:** +**👉 [Fly Cart:](https://storegrowth.io/) ** Navigating and managing items within the cart can be a tiring process for online shoppers, often leading to a less-than-optimal user experience. @@ -70,7 +68,7 @@ This feature creates a side cart in your WooCommerce store, providing shoppers w With StoreGrowth's Quick Cart feature, you're not just enhancing cart functionality; you're transforming the shopping journey into a streamlined and enjoyable experience. -**Sales Countdown Timer:** +**👉 [Sales Countdown Timer:](https://storegrowth.io/) ** When you are running a sales campaign or providing time-sensitive offers, capturing customer attention, and creating a sense of urgency to drive purchases is a real struggle. @@ -84,7 +82,7 @@ StoreGrowth allows you to create visually appealing and functional WooCommerce c ✅Create multiple countdown timers and display them with shortcodes. -**WooCommerce Direct Checkout:** +**👉 [WooCommerce Direct Checkout:](https://storegrowth.io/) ** This feature is designed to get rid of abandoned carts and lengthy checkout flows in your WooCommerce store. @@ -93,6 +91,7 @@ Imagine customers clicking the "Buy Now" button and skipping the unnecessary car Here's how WooCommerce Direct Checkout makes it happen: ✅Button Transformation: Effortlessly transform your "Add to Cart" button into a powerful "Buy Now" button for direct checkout. + **Choose the perfect option:** ✅Replace the classic "Add to Cart" button with "Buy Now." ✅Display both buttons side-by-side for flexibility. @@ -100,7 +99,7 @@ Here's how WooCommerce Direct Checkout makes it happen: ✅Fully Customizable Design: Customize the design of your "Buy Now" button to match your brand perfectly. ✅View Button Analytics: Get insights on how each product button is performing in terms of clicks and conversion so that you can plan your product promotion effectively. -**Live Sales Notification:** +**👉 [Live Sales Notification:](https://storegrowth.io/) ** Online shoppers coming to your WooCommerce store may be hesitant to make purchases without social proof or a feeling of product popularity. @@ -112,7 +111,7 @@ The Live Sales Popup Notification feature allows you to generate real-time sales ✅ Fully Customizable: Design and message customization for brand consistency. ✅ Targeted Display Options: Choose between displaying notifications for the latest purchases or specific products. -**Free Shipping Label and Progress Bar:** +**👉 [Free Shipping Label and Progress Bar:](https://storegrowth.io/) ** Are you offering free shipping over an amount? Then the free shipping bar is the best way to encourage your customers to increase their cart value. @@ -126,7 +125,7 @@ The Free Shipping Label and Progress Bar dynamically display the progress custom Customers can instantly see how close they are to reaching the minimum cart value for free shipping, creating transparency and motivation for additional purchases. -**Checkout Upsell Order Bump:** +**👉 [Checkout Upsell Order Bump:](https://storegrowth.io/) ** With the Checkout Upsell Order Bump feature, you can strategically place attractive additional products within the checkout process. @@ -136,7 +135,7 @@ This way you are allowing your customers to explore and add to their order witho ✅ Custom Days: Set the duration of upsell offers to align with your marketing strategy. ✅ Various Order Bumps: Display a range of tempting additional products for customers to choose from. -**Stock Count Progress Bar:** +**👉 [Stock Count Progress Bar:](https://storegrowth.io/)** The Stock Count Progress Bar offers customers a real-time visual indicator of the available stock for a specific product. @@ -148,6 +147,24 @@ The highlight of this feature is its ability to create a sense of urgency. As cu And, the best part is you can even showcase stock warning messages based on the stock you have to encourage your visitors even more. For example, Hurry Up! Only 2 Stocks Are Left!! +**👉 [Quick View (new):](https://storegrowth.io/)** + +Navigating and managing items within the cart can be a tiring process for WooCommerce shoppers. + +To enhance the shopping experience, we have introduced the Quick View feature for easier product discovery and evaluation. + +Quick View allows your customers to instantly preview key product details like images, descriptions, and pricing with just a single click from the shop page with a visually-appealing lightbox modal. + +Shoppers can quickly explore the product and seamlessly add it to their cart – all without ever navigating away from the main product listing. + +✅ Accelerates Product Research: Customers can rapidly evaluate products and compare options, facilitating faster decision-making. + +✅ Reduces Abandoned Carts: By providing a frictionless shopping flow, fewer shoppers abandon their carts due to frustration from excessive clicking. + +✅ Enables Impulse Purchases: Instantly satisfying customer curiosity creates a sense of urgency to buy before the moment passes. + +With Quick View, you can not just enhance product exploration; you can transform the entire shopping experience into a seamless journey for your customers. + ## Documentation and Support diff --git a/package.json b/package.json index 1de57ccc..82899dd7 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "storegrowth-sales-booster", - "version": "1.25.7", + "version": "1.26.7", "type": "module", - "description": "=== StoreGrowth - Sales Booster === Contributors: Invizo Tags: booster, sales booster, for woocommerce, fly cart, sales notification, upsell, order bump, cross sell, stock countdown Requires at least: 5.4 Tested up to: 6.2.2 Stable tag: 1.0.0 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html", + "description": "=== StoreGrowth - Sales Booster === Contributors: Invizo Tags: booster, sales booster, for woocommerce, fly cart, sales notification, upsell, order bump, cross sell, stock countdown, Quick View Requires at least: 5.4 Tested up to: 6.2.2 Stable tag: 1.0.0 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html", "main": "index.js", "scripts": { "start": "lerna run start", diff --git a/storegrowth-sales-booster.php b/storegrowth-sales-booster.php index 56875dc6..72d7202b 100644 --- a/storegrowth-sales-booster.php +++ b/storegrowth-sales-booster.php @@ -2,7 +2,7 @@ /** * Plugin Name: StoreGrowth - Sales Booster For WooCommerce Lite * Description: Best WooCommerce Direct Checkout, Fly Cart and Side Cart, Live Sales Notifications, Floating Notification Bar and More Essential Features for Every WooCommerce Site! - * Version: 1.25.7 + * Version: 1.26.7 * Author: Invizo * Author URI: https://invizo.io/ * License: GPL-2.0+
+

+ To be able to view the stock bar of a specific product must go to{" "} + + all products + {" "} + in woocommerce. Then select a desired product to Edit. In the + product meta of woocommerce you will be able to see{" "} + "Inventory". +

+ +
+

+ Explore full range of products{" "} + + here + + . +

+
+
+ +
+