From 9a177a44ab7ddbc56b3a12e73caf5a7f9f2bdebb Mon Sep 17 00:00:00 2001 From: Phuc H Date: Fri, 16 Feb 2024 15:12:45 +0700 Subject: [PATCH] Init project --- README.md | 16 +- demo/App.vue | 83 ++ demo/dist/assets/index-8d57d69f.css | 1 + demo/dist/assets/index-af32c86b.js | 17 + demo/dist/index.html | 18 + demo/img/github-mark.svg | 1 + demo/index.html | 16 + demo/main.ts | 7 + demo/style.css | 3 + dist/index.css | 0 dist/main.es.js | 35 + dist/main.umd.js | 1 + dist/vite.svg | 1 + index.html | 13 + package.json | 34 + postcss.config.cjs | 6 + public/vite.svg | 1 + src/TabComplete.vue | 104 +++ src/assets/vue.svg | 1 + src/main.ts | 7 + src/style.css | 3 + src/types/main.d.ts | 8 + src/types/shims-vue.d.ts | 6 + src/vite-env.d.ts | 1 + tailwind.config.cjs | 55 ++ tsconfig.json | 25 + tsconfig.node.json | 10 + vite.config.ts | 47 + yarn.lock | 1289 +++++++++++++++++++++++++++ 29 files changed, 1807 insertions(+), 2 deletions(-) create mode 100644 demo/App.vue create mode 100644 demo/dist/assets/index-8d57d69f.css create mode 100644 demo/dist/assets/index-af32c86b.js create mode 100644 demo/dist/index.html create mode 100644 demo/img/github-mark.svg create mode 100644 demo/index.html create mode 100644 demo/main.ts create mode 100644 demo/style.css create mode 100644 dist/index.css create mode 100644 dist/main.es.js create mode 100644 dist/main.umd.js create mode 100644 dist/vite.svg create mode 100644 index.html create mode 100644 package.json create mode 100644 postcss.config.cjs create mode 100644 public/vite.svg create mode 100644 src/TabComplete.vue create mode 100644 src/assets/vue.svg create mode 100644 src/main.ts create mode 100644 src/style.css create mode 100644 src/types/main.d.ts create mode 100644 src/types/shims-vue.d.ts create mode 100644 src/vite-env.d.ts create mode 100644 tailwind.config.cjs create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/README.md b/README.md index 2e3a364..d23cfcd 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ -# vue-nexthint -A Vue component that creates autocomplete functionality for your input fields, but works as tab suggestions instead of dropdown. +# Vue NextHint + +A lightweight javascript library to create some amazing effects for the mouse (cursor) on your website - MagicMouse.js : [https://magicmousejs.web.app/](https://magicmousejs.web.app) + +![One of magic-mouse effects](https://user-images.githubusercontent.com/19908411/77246772-03384880-6c5d-11ea-8074-6975bc8e3632.gif) +There's more than 4 effects and I'm keep updating now, you can try other effect on https://magicmousejs.web.app/ by changing the example and click to "Try it" button. + +# Installation +MagicMouse.js is a vanilla javascript library so you DON'T need to include any other library like jQuery. There are two options to install it: + +## NPM +If you want to install it to your project via npm: `npm i magicmouse.js` + +After that, import to your project by: `import { magicMouse } from 'magicmouse.js'` diff --git a/demo/App.vue b/demo/App.vue new file mode 100644 index 0000000..ba16eec --- /dev/null +++ b/demo/App.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/demo/dist/assets/index-8d57d69f.css b/demo/dist/assets/index-8d57d69f.css new file mode 100644 index 0000000..db0e2d0 --- /dev/null +++ b/demo/dist/assets/index-8d57d69f.css @@ -0,0 +1 @@ +.vue-tab-complete-wrapper{position:relative}.vue-tab-complete-wrapper input{z-index:10;padding:.5rem;padding-left:14px;width:100%;height:100%;color:#fff;border-color:#ced7d0;caret-color:#63666c}.vue-tab-complete-wrapper .input-overlay{position:absolute;left:.75rem;top:50%;transform:translateY(-50%)}.vue-tab-complete-wrapper .input-overlay .result-query{padding-top:.25rem;padding-bottom:.25rem;margin-left:.125rem;color:#000}.vue-tab-complete-wrapper .input-overlay .result-suggest{color:#9ca3af}.vue-tab-complete-input{border-radius:4px;border:1px solid #CED7D0;padding:12px 14px}body{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23a0aec0' fill-opacity='0.1' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:1rem;padding-left:1rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.flex{display:flex}.h-6{height:1.5rem}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:48rem}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-center{align-items:center}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-indigo-500{--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #6366f1 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-500{--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #ec4899 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-sky-500{--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tracking-wide{letter-spacing:.025em}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.focus\:bg-blue-600:focus{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width: 640px){.sm\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:mt-0{margin-top:0}.sm\:h-7{height:1.75rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}}@media (min-width: 768px){.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width: 1536px){.\32xl\:text-8xl{font-size:6rem;line-height:1}}@media (prefers-color-scheme: dark){.dark\:from-sky-300{--tw-gradient-from: #7dd3fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(125 211 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-teal-200{--tw-gradient-from: #99f6e4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(153 246 228 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-indigo-300{--tw-gradient-to: rgb(165 180 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a5b4fc var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-pink-300{--tw-gradient-to: rgb(249 168 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f9a8d4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.dark\:to-sky-500{--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position)}} diff --git a/demo/dist/assets/index-af32c86b.js b/demo/dist/assets/index-af32c86b.js new file mode 100644 index 0000000..edda737 --- /dev/null +++ b/demo/dist/assets/index-af32c86b.js @@ -0,0 +1,17 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();/** +* @vue/shared v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function vn(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const H={},Ge=[],se=()=>{},Tr=()=>!1,jt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),wn=e=>e.startsWith("onUpdate:"),J=Object.assign,En=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Or=Object.prototype.hasOwnProperty,I=(e,t)=>Or.call(e,t),O=Array.isArray,qe=e=>$t(e)==="[object Map]",Ts=e=>$t(e)==="[object Set]",P=e=>typeof e=="function",z=e=>typeof e=="string",Xe=e=>typeof e=="symbol",B=e=>e!==null&&typeof e=="object",Os=e=>(B(e)||P(e))&&P(e.then)&&P(e.catch),As=Object.prototype.toString,$t=e=>As.call(e),Ar=e=>$t(e).slice(8,-1),Ps=e=>$t(e)==="[object Object]",Cn=e=>z(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,rt=vn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ht=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Pr=/-(\w)/g,ke=Ht(e=>e.replace(Pr,(t,n)=>n?n.toUpperCase():"")),Rr=/\B([A-Z])/g,Ze=Ht(e=>e.replace(Rr,"-$1").toLowerCase()),Rs=Ht(e=>e.charAt(0).toUpperCase()+e.slice(1)),Xt=Ht(e=>e?`on${Rs(e)}`:""),Re=(e,t)=>!Object.is(e,t),Ct=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},ln=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let qn;const Is=()=>qn||(qn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Sn(e){if(O(e)){const t={};for(let n=0;n{if(n){const s=n.split(Mr);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Tn(e){let t="";if(z(e))t=e;else if(O(e))for(let n=0;nz(e)?e:e==null?"":O(e)||B(e)&&(e.toString===As||!P(e.toString))?JSON.stringify(e,Fs,2):String(e),Fs=(e,t)=>t&&t.__v_isRef?Fs(e,t.value):qe(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Zt(s,o)+" =>"]=r,n),{})}:Ts(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Zt(n))}:Xe(t)?Zt(t):B(t)&&!O(t)&&!Ps(t)?String(t):t,Zt=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let le;class $r{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=le,!t&&le&&(this.index=(le.scopes||(le.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=le;try{return le=this,t()}finally{le=n}}}on(){le=this}off(){le=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Be()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ae,n=He;try{return Ae=!0,He=this,this._runnings++,Jn(this),this.fn()}finally{kn(this),this._runnings--,He=n,Ae=t}}stop(){var t;this.active&&(Jn(this),kn(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Ur(e){return e.value}function Jn(e){e._trackId++,e._depsLength=0}function kn(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},un=new WeakMap,Ve=Symbol(""),an=Symbol("");function ee(e,t,n){if(Ae&&He){let s=un.get(e);s||un.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Hs(()=>s.delete(n))),js(He,r)}}function ve(e,t,n,s,r,o){const l=un.get(e);if(!l)return;let c=[];if(t==="clear")c=[...l.values()];else if(n==="length"&&O(e)){const u=Number(s);l.forEach((d,h)=>{(h==="length"||!Xe(h)&&h>=u)&&c.push(d)})}else switch(n!==void 0&&c.push(l.get(n)),t){case"add":O(e)?Cn(n)&&c.push(l.get("length")):(c.push(l.get(Ve)),qe(e)&&c.push(l.get(an)));break;case"delete":O(e)||(c.push(l.get(Ve)),qe(e)&&c.push(l.get(an)));break;case"set":qe(e)&&c.push(l.get(Ve));break}An();for(const u of c)u&&$s(u,4);Pn()}const Br=vn("__proto__,__v_isRef,__isVue"),Vs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe)),Yn=Dr();function Dr(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=F(this);for(let o=0,l=this.length;o{e[t]=function(...n){Ue(),An();const s=F(this)[t].apply(this,n);return Pn(),Be(),s}}),e}function Kr(e){const t=F(this);return ee(t,"has",e),t.hasOwnProperty(e)}class Us{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,s){const r=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?no:Ws:o?Ks:Ds).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const l=O(t);if(!r){if(l&&I(Yn,n))return Reflect.get(Yn,n,s);if(n==="hasOwnProperty")return Kr}const c=Reflect.get(t,n,s);return(Xe(n)?Vs.has(n):Br(n))||(r||ee(t,"get",n),o)?c:te(c)?l&&Cn(n)?c:c.value:B(c)?r?Gs(c):Mn(c):c}}class Bs extends Us{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._shallow){const u=Ye(o);if(!Mt(s)&&!Ye(s)&&(o=F(o),s=F(s)),!O(t)&&te(o)&&!te(s))return u?!1:(o.value=s,!0)}const l=O(t)&&Cn(n)?Number(n)e,Vt=e=>Reflect.getPrototypeOf(e);function bt(e,t,n=!1,s=!1){e=e.__v_raw;const r=F(e),o=F(t);n||(Re(t,o)&&ee(r,"get",t),ee(r,"get",o));const{has:l}=Vt(r),c=s?Rn:n?Ln:ct;if(l.call(r,t))return c(e.get(t));if(l.call(r,o))return c(e.get(o));e!==r&&e.get(t)}function xt(e,t=!1){const n=this.__v_raw,s=F(n),r=F(e);return t||(Re(e,r)&&ee(s,"has",e),ee(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function yt(e,t=!1){return e=e.__v_raw,!t&&ee(F(e),"iterate",Ve),Reflect.get(e,"size",e)}function Qn(e){e=F(e);const t=F(this);return Vt(t).has.call(t,e)||(t.add(e),ve(t,"add",e,e)),this}function Xn(e,t){t=F(t);const n=F(this),{has:s,get:r}=Vt(n);let o=s.call(n,e);o||(e=F(e),o=s.call(n,e));const l=r.call(n,e);return n.set(e,t),o?Re(t,l)&&ve(n,"set",e,t):ve(n,"add",e,t),this}function Zn(e){const t=F(this),{has:n,get:s}=Vt(t);let r=n.call(t,e);r||(e=F(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&ve(t,"delete",e,void 0),o}function es(){const e=F(this),t=e.size!==0,n=e.clear();return t&&ve(e,"clear",void 0,void 0),n}function vt(e,t){return function(s,r){const o=this,l=o.__v_raw,c=F(l),u=t?Rn:e?Ln:ct;return!e&&ee(c,"iterate",Ve),l.forEach((d,h)=>s.call(r,u(d),u(h),o))}}function wt(e,t,n){return function(...s){const r=this.__v_raw,o=F(r),l=qe(o),c=e==="entries"||e===Symbol.iterator&&l,u=e==="keys"&&l,d=r[e](...s),h=n?Rn:t?Ln:ct;return!t&&ee(o,"iterate",u?an:Ve),{next(){const{value:v,done:E}=d.next();return E?{value:v,done:E}:{value:c?[h(v[0]),h(v[1])]:h(v),done:E}},[Symbol.iterator](){return this}}}}function Ce(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jr(){const e={get(o){return bt(this,o)},get size(){return yt(this)},has:xt,add:Qn,set:Xn,delete:Zn,clear:es,forEach:vt(!1,!1)},t={get(o){return bt(this,o,!1,!0)},get size(){return yt(this)},has:xt,add:Qn,set:Xn,delete:Zn,clear:es,forEach:vt(!1,!0)},n={get(o){return bt(this,o,!0)},get size(){return yt(this,!0)},has(o){return xt.call(this,o,!0)},add:Ce("add"),set:Ce("set"),delete:Ce("delete"),clear:Ce("clear"),forEach:vt(!0,!1)},s={get(o){return bt(this,o,!0,!0)},get size(){return yt(this,!0)},has(o){return xt.call(this,o,!0)},add:Ce("add"),set:Ce("set"),delete:Ce("delete"),clear:Ce("clear"),forEach:vt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=wt(o,!1,!1),n[o]=wt(o,!0,!1),t[o]=wt(o,!1,!0),s[o]=wt(o,!0,!0)}),[e,n,t,s]}const[kr,Yr,Qr,Xr]=Jr();function In(e,t){const n=t?e?Xr:Qr:e?Yr:kr;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(I(n,r)&&r in s?n:s,r,o)}const Zr={get:In(!1,!1)},eo={get:In(!1,!0)},to={get:In(!0,!1)},Ds=new WeakMap,Ks=new WeakMap,Ws=new WeakMap,no=new WeakMap;function so(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ro(e){return e.__v_skip||!Object.isExtensible(e)?0:so(Ar(e))}function Mn(e){return Ye(e)?e:Fn(e,!1,Gr,Zr,Ds)}function oo(e){return Fn(e,!1,zr,eo,Ks)}function Gs(e){return Fn(e,!0,qr,to,Ws)}function Fn(e,t,n,s,r){if(!B(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const l=ro(e);if(l===0)return e;const c=new Proxy(e,l===2?s:n);return r.set(e,c),c}function ze(e){return Ye(e)?ze(e.__v_raw):!!(e&&e.__v_isReactive)}function Ye(e){return!!(e&&e.__v_isReadonly)}function Mt(e){return!!(e&&e.__v_isShallow)}function qs(e){return ze(e)||Ye(e)}function F(e){const t=e&&e.__v_raw;return t?F(t):e}function zs(e){return Object.isExtensible(e)&&It(e,"__v_skip",!0),e}const ct=e=>B(e)?Mn(e):e,Ln=e=>B(e)?Gs(e):e;class Js{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new On(()=>t(this._value),()=>St(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=F(this);return(!t._cacheable||t.effect.dirty)&&Re(t._value,t._value=t.effect.run())&&St(t,4),ks(t),t.effect._dirtyLevel>=2&&St(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function io(e,t,n=!1){let s,r;const o=P(e);return o?(s=e,r=se):(s=e.get,r=e.set),new Js(s,r,o||!r,n)}function ks(e){var t;Ae&&He&&(e=F(e),js(He,(t=e.dep)!=null?t:e.dep=Hs(()=>e.dep=void 0,e instanceof Js?e:void 0)))}function St(e,t=4,n){e=F(e);const s=e.dep;s&&$s(s,t)}function te(e){return!!(e&&e.__v_isRef===!0)}function lo(e){return co(e,!1)}function co(e,t){return te(e)?e:new fo(e,t)}class fo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:F(t),this._value=n?t:ct(t)}get value(){return ks(this),this._value}set value(t){const n=this.__v_isShallow||Mt(t)||Ye(t);t=n?t:F(t),Re(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:ct(t),St(this,4))}}function uo(e){return te(e)?e.value:e}const ao={get:(e,t,n)=>uo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return te(r)&&!te(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ys(e){return ze(e)?e:new Proxy(e,ao)}/** +* @vue/runtime-core v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Pe(e,t,n,s){try{return s?e(...s):e()}catch(r){Ut(r,t,n)}}function ue(e,t,n,s){if(P(e)){const o=Pe(e,t,n,s);return o&&Os(o)&&o.catch(l=>{Ut(l,t,n)}),o}const r=[];for(let o=0;o>>1,r=k[s],o=ut(r);o_e&&k.splice(t,1)}function _o(e){O(e)?Je.push(...e):(!Se||!Se.includes(e,e.allowRecurse?je+1:je))&&Je.push(e),Xs()}function ts(e,t,n=ft?_e+1:0){for(;nut(n)-ut(s));if(Je.length=0,Se){Se.push(...t);return}for(Se=t,je=0;jee.id==null?1/0:e.id,bo=(e,t)=>{const n=ut(e)-ut(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function er(e){dn=!1,ft=!0,k.sort(bo);const t=se;try{for(_e=0;_ez(A)?A.trim():A)),v&&(r=n.map(ln))}let c,u=s[c=Xt(t)]||s[c=Xt(ke(t))];!u&&o&&(u=s[c=Xt(Ze(t))]),u&&ue(u,e,6,r);const d=s[c+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,ue(d,e,6,r)}}function tr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let l={},c=!1;if(!P(e)){const u=d=>{const h=tr(d,t,!0);h&&(c=!0,J(l,h))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!o&&!c?(B(e)&&s.set(e,null),null):(O(o)?o.forEach(u=>l[u]=null):J(l,o),B(e)&&s.set(e,l),l)}function Bt(e,t){return!e||!jt(t)?!1:(t=t.slice(2).replace(/Once$/,""),I(e,t[0].toLowerCase()+t.slice(1))||I(e,Ze(t))||I(e,t))}let re=null,nr=null;function Ft(e){const t=re;return re=e,nr=e&&e.type.__scopeId||null,t}function yo(e,t=re,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&as(-1);const o=Ft(t);let l;try{l=e(...r)}finally{Ft(o),s._d&&as(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function en(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[l],slots:c,attrs:u,emit:d,render:h,renderCache:v,data:E,setupState:A,ctx:D,inheritAttrs:L}=e;let W,K;const ae=Ft(e);try{if(n.shapeFlag&4){const G=r||s,oe=G;W=me(h.call(oe,G,v,o,A,E,D)),K=u}else{const G=t;W=me(G.length>1?G(o,{attrs:u,slots:c,emit:d}):G(o,null)),K=t.props?u:vo(u)}}catch(G){lt.length=0,Ut(G,e,1),W=we(at)}let j=W;if(K&&L!==!1){const G=Object.keys(K),{shapeFlag:oe}=j;G.length&&oe&7&&(l&&G.some(wn)&&(K=wo(K,l)),j=Qe(j,K))}return n.dirs&&(j=Qe(j),j.dirs=j.dirs?j.dirs.concat(n.dirs):n.dirs),n.transition&&(j.transition=n.transition),W=j,Ft(ae),W}const vo=e=>{let t;for(const n in e)(n==="class"||n==="style"||jt(n))&&((t||(t={}))[n]=e[n]);return t},wo=(e,t)=>{const n={};for(const s in e)(!wn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Eo(e,t,n){const{props:s,children:r,component:o}=e,{props:l,children:c,patchFlag:u}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return s?ns(s,l,d):!!l;if(u&8){const h=t.dynamicProps;for(let v=0;ve.__isSuspense;function Oo(e,t){t&&t.pendingBranch?O(e)?t.effects.push(...e):t.effects.push(e):_o(e)}const Ao=Symbol.for("v-scx"),Po=()=>At(Ao),Et={};function Tt(e,t,n){return sr(e,t,n)}function sr(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:l,onTrigger:c}=H){if(t&&o){const M=t;t=(...be)=>{M(...be),oe()}}const u=X,d=M=>s===!0?M:$e(M,s===!1?1:void 0);let h,v=!1,E=!1;if(te(e)?(h=()=>e.value,v=Mt(e)):ze(e)?(h=()=>d(e),v=!0):O(e)?(E=!0,v=e.some(M=>ze(M)||Mt(M)),h=()=>e.map(M=>{if(te(M))return M.value;if(ze(M))return d(M);if(P(M))return Pe(M,u,2)})):P(e)?t?h=()=>Pe(e,u,2):h=()=>(A&&A(),ue(e,u,3,[D])):h=se,t&&s){const M=h;h=()=>$e(M())}let A,D=M=>{A=j.onStop=()=>{Pe(M,u,4),A=j.onStop=void 0}},L;if(Gt)if(D=se,t?n&&ue(t,u,3,[h(),E?[]:void 0,D]):h(),r==="sync"){const M=Po();L=M.__watcherHandles||(M.__watcherHandles=[])}else return se;let W=E?new Array(e.length).fill(Et):Et;const K=()=>{if(!(!j.active||!j.dirty))if(t){const M=j.run();(s||v||(E?M.some((be,de)=>Re(be,W[de])):Re(M,W)))&&(A&&A(),ue(t,u,3,[M,W===Et?void 0:E&&W[0]===Et?[]:W,D]),W=M)}else j.run()};K.allowRecurse=!!t;let ae;r==="sync"?ae=K:r==="post"?ae=()=>Z(K,u&&u.suspense):(K.pre=!0,u&&(K.id=u.uid),ae=()=>jn(K));const j=new On(h,se,ae),G=Vr(),oe=()=>{j.stop(),G&&En(G.effects,j)};return t?n?K():W=j.run():r==="post"?Z(j.run.bind(j),u&&u.suspense):j.run(),L&&L.push(oe),oe}function Ro(e,t,n){const s=this.proxy,r=z(e)?e.includes(".")?rr(s,e):()=>s[e]:e.bind(s,s);let o;P(t)?o=t:(o=t.handler,n=t);const l=ht(this),c=sr(r,o.bind(s),n);return l(),c}function rr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),te(e))$e(e.value,t,n,s);else if(O(e))for(let r=0;r{$e(r,t,n,s)});else if(Ps(e))for(const r in e)$e(e[r],t,n,s);return e}function Io(e,t){if(re===null)return e;const n=qt(re)||re.proxy,s=e.dirs||(e.dirs=[]);for(let r=0;rJ({name:e.name},t,{setup:e}))():e}const Ot=e=>!!e.type.__asyncLoader,ir=e=>e.type.__isKeepAlive;function Mo(e,t){lr(e,"a",t)}function Fo(e,t){lr(e,"da",t)}function lr(e,t,n=X){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Dt(t,s,n),n){let r=n.parent;for(;r&&r.parent;)ir(r.parent.vnode)&&Lo(s,t,n,r),r=r.parent}}function Lo(e,t,n,s){const r=Dt(t,e,s,!0);cr(()=>{En(s[t],r)},n)}function Dt(e,t,n=X,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...l)=>{if(n.isUnmounted)return;Ue();const c=ht(n),u=ue(t,n,e,l);return c(),Be(),u});return s?r.unshift(o):r.push(o),o}}const Ee=e=>(t,n=X)=>(!Gt||e==="sp")&&Dt(e,(...s)=>t(...s),n),No=Ee("bm"),jo=Ee("m"),$o=Ee("bu"),Ho=Ee("u"),Vo=Ee("bum"),cr=Ee("um"),Uo=Ee("sp"),Bo=Ee("rtg"),Do=Ee("rtc");function Ko(e,t=X){Dt("ec",e,t)}const hn=e=>e?wr(e)?qt(e)||e.proxy:hn(e.parent):null,ot=J(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>hn(e.parent),$root:e=>hn(e.root),$emit:e=>e.emit,$options:e=>$n(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,jn(e.update)}),$nextTick:e=>e.n||(e.n=po.bind(e.proxy)),$watch:e=>Ro.bind(e)}),tn=(e,t)=>e!==H&&!e.__isScriptSetup&&I(e,t),Wo={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:l,type:c,appContext:u}=e;let d;if(t[0]!=="$"){const A=l[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(tn(s,t))return l[t]=1,s[t];if(r!==H&&I(r,t))return l[t]=2,r[t];if((d=e.propsOptions[0])&&I(d,t))return l[t]=3,o[t];if(n!==H&&I(n,t))return l[t]=4,n[t];pn&&(l[t]=0)}}const h=ot[t];let v,E;if(h)return t==="$attrs"&&ee(e,"get",t),h(e);if((v=c.__cssModules)&&(v=v[t]))return v;if(n!==H&&I(n,t))return l[t]=4,n[t];if(E=u.config.globalProperties,I(E,t))return E[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return tn(r,t)?(r[t]=n,!0):s!==H&&I(s,t)?(s[t]=n,!0):I(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},l){let c;return!!n[l]||e!==H&&I(e,l)||tn(t,l)||(c=o[0])&&I(c,l)||I(s,l)||I(ot,l)||I(r.config.globalProperties,l)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:I(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ss(e){return O(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let pn=!0;function Go(e){const t=$n(e),n=e.proxy,s=e.ctx;pn=!1,t.beforeCreate&&rs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:l,watch:c,provide:u,inject:d,created:h,beforeMount:v,mounted:E,beforeUpdate:A,updated:D,activated:L,deactivated:W,beforeDestroy:K,beforeUnmount:ae,destroyed:j,unmounted:G,render:oe,renderTracked:M,renderTriggered:be,errorCaptured:de,serverPrefetch:zt,expose:Ie,inheritAttrs:et,components:pt,directives:gt,filters:Jt}=t;if(d&&qo(d,s,null),l)for(const U in l){const $=l[U];P($)&&(s[U]=$.bind(n))}if(r){const U=r.call(n,n);B(U)&&(e.data=Mn(U))}if(pn=!0,o)for(const U in o){const $=o[U],Me=P($)?$.bind(n,n):P($.get)?$.get.bind(n,n):se,mt=!P($)&&P($.set)?$.set.bind(n):se,Fe=xn({get:Me,set:mt});Object.defineProperty(s,U,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:he=>Fe.value=he})}if(c)for(const U in c)fr(c[U],s,n,U);if(u){const U=P(u)?u.call(n):u;Reflect.ownKeys(U).forEach($=>{Xo($,U[$])})}h&&rs(h,e,"c");function Y(U,$){O($)?$.forEach(Me=>U(Me.bind(n))):$&&U($.bind(n))}if(Y(No,v),Y(jo,E),Y($o,A),Y(Ho,D),Y(Mo,L),Y(Fo,W),Y(Ko,de),Y(Do,M),Y(Bo,be),Y(Vo,ae),Y(cr,G),Y(Uo,zt),O(Ie))if(Ie.length){const U=e.exposed||(e.exposed={});Ie.forEach($=>{Object.defineProperty(U,$,{get:()=>n[$],set:Me=>n[$]=Me})})}else e.exposed||(e.exposed={});oe&&e.render===se&&(e.render=oe),et!=null&&(e.inheritAttrs=et),pt&&(e.components=pt),gt&&(e.directives=gt)}function qo(e,t,n=se){O(e)&&(e=gn(e));for(const s in e){const r=e[s];let o;B(r)?"default"in r?o=At(r.from||s,r.default,!0):o=At(r.from||s):o=At(r),te(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[s]=o}}function rs(e,t,n){ue(O(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function fr(e,t,n,s){const r=s.includes(".")?rr(n,s):()=>n[s];if(z(e)){const o=t[e];P(o)&&Tt(r,o)}else if(P(e))Tt(r,e.bind(n));else if(B(e))if(O(e))e.forEach(o=>fr(o,t,n,s));else{const o=P(e.handler)?e.handler.bind(n):t[e.handler];P(o)&&Tt(r,o,e)}}function $n(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:l}}=e.appContext,c=o.get(t);let u;return c?u=c:!r.length&&!n&&!s?u=t:(u={},r.length&&r.forEach(d=>Lt(u,d,l,!0)),Lt(u,t,l)),B(t)&&o.set(t,u),u}function Lt(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&Lt(e,o,n,!0),r&&r.forEach(l=>Lt(e,l,n,!0));for(const l in t)if(!(s&&l==="expose")){const c=zo[l]||n&&n[l];e[l]=c?c(e[l],t[l]):t[l]}return e}const zo={data:os,props:is,emits:is,methods:st,computed:st,beforeCreate:Q,created:Q,beforeMount:Q,mounted:Q,beforeUpdate:Q,updated:Q,beforeDestroy:Q,beforeUnmount:Q,destroyed:Q,unmounted:Q,activated:Q,deactivated:Q,errorCaptured:Q,serverPrefetch:Q,components:st,directives:st,watch:ko,provide:os,inject:Jo};function os(e,t){return t?e?function(){return J(P(e)?e.call(this,this):e,P(t)?t.call(this,this):t)}:t:e}function Jo(e,t){return st(gn(e),gn(t))}function gn(e){if(O(e)){const t={};for(let n=0;n1)return n&&P(t)?t.call(s&&s.proxy):t}}function Zo(e,t,n,s=!1){const r={},o={};It(o,Wt,1),e.propsDefaults=Object.create(null),ar(e,t,r,o);for(const l in e.propsOptions[0])l in r||(r[l]=void 0);n?e.props=s?r:oo(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function ei(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:l}}=e,c=F(r),[u]=e.propsOptions;let d=!1;if((s||l>0)&&!(l&16)){if(l&8){const h=e.vnode.dynamicProps;for(let v=0;v{u=!0;const[E,A]=dr(v,t,!0);J(l,E),A&&c.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!o&&!u)return B(e)&&s.set(e,Ge),Ge;if(O(o))for(let h=0;h-1,A[1]=L<0||D-1||I(A,"default"))&&c.push(v)}}}const d=[l,c];return B(e)&&s.set(e,d),d}function ls(e){return e[0]!=="$"&&!rt(e)}function cs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function fs(e,t){return cs(e)===cs(t)}function us(e,t){return O(t)?t.findIndex(n=>fs(n,e)):P(t)&&fs(t,e)?0:-1}const hr=e=>e[0]==="_"||e==="$stable",Hn=e=>O(e)?e.map(me):[me(e)],ti=(e,t,n)=>{if(t._n)return t;const s=yo((...r)=>Hn(t(...r)),n);return s._c=!1,s},pr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(hr(r))continue;const o=e[r];if(P(o))t[r]=ti(r,o,s);else if(o!=null){const l=Hn(o);t[r]=()=>l}}},gr=(e,t)=>{const n=Hn(t);e.slots.default=()=>n},ni=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=F(t),It(t,"_",n)):pr(t,e.slots={})}else e.slots={},t&&gr(e,t);It(e.slots,Wt,1)},si=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,l=H;if(s.shapeFlag&32){const c=t._;c?n&&c===1?o=!1:(J(r,t),!n&&c===1&&delete r._):(o=!t.$stable,pr(t,r)),l=t}else t&&(gr(e,t),l={default:1});if(o)for(const c in r)!hr(c)&&l[c]==null&&delete r[c]};function _n(e,t,n,s,r=!1){if(O(e)){e.forEach((E,A)=>_n(E,t&&(O(t)?t[A]:t),n,s,r));return}if(Ot(s)&&!r)return;const o=s.shapeFlag&4?qt(s.component)||s.component.proxy:s.el,l=r?null:o,{i:c,r:u}=e,d=t&&t.r,h=c.refs===H?c.refs={}:c.refs,v=c.setupState;if(d!=null&&d!==u&&(z(d)?(h[d]=null,I(v,d)&&(v[d]=null)):te(d)&&(d.value=null)),P(u))Pe(u,c,12,[l,h]);else{const E=z(u),A=te(u);if(E||A){const D=()=>{if(e.f){const L=E?I(v,u)?v[u]:h[u]:u.value;r?O(L)&&En(L,o):O(L)?L.includes(o)||L.push(o):E?(h[u]=[o],I(v,u)&&(v[u]=h[u])):(u.value=[o],e.k&&(h[e.k]=u.value))}else E?(h[u]=l,I(v,u)&&(v[u]=l)):A&&(u.value=l,e.k&&(h[e.k]=l))};l?(D.id=-1,Z(D,n)):D()}}}const Z=Oo;function ri(e){return oi(e)}function oi(e,t){const n=Is();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:l,createText:c,createComment:u,setText:d,setElementText:h,parentNode:v,nextSibling:E,setScopeId:A=se,insertStaticContent:D}=e,L=(i,f,a,p=null,g=null,b=null,y=void 0,_=null,x=!!f.dynamicChildren)=>{if(i===f)return;i&&!nt(i,f)&&(p=_t(i),he(i,g,b,!0),i=null),f.patchFlag===-2&&(x=!1,f.dynamicChildren=null);const{type:m,ref:w,shapeFlag:S}=f;switch(m){case Kt:W(i,f,a,p);break;case at:K(i,f,a,p);break;case Pt:i==null&&ae(f,a,p,y);break;case ye:pt(i,f,a,p,g,b,y,_,x);break;default:S&1?oe(i,f,a,p,g,b,y,_,x):S&6?gt(i,f,a,p,g,b,y,_,x):(S&64||S&128)&&m.process(i,f,a,p,g,b,y,_,x,De)}w!=null&&g&&_n(w,i&&i.ref,b,f||i,!f)},W=(i,f,a,p)=>{if(i==null)s(f.el=c(f.children),a,p);else{const g=f.el=i.el;f.children!==i.children&&d(g,f.children)}},K=(i,f,a,p)=>{i==null?s(f.el=u(f.children||""),a,p):f.el=i.el},ae=(i,f,a,p)=>{[i.el,i.anchor]=D(i.children,f,a,p,i.el,i.anchor)},j=({el:i,anchor:f},a,p)=>{let g;for(;i&&i!==f;)g=E(i),s(i,a,p),i=g;s(f,a,p)},G=({el:i,anchor:f})=>{let a;for(;i&&i!==f;)a=E(i),r(i),i=a;r(f)},oe=(i,f,a,p,g,b,y,_,x)=>{f.type==="svg"?y="svg":f.type==="math"&&(y="mathml"),i==null?M(f,a,p,g,b,y,_,x):zt(i,f,g,b,y,_,x)},M=(i,f,a,p,g,b,y,_)=>{let x,m;const{props:w,shapeFlag:S,transition:C,dirs:T}=i;if(x=i.el=l(i.type,b,w&&w.is,w),S&8?h(x,i.children):S&16&&de(i.children,x,null,p,g,nn(i,b),y,_),T&&Le(i,null,p,"created"),be(x,i,i.scopeId,y,p),w){for(const N in w)N!=="value"&&!rt(N)&&o(x,N,null,w[N],b,i.children,p,g,xe);"value"in w&&o(x,"value",null,w.value,b),(m=w.onVnodeBeforeMount)&&ge(m,p,i)}T&&Le(i,null,p,"beforeMount");const R=ii(g,C);R&&C.beforeEnter(x),s(x,f,a),((m=w&&w.onVnodeMounted)||R||T)&&Z(()=>{m&&ge(m,p,i),R&&C.enter(x),T&&Le(i,null,p,"mounted")},g)},be=(i,f,a,p,g)=>{if(a&&A(i,a),p)for(let b=0;b{for(let m=x;m{const _=f.el=i.el;let{patchFlag:x,dynamicChildren:m,dirs:w}=f;x|=i.patchFlag&16;const S=i.props||H,C=f.props||H;let T;if(a&&Ne(a,!1),(T=C.onVnodeBeforeUpdate)&&ge(T,a,f,i),w&&Le(f,i,a,"beforeUpdate"),a&&Ne(a,!0),m?Ie(i.dynamicChildren,m,_,a,p,nn(f,g),b):y||$(i,f,_,null,a,p,nn(f,g),b,!1),x>0){if(x&16)et(_,f,S,C,a,p,g);else if(x&2&&S.class!==C.class&&o(_,"class",null,C.class,g),x&4&&o(_,"style",S.style,C.style,g),x&8){const R=f.dynamicProps;for(let N=0;N{T&&ge(T,a,f,i),w&&Le(f,i,a,"updated")},p)},Ie=(i,f,a,p,g,b,y)=>{for(let _=0;_{if(a!==p){if(a!==H)for(const _ in a)!rt(_)&&!(_ in p)&&o(i,_,a[_],null,y,f.children,g,b,xe);for(const _ in p){if(rt(_))continue;const x=p[_],m=a[_];x!==m&&_!=="value"&&o(i,_,m,x,y,f.children,g,b,xe)}"value"in p&&o(i,"value",a.value,p.value,y)}},pt=(i,f,a,p,g,b,y,_,x)=>{const m=f.el=i?i.el:c(""),w=f.anchor=i?i.anchor:c("");let{patchFlag:S,dynamicChildren:C,slotScopeIds:T}=f;T&&(_=_?_.concat(T):T),i==null?(s(m,a,p),s(w,a,p),de(f.children||[],a,w,g,b,y,_,x)):S>0&&S&64&&C&&i.dynamicChildren?(Ie(i.dynamicChildren,C,a,g,b,y,_),(f.key!=null||g&&f===g.subTree)&&mr(i,f,!0)):$(i,f,a,w,g,b,y,_,x)},gt=(i,f,a,p,g,b,y,_,x)=>{f.slotScopeIds=_,i==null?f.shapeFlag&512?g.ctx.activate(f,a,p,y,x):Jt(f,a,p,g,b,y,x):Un(i,f,x)},Jt=(i,f,a,p,g,b,y)=>{const _=i.component=bi(i,p,g);if(ir(i)&&(_.ctx.renderer=De),xi(_),_.asyncDep){if(g&&g.registerDep(_,Y),!i.el){const x=_.subTree=we(at);K(null,x,f,a)}}else Y(_,i,f,a,g,b,y)},Un=(i,f,a)=>{const p=f.component=i.component;if(Eo(i,f,a))if(p.asyncDep&&!p.asyncResolved){U(p,f,a);return}else p.next=f,mo(p.update),p.effect.dirty=!0,p.update();else f.el=i.el,p.vnode=f},Y=(i,f,a,p,g,b,y)=>{const _=()=>{if(i.isMounted){let{next:w,bu:S,u:C,parent:T,vnode:R}=i;{const Ke=_r(i);if(Ke){w&&(w.el=R.el,U(i,w,y)),Ke.asyncDep.then(()=>{i.isUnmounted||_()});return}}let N=w,V;Ne(i,!1),w?(w.el=R.el,U(i,w,y)):w=R,S&&Ct(S),(V=w.props&&w.props.onVnodeBeforeUpdate)&&ge(V,T,w,R),Ne(i,!0);const q=en(i),ie=i.subTree;i.subTree=q,L(ie,q,v(ie.el),_t(ie),i,g,b),w.el=q.el,N===null&&Co(i,q.el),C&&Z(C,g),(V=w.props&&w.props.onVnodeUpdated)&&Z(()=>ge(V,T,w,R),g)}else{let w;const{el:S,props:C}=f,{bm:T,m:R,parent:N}=i,V=Ot(f);if(Ne(i,!1),T&&Ct(T),!V&&(w=C&&C.onVnodeBeforeMount)&&ge(w,N,f),Ne(i,!0),S&&Qt){const q=()=>{i.subTree=en(i),Qt(S,i.subTree,i,g,null)};V?f.type.__asyncLoader().then(()=>!i.isUnmounted&&q()):q()}else{const q=i.subTree=en(i);L(null,q,a,p,i,g,b),f.el=q.el}if(R&&Z(R,g),!V&&(w=C&&C.onVnodeMounted)){const q=f;Z(()=>ge(w,N,q),g)}(f.shapeFlag&256||N&&Ot(N.vnode)&&N.vnode.shapeFlag&256)&&i.a&&Z(i.a,g),i.isMounted=!0,f=a=p=null}},x=i.effect=new On(_,se,()=>jn(m),i.scope),m=i.update=()=>{x.dirty&&x.run()};m.id=i.uid,Ne(i,!0),m()},U=(i,f,a)=>{f.component=i;const p=i.vnode.props;i.vnode=f,i.next=null,ei(i,f.props,p,a),si(i,f.children,a),Ue(),ts(i),Be()},$=(i,f,a,p,g,b,y,_,x=!1)=>{const m=i&&i.children,w=i?i.shapeFlag:0,S=f.children,{patchFlag:C,shapeFlag:T}=f;if(C>0){if(C&128){mt(m,S,a,p,g,b,y,_,x);return}else if(C&256){Me(m,S,a,p,g,b,y,_,x);return}}T&8?(w&16&&xe(m,g,b),S!==m&&h(a,S)):w&16?T&16?mt(m,S,a,p,g,b,y,_,x):xe(m,g,b,!0):(w&8&&h(a,""),T&16&&de(S,a,p,g,b,y,_,x))},Me=(i,f,a,p,g,b,y,_,x)=>{i=i||Ge,f=f||Ge;const m=i.length,w=f.length,S=Math.min(m,w);let C;for(C=0;Cw?xe(i,g,b,!0,!1,S):de(f,a,p,g,b,y,_,x,S)},mt=(i,f,a,p,g,b,y,_,x)=>{let m=0;const w=f.length;let S=i.length-1,C=w-1;for(;m<=S&&m<=C;){const T=i[m],R=f[m]=x?Te(f[m]):me(f[m]);if(nt(T,R))L(T,R,a,null,g,b,y,_,x);else break;m++}for(;m<=S&&m<=C;){const T=i[S],R=f[C]=x?Te(f[C]):me(f[C]);if(nt(T,R))L(T,R,a,null,g,b,y,_,x);else break;S--,C--}if(m>S){if(m<=C){const T=C+1,R=TC)for(;m<=S;)he(i[m],g,b,!0),m++;else{const T=m,R=m,N=new Map;for(m=R;m<=C;m++){const ne=f[m]=x?Te(f[m]):me(f[m]);ne.key!=null&&N.set(ne.key,m)}let V,q=0;const ie=C-R+1;let Ke=!1,Kn=0;const tt=new Array(ie);for(m=0;m=ie){he(ne,g,b,!0);continue}let pe;if(ne.key!=null)pe=N.get(ne.key);else for(V=R;V<=C;V++)if(tt[V-R]===0&&nt(ne,f[V])){pe=V;break}pe===void 0?he(ne,g,b,!0):(tt[pe-R]=m+1,pe>=Kn?Kn=pe:Ke=!0,L(ne,f[pe],a,null,g,b,y,_,x),q++)}const Wn=Ke?li(tt):Ge;for(V=Wn.length-1,m=ie-1;m>=0;m--){const ne=R+m,pe=f[ne],Gn=ne+1{const{el:b,type:y,transition:_,children:x,shapeFlag:m}=i;if(m&6){Fe(i.component.subTree,f,a,p);return}if(m&128){i.suspense.move(f,a,p);return}if(m&64){y.move(i,f,a,De);return}if(y===ye){s(b,f,a);for(let S=0;S_.enter(b),g);else{const{leave:S,delayLeave:C,afterLeave:T}=_,R=()=>s(b,f,a),N=()=>{S(b,()=>{R(),T&&T()})};C?C(b,R,N):N()}else s(b,f,a)},he=(i,f,a,p=!1,g=!1)=>{const{type:b,props:y,ref:_,children:x,dynamicChildren:m,shapeFlag:w,patchFlag:S,dirs:C}=i;if(_!=null&&_n(_,null,a,i,!0),w&256){f.ctx.deactivate(i);return}const T=w&1&&C,R=!Ot(i);let N;if(R&&(N=y&&y.onVnodeBeforeUnmount)&&ge(N,f,i),w&6)Sr(i.component,a,p);else{if(w&128){i.suspense.unmount(a,p);return}T&&Le(i,null,f,"beforeUnmount"),w&64?i.type.remove(i,f,a,g,De,p):m&&(b!==ye||S>0&&S&64)?xe(m,f,a,!1,!0):(b===ye&&S&384||!g&&w&16)&&xe(x,f,a),p&&Bn(i)}(R&&(N=y&&y.onVnodeUnmounted)||T)&&Z(()=>{N&&ge(N,f,i),T&&Le(i,null,f,"unmounted")},a)},Bn=i=>{const{type:f,el:a,anchor:p,transition:g}=i;if(f===ye){Cr(a,p);return}if(f===Pt){G(i);return}const b=()=>{r(a),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(i.shapeFlag&1&&g&&!g.persisted){const{leave:y,delayLeave:_}=g,x=()=>y(a,b);_?_(i.el,b,x):x()}else b()},Cr=(i,f)=>{let a;for(;i!==f;)a=E(i),r(i),i=a;r(f)},Sr=(i,f,a)=>{const{bum:p,scope:g,update:b,subTree:y,um:_}=i;p&&Ct(p),g.stop(),b&&(b.active=!1,he(y,i,f,a)),_&&Z(_,f),Z(()=>{i.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&i.asyncDep&&!i.asyncResolved&&i.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},xe=(i,f,a,p=!1,g=!1,b=0)=>{for(let y=b;yi.shapeFlag&6?_t(i.component.subTree):i.shapeFlag&128?i.suspense.next():E(i.anchor||i.el);let kt=!1;const Dn=(i,f,a)=>{i==null?f._vnode&&he(f._vnode,null,null,!0):L(f._vnode||null,i,f,null,null,null,a),kt||(kt=!0,ts(),Zs(),kt=!1),f._vnode=i},De={p:L,um:he,m:Fe,r:Bn,mt:Jt,mc:de,pc:$,pbc:Ie,n:_t,o:e};let Yt,Qt;return t&&([Yt,Qt]=t(De)),{render:Dn,hydrate:Yt,createApp:Qo(Dn,Yt)}}function nn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ne({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ii(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function mr(e,t,n=!1){const s=e.children,r=t.children;if(O(s)&&O(r))for(let o=0;o>1,e[n[c]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,l=n[o-1];o-- >0;)n[o]=l,l=t[l];return n}function _r(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:_r(t)}const ci=e=>e.__isTeleport,ye=Symbol.for("v-fgt"),Kt=Symbol.for("v-txt"),at=Symbol.for("v-cmt"),Pt=Symbol.for("v-stc"),lt=[];let ce=null;function br(e=!1){lt.push(ce=e?null:[])}function fi(){lt.pop(),ce=lt[lt.length-1]||null}let dt=1;function as(e){dt+=e}function ui(e){return e.dynamicChildren=dt>0?ce||Ge:null,fi(),dt>0&&ce&&ce.push(e),e}function xr(e,t,n,s,r,o){return ui(fe(e,t,n,s,r,o,!0))}function ai(e){return e?e.__v_isVNode===!0:!1}function nt(e,t){return e.type===t.type&&e.key===t.key}const Wt="__vInternal",yr=({key:e})=>e??null,Rt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?z(e)||te(e)||P(e)?{i:re,r:e,k:t,f:!!n}:e:null);function fe(e,t=null,n=null,s=0,r=null,o=e===ye?0:1,l=!1,c=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&yr(t),ref:t&&Rt(t),scopeId:nr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:re};return c?(Vn(u,n),o&128&&e.normalize(u)):n&&(u.shapeFlag|=z(n)?8:16),dt>0&&!l&&ce&&(u.patchFlag>0||o&6)&&u.patchFlag!==32&&ce.push(u),u}const we=di;function di(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===So)&&(e=at),ai(e)){const c=Qe(e,t,!0);return n&&Vn(c,n),dt>0&&!o&&ce&&(c.shapeFlag&6?ce[ce.indexOf(e)]=c:ce.push(c)),c.patchFlag|=-2,c}if(Ei(e)&&(e=e.__vccOpts),t){t=hi(t);let{class:c,style:u}=t;c&&!z(c)&&(t.class=Tn(c)),B(u)&&(qs(u)&&!O(u)&&(u=J({},u)),t.style=Sn(u))}const l=z(e)?1:To(e)?128:ci(e)?64:B(e)?4:P(e)?2:0;return fe(e,t,n,s,r,l,o,!0)}function hi(e){return e?qs(e)||Wt in e?J({},e):e:null}function Qe(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:l}=e,c=t?gi(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&yr(c),ref:t&&t.ref?n&&r?O(r)?r.concat(Rt(t)):[r,Rt(t)]:Rt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ye?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qe(e.ssContent),ssFallback:e.ssFallback&&Qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function pi(e=" ",t=0){return we(Kt,null,e,t)}function vr(e,t){const n=we(Pt,null,e);return n.staticCount=t,n}function me(e){return e==null||typeof e=="boolean"?we(at):O(e)?we(ye,null,e.slice()):typeof e=="object"?Te(e):we(Kt,null,String(e))}function Te(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qe(e)}function Vn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(O(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Vn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Wt in t)?t._ctx=re:r===3&&re&&(re.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else P(t)?(t={default:t,_ctx:re},n=32):(t=String(t),s&64?(n=16,t=[pi(t)]):n=8);e.children=t,e.shapeFlag|=n}function gi(...e){const t={};for(let n=0;n{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(l=>l(o)):r[0](o)}};Nt=t("__VUE_INSTANCE_SETTERS__",n=>X=n),bn=t("__VUE_SSR_SETTERS__",n=>Gt=n)}const ht=e=>{const t=X;return Nt(e),e.scope.on(),()=>{e.scope.off(),Nt(t)}},ds=()=>{X&&X.scope.off(),Nt(null)};function wr(e){return e.vnode.shapeFlag&4}let Gt=!1;function xi(e,t=!1){t&&bn(t);const{props:n,children:s}=e.vnode,r=wr(e);Zo(e,n,r,t),ni(e,s);const o=r?yi(e,t):void 0;return t&&bn(!1),o}function yi(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=zs(new Proxy(e.ctx,Wo));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?wi(e):null,o=ht(e);Ue();const l=Pe(s,e,0,[e.props,r]);if(Be(),o(),Os(l)){if(l.then(ds,ds),t)return l.then(c=>{hs(e,c,t)}).catch(c=>{Ut(c,e,0)});e.asyncDep=l}else hs(e,l,t)}else Er(e,t)}function hs(e,t,n){P(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:B(t)&&(e.setupState=Ys(t)),Er(e,n)}let ps;function Er(e,t,n){const s=e.type;if(!e.render){if(!t&&ps&&!s.render){const r=s.template||$n(e).template;if(r){const{isCustomElement:o,compilerOptions:l}=e.appContext.config,{delimiters:c,compilerOptions:u}=s,d=J(J({isCustomElement:o,delimiters:c},l),u);s.render=ps(r,d)}}e.render=s.render||se}{const r=ht(e);Ue();try{Go(e)}finally{Be(),r()}}}function vi(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ee(e,"get","$attrs"),t[n]}}))}function wi(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return vi(e)},slots:e.slots,emit:e.emit,expose:t}}function qt(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ys(zs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ot)return ot[n](e)},has(t,n){return n in t||n in ot}}))}function Ei(e){return P(e)&&"__vccOpts"in e}const xn=(e,t)=>io(e,t,Gt),Ci="3.4.19";/** +* @vue/runtime-dom v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Si="http://www.w3.org/2000/svg",Ti="http://www.w3.org/1998/Math/MathML",Oe=typeof document<"u"?document:null,gs=Oe&&Oe.createElement("template"),Oi={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Oe.createElementNS(Si,e):t==="mathml"?Oe.createElementNS(Ti,e):Oe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Oe.createTextNode(e),createComment:e=>Oe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Oe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const l=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{gs.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const c=gs.content;if(s==="svg"||s==="mathml"){const u=c.firstChild;for(;u.firstChild;)c.appendChild(u.firstChild);c.removeChild(u)}t.insertBefore(c,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ai=Symbol("_vtc");function Pi(e,t,n){const s=e[Ai];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ms=Symbol("_vod"),Ri=Symbol(""),Ii=/(^|;)\s*display\s*:/;function Mi(e,t,n){const s=e.style,r=z(n),o=s.display;let l=!1;if(n&&!r){if(t&&!z(t))for(const c in t)n[c]==null&&yn(s,c,"");for(const c in n)c==="display"&&(l=!0),yn(s,c,n[c])}else if(r){if(t!==n){const c=s[Ri];c&&(n+=";"+c),s.cssText=n,l=Ii.test(n)}}else t&&e.removeAttribute("style");ms in e&&(e[ms]=l?s.display:"",s.display=o)}const _s=/\s*!important$/;function yn(e,t,n){if(O(n))n.forEach(s=>yn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Fi(e,t);_s.test(n)?e.setProperty(Ze(s),n.replace(_s,""),"important"):e[s]=n}}const bs=["Webkit","Moz","ms"],sn={};function Fi(e,t){const n=sn[t];if(n)return n;let s=ke(t);if(s!=="filter"&&s in e)return sn[t]=s;s=Rs(s);for(let r=0;rrn||(Vi.then(()=>rn=0),rn=Date.now());function Bi(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;ue(Di(s,n.value),t,5,[s])};return n.value=e,n.attached=Ui(),n}function Di(e,t){if(O(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const ws=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ki=(e,t,n,s,r,o,l,c,u)=>{const d=r==="svg";t==="class"?Pi(e,s,d):t==="style"?Mi(e,n,s):jt(t)?wn(t)||$i(e,t,n,s,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wi(e,t,s,d))?Ni(e,t,s,o,l,c,u):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Li(e,t,s,d))};function Wi(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&ws(t)&&P(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return ws(t)&&z(n)?!1:t in e}const Es=e=>{const t=e.props["onUpdate:modelValue"]||!1;return O(t)?n=>Ct(t,n):t};function Gi(e){e.target.composing=!0}function Cs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const on=Symbol("_assign"),qi={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[on]=Es(r);const o=s||r.props&&r.props.type==="number";We(e,t?"change":"input",l=>{if(l.target.composing)return;let c=e.value;n&&(c=c.trim()),o&&(c=ln(c)),e[on](c)}),n&&We(e,"change",()=>{e.value=e.value.trim()}),t||(We(e,"compositionstart",Gi),We(e,"compositionend",Cs),We(e,"change",Cs))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},o){if(e[on]=Es(o),e.composing)return;const l=r||e.type==="number"?ln(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===c)||(e.value=c))}},zi=J({patchProp:Ki},Oi);let Ss;function Ji(){return Ss||(Ss=ri(zi))}const ki=(...e)=>{const t=Ji().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Qi(s);if(!r)return;const o=t._component;!P(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const l=n(r,!1,Yi(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),l},t};function Yi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Qi(e){return z(e)?document.querySelector(e):e}const Xi={class:"vue-tab-complete-wrapper"},Zi=["placeholder"],el={class:"input-overlay"},tl={class:"result-query"},nl={class:"result-suggest"},sl=or({__name:"TabComplete",props:{suggestions:{default:()=>[]},placeholder:{default:""}},emits:["change"],setup(e,{emit:t}){const n=e,s=t,r=lo(""),o=xn(()=>r.value===""?null:n.suggestions.find(d=>d.toLowerCase().startsWith(r.value.toLowerCase()))),l=xn(()=>{var u;return r.value===""||o.value===null?null:(u=o.value)==null?void 0:u.substring(r.value.length)}),c=u=>{u.key==="Tab"&&(u.preventDefault(),o.value&&(r.value=o.value))};return Tt(r,()=>{s("change",r.value)}),(u,d)=>(br(),xr("div",Xi,[Io(fe("input",{"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),type:"text",class:"vue-tab-complete-input",onKeydown:c,placeholder:n.placeholder},null,40,Zi),[[qi,r.value]]),fe("div",el,[fe("span",tl,zn(r.value),1),fe("span",nl,zn(l.value),1)])]))}});const rl={class:""},ol={class:"container px-6 mx-auto"},il=vr('',1),ll={class:"flex items-center flex-1 mt-20"},cl={class:"flex flex-col w-full"},fl=vr('

Tab Complete

A Vue component that creates autocomplete functionality for your input fields, but works as tab suggestions instead of dropdown.

Try it here: type a name of a framework/programming language. Example: "Vue", then press Tab

',3),ul={class:"flex flex-col mt-8 space-y-3 sm:-mx-2 sm:flex-row sm:justify-center sm:space-y-0"},al=fe("button",{class:"px-6 py-3 text-sm font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-500 rounded-md hover:bg-blue-600 focus:bg-blue-600 focus:outline-none sm:mx-2"}," Submit ",-1),dl=or({__name:"App",setup(e){const t=["JavaScript","Python","Java","C++","C#","Ruby","PHP","Swift","Kotlin","TypeScript","Rust","Go","Scala","Elixir","Dart","Perl","Haskell","Clojure","Lua","Groovy","Objective-C","SQL","MongoDB","Firebase","Docker","Kubernetes","Git","GitHub","GitLab","Bitbucket","Jenkins","Travis CI","CircleCI","Azure DevOps","AWS","Google Cloud","Azure","React.js","Vue.js","Angular","Svelte","Ember.js","Backbone.js","jQuery","Bootstrap","Tailwind CSS","SASS","LESS","Webpack","Babel","NPM","Yarn","Express.js","Django","Flask","Laravel","Spring",".NET","ASP.NET","Ruby on Rails","GraphQL","REST API","SOAP","JSON","XML","WebSockets","HTML5","CSS3","AJAX","WebRTC","Ethereum","Solidity","Web3.js","Blockchain","Bitcoin","Cryptography","Machine Learning","TensorFlow","PyTorch","Keras","Scikit-learn","Data Science","Pandas","NumPy","Matplotlib","Jupyter Notebook","R programming","MATLAB","Apache Spark","Hadoop","Big Data","Artificial Intelligence","Computer Vision","Natural Language Processing","Deep Learning","Neural Networks","Convolutional Neural Networks","Reinforcement Learning","Generative Adversarial Networks","OpenCV"];return(n,s)=>(br(),xr("header",rl,[fe("div",ol,[il,fe("section",ll,[fe("div",cl,[fl,fe("div",ul,[we(sl,{placeholder:"Type 'Vue'",suggestions:t}),al])])])])]))}});const hl=ki(dl);hl.mount("#app"); diff --git a/demo/dist/index.html b/demo/dist/index.html new file mode 100644 index 0000000..04c70eb --- /dev/null +++ b/demo/dist/index.html @@ -0,0 +1,18 @@ + + + + + + + + Vue Tab Complete + + + + + +
+ + + + \ No newline at end of file diff --git a/demo/img/github-mark.svg b/demo/img/github-mark.svg new file mode 100644 index 0000000..37fa923 --- /dev/null +++ b/demo/img/github-mark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/demo/index.html b/demo/index.html new file mode 100644 index 0000000..8e443d7 --- /dev/null +++ b/demo/index.html @@ -0,0 +1,16 @@ + + + + + + + + Vue Tab Complete + + + +
+ + + + \ No newline at end of file diff --git a/demo/main.ts b/demo/main.ts new file mode 100644 index 0000000..3ade65a --- /dev/null +++ b/demo/main.ts @@ -0,0 +1,7 @@ +import { createApp } from 'vue' +import App from './App.vue' +import './style.css' + +const app = createApp(App) + +app.mount('#app') diff --git a/demo/style.css b/demo/style.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/demo/style.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/dist/index.css b/dist/index.css new file mode 100644 index 0000000..e69de29 diff --git a/dist/main.es.js b/dist/main.es.js new file mode 100644 index 0000000..31f2c26 --- /dev/null +++ b/dist/main.es.js @@ -0,0 +1,35 @@ +import { defineComponent as m, ref as f, computed as o, watch as x, openBlock as y, createElementBlock as _, withDirectives as h, createElementVNode as a, vModelText as b, toDisplayString as n } from "vue"; +const w = { class: "relative" }, R = { class: "absolute left-3 top-1/2 -translate-y-1/2" }, g = { class: "ml-0.5 py-1 text-xl text-black" }, C = { class: "text-xl text-gray-400" }, k = /* @__PURE__ */ m({ + __name: "TabComplete", + props: { + results: { default: () => [] } + }, + emits: ["change"], + setup(r, { emit: u }) { + const c = r, i = u, e = f(""), l = o(() => e.value === "" ? null : c.results.find((s) => s.toLowerCase().startsWith(e.value.toLowerCase()))), p = o(() => { + var t; + return e.value === "" || l.value === null ? null : (t = l.value) == null ? void 0 : t.substring(e.value.length); + }), d = (t) => { + t.key === "Tab" && (t.preventDefault(), l.value && (e.value = l.value)); + }; + return x(e, () => { + i("change", e.value); + }), (t, s) => (y(), _("div", w, [ + h(a("input", { + "onUpdate:modelValue": s[0] || (s[0] = (v) => e.value = v), + type: "text", + class: "z-10 h-[76px] w-full rounded border border-[#CED7D0] p-2 pl-3.5 text-xl text-white caret-gray-600", + onKeydown: d + }, null, 544), [ + [b, e.value] + ]), + a("div", R, [ + a("span", g, n(e.value), 1), + a("span", C, n(p.value), 1) + ]) + ])); + } +}); +export { + k as TabComplete +}; diff --git a/dist/main.umd.js b/dist/main.umd.js new file mode 100644 index 0000000..6f3e5cc --- /dev/null +++ b/dist/main.umd.js @@ -0,0 +1 @@ +(function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.VueTabComplete={},l.Vue))})(this,function(l,e){"use strict";const _="",a={class:"relative"},r={class:"absolute left-3 top-1/2 -translate-y-1/2"},i={class:"ml-0.5 py-1 text-xl text-black"},u={class:"text-xl text-gray-400"},c=e.defineComponent({__name:"TabComplete",props:{results:{default:()=>[]}},emits:["change"],setup(d,{emit:p}){const f=d,m=p,t=e.ref(""),o=e.computed(()=>t.value===""?null:f.results.find(s=>s.toLowerCase().startsWith(t.value.toLowerCase()))),y=e.computed(()=>{var n;return t.value===""||o.value===null?null:(n=o.value)==null?void 0:n.substring(t.value.length)}),x=n=>{n.key==="Tab"&&(n.preventDefault(),o.value&&(t.value=o.value))};return e.watch(t,()=>{m("change",t.value)}),(n,s)=>(e.openBlock(),e.createElementBlock("div",a,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=h=>t.value=h),type:"text",class:"z-10 h-[76px] w-full rounded border border-[#CED7D0] p-2 pl-3.5 text-xl text-white caret-gray-600",onKeydown:x},null,544),[[e.vModelText,t.value]]),e.createElementVNode("div",r,[e.createElementVNode("span",i,e.toDisplayString(t.value),1),e.createElementVNode("span",u,e.toDisplayString(y.value),1)])]))}});l.TabComplete=c,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}); diff --git a/dist/vite.svg b/dist/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/dist/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..dde16aa --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + Vue + TS + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..c9b80d3 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "vue-tab-complete", + "version": "1.0.0", + "description": "A Vue 3 component for tab completion", + "author": { + "name": "Phuc Hong.", + "email": "dshongphuc@gmail.com" + }, + "type": "module", + "main": "./dist/main.umd.js", + "module": "./dist/main.es.js", + "types": "./src/types/main.d.ts", + "scripts": { + "dev": "MODE=demo vite", + "demo-build": "MODE=demo vite build", + "build": "vue-tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.3.4", + "tailwindcss": "^3.3.2", + "postcss": "^8.4.23", + "autoprefixer": "^10.4.14", + "@headlessui/vue": "^1.7.13" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.2.3", + "typescript": "^5.0.2", + "vite": "^4.4.5", + "sass": "^1.38.0", + "sass-loader": "^10.0.0", + "vue-tsc": "^1.8.5" + } +} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/TabComplete.vue b/src/TabComplete.vue new file mode 100644 index 0000000..0c1d4aa --- /dev/null +++ b/src/TabComplete.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/src/assets/vue.svg b/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..bd056a2 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,7 @@ +import './style.css' + +import TabComplete from './TabComplete.vue' + +export { + TabComplete +} \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..d6d88bf --- /dev/null +++ b/src/style.css @@ -0,0 +1,3 @@ +/* @tailwind base; +@tailwind components; +@tailwind utilities; */ diff --git a/src/types/main.d.ts b/src/types/main.d.ts new file mode 100644 index 0000000..4c05d96 --- /dev/null +++ b/src/types/main.d.ts @@ -0,0 +1,8 @@ +declare module "vue-tab-complete" { + import { DefineComponent } from "vue" + // eslint-disable-next-line + const component: any; + export default component; + + export const TabComplete: DefineComponent<{}, {}, any>; +} \ No newline at end of file diff --git a/src/types/shims-vue.d.ts b/src/types/shims-vue.d.ts new file mode 100644 index 0000000..089a40f --- /dev/null +++ b/src/types/shims-vue.d.ts @@ -0,0 +1,6 @@ +declare module "*.vue" { + import { DefineComponent } from "vue" + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tailwind.config.cjs b/tailwind.config.cjs new file mode 100644 index 0000000..93fe928 --- /dev/null +++ b/tailwind.config.cjs @@ -0,0 +1,55 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + './index.html', + './src/**/*.{vue,js,ts,jsx,tsx}', + './demo/**/*.{vue,js,ts,jsx,tsx}', + ], + theme: { + container: { + center: true, + padding: '1rem', + }, + fontFamily: { + content: ['Open Sans', 'sans-serif'], + heading: ['Crimson Text', 'serif'], + logo: ['Montserrat', 'sans-serif'], + }, + extend: { + colors: { + miro: { + primary: 'var(--color-primary)', + blue: '#336CFB', + purple: '#0B63F8', + green: '#33B959', + 'gray-light': '#D9D9D9', + gray: '#D8D8D8', + 'gray-lighter': '#F8F8F8', + 'green-landing': '#007360', + yellow: '#DBBE71', + mint: '#F8FEFF', + orangeskin: '#FB8E67', + orange: '#FF6D4A', + }, + }, + backdropBlur: { + xs: '2px', + }, + fontSize: { + '2lg': '1.375rem', // 22px + '2.1xl': '1.5625rem', // 25px + '2.5xl': '1.75rem', // 28px + '4.5xl': '2.8125rem', // 45px + '5.1xl': '3.125rem', // 50px + }, + height: { + 29: '7.375rem', // 118px + 37: '9.4375rem', // 151px + }, + margin: { + 30: '6.5rem', + }, + }, + }, + plugins: [], +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..f82888f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..32b49b1 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,47 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import path from "path" + +// https://vitejs.dev/config/ +export default defineConfig(() => { + if(process.env.MODE === 'demo') { + return { + plugins: [vue()], + root: "./demo", + } + } + + return { + plugins: [vue()], + resolve: { + dedupe: [ + 'vue' + ] + }, + build: { + minify: true, + lib: { + entry: path.resolve(__dirname, "src/main.ts"), + name: "VueTabComplete", + fileName: format => `main.${format}.js`, + }, + rollupOptions: { + // make sure to externalize deps that shouldn't be bundled + // into your library + external: ["vue"], + output: { + // Provide global variables to use in the UMD build + // for externalized deps + globals: { + vue: "Vue", + }, + // Use `index.css` for css + assetFileNames: assetInfo => { + if (assetInfo.name == "style.css") return "index.css" + return assetInfo.name + }, + }, + }, + }, + } +}) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..275896b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1289 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + +"@esbuild/linux-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" + integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== + +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + +"@headlessui/vue@^1.7.13": + version "1.7.19" + resolved "https://registry.yarnpkg.com/@headlessui/vue/-/vue-1.7.19.tgz#c128504afc14c5a85e2bedd59370a6a461b7c669" + integrity sha512-VFjKPybogux/5/QYGSq4zgG/x3RcxId15W8uguAJAjPBxelI23dwjOjTx/mIiMkM/Hd3rzFxcf2aIp56eEWRcA== + dependencies: + "@tanstack/vue-virtual" "^3.0.0-beta.60" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@tanstack/virtual-core@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.0.0.tgz#637bee36f0cabf96a1d436887c90f138a7e9378b" + integrity sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg== + +"@tanstack/vue-virtual@^3.0.0-beta.60": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@tanstack/vue-virtual/-/vue-virtual-3.0.4.tgz#e4a7dea0ecdbd87cc45169c2ba1d3fd508232145" + integrity sha512-SDk3n+dMZnAXEAx+HZ0wQwBN00Ne7Qk4z29QnawJy6jzOOpoajt7Mm6gIEERin1D4ALxW5WpuDqhlnV2TNFQ+A== + dependencies: + "@tanstack/virtual-core" "3.0.0" + +"@types/json-schema@^7.0.8": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@vitejs/plugin-vue@^4.2.3": + version "4.6.2" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz#057d2ded94c4e71b94e9814f92dcd9306317aa46" + integrity sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw== + +"@volar/language-core@1.11.1", "@volar/language-core@~1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.11.1.tgz#ecdf12ea8dc35fb8549e517991abcbf449a5ad4f" + integrity sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw== + dependencies: + "@volar/source-map" "1.11.1" + +"@volar/source-map@1.11.1", "@volar/source-map@~1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.11.1.tgz#535b0328d9e2b7a91dff846cab4058e191f4452f" + integrity sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg== + dependencies: + muggle-string "^0.3.1" + +"@volar/typescript@~1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.11.1.tgz#ba86c6f326d88e249c7f5cfe4b765be3946fd627" + integrity sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ== + dependencies: + "@volar/language-core" "1.11.1" + path-browserify "^1.0.1" + +"@vue/compiler-core@3.4.19": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.19.tgz#3161b1ede69da00f3ce8155dfab907a3eaa0515e" + integrity sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/shared" "3.4.19" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.4.19", "@vue/compiler-dom@^3.3.0": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.19.tgz#2457e57e978f431e3b5fd11fc50a3e92d5816f9a" + integrity sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA== + dependencies: + "@vue/compiler-core" "3.4.19" + "@vue/shared" "3.4.19" + +"@vue/compiler-sfc@3.4.19": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.19.tgz#33b238ded6d63e51f6a7048b742626f6007df129" + integrity sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/compiler-core" "3.4.19" + "@vue/compiler-dom" "3.4.19" + "@vue/compiler-ssr" "3.4.19" + "@vue/shared" "3.4.19" + estree-walker "^2.0.2" + magic-string "^0.30.6" + postcss "^8.4.33" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.4.19": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.19.tgz#1f8ee06005ebbaa354f8783fad84e9f7ea4a69c2" + integrity sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw== + dependencies: + "@vue/compiler-dom" "3.4.19" + "@vue/shared" "3.4.19" + +"@vue/language-core@1.8.27": + version "1.8.27" + resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.27.tgz#2ca6892cb524e024a44e554e4c55d7a23e72263f" + integrity sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA== + dependencies: + "@volar/language-core" "~1.11.1" + "@volar/source-map" "~1.11.1" + "@vue/compiler-dom" "^3.3.0" + "@vue/shared" "^3.3.0" + computeds "^0.0.1" + minimatch "^9.0.3" + muggle-string "^0.3.1" + path-browserify "^1.0.1" + vue-template-compiler "^2.7.14" + +"@vue/reactivity@3.4.19": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.19.tgz#8cf335d97d07881d8184cb23289289dc18b03f60" + integrity sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA== + dependencies: + "@vue/shared" "3.4.19" + +"@vue/runtime-core@3.4.19": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.19.tgz#ef10357fdf3afdf68523b55424541000105e2aeb" + integrity sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw== + dependencies: + "@vue/reactivity" "3.4.19" + "@vue/shared" "3.4.19" + +"@vue/runtime-dom@3.4.19": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.19.tgz#079141e31d9f47515b9595f29843d51011f88739" + integrity sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g== + dependencies: + "@vue/runtime-core" "3.4.19" + "@vue/shared" "3.4.19" + csstype "^3.1.3" + +"@vue/server-renderer@3.4.19": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.19.tgz#e6f8ff5268d0758766ca9835375218924d5f0eb6" + integrity sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw== + dependencies: + "@vue/compiler-ssr" "3.4.19" + "@vue/shared" "3.4.19" + +"@vue/shared@3.4.19", "@vue/shared@^3.3.0": + version "3.4.19" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.19.tgz#28105147811bcf1e6612bf1c9ab0c6d91ada019c" + integrity sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw== + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +autoprefixer@^10.4.14: + version "10.4.17" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be" + integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== + dependencies: + browserslist "^4.22.2" + caniuse-lite "^1.0.30001578" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.22.2: + version "4.22.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" + integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== + dependencies: + caniuse-lite "^1.0.30001580" + electron-to-chromium "^1.4.648" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001580: + version "1.0.30001587" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" + integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +computeds@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/computeds/-/computeds-0.0.1.tgz#215b08a4ba3e08a11ff6eee5d6d8d7166a97ce2e" + integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +electron-to-chromium@^1.4.648: + version "1.4.668" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.668.tgz#5cfed14f3240cdc70a359a49790cb295b1f097f1" + integrity sha512-ZOBocMYCehr9W31+GpMclR+KBaDZOoAEabLdhpZ8oU1JFDwIaFY0UDbpXVEUFc0BIP2O2Qn3rkfCjQmMR4T/bQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== + optionalDependencies: + "@esbuild/android-arm" "0.18.20" + "@esbuild/android-arm64" "0.18.20" + "@esbuild/android-x64" "0.18.20" + "@esbuild/darwin-arm64" "0.18.20" + "@esbuild/darwin-x64" "0.18.20" + "@esbuild/freebsd-arm64" "0.18.20" + "@esbuild/freebsd-x64" "0.18.20" + "@esbuild/linux-arm" "0.18.20" + "@esbuild/linux-arm64" "0.18.20" + "@esbuild/linux-ia32" "0.18.20" + "@esbuild/linux-loong64" "0.18.20" + "@esbuild/linux-mips64el" "0.18.20" + "@esbuild/linux-ppc64" "0.18.20" + "@esbuild/linux-riscv64" "0.18.20" + "@esbuild/linux-s390x" "0.18.20" + "@esbuild/linux-x64" "0.18.20" + "@esbuild/netbsd-x64" "0.18.20" + "@esbuild/openbsd-x64" "0.18.20" + "@esbuild/sunos-x64" "0.18.20" + "@esbuild/win32-arm64" "0.18.20" + "@esbuild/win32-ia32" "0.18.20" + "@esbuild/win32-x64" "0.18.20" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^10.3.10: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +hasown@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +immutable@^4.0.0: + version "4.3.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" + integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jiti@^1.19.1: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json5@^2.1.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +klona@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lilconfig@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +"lru-cache@^9.1.1 || ^10.0.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +magic-string@^0.30.6: + version "0.30.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505" + integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^9.0.1, minimatch@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +muggle-string@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.3.1.tgz#e524312eb1728c63dd0b2ac49e3282e6ed85963a" + integrity sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== + dependencies: + lilconfig "^3.0.0" + yaml "^2.3.4" + +postcss-nested@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== + dependencies: + postcss-selector-parser "^6.0.11" + +postcss-selector-parser@^6.0.11: + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.23, postcss@^8.4.27, postcss@^8.4.33: + version "8.4.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve@^1.1.7, resolve@^1.22.2: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rollup@^3.27.1: + version "3.29.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" + integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +sass-loader@^10.0.0: + version "10.5.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.5.2.tgz#1ca30534fff296417b853c7597ca3b0bbe8c37d0" + integrity sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ== + dependencies: + klona "^2.0.4" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^3.0.0" + semver "^7.3.2" + +sass@^1.38.0: + version "1.70.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.70.0.tgz#761197419d97b5358cb25f9dd38c176a8a270a75" + integrity sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +schema-utils@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +semver@^7.3.2, semver@^7.5.4: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +sucrase@^3.32.0: + version "3.35.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "^10.3.10" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tailwindcss@^3.3.2: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.1.tgz#f512ca5d1dd4c9503c7d3d28a968f1ad8f5c839d" + integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.19.1" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +typescript@^5.0.2: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vite@^4.4.5: + version "4.5.2" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.2.tgz#d6ea8610e099851dad8c7371599969e0f8b97e82" + integrity sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w== + dependencies: + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" + optionalDependencies: + fsevents "~2.3.2" + +vue-template-compiler@^2.7.14: + version "2.7.16" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz#c81b2d47753264c77ac03b9966a46637482bb03b" + integrity sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +vue-tsc@^1.8.5: + version "1.8.27" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.27.tgz#feb2bb1eef9be28017bb9e95e2bbd1ebdd48481c" + integrity sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg== + dependencies: + "@volar/typescript" "~1.11.1" + "@vue/language-core" "1.8.27" + semver "^7.5.4" + +vue@^3.3.4: + version "3.4.19" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.19.tgz#f9ae0a44db86628548736ff04152830726a97263" + integrity sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw== + dependencies: + "@vue/compiler-dom" "3.4.19" + "@vue/compiler-sfc" "3.4.19" + "@vue/runtime-dom" "3.4.19" + "@vue/server-renderer" "3.4.19" + "@vue/shared" "3.4.19" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==