├── README.md ├── Code ├── playground │ ├── src │ │ ├── index.css │ │ ├── assets │ │ │ └── logo.png │ │ ├── main.ts │ │ ├── App.vue │ │ ├── env.d.ts │ │ └── components │ │ │ └── HelloWorld.vue │ ├── .vscode │ │ └── extensions.json │ ├── public │ │ └── favicon.ico │ ├── postcss.config.js │ ├── tsconfig.node.json │ ├── vite.config.ts │ ├── tailwind.config.js │ ├── .gitignore │ ├── index.html │ ├── tsconfig.json │ ├── package.json │ ├── README.md │ └── package-lock.json ├── ButtonDemo │ ├── END │ │ ├── src │ │ │ ├── index.css │ │ │ ├── assets │ │ │ │ └── logo.png │ │ │ ├── main.ts │ │ │ ├── env.d.ts │ │ │ ├── App.vue │ │ │ └── components │ │ │ │ └── HelloWorld.vue │ │ ├── .vscode │ │ │ └── extensions.json │ │ ├── postcss.config.js │ │ ├── public │ │ │ └── favicon.ico │ │ ├── tsconfig.node.json │ │ ├── vite.config.ts │ │ ├── tailwind.config.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── README.md │ └── START │ │ ├── src │ │ ├── index.css │ │ ├── assets │ │ │ └── logo.png │ │ ├── main.ts │ │ ├── App.vue │ │ ├── env.d.ts │ │ └── components │ │ │ └── HelloWorld.vue │ │ ├── .vscode │ │ └── extensions.json │ │ ├── postcss.config.js │ │ ├── public │ │ └── favicon.ico │ │ ├── tsconfig.node.json │ │ ├── vite.config.ts │ │ ├── tailwind.config.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── README.md ├── StarterDemo │ ├── .vscode │ │ └── extensions.json │ ├── END │ │ ├── src │ │ │ ├── index.css │ │ │ ├── assets │ │ │ │ ├── logo.png │ │ │ │ └── motivational.gif │ │ │ ├── main.ts │ │ │ ├── env.d.ts │ │ │ └── App.vue │ │ ├── public │ │ │ └── favicon.ico │ │ ├── postcss.config.js │ │ ├── tsconfig.node.json │ │ ├── vite.config.ts │ │ ├── tailwind.config.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── README.md │ └── START │ │ ├── src │ │ ├── index.css │ │ ├── assets │ │ │ ├── logo.png │ │ │ └── motivational.gif │ │ ├── main.ts │ │ ├── env.d.ts │ │ └── App.vue │ │ ├── postcss.config.js │ │ ├── public │ │ └── favicon.ico │ │ ├── tsconfig.node.json │ │ ├── vite.config.ts │ │ ├── tailwind.config.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── README.md ├── ButtonDemoApply │ ├── START │ │ ├── src │ │ │ ├── index.css │ │ │ ├── assets │ │ │ │ └── logo.png │ │ │ ├── main.ts │ │ │ ├── env.d.ts │ │ │ ├── App.vue │ │ │ └── components │ │ │ │ └── HelloWorld.vue │ │ ├── .vscode │ │ │ └── extensions.json │ │ ├── postcss.config.js │ │ ├── public │ │ │ └── favicon.ico │ │ ├── tsconfig.node.json │ │ ├── vite.config.ts │ │ ├── tailwind.config.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── README.md │ └── END │ │ ├── .vscode │ │ └── extensions.json │ │ ├── postcss.config.js │ │ ├── public │ │ └── favicon.ico │ │ ├── src │ │ ├── assets │ │ │ └── logo.png │ │ ├── main.ts │ │ ├── index.css │ │ ├── App.vue │ │ ├── env.d.ts │ │ └── components │ │ │ └── HelloWorld.vue │ │ ├── tsconfig.node.json │ │ ├── vite.config.ts │ │ ├── tailwind.config.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── README.md └── ResponsiveFlexBox │ ├── END │ ├── src │ │ ├── index.css │ │ ├── assets │ │ │ └── logo.png │ │ ├── main.ts │ │ ├── env.d.ts │ │ ├── components │ │ │ └── HelloWorld.vue │ │ └── App.vue │ ├── .vscode │ │ └── extensions.json │ ├── postcss.config.js │ ├── public │ │ └── favicon.ico │ ├── tsconfig.node.json │ ├── vite.config.ts │ ├── tailwind.config.js │ ├── .gitignore │ ├── index.html │ ├── tsconfig.json │ ├── package.json │ └── README.md │ └── START │ ├── src │ ├── index.css │ ├── assets │ │ └── logo.png │ ├── main.ts │ ├── env.d.ts │ ├── App.vue │ └── components │ │ └── HelloWorld.vue │ ├── .vscode │ └── extensions.json │ ├── postcss.config.js │ ├── public │ └── favicon.ico │ ├── tsconfig.node.json │ ├── vite.config.ts │ ├── tailwind.config.js │ ├── .gitignore │ ├── index.html │ ├── tsconfig.json │ ├── package.json │ └── README.md ├── Slides └── Tailwind Essentials.pptx └── .gitignore /README.md: -------------------------------------------------------------------------------- 1 | # TailwindEssentials 2 | Sample code from my Tailwind Essentials session 3 | -------------------------------------------------------------------------------- /Code/playground/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/ButtonDemo/END/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/ButtonDemo/START/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/StarterDemo/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/StarterDemo/START/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/playground/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Slides/Tailwind Essentials.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Slides/Tailwind Essentials.pptx -------------------------------------------------------------------------------- /Code/playground/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/playground/public/favicon.ico -------------------------------------------------------------------------------- /Code/playground/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/playground/src/assets/logo.png -------------------------------------------------------------------------------- /Code/ButtonDemo/END/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemo/END/public/favicon.ico -------------------------------------------------------------------------------- /Code/ButtonDemo/END/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemo/END/src/assets/logo.png -------------------------------------------------------------------------------- /Code/StarterDemo/END/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/StarterDemo/END/public/favicon.ico -------------------------------------------------------------------------------- /Code/playground/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemo/START/public/favicon.ico -------------------------------------------------------------------------------- /Code/ButtonDemo/START/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemo/START/src/assets/logo.png -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/StarterDemo/END/src/assets/logo.png -------------------------------------------------------------------------------- /Code/StarterDemo/START/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/StarterDemo/START/public/favicon.ico -------------------------------------------------------------------------------- /Code/StarterDemo/START/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/StarterDemo/START/src/assets/logo.png -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemoApply/END/public/favicon.ico -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemoApply/END/src/assets/logo.png -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemoApply/START/public/favicon.ico -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ButtonDemoApply/START/src/assets/logo.png -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ResponsiveFlexBox/END/public/favicon.ico -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ResponsiveFlexBox/END/src/assets/logo.png -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ResponsiveFlexBox/START/public/favicon.ico -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/ResponsiveFlexBox/START/src/assets/logo.png -------------------------------------------------------------------------------- /Code/StarterDemo/END/src/assets/motivational.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/StarterDemo/END/src/assets/motivational.gif -------------------------------------------------------------------------------- /Code/playground/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/src/assets/motivational.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1kevgriff/TailwindEssentials/main/Code/StarterDemo/START/src/assets/motivational.gif -------------------------------------------------------------------------------- /Code/StarterDemo/START/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue'; 3 | import './index.css'; 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /Code/playground/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/playground/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/src/App.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 10 | 12 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [], 10 | } 11 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [], 10 | } 11 | -------------------------------------------------------------------------------- /Code/playground/src/App.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 10 | 12 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer components { 6 | .btn { 7 | @apply p-2 bg-pink-300 border-2 border-blue-700 rounded-md shadow-lg hover:bg-pink-200 shadow-neutral-500 hover:animate-bounce 8 | } 9 | } -------------------------------------------------------------------------------- /Code/playground/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: { 8 | colors: { 9 | poo: '#3d2b1f', 10 | }, 11 | }, 12 | }, 13 | plugins: [], 14 | } 15 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: { 8 | colors: { 9 | poo: '#3d2b1f', 10 | }, 11 | }, 12 | }, 13 | plugins: [], 14 | } 15 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: { 8 | colors: { 9 | poo: '#3d2b1f', 10 | }, 11 | }, 12 | }, 13 | plugins: [], 14 | } 15 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: { 8 | colors: { 9 | poo: '#3d2b1f', 10 | }, 11 | }, 12 | }, 13 | plugins: [], 14 | } 15 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: { 8 | colors: { 9 | poo: '#3d2b1f', 10 | }, 11 | }, 12 | }, 13 | plugins: [], 14 | } 15 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: { 8 | colors: { 9 | poo: '#3d2b1f', 10 | }, 11 | }, 12 | }, 13 | plugins: [], 14 | } 15 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./index.html", 4 | "./src/**/*.{vue,js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: { 8 | colors: { 9 | poo: '#3d2b1f', 10 | }, 11 | }, 12 | }, 13 | plugins: [], 14 | } 15 | -------------------------------------------------------------------------------- /Code/playground/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/src/App.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 11 | 12 | 14 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/src/App.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 12 | 13 | 15 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/src/App.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 13 | 14 | 16 | -------------------------------------------------------------------------------- /Code/playground/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/src/App.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 13 | 14 | 16 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/playground/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Code/playground/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "useDefineForClassFields": true, 5 | "module": "esnext", 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "lib": ["esnext", "dom"] 13 | }, 14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 15 | "references": [{ "path": "./tsconfig.node.json" }] 16 | } 17 | -------------------------------------------------------------------------------- /Code/playground/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "starterdemo", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/StarterDemo/START/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "starterdemo", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vue-tsc --noEmit && vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.2.25" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.2.0", 15 | "autoprefixer": "^10.4.4", 16 | "postcss": "^8.4.12", 17 | "tailwindcss": "^3.0.23", 18 | "typescript": "^4.5.4", 19 | "vite": "^2.8.0", 20 | "vue-tsc": "^0.29.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Code/StarterDemo/END/src/App.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 15 | 16 | 18 | -------------------------------------------------------------------------------- /Code/playground/README.md: -------------------------------------------------------------------------------- 1 | # Vue 3 + Typescript + Vite 2 | 3 | This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 ` 3 | 4 | 36 | 37 | 39 | -------------------------------------------------------------------------------- /Code/playground/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | 36 | 53 | -------------------------------------------------------------------------------- /Code/ButtonDemo/END/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | 36 | 53 | -------------------------------------------------------------------------------- /Code/ButtonDemo/START/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | 36 | 53 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/END/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | 36 | 53 | -------------------------------------------------------------------------------- /Code/ButtonDemoApply/START/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | 36 | 53 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | 36 | 53 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/START/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 35 | 36 | 53 | -------------------------------------------------------------------------------- /Code/ResponsiveFlexBox/END/src/App.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 47 | 48 | 50 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.rsuser 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Mono auto generated files 17 | mono_crash.* 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Dd]ebugPublic/ 22 | [Rr]elease/ 23 | [Rr]eleases/ 24 | x64/ 25 | x86/ 26 | [Aa][Rr][Mm]/ 27 | [Aa][Rr][Mm]64/ 28 | bld/ 29 | [Bb]in/ 30 | [Oo]bj/ 31 | [Ll]og/ 32 | [Ll]ogs/ 33 | 34 | # Visual Studio 2015/2017 cache/options directory 35 | .vs/ 36 | # Uncomment if you have tasks that create the project's static files in wwwroot 37 | #wwwroot/ 38 | 39 | # Visual Studio 2017 auto generated files 40 | Generated\ Files/ 41 | 42 | # MSTest test Results 43 | [Tt]est[Rr]esult*/ 44 | [Bb]uild[Ll]og.* 45 | 46 | # NUnit 47 | *.VisualState.xml 48 | TestResult.xml 49 | nunit-*.xml 50 | 51 | # Build Results of an ATL Project 52 | [Dd]ebugPS/ 53 | [Rr]eleasePS/ 54 | dlldata.c 55 | 56 | # Benchmark Results 57 | BenchmarkDotNet.Artifacts/ 58 | 59 | # .NET Core 60 | project.lock.json 61 | project.fragment.lock.json 62 | artifacts/ 63 | 64 | # StyleCop 65 | StyleCopReport.xml 66 | 67 | # Files built by Visual Studio 68 | *_i.c 69 | *_p.c 70 | *_h.h 71 | *.ilk 72 | *.meta 73 | *.obj 74 | *.iobj 75 | *.pch 76 | *.pdb 77 | *.ipdb 78 | *.pgc 79 | *.pgd 80 | *.rsp 81 | *.sbr 82 | *.tlb 83 | *.tli 84 | *.tlh 85 | *.tmp 86 | *.tmp_proj 87 | *_wpftmp.csproj 88 | *.log 89 | *.vspscc 90 | *.vssscc 91 | .builds 92 | *.pidb 93 | *.svclog 94 | *.scc 95 | 96 | # Chutzpah Test files 97 | _Chutzpah* 98 | 99 | # Visual C++ cache files 100 | ipch/ 101 | *.aps 102 | *.ncb 103 | *.opendb 104 | *.opensdf 105 | *.sdf 106 | *.cachefile 107 | *.VC.db 108 | *.VC.VC.opendb 109 | 110 | # Visual Studio profiler 111 | *.psess 112 | *.vsp 113 | *.vspx 114 | *.sap 115 | 116 | # Visual Studio Trace Files 117 | *.e2e 118 | 119 | # TFS 2012 Local Workspace 120 | $tf/ 121 | 122 | # Guidance Automation Toolkit 123 | *.gpState 124 | 125 | # ReSharper is a .NET coding add-in 126 | _ReSharper*/ 127 | *.[Rr]e[Ss]harper 128 | *.DotSettings.user 129 | 130 | # TeamCity is a build add-in 131 | _TeamCity* 132 | 133 | # DotCover is a Code Coverage Tool 134 | *.dotCover 135 | 136 | # AxoCover is a Code Coverage Tool 137 | .axoCover/* 138 | !.axoCover/settings.json 139 | 140 | # Visual Studio code coverage results 141 | *.coverage 142 | *.coveragexml 143 | 144 | # NCrunch 145 | _NCrunch_* 146 | .*crunch*.local.xml 147 | nCrunchTemp_* 148 | 149 | # MightyMoose 150 | *.mm.* 151 | AutoTest.Net/ 152 | 153 | # Web workbench (sass) 154 | .sass-cache/ 155 | 156 | # Installshield output folder 157 | [Ee]xpress/ 158 | 159 | # DocProject is a documentation generator add-in 160 | DocProject/buildhelp/ 161 | DocProject/Help/*.HxT 162 | DocProject/Help/*.HxC 163 | DocProject/Help/*.hhc 164 | DocProject/Help/*.hhk 165 | DocProject/Help/*.hhp 166 | DocProject/Help/Html2 167 | DocProject/Help/html 168 | 169 | # Click-Once directory 170 | publish/ 171 | 172 | # Publish Web Output 173 | *.[Pp]ublish.xml 174 | *.azurePubxml 175 | # Note: Comment the next line if you want to checkin your web deploy settings, 176 | # but database connection strings (with potential passwords) will be unencrypted 177 | *.pubxml 178 | *.publishproj 179 | 180 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 181 | # checkin your Azure Web App publish settings, but sensitive information contained 182 | # in these scripts will be unencrypted 183 | PublishScripts/ 184 | 185 | # NuGet Packages 186 | *.nupkg 187 | # NuGet Symbol Packages 188 | *.snupkg 189 | # The packages folder can be ignored because of Package Restore 190 | **/[Pp]ackages/* 191 | # except build/, which is used as an MSBuild target. 192 | !**/[Pp]ackages/build/ 193 | # Uncomment if necessary however generally it will be regenerated when needed 194 | #!**/[Pp]ackages/repositories.config 195 | # NuGet v3's project.json files produces more ignorable files 196 | *.nuget.props 197 | *.nuget.targets 198 | 199 | # Microsoft Azure Build Output 200 | csx/ 201 | *.build.csdef 202 | 203 | # Microsoft Azure Emulator 204 | ecf/ 205 | rcf/ 206 | 207 | # Windows Store app package directories and files 208 | AppPackages/ 209 | BundleArtifacts/ 210 | Package.StoreAssociation.xml 211 | _pkginfo.txt 212 | *.appx 213 | *.appxbundle 214 | *.appxupload 215 | 216 | # Visual Studio cache files 217 | # files ending in .cache can be ignored 218 | *.[Cc]ache 219 | # but keep track of directories ending in .cache 220 | !?*.[Cc]ache/ 221 | 222 | # Others 223 | ClientBin/ 224 | ~$* 225 | *~ 226 | *.dbmdl 227 | *.dbproj.schemaview 228 | *.jfm 229 | *.pfx 230 | *.publishsettings 231 | orleans.codegen.cs 232 | 233 | # Including strong name files can present a security risk 234 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 235 | #*.snk 236 | 237 | # Since there are multiple workflows, uncomment next line to ignore bower_components 238 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 239 | #bower_components/ 240 | 241 | # RIA/Silverlight projects 242 | Generated_Code/ 243 | 244 | # Backup & report files from converting an old project file 245 | # to a newer Visual Studio version. Backup files are not needed, 246 | # because we have git ;-) 247 | _UpgradeReport_Files/ 248 | Backup*/ 249 | UpgradeLog*.XML 250 | UpgradeLog*.htm 251 | ServiceFabricBackup/ 252 | *.rptproj.bak 253 | 254 | # SQL Server files 255 | *.mdf 256 | *.ldf 257 | *.ndf 258 | 259 | # Business Intelligence projects 260 | *.rdl.data 261 | *.bim.layout 262 | *.bim_*.settings 263 | *.rptproj.rsuser 264 | *- [Bb]ackup.rdl 265 | *- [Bb]ackup ([0-9]).rdl 266 | *- [Bb]ackup ([0-9][0-9]).rdl 267 | 268 | # Microsoft Fakes 269 | FakesAssemblies/ 270 | 271 | # GhostDoc plugin setting file 272 | *.GhostDoc.xml 273 | 274 | # Node.js Tools for Visual Studio 275 | .ntvs_analysis.dat 276 | node_modules/ 277 | 278 | # Visual Studio 6 build log 279 | *.plg 280 | 281 | # Visual Studio 6 workspace options file 282 | *.opt 283 | 284 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 285 | *.vbw 286 | 287 | # Visual Studio LightSwitch build output 288 | **/*.HTMLClient/GeneratedArtifacts 289 | **/*.DesktopClient/GeneratedArtifacts 290 | **/*.DesktopClient/ModelManifest.xml 291 | **/*.Server/GeneratedArtifacts 292 | **/*.Server/ModelManifest.xml 293 | _Pvt_Extensions 294 | 295 | # Paket dependency manager 296 | .paket/paket.exe 297 | paket-files/ 298 | 299 | # FAKE - F# Make 300 | .fake/ 301 | 302 | # CodeRush personal settings 303 | .cr/personal 304 | 305 | # Python Tools for Visual Studio (PTVS) 306 | __pycache__/ 307 | *.pyc 308 | 309 | # Cake - Uncomment if you are using it 310 | # tools/** 311 | # !tools/packages.config 312 | 313 | # Tabs Studio 314 | *.tss 315 | 316 | # Telerik's JustMock configuration file 317 | *.jmconfig 318 | 319 | # BizTalk build output 320 | *.btp.cs 321 | *.btm.cs 322 | *.odx.cs 323 | *.xsd.cs 324 | 325 | # OpenCover UI analysis results 326 | OpenCover/ 327 | 328 | # Azure Stream Analytics local run output 329 | ASALocalRun/ 330 | 331 | # MSBuild Binary and Structured Log 332 | *.binlog 333 | 334 | # NVidia Nsight GPU debugger configuration file 335 | *.nvuser 336 | 337 | # MFractors (Xamarin productivity tool) working folder 338 | .mfractor/ 339 | 340 | # Local History for Visual Studio 341 | .localhistory/ 342 | 343 | # BeatPulse healthcheck temp database 344 | healthchecksdb 345 | 346 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 347 | MigrationBackup/ 348 | 349 | # Ionide (cross platform F# VS Code tools) working folder 350 | .ionide/ 351 | -------------------------------------------------------------------------------- /Code/playground/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "version": "0.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.16.7", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 10 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.16.7" 14 | } 15 | }, 16 | "@babel/helper-validator-identifier": { 17 | "version": "7.16.7", 18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 19 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 20 | "dev": true 21 | }, 22 | "@babel/highlight": { 23 | "version": "7.16.10", 24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 25 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 26 | "dev": true, 27 | "requires": { 28 | "@babel/helper-validator-identifier": "^7.16.7", 29 | "chalk": "^2.0.0", 30 | "js-tokens": "^4.0.0" 31 | }, 32 | "dependencies": { 33 | "ansi-styles": { 34 | "version": "3.2.1", 35 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 36 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 37 | "dev": true, 38 | "requires": { 39 | "color-convert": "^1.9.0" 40 | } 41 | }, 42 | "chalk": { 43 | "version": "2.4.2", 44 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 45 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 46 | "dev": true, 47 | "requires": { 48 | "ansi-styles": "^3.2.1", 49 | "escape-string-regexp": "^1.0.5", 50 | "supports-color": "^5.3.0" 51 | } 52 | }, 53 | "color-convert": { 54 | "version": "1.9.3", 55 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 56 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 57 | "dev": true, 58 | "requires": { 59 | "color-name": "1.1.3" 60 | } 61 | }, 62 | "color-name": { 63 | "version": "1.1.3", 64 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 65 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 66 | "dev": true 67 | }, 68 | "has-flag": { 69 | "version": "3.0.0", 70 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 71 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 72 | "dev": true 73 | }, 74 | "supports-color": { 75 | "version": "5.5.0", 76 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 77 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 78 | "dev": true, 79 | "requires": { 80 | "has-flag": "^3.0.0" 81 | } 82 | } 83 | } 84 | }, 85 | "@babel/parser": { 86 | "version": "7.17.8", 87 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", 88 | "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==" 89 | }, 90 | "@babel/types": { 91 | "version": "7.17.0", 92 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", 93 | "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", 94 | "dev": true, 95 | "requires": { 96 | "@babel/helper-validator-identifier": "^7.16.7", 97 | "to-fast-properties": "^2.0.0" 98 | } 99 | }, 100 | "@emmetio/abbreviation": { 101 | "version": "2.2.3", 102 | "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.2.3.tgz", 103 | "integrity": "sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==", 104 | "dev": true, 105 | "requires": { 106 | "@emmetio/scanner": "^1.0.0" 107 | } 108 | }, 109 | "@emmetio/css-abbreviation": { 110 | "version": "2.1.4", 111 | "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.4.tgz", 112 | "integrity": "sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==", 113 | "dev": true, 114 | "requires": { 115 | "@emmetio/scanner": "^1.0.0" 116 | } 117 | }, 118 | "@emmetio/scanner": { 119 | "version": "1.0.0", 120 | "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.0.tgz", 121 | "integrity": "sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==", 122 | "dev": true 123 | }, 124 | "@nodelib/fs.scandir": { 125 | "version": "2.1.5", 126 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 127 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 128 | "dev": true, 129 | "requires": { 130 | "@nodelib/fs.stat": "2.0.5", 131 | "run-parallel": "^1.1.9" 132 | } 133 | }, 134 | "@nodelib/fs.stat": { 135 | "version": "2.0.5", 136 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 137 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 138 | "dev": true 139 | }, 140 | "@nodelib/fs.walk": { 141 | "version": "1.2.8", 142 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 143 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 144 | "dev": true, 145 | "requires": { 146 | "@nodelib/fs.scandir": "2.1.5", 147 | "fastq": "^1.6.0" 148 | } 149 | }, 150 | "@types/parse-json": { 151 | "version": "4.0.0", 152 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 153 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", 154 | "dev": true 155 | }, 156 | "@vitejs/plugin-vue": { 157 | "version": "2.2.4", 158 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.2.4.tgz", 159 | "integrity": "sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw==", 160 | "dev": true 161 | }, 162 | "@volar/code-gen": { 163 | "version": "0.29.8", 164 | "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.29.8.tgz", 165 | "integrity": "sha512-eohLLUqPChHRPDFT5gXn4V6pr/CeTri7Ou5GI26lUvBRRAbP8p+oYfQRcbMPGeKmVkYjfVj0chsxQGx6T8PQ4Q==", 166 | "dev": true, 167 | "requires": { 168 | "@volar/shared": "0.29.8", 169 | "@volar/source-map": "0.29.8" 170 | } 171 | }, 172 | "@volar/html2pug": { 173 | "version": "0.29.8", 174 | "resolved": "https://registry.npmjs.org/@volar/html2pug/-/html2pug-0.29.8.tgz", 175 | "integrity": "sha512-bhSNXg8A2aD3w0B+CwmHjqCAaKtj5rORbE5C/q/UdGqptJbC6STCmi30KuRTdfPhR++Xb18Hauf3s/WCmtNAPA==", 176 | "dev": true, 177 | "requires": { 178 | "domelementtype": "^2.2.0", 179 | "domhandler": "^4.2.2", 180 | "htmlparser2": "^7.1.2", 181 | "pug": "^3.0.2" 182 | } 183 | }, 184 | "@volar/shared": { 185 | "version": "0.29.8", 186 | "resolved": "https://registry.npmjs.org/@volar/shared/-/shared-0.29.8.tgz", 187 | "integrity": "sha512-Y1NN6irkIukD+T0wf4p/dHWYL90sacN2e2lYoDXxRlvoYxwANnHgw0J0Rcp+yw58ElWRScdG7/YntEIuZWeJsw==", 188 | "dev": true, 189 | "requires": { 190 | "upath": "^2.0.1", 191 | "vscode-jsonrpc": "^8.0.0-next.2", 192 | "vscode-uri": "^3.0.2" 193 | } 194 | }, 195 | "@volar/source-map": { 196 | "version": "0.29.8", 197 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.29.8.tgz", 198 | "integrity": "sha512-7w+UoYtnc6UQu30CgMVvx0YN4dzDgP4TIsSmUaW62AGmxU9Lxwp3Kkn/4N8efi91z8ma5Z78v/HddyJPwAC3LA==", 199 | "dev": true, 200 | "requires": { 201 | "@volar/shared": "0.29.8" 202 | } 203 | }, 204 | "@volar/transforms": { 205 | "version": "0.29.8", 206 | "resolved": "https://registry.npmjs.org/@volar/transforms/-/transforms-0.29.8.tgz", 207 | "integrity": "sha512-o2hRa8CoDwYTO1Mu5KA47+1elUnYUjDaVhCvbyKlRfd8qpHea2llotArq7B6OORSL2M9DVs1IRJ5NGURBFeZ3Q==", 208 | "dev": true, 209 | "requires": { 210 | "@volar/shared": "0.29.8", 211 | "vscode-languageserver": "^8.0.0-next.2" 212 | } 213 | }, 214 | "@volar/vue-code-gen": { 215 | "version": "0.29.8", 216 | "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.29.8.tgz", 217 | "integrity": "sha512-E1e7P2oktNC/DzgDBditfla4s8+HlUlluZ+BtcLvEdbkl3QEjujkB0x1wxguWzXmpWgLIDPtrS3Jzll5cCOkTg==", 218 | "dev": true, 219 | "requires": { 220 | "@volar/code-gen": "0.29.8", 221 | "@volar/shared": "0.29.8", 222 | "@volar/source-map": "0.29.8", 223 | "@vue/compiler-core": "^3.2.21", 224 | "@vue/compiler-dom": "^3.2.21", 225 | "@vue/shared": "^3.2.21", 226 | "upath": "^2.0.1" 227 | } 228 | }, 229 | "@vscode/emmet-helper": { 230 | "version": "2.8.4", 231 | "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.8.4.tgz", 232 | "integrity": "sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==", 233 | "dev": true, 234 | "requires": { 235 | "emmet": "^2.3.0", 236 | "jsonc-parser": "^2.3.0", 237 | "vscode-languageserver-textdocument": "^1.0.1", 238 | "vscode-languageserver-types": "^3.15.1", 239 | "vscode-nls": "^5.0.0", 240 | "vscode-uri": "^2.1.2" 241 | }, 242 | "dependencies": { 243 | "vscode-languageserver-types": { 244 | "version": "3.16.0", 245 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", 246 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", 247 | "dev": true 248 | }, 249 | "vscode-uri": { 250 | "version": "2.1.2", 251 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", 252 | "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", 253 | "dev": true 254 | } 255 | } 256 | }, 257 | "@vue/compiler-core": { 258 | "version": "3.2.31", 259 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz", 260 | "integrity": "sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==", 261 | "requires": { 262 | "@babel/parser": "^7.16.4", 263 | "@vue/shared": "3.2.31", 264 | "estree-walker": "^2.0.2", 265 | "source-map": "^0.6.1" 266 | } 267 | }, 268 | "@vue/compiler-dom": { 269 | "version": "3.2.31", 270 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz", 271 | "integrity": "sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==", 272 | "requires": { 273 | "@vue/compiler-core": "3.2.31", 274 | "@vue/shared": "3.2.31" 275 | } 276 | }, 277 | "@vue/compiler-sfc": { 278 | "version": "3.2.31", 279 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz", 280 | "integrity": "sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==", 281 | "requires": { 282 | "@babel/parser": "^7.16.4", 283 | "@vue/compiler-core": "3.2.31", 284 | "@vue/compiler-dom": "3.2.31", 285 | "@vue/compiler-ssr": "3.2.31", 286 | "@vue/reactivity-transform": "3.2.31", 287 | "@vue/shared": "3.2.31", 288 | "estree-walker": "^2.0.2", 289 | "magic-string": "^0.25.7", 290 | "postcss": "^8.1.10", 291 | "source-map": "^0.6.1" 292 | } 293 | }, 294 | "@vue/compiler-ssr": { 295 | "version": "3.2.31", 296 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz", 297 | "integrity": "sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==", 298 | "requires": { 299 | "@vue/compiler-dom": "3.2.31", 300 | "@vue/shared": "3.2.31" 301 | } 302 | }, 303 | "@vue/reactivity": { 304 | "version": "3.2.31", 305 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.31.tgz", 306 | "integrity": "sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==", 307 | "requires": { 308 | "@vue/shared": "3.2.31" 309 | } 310 | }, 311 | "@vue/reactivity-transform": { 312 | "version": "3.2.31", 313 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz", 314 | "integrity": "sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==", 315 | "requires": { 316 | "@babel/parser": "^7.16.4", 317 | "@vue/compiler-core": "3.2.31", 318 | "@vue/shared": "3.2.31", 319 | "estree-walker": "^2.0.2", 320 | "magic-string": "^0.25.7" 321 | } 322 | }, 323 | "@vue/runtime-core": { 324 | "version": "3.2.31", 325 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.31.tgz", 326 | "integrity": "sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==", 327 | "requires": { 328 | "@vue/reactivity": "3.2.31", 329 | "@vue/shared": "3.2.31" 330 | } 331 | }, 332 | "@vue/runtime-dom": { 333 | "version": "3.2.31", 334 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz", 335 | "integrity": "sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==", 336 | "requires": { 337 | "@vue/runtime-core": "3.2.31", 338 | "@vue/shared": "3.2.31", 339 | "csstype": "^2.6.8" 340 | } 341 | }, 342 | "@vue/server-renderer": { 343 | "version": "3.2.31", 344 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.31.tgz", 345 | "integrity": "sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==", 346 | "requires": { 347 | "@vue/compiler-ssr": "3.2.31", 348 | "@vue/shared": "3.2.31" 349 | } 350 | }, 351 | "@vue/shared": { 352 | "version": "3.2.31", 353 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz", 354 | "integrity": "sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==" 355 | }, 356 | "acorn": { 357 | "version": "7.4.1", 358 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 359 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 360 | "dev": true 361 | }, 362 | "acorn-node": { 363 | "version": "1.8.2", 364 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 365 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 366 | "dev": true, 367 | "requires": { 368 | "acorn": "^7.0.0", 369 | "acorn-walk": "^7.0.0", 370 | "xtend": "^4.0.2" 371 | } 372 | }, 373 | "acorn-walk": { 374 | "version": "7.2.0", 375 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 376 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 377 | "dev": true 378 | }, 379 | "ansi-styles": { 380 | "version": "4.3.0", 381 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 382 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 383 | "dev": true, 384 | "requires": { 385 | "color-convert": "^2.0.1" 386 | } 387 | }, 388 | "anymatch": { 389 | "version": "3.1.2", 390 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 391 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 392 | "dev": true, 393 | "requires": { 394 | "normalize-path": "^3.0.0", 395 | "picomatch": "^2.0.4" 396 | } 397 | }, 398 | "arg": { 399 | "version": "5.0.1", 400 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", 401 | "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", 402 | "dev": true 403 | }, 404 | "asap": { 405 | "version": "2.0.6", 406 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 407 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", 408 | "dev": true 409 | }, 410 | "assert-never": { 411 | "version": "1.2.1", 412 | "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", 413 | "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==", 414 | "dev": true 415 | }, 416 | "autoprefixer": { 417 | "version": "10.4.4", 418 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", 419 | "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", 420 | "dev": true, 421 | "requires": { 422 | "browserslist": "^4.20.2", 423 | "caniuse-lite": "^1.0.30001317", 424 | "fraction.js": "^4.2.0", 425 | "normalize-range": "^0.1.2", 426 | "picocolors": "^1.0.0", 427 | "postcss-value-parser": "^4.2.0" 428 | } 429 | }, 430 | "babel-walk": { 431 | "version": "3.0.0-canary-5", 432 | "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", 433 | "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", 434 | "dev": true, 435 | "requires": { 436 | "@babel/types": "^7.9.6" 437 | } 438 | }, 439 | "binary-extensions": { 440 | "version": "2.2.0", 441 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 442 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 443 | "dev": true 444 | }, 445 | "braces": { 446 | "version": "3.0.2", 447 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 448 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 449 | "dev": true, 450 | "requires": { 451 | "fill-range": "^7.0.1" 452 | } 453 | }, 454 | "browserslist": { 455 | "version": "4.20.2", 456 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", 457 | "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", 458 | "dev": true, 459 | "requires": { 460 | "caniuse-lite": "^1.0.30001317", 461 | "electron-to-chromium": "^1.4.84", 462 | "escalade": "^3.1.1", 463 | "node-releases": "^2.0.2", 464 | "picocolors": "^1.0.0" 465 | } 466 | }, 467 | "call-bind": { 468 | "version": "1.0.2", 469 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 470 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 471 | "dev": true, 472 | "requires": { 473 | "function-bind": "^1.1.1", 474 | "get-intrinsic": "^1.0.2" 475 | } 476 | }, 477 | "callsites": { 478 | "version": "3.1.0", 479 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 480 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 481 | "dev": true 482 | }, 483 | "camelcase-css": { 484 | "version": "2.0.1", 485 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 486 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 487 | "dev": true 488 | }, 489 | "caniuse-lite": { 490 | "version": "1.0.30001320", 491 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", 492 | "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==", 493 | "dev": true 494 | }, 495 | "chalk": { 496 | "version": "4.1.2", 497 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 498 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 499 | "dev": true, 500 | "requires": { 501 | "ansi-styles": "^4.1.0", 502 | "supports-color": "^7.1.0" 503 | } 504 | }, 505 | "character-parser": { 506 | "version": "2.2.0", 507 | "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", 508 | "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", 509 | "dev": true, 510 | "requires": { 511 | "is-regex": "^1.0.3" 512 | } 513 | }, 514 | "chokidar": { 515 | "version": "3.5.3", 516 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 517 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 518 | "dev": true, 519 | "requires": { 520 | "anymatch": "~3.1.2", 521 | "braces": "~3.0.2", 522 | "fsevents": "~2.3.2", 523 | "glob-parent": "~5.1.2", 524 | "is-binary-path": "~2.1.0", 525 | "is-glob": "~4.0.1", 526 | "normalize-path": "~3.0.0", 527 | "readdirp": "~3.6.0" 528 | }, 529 | "dependencies": { 530 | "glob-parent": { 531 | "version": "5.1.2", 532 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 533 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 534 | "dev": true, 535 | "requires": { 536 | "is-glob": "^4.0.1" 537 | } 538 | } 539 | } 540 | }, 541 | "color-convert": { 542 | "version": "2.0.1", 543 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 544 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 545 | "dev": true, 546 | "requires": { 547 | "color-name": "~1.1.4" 548 | } 549 | }, 550 | "color-name": { 551 | "version": "1.1.4", 552 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 553 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 554 | "dev": true 555 | }, 556 | "constantinople": { 557 | "version": "4.0.1", 558 | "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", 559 | "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", 560 | "dev": true, 561 | "requires": { 562 | "@babel/parser": "^7.6.0", 563 | "@babel/types": "^7.6.1" 564 | } 565 | }, 566 | "cosmiconfig": { 567 | "version": "7.0.1", 568 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", 569 | "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", 570 | "dev": true, 571 | "requires": { 572 | "@types/parse-json": "^4.0.0", 573 | "import-fresh": "^3.2.1", 574 | "parse-json": "^5.0.0", 575 | "path-type": "^4.0.0", 576 | "yaml": "^1.10.0" 577 | } 578 | }, 579 | "cssesc": { 580 | "version": "3.0.0", 581 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 582 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 583 | "dev": true 584 | }, 585 | "csstype": { 586 | "version": "2.6.20", 587 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 588 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 589 | }, 590 | "defined": { 591 | "version": "1.0.0", 592 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 593 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 594 | "dev": true 595 | }, 596 | "detective": { 597 | "version": "5.2.0", 598 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", 599 | "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", 600 | "dev": true, 601 | "requires": { 602 | "acorn-node": "^1.6.1", 603 | "defined": "^1.0.0", 604 | "minimist": "^1.1.1" 605 | } 606 | }, 607 | "didyoumean": { 608 | "version": "1.2.2", 609 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 610 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 611 | "dev": true 612 | }, 613 | "dlv": { 614 | "version": "1.1.3", 615 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 616 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 617 | "dev": true 618 | }, 619 | "doctypes": { 620 | "version": "1.1.0", 621 | "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", 622 | "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", 623 | "dev": true 624 | }, 625 | "dom-serializer": { 626 | "version": "1.3.2", 627 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", 628 | "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", 629 | "dev": true, 630 | "requires": { 631 | "domelementtype": "^2.0.1", 632 | "domhandler": "^4.2.0", 633 | "entities": "^2.0.0" 634 | }, 635 | "dependencies": { 636 | "entities": { 637 | "version": "2.2.0", 638 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 639 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 640 | "dev": true 641 | } 642 | } 643 | }, 644 | "domelementtype": { 645 | "version": "2.2.0", 646 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 647 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", 648 | "dev": true 649 | }, 650 | "domhandler": { 651 | "version": "4.3.1", 652 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", 653 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 654 | "dev": true, 655 | "requires": { 656 | "domelementtype": "^2.2.0" 657 | } 658 | }, 659 | "domutils": { 660 | "version": "2.8.0", 661 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 662 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 663 | "dev": true, 664 | "requires": { 665 | "dom-serializer": "^1.0.1", 666 | "domelementtype": "^2.2.0", 667 | "domhandler": "^4.2.0" 668 | } 669 | }, 670 | "electron-to-chromium": { 671 | "version": "1.4.94", 672 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.94.tgz", 673 | "integrity": "sha512-CoOKsuACoa0PAG3hQXxbh/XDiFcjGuSyGKUi09cjMHOt6RCi7/EXgXhaFF3I+aC89Omudqmkzd0YOQKxwtf/Bg==", 674 | "dev": true 675 | }, 676 | "emmet": { 677 | "version": "2.3.6", 678 | "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.3.6.tgz", 679 | "integrity": "sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==", 680 | "dev": true, 681 | "requires": { 682 | "@emmetio/abbreviation": "^2.2.3", 683 | "@emmetio/css-abbreviation": "^2.1.4" 684 | } 685 | }, 686 | "entities": { 687 | "version": "3.0.1", 688 | "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", 689 | "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", 690 | "dev": true 691 | }, 692 | "error-ex": { 693 | "version": "1.3.2", 694 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 695 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 696 | "dev": true, 697 | "requires": { 698 | "is-arrayish": "^0.2.1" 699 | } 700 | }, 701 | "esbuild": { 702 | "version": "0.14.28", 703 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.28.tgz", 704 | "integrity": "sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q==", 705 | "dev": true, 706 | "requires": { 707 | "esbuild-android-64": "0.14.28", 708 | "esbuild-android-arm64": "0.14.28", 709 | "esbuild-darwin-64": "0.14.28", 710 | "esbuild-darwin-arm64": "0.14.28", 711 | "esbuild-freebsd-64": "0.14.28", 712 | "esbuild-freebsd-arm64": "0.14.28", 713 | "esbuild-linux-32": "0.14.28", 714 | "esbuild-linux-64": "0.14.28", 715 | "esbuild-linux-arm": "0.14.28", 716 | "esbuild-linux-arm64": "0.14.28", 717 | "esbuild-linux-mips64le": "0.14.28", 718 | "esbuild-linux-ppc64le": "0.14.28", 719 | "esbuild-linux-riscv64": "0.14.28", 720 | "esbuild-linux-s390x": "0.14.28", 721 | "esbuild-netbsd-64": "0.14.28", 722 | "esbuild-openbsd-64": "0.14.28", 723 | "esbuild-sunos-64": "0.14.28", 724 | "esbuild-windows-32": "0.14.28", 725 | "esbuild-windows-64": "0.14.28", 726 | "esbuild-windows-arm64": "0.14.28" 727 | } 728 | }, 729 | "esbuild-android-64": { 730 | "version": "0.14.28", 731 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz", 732 | "integrity": "sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA==", 733 | "dev": true, 734 | "optional": true 735 | }, 736 | "esbuild-android-arm64": { 737 | "version": "0.14.28", 738 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz", 739 | "integrity": "sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA==", 740 | "dev": true, 741 | "optional": true 742 | }, 743 | "esbuild-darwin-64": { 744 | "version": "0.14.28", 745 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz", 746 | "integrity": "sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q==", 747 | "dev": true, 748 | "optional": true 749 | }, 750 | "esbuild-darwin-arm64": { 751 | "version": "0.14.28", 752 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz", 753 | "integrity": "sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw==", 754 | "dev": true, 755 | "optional": true 756 | }, 757 | "esbuild-freebsd-64": { 758 | "version": "0.14.28", 759 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz", 760 | "integrity": "sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ==", 761 | "dev": true, 762 | "optional": true 763 | }, 764 | "esbuild-freebsd-arm64": { 765 | "version": "0.14.28", 766 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz", 767 | "integrity": "sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q==", 768 | "dev": true, 769 | "optional": true 770 | }, 771 | "esbuild-linux-32": { 772 | "version": "0.14.28", 773 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz", 774 | "integrity": "sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig==", 775 | "dev": true, 776 | "optional": true 777 | }, 778 | "esbuild-linux-64": { 779 | "version": "0.14.28", 780 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz", 781 | "integrity": "sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg==", 782 | "dev": true, 783 | "optional": true 784 | }, 785 | "esbuild-linux-arm": { 786 | "version": "0.14.28", 787 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz", 788 | "integrity": "sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg==", 789 | "dev": true, 790 | "optional": true 791 | }, 792 | "esbuild-linux-arm64": { 793 | "version": "0.14.28", 794 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz", 795 | "integrity": "sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg==", 796 | "dev": true, 797 | "optional": true 798 | }, 799 | "esbuild-linux-mips64le": { 800 | "version": "0.14.28", 801 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz", 802 | "integrity": "sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw==", 803 | "dev": true, 804 | "optional": true 805 | }, 806 | "esbuild-linux-ppc64le": { 807 | "version": "0.14.28", 808 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz", 809 | "integrity": "sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw==", 810 | "dev": true, 811 | "optional": true 812 | }, 813 | "esbuild-linux-riscv64": { 814 | "version": "0.14.28", 815 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz", 816 | "integrity": "sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg==", 817 | "dev": true, 818 | "optional": true 819 | }, 820 | "esbuild-linux-s390x": { 821 | "version": "0.14.28", 822 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz", 823 | "integrity": "sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw==", 824 | "dev": true, 825 | "optional": true 826 | }, 827 | "esbuild-netbsd-64": { 828 | "version": "0.14.28", 829 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz", 830 | "integrity": "sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A==", 831 | "dev": true, 832 | "optional": true 833 | }, 834 | "esbuild-openbsd-64": { 835 | "version": "0.14.28", 836 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz", 837 | "integrity": "sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw==", 838 | "dev": true, 839 | "optional": true 840 | }, 841 | "esbuild-sunos-64": { 842 | "version": "0.14.28", 843 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz", 844 | "integrity": "sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg==", 845 | "dev": true, 846 | "optional": true 847 | }, 848 | "esbuild-windows-32": { 849 | "version": "0.14.28", 850 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz", 851 | "integrity": "sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg==", 852 | "dev": true, 853 | "optional": true 854 | }, 855 | "esbuild-windows-64": { 856 | "version": "0.14.28", 857 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz", 858 | "integrity": "sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw==", 859 | "dev": true, 860 | "optional": true 861 | }, 862 | "esbuild-windows-arm64": { 863 | "version": "0.14.28", 864 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz", 865 | "integrity": "sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA==", 866 | "dev": true, 867 | "optional": true 868 | }, 869 | "escalade": { 870 | "version": "3.1.1", 871 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 872 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 873 | "dev": true 874 | }, 875 | "escape-string-regexp": { 876 | "version": "1.0.5", 877 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 878 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 879 | "dev": true 880 | }, 881 | "estree-walker": { 882 | "version": "2.0.2", 883 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 884 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 885 | }, 886 | "fast-glob": { 887 | "version": "3.2.11", 888 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 889 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 890 | "dev": true, 891 | "requires": { 892 | "@nodelib/fs.stat": "^2.0.2", 893 | "@nodelib/fs.walk": "^1.2.3", 894 | "glob-parent": "^5.1.2", 895 | "merge2": "^1.3.0", 896 | "micromatch": "^4.0.4" 897 | }, 898 | "dependencies": { 899 | "glob-parent": { 900 | "version": "5.1.2", 901 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 902 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 903 | "dev": true, 904 | "requires": { 905 | "is-glob": "^4.0.1" 906 | } 907 | } 908 | } 909 | }, 910 | "fastq": { 911 | "version": "1.13.0", 912 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 913 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 914 | "dev": true, 915 | "requires": { 916 | "reusify": "^1.0.4" 917 | } 918 | }, 919 | "fill-range": { 920 | "version": "7.0.1", 921 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 922 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 923 | "dev": true, 924 | "requires": { 925 | "to-regex-range": "^5.0.1" 926 | } 927 | }, 928 | "fraction.js": { 929 | "version": "4.2.0", 930 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 931 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 932 | "dev": true 933 | }, 934 | "fsevents": { 935 | "version": "2.3.2", 936 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 937 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 938 | "dev": true, 939 | "optional": true 940 | }, 941 | "function-bind": { 942 | "version": "1.1.1", 943 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 944 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 945 | "dev": true 946 | }, 947 | "get-intrinsic": { 948 | "version": "1.1.1", 949 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 950 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 951 | "dev": true, 952 | "requires": { 953 | "function-bind": "^1.1.1", 954 | "has": "^1.0.3", 955 | "has-symbols": "^1.0.1" 956 | } 957 | }, 958 | "glob-parent": { 959 | "version": "6.0.2", 960 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 961 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 962 | "dev": true, 963 | "requires": { 964 | "is-glob": "^4.0.3" 965 | } 966 | }, 967 | "has": { 968 | "version": "1.0.3", 969 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 970 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 971 | "dev": true, 972 | "requires": { 973 | "function-bind": "^1.1.1" 974 | } 975 | }, 976 | "has-flag": { 977 | "version": "4.0.0", 978 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 979 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 980 | "dev": true 981 | }, 982 | "has-symbols": { 983 | "version": "1.0.3", 984 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 985 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 986 | "dev": true 987 | }, 988 | "has-tostringtag": { 989 | "version": "1.0.0", 990 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 991 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 992 | "dev": true, 993 | "requires": { 994 | "has-symbols": "^1.0.2" 995 | } 996 | }, 997 | "htmlparser2": { 998 | "version": "7.2.0", 999 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", 1000 | "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", 1001 | "dev": true, 1002 | "requires": { 1003 | "domelementtype": "^2.0.1", 1004 | "domhandler": "^4.2.2", 1005 | "domutils": "^2.8.0", 1006 | "entities": "^3.0.1" 1007 | } 1008 | }, 1009 | "import-fresh": { 1010 | "version": "3.3.0", 1011 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1012 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1013 | "dev": true, 1014 | "requires": { 1015 | "parent-module": "^1.0.0", 1016 | "resolve-from": "^4.0.0" 1017 | } 1018 | }, 1019 | "is-arrayish": { 1020 | "version": "0.2.1", 1021 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1022 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1023 | "dev": true 1024 | }, 1025 | "is-binary-path": { 1026 | "version": "2.1.0", 1027 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1028 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1029 | "dev": true, 1030 | "requires": { 1031 | "binary-extensions": "^2.0.0" 1032 | } 1033 | }, 1034 | "is-core-module": { 1035 | "version": "2.8.1", 1036 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 1037 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 1038 | "dev": true, 1039 | "requires": { 1040 | "has": "^1.0.3" 1041 | } 1042 | }, 1043 | "is-expression": { 1044 | "version": "4.0.0", 1045 | "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", 1046 | "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", 1047 | "dev": true, 1048 | "requires": { 1049 | "acorn": "^7.1.1", 1050 | "object-assign": "^4.1.1" 1051 | } 1052 | }, 1053 | "is-extglob": { 1054 | "version": "2.1.1", 1055 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1056 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1057 | "dev": true 1058 | }, 1059 | "is-glob": { 1060 | "version": "4.0.3", 1061 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1062 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1063 | "dev": true, 1064 | "requires": { 1065 | "is-extglob": "^2.1.1" 1066 | } 1067 | }, 1068 | "is-number": { 1069 | "version": "7.0.0", 1070 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1071 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1072 | "dev": true 1073 | }, 1074 | "is-promise": { 1075 | "version": "2.2.2", 1076 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", 1077 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", 1078 | "dev": true 1079 | }, 1080 | "is-regex": { 1081 | "version": "1.1.4", 1082 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 1083 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 1084 | "dev": true, 1085 | "requires": { 1086 | "call-bind": "^1.0.2", 1087 | "has-tostringtag": "^1.0.0" 1088 | } 1089 | }, 1090 | "js-stringify": { 1091 | "version": "1.0.2", 1092 | "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", 1093 | "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", 1094 | "dev": true 1095 | }, 1096 | "js-tokens": { 1097 | "version": "4.0.0", 1098 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1099 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1100 | "dev": true 1101 | }, 1102 | "json-parse-even-better-errors": { 1103 | "version": "2.3.1", 1104 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 1105 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 1106 | "dev": true 1107 | }, 1108 | "jsonc-parser": { 1109 | "version": "2.3.1", 1110 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", 1111 | "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", 1112 | "dev": true 1113 | }, 1114 | "jstransformer": { 1115 | "version": "1.0.0", 1116 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", 1117 | "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", 1118 | "dev": true, 1119 | "requires": { 1120 | "is-promise": "^2.0.0", 1121 | "promise": "^7.0.1" 1122 | } 1123 | }, 1124 | "lilconfig": { 1125 | "version": "2.0.5", 1126 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", 1127 | "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", 1128 | "dev": true 1129 | }, 1130 | "lines-and-columns": { 1131 | "version": "1.2.4", 1132 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1133 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 1134 | "dev": true 1135 | }, 1136 | "lru-cache": { 1137 | "version": "6.0.0", 1138 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1139 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1140 | "dev": true, 1141 | "requires": { 1142 | "yallist": "^4.0.0" 1143 | } 1144 | }, 1145 | "magic-string": { 1146 | "version": "0.25.9", 1147 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 1148 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 1149 | "requires": { 1150 | "sourcemap-codec": "^1.4.8" 1151 | } 1152 | }, 1153 | "merge2": { 1154 | "version": "1.4.1", 1155 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1156 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1157 | "dev": true 1158 | }, 1159 | "micromatch": { 1160 | "version": "4.0.5", 1161 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1162 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1163 | "dev": true, 1164 | "requires": { 1165 | "braces": "^3.0.2", 1166 | "picomatch": "^2.3.1" 1167 | } 1168 | }, 1169 | "minimist": { 1170 | "version": "1.2.6", 1171 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1172 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1173 | "dev": true 1174 | }, 1175 | "nanoid": { 1176 | "version": "3.3.1", 1177 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 1178 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" 1179 | }, 1180 | "node-releases": { 1181 | "version": "2.0.2", 1182 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", 1183 | "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", 1184 | "dev": true 1185 | }, 1186 | "normalize-path": { 1187 | "version": "3.0.0", 1188 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1189 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1190 | "dev": true 1191 | }, 1192 | "normalize-range": { 1193 | "version": "0.1.2", 1194 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1195 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", 1196 | "dev": true 1197 | }, 1198 | "object-assign": { 1199 | "version": "4.1.1", 1200 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1201 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1202 | "dev": true 1203 | }, 1204 | "object-hash": { 1205 | "version": "2.2.0", 1206 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 1207 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", 1208 | "dev": true 1209 | }, 1210 | "parent-module": { 1211 | "version": "1.0.1", 1212 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1213 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1214 | "dev": true, 1215 | "requires": { 1216 | "callsites": "^3.0.0" 1217 | } 1218 | }, 1219 | "parse-json": { 1220 | "version": "5.2.0", 1221 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 1222 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 1223 | "dev": true, 1224 | "requires": { 1225 | "@babel/code-frame": "^7.0.0", 1226 | "error-ex": "^1.3.1", 1227 | "json-parse-even-better-errors": "^2.3.0", 1228 | "lines-and-columns": "^1.1.6" 1229 | } 1230 | }, 1231 | "path-parse": { 1232 | "version": "1.0.7", 1233 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1234 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1235 | "dev": true 1236 | }, 1237 | "path-type": { 1238 | "version": "4.0.0", 1239 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1240 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1241 | "dev": true 1242 | }, 1243 | "picocolors": { 1244 | "version": "1.0.0", 1245 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1246 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1247 | }, 1248 | "picomatch": { 1249 | "version": "2.3.1", 1250 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1251 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1252 | "dev": true 1253 | }, 1254 | "postcss": { 1255 | "version": "8.4.12", 1256 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", 1257 | "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", 1258 | "requires": { 1259 | "nanoid": "^3.3.1", 1260 | "picocolors": "^1.0.0", 1261 | "source-map-js": "^1.0.2" 1262 | } 1263 | }, 1264 | "postcss-js": { 1265 | "version": "4.0.0", 1266 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 1267 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 1268 | "dev": true, 1269 | "requires": { 1270 | "camelcase-css": "^2.0.1" 1271 | } 1272 | }, 1273 | "postcss-load-config": { 1274 | "version": "3.1.3", 1275 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz", 1276 | "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==", 1277 | "dev": true, 1278 | "requires": { 1279 | "lilconfig": "^2.0.4", 1280 | "yaml": "^1.10.2" 1281 | } 1282 | }, 1283 | "postcss-nested": { 1284 | "version": "5.0.6", 1285 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", 1286 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", 1287 | "dev": true, 1288 | "requires": { 1289 | "postcss-selector-parser": "^6.0.6" 1290 | } 1291 | }, 1292 | "postcss-selector-parser": { 1293 | "version": "6.0.9", 1294 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", 1295 | "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", 1296 | "dev": true, 1297 | "requires": { 1298 | "cssesc": "^3.0.0", 1299 | "util-deprecate": "^1.0.2" 1300 | } 1301 | }, 1302 | "postcss-value-parser": { 1303 | "version": "4.2.0", 1304 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1305 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1306 | "dev": true 1307 | }, 1308 | "promise": { 1309 | "version": "7.3.1", 1310 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", 1311 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", 1312 | "dev": true, 1313 | "requires": { 1314 | "asap": "~2.0.3" 1315 | } 1316 | }, 1317 | "pug": { 1318 | "version": "3.0.2", 1319 | "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", 1320 | "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", 1321 | "dev": true, 1322 | "requires": { 1323 | "pug-code-gen": "^3.0.2", 1324 | "pug-filters": "^4.0.0", 1325 | "pug-lexer": "^5.0.1", 1326 | "pug-linker": "^4.0.0", 1327 | "pug-load": "^3.0.0", 1328 | "pug-parser": "^6.0.0", 1329 | "pug-runtime": "^3.0.1", 1330 | "pug-strip-comments": "^2.0.0" 1331 | } 1332 | }, 1333 | "pug-attrs": { 1334 | "version": "3.0.0", 1335 | "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", 1336 | "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", 1337 | "dev": true, 1338 | "requires": { 1339 | "constantinople": "^4.0.1", 1340 | "js-stringify": "^1.0.2", 1341 | "pug-runtime": "^3.0.0" 1342 | } 1343 | }, 1344 | "pug-code-gen": { 1345 | "version": "3.0.2", 1346 | "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", 1347 | "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", 1348 | "dev": true, 1349 | "requires": { 1350 | "constantinople": "^4.0.1", 1351 | "doctypes": "^1.1.0", 1352 | "js-stringify": "^1.0.2", 1353 | "pug-attrs": "^3.0.0", 1354 | "pug-error": "^2.0.0", 1355 | "pug-runtime": "^3.0.0", 1356 | "void-elements": "^3.1.0", 1357 | "with": "^7.0.0" 1358 | } 1359 | }, 1360 | "pug-error": { 1361 | "version": "2.0.0", 1362 | "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", 1363 | "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", 1364 | "dev": true 1365 | }, 1366 | "pug-filters": { 1367 | "version": "4.0.0", 1368 | "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", 1369 | "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", 1370 | "dev": true, 1371 | "requires": { 1372 | "constantinople": "^4.0.1", 1373 | "jstransformer": "1.0.0", 1374 | "pug-error": "^2.0.0", 1375 | "pug-walk": "^2.0.0", 1376 | "resolve": "^1.15.1" 1377 | } 1378 | }, 1379 | "pug-lexer": { 1380 | "version": "5.0.1", 1381 | "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", 1382 | "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", 1383 | "dev": true, 1384 | "requires": { 1385 | "character-parser": "^2.2.0", 1386 | "is-expression": "^4.0.0", 1387 | "pug-error": "^2.0.0" 1388 | } 1389 | }, 1390 | "pug-linker": { 1391 | "version": "4.0.0", 1392 | "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", 1393 | "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", 1394 | "dev": true, 1395 | "requires": { 1396 | "pug-error": "^2.0.0", 1397 | "pug-walk": "^2.0.0" 1398 | } 1399 | }, 1400 | "pug-load": { 1401 | "version": "3.0.0", 1402 | "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", 1403 | "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", 1404 | "dev": true, 1405 | "requires": { 1406 | "object-assign": "^4.1.1", 1407 | "pug-walk": "^2.0.0" 1408 | } 1409 | }, 1410 | "pug-parser": { 1411 | "version": "6.0.0", 1412 | "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", 1413 | "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", 1414 | "dev": true, 1415 | "requires": { 1416 | "pug-error": "^2.0.0", 1417 | "token-stream": "1.0.0" 1418 | } 1419 | }, 1420 | "pug-runtime": { 1421 | "version": "3.0.1", 1422 | "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", 1423 | "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", 1424 | "dev": true 1425 | }, 1426 | "pug-strip-comments": { 1427 | "version": "2.0.0", 1428 | "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", 1429 | "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", 1430 | "dev": true, 1431 | "requires": { 1432 | "pug-error": "^2.0.0" 1433 | } 1434 | }, 1435 | "pug-walk": { 1436 | "version": "2.0.0", 1437 | "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", 1438 | "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", 1439 | "dev": true 1440 | }, 1441 | "queue-microtask": { 1442 | "version": "1.2.3", 1443 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1444 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1445 | "dev": true 1446 | }, 1447 | "quick-lru": { 1448 | "version": "5.1.1", 1449 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 1450 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 1451 | "dev": true 1452 | }, 1453 | "readdirp": { 1454 | "version": "3.6.0", 1455 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1456 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1457 | "dev": true, 1458 | "requires": { 1459 | "picomatch": "^2.2.1" 1460 | } 1461 | }, 1462 | "request-light": { 1463 | "version": "0.5.7", 1464 | "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.7.tgz", 1465 | "integrity": "sha512-i/wKzvcx7Er8tZnvqSxWuNO5ZGggu2UgZAqj/RyZ0si7lBTXL7kZiI/dWxzxnQjaY7s5HEy1qK21Do4Ncr6cVw==", 1466 | "dev": true 1467 | }, 1468 | "resolve": { 1469 | "version": "1.22.0", 1470 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1471 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1472 | "dev": true, 1473 | "requires": { 1474 | "is-core-module": "^2.8.1", 1475 | "path-parse": "^1.0.7", 1476 | "supports-preserve-symlinks-flag": "^1.0.0" 1477 | } 1478 | }, 1479 | "resolve-from": { 1480 | "version": "4.0.0", 1481 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1482 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1483 | "dev": true 1484 | }, 1485 | "reusify": { 1486 | "version": "1.0.4", 1487 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1488 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1489 | "dev": true 1490 | }, 1491 | "rollup": { 1492 | "version": "2.70.1", 1493 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", 1494 | "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", 1495 | "dev": true, 1496 | "requires": { 1497 | "fsevents": "~2.3.2" 1498 | } 1499 | }, 1500 | "run-parallel": { 1501 | "version": "1.2.0", 1502 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1503 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1504 | "dev": true, 1505 | "requires": { 1506 | "queue-microtask": "^1.2.2" 1507 | } 1508 | }, 1509 | "semver": { 1510 | "version": "7.3.5", 1511 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", 1512 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", 1513 | "dev": true, 1514 | "requires": { 1515 | "lru-cache": "^6.0.0" 1516 | } 1517 | }, 1518 | "source-map": { 1519 | "version": "0.6.1", 1520 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1521 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 1522 | }, 1523 | "source-map-js": { 1524 | "version": "1.0.2", 1525 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1526 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 1527 | }, 1528 | "sourcemap-codec": { 1529 | "version": "1.4.8", 1530 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1531 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 1532 | }, 1533 | "supports-color": { 1534 | "version": "7.2.0", 1535 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1536 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1537 | "dev": true, 1538 | "requires": { 1539 | "has-flag": "^4.0.0" 1540 | } 1541 | }, 1542 | "supports-preserve-symlinks-flag": { 1543 | "version": "1.0.0", 1544 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1545 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1546 | "dev": true 1547 | }, 1548 | "tailwindcss": { 1549 | "version": "3.0.23", 1550 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz", 1551 | "integrity": "sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==", 1552 | "dev": true, 1553 | "requires": { 1554 | "arg": "^5.0.1", 1555 | "chalk": "^4.1.2", 1556 | "chokidar": "^3.5.3", 1557 | "color-name": "^1.1.4", 1558 | "cosmiconfig": "^7.0.1", 1559 | "detective": "^5.2.0", 1560 | "didyoumean": "^1.2.2", 1561 | "dlv": "^1.1.3", 1562 | "fast-glob": "^3.2.11", 1563 | "glob-parent": "^6.0.2", 1564 | "is-glob": "^4.0.3", 1565 | "normalize-path": "^3.0.0", 1566 | "object-hash": "^2.2.0", 1567 | "postcss": "^8.4.6", 1568 | "postcss-js": "^4.0.0", 1569 | "postcss-load-config": "^3.1.0", 1570 | "postcss-nested": "5.0.6", 1571 | "postcss-selector-parser": "^6.0.9", 1572 | "postcss-value-parser": "^4.2.0", 1573 | "quick-lru": "^5.1.1", 1574 | "resolve": "^1.22.0" 1575 | } 1576 | }, 1577 | "to-fast-properties": { 1578 | "version": "2.0.0", 1579 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1580 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", 1581 | "dev": true 1582 | }, 1583 | "to-regex-range": { 1584 | "version": "5.0.1", 1585 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1586 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1587 | "dev": true, 1588 | "requires": { 1589 | "is-number": "^7.0.0" 1590 | } 1591 | }, 1592 | "token-stream": { 1593 | "version": "1.0.0", 1594 | "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", 1595 | "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", 1596 | "dev": true 1597 | }, 1598 | "typescript": { 1599 | "version": "4.6.3", 1600 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", 1601 | "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", 1602 | "dev": true 1603 | }, 1604 | "upath": { 1605 | "version": "2.0.1", 1606 | "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", 1607 | "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", 1608 | "dev": true 1609 | }, 1610 | "util-deprecate": { 1611 | "version": "1.0.2", 1612 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1613 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1614 | "dev": true 1615 | }, 1616 | "vite": { 1617 | "version": "2.8.6", 1618 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.8.6.tgz", 1619 | "integrity": "sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==", 1620 | "dev": true, 1621 | "requires": { 1622 | "esbuild": "^0.14.14", 1623 | "fsevents": "~2.3.2", 1624 | "postcss": "^8.4.6", 1625 | "resolve": "^1.22.0", 1626 | "rollup": "^2.59.0" 1627 | } 1628 | }, 1629 | "void-elements": { 1630 | "version": "3.1.0", 1631 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", 1632 | "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", 1633 | "dev": true 1634 | }, 1635 | "vscode-css-languageservice": { 1636 | "version": "5.3.0", 1637 | "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.3.0.tgz", 1638 | "integrity": "sha512-ujWW855AoJlE4ETU17Gff7unlZZTHDA0w26itk9EQFMfJqi9lE6S67zOsMvcPmJf55MrnGQbojDYZRiDVaFjdA==", 1639 | "dev": true, 1640 | "requires": { 1641 | "vscode-languageserver-textdocument": "^1.0.4", 1642 | "vscode-languageserver-types": "^3.16.0", 1643 | "vscode-nls": "^5.0.0", 1644 | "vscode-uri": "^3.0.3" 1645 | }, 1646 | "dependencies": { 1647 | "vscode-languageserver-types": { 1648 | "version": "3.16.0", 1649 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", 1650 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", 1651 | "dev": true 1652 | } 1653 | } 1654 | }, 1655 | "vscode-html-languageservice": { 1656 | "version": "4.2.4", 1657 | "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.4.tgz", 1658 | "integrity": "sha512-1HqvXKOq9WlZyW4HTD+0XzrjZoZ/YFrgQY2PZqktbRloHXVAUKm6+cAcvZi4YqKPVn05/CK7do+KBHfuSaEdbg==", 1659 | "dev": true, 1660 | "requires": { 1661 | "vscode-languageserver-textdocument": "^1.0.4", 1662 | "vscode-languageserver-types": "^3.16.0", 1663 | "vscode-nls": "^5.0.0", 1664 | "vscode-uri": "^3.0.3" 1665 | }, 1666 | "dependencies": { 1667 | "vscode-languageserver-types": { 1668 | "version": "3.16.0", 1669 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", 1670 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", 1671 | "dev": true 1672 | } 1673 | } 1674 | }, 1675 | "vscode-json-languageservice": { 1676 | "version": "4.2.1", 1677 | "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz", 1678 | "integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==", 1679 | "dev": true, 1680 | "requires": { 1681 | "jsonc-parser": "^3.0.0", 1682 | "vscode-languageserver-textdocument": "^1.0.3", 1683 | "vscode-languageserver-types": "^3.16.0", 1684 | "vscode-nls": "^5.0.0", 1685 | "vscode-uri": "^3.0.3" 1686 | }, 1687 | "dependencies": { 1688 | "jsonc-parser": { 1689 | "version": "3.0.0", 1690 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", 1691 | "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", 1692 | "dev": true 1693 | }, 1694 | "vscode-languageserver-types": { 1695 | "version": "3.16.0", 1696 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", 1697 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", 1698 | "dev": true 1699 | } 1700 | } 1701 | }, 1702 | "vscode-jsonrpc": { 1703 | "version": "8.0.0-next.7", 1704 | "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.7.tgz", 1705 | "integrity": "sha512-JX/F31LEsims0dAlOTKFE4E+AJMiJvdRSRViifFJSqSN7EzeYyWlfuDchF7g91oRNPZOIWfibTkDf3/UMsQGzQ==", 1706 | "dev": true 1707 | }, 1708 | "vscode-languageserver": { 1709 | "version": "8.0.0-next.10", 1710 | "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.10.tgz", 1711 | "integrity": "sha512-sdjldl9ipuBSWVw5ENVMRcOVQwF0o+J6+lNA7FrB8MiLmzflnfjRoJMqA5tCEY8S/J/+P56ZR/dqiQnRYg5m8w==", 1712 | "dev": true, 1713 | "requires": { 1714 | "vscode-languageserver-protocol": "3.17.0-next.16" 1715 | } 1716 | }, 1717 | "vscode-languageserver-protocol": { 1718 | "version": "3.17.0-next.16", 1719 | "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.16.tgz", 1720 | "integrity": "sha512-tx4DnXw9u3N7vw+bx6n2NKp6FoxoNwiP/biH83AS30I2AnTGyLd7afSeH6Oewn2E8jvB7K15bs12sMppkKOVeQ==", 1721 | "dev": true, 1722 | "requires": { 1723 | "vscode-jsonrpc": "8.0.0-next.7", 1724 | "vscode-languageserver-types": "3.17.0-next.9" 1725 | } 1726 | }, 1727 | "vscode-languageserver-textdocument": { 1728 | "version": "1.0.4", 1729 | "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz", 1730 | "integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==", 1731 | "dev": true 1732 | }, 1733 | "vscode-languageserver-types": { 1734 | "version": "3.17.0-next.9", 1735 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.9.tgz", 1736 | "integrity": "sha512-9/PeDNPYduaoXRUzYpqmu4ZV9L01HGo0wH9FUt+sSHR7IXwA7xoXBfNUlv8gB9H0D2WwEmMomSy1NmhjKQyn3A==", 1737 | "dev": true 1738 | }, 1739 | "vscode-nls": { 1740 | "version": "5.0.0", 1741 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz", 1742 | "integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==", 1743 | "dev": true 1744 | }, 1745 | "vscode-pug-languageservice": { 1746 | "version": "0.29.8", 1747 | "resolved": "https://registry.npmjs.org/vscode-pug-languageservice/-/vscode-pug-languageservice-0.29.8.tgz", 1748 | "integrity": "sha512-QHYAzDSJLg7GOLxCZ12qsM0dAM0dPeMSS1t4kKfzLsfpErmZpFzkAIXbidVrNMdMffGZMtTuIlcpEyWHbx96Iw==", 1749 | "dev": true, 1750 | "requires": { 1751 | "@volar/code-gen": "0.29.8", 1752 | "@volar/shared": "0.29.8", 1753 | "@volar/source-map": "0.29.8", 1754 | "@volar/transforms": "0.29.8", 1755 | "pug-lexer": "^5.0.1", 1756 | "pug-parser": "^6.0.0", 1757 | "vscode-languageserver": "^8.0.0-next.2" 1758 | } 1759 | }, 1760 | "vscode-typescript-languageservice": { 1761 | "version": "0.29.8", 1762 | "resolved": "https://registry.npmjs.org/vscode-typescript-languageservice/-/vscode-typescript-languageservice-0.29.8.tgz", 1763 | "integrity": "sha512-eecDqHk4WjEvy6VHQ6teHczppQ9yJO2wExCy7yu7WiFj35qbw0h4G6Erv46MvP3ClL8FggFzD7s1qM6vdqJUfw==", 1764 | "dev": true, 1765 | "requires": { 1766 | "@volar/shared": "0.29.8", 1767 | "semver": "^7.3.5", 1768 | "upath": "^2.0.1", 1769 | "vscode-languageserver": "^8.0.0-next.2", 1770 | "vscode-languageserver-textdocument": "^1.0.1" 1771 | } 1772 | }, 1773 | "vscode-uri": { 1774 | "version": "3.0.3", 1775 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", 1776 | "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==", 1777 | "dev": true 1778 | }, 1779 | "vscode-vue-languageservice": { 1780 | "version": "0.29.8", 1781 | "resolved": "https://registry.npmjs.org/vscode-vue-languageservice/-/vscode-vue-languageservice-0.29.8.tgz", 1782 | "integrity": "sha512-qSJdvW5ttyGUB/8uWDKgo8vnIoFnXYlBP4Z/cn54btsRn6ZMw7IJGJU1381e7p/yGvMTLeGbugD53SghbnSa6g==", 1783 | "dev": true, 1784 | "requires": { 1785 | "@volar/code-gen": "0.29.8", 1786 | "@volar/html2pug": "0.29.8", 1787 | "@volar/shared": "0.29.8", 1788 | "@volar/source-map": "0.29.8", 1789 | "@volar/transforms": "0.29.8", 1790 | "@volar/vue-code-gen": "0.29.8", 1791 | "@vscode/emmet-helper": "^2.8.0", 1792 | "@vue/reactivity": "^3.2.21", 1793 | "@vue/shared": "^3.2.21", 1794 | "request-light": "^0.5.4", 1795 | "upath": "^2.0.1", 1796 | "vscode-css-languageservice": "^5.1.7", 1797 | "vscode-html-languageservice": "^4.1.0", 1798 | "vscode-json-languageservice": "^4.1.8", 1799 | "vscode-languageserver": "^8.0.0-next.2", 1800 | "vscode-languageserver-textdocument": "^1.0.1", 1801 | "vscode-pug-languageservice": "0.29.8", 1802 | "vscode-typescript-languageservice": "0.29.8" 1803 | } 1804 | }, 1805 | "vue": { 1806 | "version": "3.2.31", 1807 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.31.tgz", 1808 | "integrity": "sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==", 1809 | "requires": { 1810 | "@vue/compiler-dom": "3.2.31", 1811 | "@vue/compiler-sfc": "3.2.31", 1812 | "@vue/runtime-dom": "3.2.31", 1813 | "@vue/server-renderer": "3.2.31", 1814 | "@vue/shared": "3.2.31" 1815 | } 1816 | }, 1817 | "vue-tsc": { 1818 | "version": "0.29.8", 1819 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.29.8.tgz", 1820 | "integrity": "sha512-pT0wLRjvRuSmB+J4WJT6uuV9mO0KtSSXEAtaVXZQzyk5+DJdbLIQTbRce/TXSkfqt1l1WogO78RjtOJFiMCgfQ==", 1821 | "dev": true, 1822 | "requires": { 1823 | "@volar/shared": "0.29.8", 1824 | "vscode-vue-languageservice": "0.29.8" 1825 | } 1826 | }, 1827 | "with": { 1828 | "version": "7.0.2", 1829 | "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", 1830 | "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", 1831 | "dev": true, 1832 | "requires": { 1833 | "@babel/parser": "^7.9.6", 1834 | "@babel/types": "^7.9.6", 1835 | "assert-never": "^1.2.1", 1836 | "babel-walk": "3.0.0-canary-5" 1837 | } 1838 | }, 1839 | "xtend": { 1840 | "version": "4.0.2", 1841 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 1842 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 1843 | "dev": true 1844 | }, 1845 | "yallist": { 1846 | "version": "4.0.0", 1847 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1848 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1849 | "dev": true 1850 | }, 1851 | "yaml": { 1852 | "version": "1.10.2", 1853 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 1854 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1855 | "dev": true 1856 | } 1857 | } 1858 | } 1859 | --------------------------------------------------------------------------------