├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── public └── favicon.ico ├── src ├── App.vue ├── assets │ └── tailwind.css ├── components │ ├── AnimatedPlaceholder.vue │ ├── AsyncCityView.vue │ ├── BaseModal.vue │ ├── CityCard.vue │ ├── CityCardSkeleton.vue │ ├── CityList.vue │ ├── CityViewSkeleton.vue │ └── SiteNavigation.vue ├── main.js ├── router │ └── index.js └── views │ ├── CityView.vue │ └── HomeView.vue ├── tailwind.config.js └── vite.config.js /.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 | .DS_Store 12 | dist 13 | dist-ssr 14 | coverage 15 | *.local 16 | 17 | /cypress/videos/ 18 | /cypress/screenshots/ 19 | 20 | # Editor directories and files 21 | .vscode/* 22 | !.vscode/extensions.json 23 | .idea 24 | *.suo 25 | *.ntvs* 26 | *.njsproj 27 | *.sln 28 | *.sw? 29 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-project 2 | 3 | This template should help get you started developing with Vue 3 in Vite. 4 | 5 | ## Recommended IDE Setup 6 | 7 | [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). 8 | 9 | ## Customize configuration 10 | 11 | See [Vite Configuration Reference](https://vitejs.dev/config/). 12 | 13 | ## Project Setup 14 | 15 | ```sh 16 | npm install 17 | ``` 18 | 19 | ### Compile and Hot-Reload for Development 20 | 21 | ```sh 22 | npm run dev 23 | ``` 24 | 25 | ### Compile and Minify for Production 26 | 27 | ```sh 28 | npm run build 29 | ``` 30 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | 14 | 21 | Vite App 22 | 23 | 24 |
25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-project", 3 | "version": "0.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "vue-project", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "axios": "^0.27.2", 12 | "uid": "^2.0.0", 13 | "vue": "^3.2.37", 14 | "vue-router": "^4.0.16" 15 | }, 16 | "devDependencies": { 17 | "@vitejs/plugin-vue": "^2.3.3", 18 | "autoprefixer": "^10.4.7", 19 | "postcss": "^8.4.14", 20 | "tailwindcss": "^3.1.6", 21 | "vite": "^2.9.12" 22 | } 23 | }, 24 | "node_modules/@babel/parser": { 25 | "version": "7.18.9", 26 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", 27 | "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==", 28 | "bin": { 29 | "parser": "bin/babel-parser.js" 30 | }, 31 | "engines": { 32 | "node": ">=6.0.0" 33 | } 34 | }, 35 | "node_modules/@lukeed/csprng": { 36 | "version": "1.0.1", 37 | "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.0.1.tgz", 38 | "integrity": "sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==", 39 | "engines": { 40 | "node": ">=8" 41 | } 42 | }, 43 | "node_modules/@nodelib/fs.scandir": { 44 | "version": "2.1.5", 45 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 46 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 47 | "dev": true, 48 | "dependencies": { 49 | "@nodelib/fs.stat": "2.0.5", 50 | "run-parallel": "^1.1.9" 51 | }, 52 | "engines": { 53 | "node": ">= 8" 54 | } 55 | }, 56 | "node_modules/@nodelib/fs.stat": { 57 | "version": "2.0.5", 58 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 59 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 60 | "dev": true, 61 | "engines": { 62 | "node": ">= 8" 63 | } 64 | }, 65 | "node_modules/@nodelib/fs.walk": { 66 | "version": "1.2.8", 67 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 68 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 69 | "dev": true, 70 | "dependencies": { 71 | "@nodelib/fs.scandir": "2.1.5", 72 | "fastq": "^1.6.0" 73 | }, 74 | "engines": { 75 | "node": ">= 8" 76 | } 77 | }, 78 | "node_modules/@vitejs/plugin-vue": { 79 | "version": "2.3.3", 80 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz", 81 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==", 82 | "dev": true, 83 | "engines": { 84 | "node": ">=12.0.0" 85 | }, 86 | "peerDependencies": { 87 | "vite": "^2.5.10", 88 | "vue": "^3.2.25" 89 | } 90 | }, 91 | "node_modules/@vue/compiler-core": { 92 | "version": "3.2.37", 93 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz", 94 | "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==", 95 | "dependencies": { 96 | "@babel/parser": "^7.16.4", 97 | "@vue/shared": "3.2.37", 98 | "estree-walker": "^2.0.2", 99 | "source-map": "^0.6.1" 100 | } 101 | }, 102 | "node_modules/@vue/compiler-dom": { 103 | "version": "3.2.37", 104 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz", 105 | "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==", 106 | "dependencies": { 107 | "@vue/compiler-core": "3.2.37", 108 | "@vue/shared": "3.2.37" 109 | } 110 | }, 111 | "node_modules/@vue/compiler-sfc": { 112 | "version": "3.2.37", 113 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz", 114 | "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==", 115 | "dependencies": { 116 | "@babel/parser": "^7.16.4", 117 | "@vue/compiler-core": "3.2.37", 118 | "@vue/compiler-dom": "3.2.37", 119 | "@vue/compiler-ssr": "3.2.37", 120 | "@vue/reactivity-transform": "3.2.37", 121 | "@vue/shared": "3.2.37", 122 | "estree-walker": "^2.0.2", 123 | "magic-string": "^0.25.7", 124 | "postcss": "^8.1.10", 125 | "source-map": "^0.6.1" 126 | } 127 | }, 128 | "node_modules/@vue/compiler-ssr": { 129 | "version": "3.2.37", 130 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz", 131 | "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==", 132 | "dependencies": { 133 | "@vue/compiler-dom": "3.2.37", 134 | "@vue/shared": "3.2.37" 135 | } 136 | }, 137 | "node_modules/@vue/devtools-api": { 138 | "version": "6.2.1", 139 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", 140 | "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" 141 | }, 142 | "node_modules/@vue/reactivity": { 143 | "version": "3.2.37", 144 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz", 145 | "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==", 146 | "dependencies": { 147 | "@vue/shared": "3.2.37" 148 | } 149 | }, 150 | "node_modules/@vue/reactivity-transform": { 151 | "version": "3.2.37", 152 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz", 153 | "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==", 154 | "dependencies": { 155 | "@babel/parser": "^7.16.4", 156 | "@vue/compiler-core": "3.2.37", 157 | "@vue/shared": "3.2.37", 158 | "estree-walker": "^2.0.2", 159 | "magic-string": "^0.25.7" 160 | } 161 | }, 162 | "node_modules/@vue/runtime-core": { 163 | "version": "3.2.37", 164 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz", 165 | "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==", 166 | "dependencies": { 167 | "@vue/reactivity": "3.2.37", 168 | "@vue/shared": "3.2.37" 169 | } 170 | }, 171 | "node_modules/@vue/runtime-dom": { 172 | "version": "3.2.37", 173 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz", 174 | "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==", 175 | "dependencies": { 176 | "@vue/runtime-core": "3.2.37", 177 | "@vue/shared": "3.2.37", 178 | "csstype": "^2.6.8" 179 | } 180 | }, 181 | "node_modules/@vue/server-renderer": { 182 | "version": "3.2.37", 183 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz", 184 | "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==", 185 | "dependencies": { 186 | "@vue/compiler-ssr": "3.2.37", 187 | "@vue/shared": "3.2.37" 188 | }, 189 | "peerDependencies": { 190 | "vue": "3.2.37" 191 | } 192 | }, 193 | "node_modules/@vue/shared": { 194 | "version": "3.2.37", 195 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz", 196 | "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==" 197 | }, 198 | "node_modules/acorn": { 199 | "version": "7.4.1", 200 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 201 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 202 | "dev": true, 203 | "bin": { 204 | "acorn": "bin/acorn" 205 | }, 206 | "engines": { 207 | "node": ">=0.4.0" 208 | } 209 | }, 210 | "node_modules/acorn-node": { 211 | "version": "1.8.2", 212 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 213 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 214 | "dev": true, 215 | "dependencies": { 216 | "acorn": "^7.0.0", 217 | "acorn-walk": "^7.0.0", 218 | "xtend": "^4.0.2" 219 | } 220 | }, 221 | "node_modules/acorn-walk": { 222 | "version": "7.2.0", 223 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 224 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 225 | "dev": true, 226 | "engines": { 227 | "node": ">=0.4.0" 228 | } 229 | }, 230 | "node_modules/anymatch": { 231 | "version": "3.1.2", 232 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 233 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 234 | "dev": true, 235 | "dependencies": { 236 | "normalize-path": "^3.0.0", 237 | "picomatch": "^2.0.4" 238 | }, 239 | "engines": { 240 | "node": ">= 8" 241 | } 242 | }, 243 | "node_modules/arg": { 244 | "version": "5.0.2", 245 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 246 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 247 | "dev": true 248 | }, 249 | "node_modules/asynckit": { 250 | "version": "0.4.0", 251 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 252 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 253 | }, 254 | "node_modules/autoprefixer": { 255 | "version": "10.4.7", 256 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", 257 | "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", 258 | "dev": true, 259 | "funding": [ 260 | { 261 | "type": "opencollective", 262 | "url": "https://opencollective.com/postcss/" 263 | }, 264 | { 265 | "type": "tidelift", 266 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 267 | } 268 | ], 269 | "dependencies": { 270 | "browserslist": "^4.20.3", 271 | "caniuse-lite": "^1.0.30001335", 272 | "fraction.js": "^4.2.0", 273 | "normalize-range": "^0.1.2", 274 | "picocolors": "^1.0.0", 275 | "postcss-value-parser": "^4.2.0" 276 | }, 277 | "bin": { 278 | "autoprefixer": "bin/autoprefixer" 279 | }, 280 | "engines": { 281 | "node": "^10 || ^12 || >=14" 282 | }, 283 | "peerDependencies": { 284 | "postcss": "^8.1.0" 285 | } 286 | }, 287 | "node_modules/axios": { 288 | "version": "0.27.2", 289 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", 290 | "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", 291 | "dependencies": { 292 | "follow-redirects": "^1.14.9", 293 | "form-data": "^4.0.0" 294 | } 295 | }, 296 | "node_modules/binary-extensions": { 297 | "version": "2.2.0", 298 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 299 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 300 | "dev": true, 301 | "engines": { 302 | "node": ">=8" 303 | } 304 | }, 305 | "node_modules/braces": { 306 | "version": "3.0.2", 307 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 308 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 309 | "dev": true, 310 | "dependencies": { 311 | "fill-range": "^7.0.1" 312 | }, 313 | "engines": { 314 | "node": ">=8" 315 | } 316 | }, 317 | "node_modules/browserslist": { 318 | "version": "4.21.3", 319 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", 320 | "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", 321 | "dev": true, 322 | "funding": [ 323 | { 324 | "type": "opencollective", 325 | "url": "https://opencollective.com/browserslist" 326 | }, 327 | { 328 | "type": "tidelift", 329 | "url": "https://tidelift.com/funding/github/npm/browserslist" 330 | } 331 | ], 332 | "dependencies": { 333 | "caniuse-lite": "^1.0.30001370", 334 | "electron-to-chromium": "^1.4.202", 335 | "node-releases": "^2.0.6", 336 | "update-browserslist-db": "^1.0.5" 337 | }, 338 | "bin": { 339 | "browserslist": "cli.js" 340 | }, 341 | "engines": { 342 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 343 | } 344 | }, 345 | "node_modules/camelcase-css": { 346 | "version": "2.0.1", 347 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 348 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 349 | "dev": true, 350 | "engines": { 351 | "node": ">= 6" 352 | } 353 | }, 354 | "node_modules/caniuse-lite": { 355 | "version": "1.0.30001373", 356 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", 357 | "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", 358 | "dev": true, 359 | "funding": [ 360 | { 361 | "type": "opencollective", 362 | "url": "https://opencollective.com/browserslist" 363 | }, 364 | { 365 | "type": "tidelift", 366 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 367 | } 368 | ] 369 | }, 370 | "node_modules/chokidar": { 371 | "version": "3.5.3", 372 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 373 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 374 | "dev": true, 375 | "funding": [ 376 | { 377 | "type": "individual", 378 | "url": "https://paulmillr.com/funding/" 379 | } 380 | ], 381 | "dependencies": { 382 | "anymatch": "~3.1.2", 383 | "braces": "~3.0.2", 384 | "glob-parent": "~5.1.2", 385 | "is-binary-path": "~2.1.0", 386 | "is-glob": "~4.0.1", 387 | "normalize-path": "~3.0.0", 388 | "readdirp": "~3.6.0" 389 | }, 390 | "engines": { 391 | "node": ">= 8.10.0" 392 | }, 393 | "optionalDependencies": { 394 | "fsevents": "~2.3.2" 395 | } 396 | }, 397 | "node_modules/chokidar/node_modules/glob-parent": { 398 | "version": "5.1.2", 399 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 400 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 401 | "dev": true, 402 | "dependencies": { 403 | "is-glob": "^4.0.1" 404 | }, 405 | "engines": { 406 | "node": ">= 6" 407 | } 408 | }, 409 | "node_modules/color-name": { 410 | "version": "1.1.4", 411 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 412 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 413 | "dev": true 414 | }, 415 | "node_modules/combined-stream": { 416 | "version": "1.0.8", 417 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 418 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 419 | "dependencies": { 420 | "delayed-stream": "~1.0.0" 421 | }, 422 | "engines": { 423 | "node": ">= 0.8" 424 | } 425 | }, 426 | "node_modules/cssesc": { 427 | "version": "3.0.0", 428 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 429 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 430 | "dev": true, 431 | "bin": { 432 | "cssesc": "bin/cssesc" 433 | }, 434 | "engines": { 435 | "node": ">=4" 436 | } 437 | }, 438 | "node_modules/csstype": { 439 | "version": "2.6.20", 440 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 441 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 442 | }, 443 | "node_modules/defined": { 444 | "version": "1.0.0", 445 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 446 | "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", 447 | "dev": true 448 | }, 449 | "node_modules/delayed-stream": { 450 | "version": "1.0.0", 451 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 452 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 453 | "engines": { 454 | "node": ">=0.4.0" 455 | } 456 | }, 457 | "node_modules/detective": { 458 | "version": "5.2.1", 459 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", 460 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", 461 | "dev": true, 462 | "dependencies": { 463 | "acorn-node": "^1.8.2", 464 | "defined": "^1.0.0", 465 | "minimist": "^1.2.6" 466 | }, 467 | "bin": { 468 | "detective": "bin/detective.js" 469 | }, 470 | "engines": { 471 | "node": ">=0.8.0" 472 | } 473 | }, 474 | "node_modules/didyoumean": { 475 | "version": "1.2.2", 476 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 477 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 478 | "dev": true 479 | }, 480 | "node_modules/dlv": { 481 | "version": "1.1.3", 482 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 483 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 484 | "dev": true 485 | }, 486 | "node_modules/electron-to-chromium": { 487 | "version": "1.4.204", 488 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.204.tgz", 489 | "integrity": "sha512-5Ojjtw9/c9HCXtMVE6SXVSHSNjmbFOXpKprl6mY/5moLSxLeWatuYA7KTD+RzJMxLRH6yNNQrqGz9p6IoNBMgw==", 490 | "dev": true 491 | }, 492 | "node_modules/esbuild": { 493 | "version": "0.14.51", 494 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz", 495 | "integrity": "sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==", 496 | "dev": true, 497 | "hasInstallScript": true, 498 | "bin": { 499 | "esbuild": "bin/esbuild" 500 | }, 501 | "engines": { 502 | "node": ">=12" 503 | }, 504 | "optionalDependencies": { 505 | "esbuild-android-64": "0.14.51", 506 | "esbuild-android-arm64": "0.14.51", 507 | "esbuild-darwin-64": "0.14.51", 508 | "esbuild-darwin-arm64": "0.14.51", 509 | "esbuild-freebsd-64": "0.14.51", 510 | "esbuild-freebsd-arm64": "0.14.51", 511 | "esbuild-linux-32": "0.14.51", 512 | "esbuild-linux-64": "0.14.51", 513 | "esbuild-linux-arm": "0.14.51", 514 | "esbuild-linux-arm64": "0.14.51", 515 | "esbuild-linux-mips64le": "0.14.51", 516 | "esbuild-linux-ppc64le": "0.14.51", 517 | "esbuild-linux-riscv64": "0.14.51", 518 | "esbuild-linux-s390x": "0.14.51", 519 | "esbuild-netbsd-64": "0.14.51", 520 | "esbuild-openbsd-64": "0.14.51", 521 | "esbuild-sunos-64": "0.14.51", 522 | "esbuild-windows-32": "0.14.51", 523 | "esbuild-windows-64": "0.14.51", 524 | "esbuild-windows-arm64": "0.14.51" 525 | } 526 | }, 527 | "node_modules/esbuild-android-64": { 528 | "version": "0.14.51", 529 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz", 530 | "integrity": "sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==", 531 | "cpu": [ 532 | "x64" 533 | ], 534 | "dev": true, 535 | "optional": true, 536 | "os": [ 537 | "android" 538 | ], 539 | "engines": { 540 | "node": ">=12" 541 | } 542 | }, 543 | "node_modules/esbuild-android-arm64": { 544 | "version": "0.14.51", 545 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz", 546 | "integrity": "sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==", 547 | "cpu": [ 548 | "arm64" 549 | ], 550 | "dev": true, 551 | "optional": true, 552 | "os": [ 553 | "android" 554 | ], 555 | "engines": { 556 | "node": ">=12" 557 | } 558 | }, 559 | "node_modules/esbuild-darwin-64": { 560 | "version": "0.14.51", 561 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz", 562 | "integrity": "sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==", 563 | "cpu": [ 564 | "x64" 565 | ], 566 | "dev": true, 567 | "optional": true, 568 | "os": [ 569 | "darwin" 570 | ], 571 | "engines": { 572 | "node": ">=12" 573 | } 574 | }, 575 | "node_modules/esbuild-darwin-arm64": { 576 | "version": "0.14.51", 577 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz", 578 | "integrity": "sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==", 579 | "cpu": [ 580 | "arm64" 581 | ], 582 | "dev": true, 583 | "optional": true, 584 | "os": [ 585 | "darwin" 586 | ], 587 | "engines": { 588 | "node": ">=12" 589 | } 590 | }, 591 | "node_modules/esbuild-freebsd-64": { 592 | "version": "0.14.51", 593 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz", 594 | "integrity": "sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==", 595 | "cpu": [ 596 | "x64" 597 | ], 598 | "dev": true, 599 | "optional": true, 600 | "os": [ 601 | "freebsd" 602 | ], 603 | "engines": { 604 | "node": ">=12" 605 | } 606 | }, 607 | "node_modules/esbuild-freebsd-arm64": { 608 | "version": "0.14.51", 609 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz", 610 | "integrity": "sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==", 611 | "cpu": [ 612 | "arm64" 613 | ], 614 | "dev": true, 615 | "optional": true, 616 | "os": [ 617 | "freebsd" 618 | ], 619 | "engines": { 620 | "node": ">=12" 621 | } 622 | }, 623 | "node_modules/esbuild-linux-32": { 624 | "version": "0.14.51", 625 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz", 626 | "integrity": "sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==", 627 | "cpu": [ 628 | "ia32" 629 | ], 630 | "dev": true, 631 | "optional": true, 632 | "os": [ 633 | "linux" 634 | ], 635 | "engines": { 636 | "node": ">=12" 637 | } 638 | }, 639 | "node_modules/esbuild-linux-64": { 640 | "version": "0.14.51", 641 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz", 642 | "integrity": "sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==", 643 | "cpu": [ 644 | "x64" 645 | ], 646 | "dev": true, 647 | "optional": true, 648 | "os": [ 649 | "linux" 650 | ], 651 | "engines": { 652 | "node": ">=12" 653 | } 654 | }, 655 | "node_modules/esbuild-linux-arm": { 656 | "version": "0.14.51", 657 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz", 658 | "integrity": "sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==", 659 | "cpu": [ 660 | "arm" 661 | ], 662 | "dev": true, 663 | "optional": true, 664 | "os": [ 665 | "linux" 666 | ], 667 | "engines": { 668 | "node": ">=12" 669 | } 670 | }, 671 | "node_modules/esbuild-linux-arm64": { 672 | "version": "0.14.51", 673 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz", 674 | "integrity": "sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==", 675 | "cpu": [ 676 | "arm64" 677 | ], 678 | "dev": true, 679 | "optional": true, 680 | "os": [ 681 | "linux" 682 | ], 683 | "engines": { 684 | "node": ">=12" 685 | } 686 | }, 687 | "node_modules/esbuild-linux-mips64le": { 688 | "version": "0.14.51", 689 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz", 690 | "integrity": "sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==", 691 | "cpu": [ 692 | "mips64el" 693 | ], 694 | "dev": true, 695 | "optional": true, 696 | "os": [ 697 | "linux" 698 | ], 699 | "engines": { 700 | "node": ">=12" 701 | } 702 | }, 703 | "node_modules/esbuild-linux-ppc64le": { 704 | "version": "0.14.51", 705 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz", 706 | "integrity": "sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==", 707 | "cpu": [ 708 | "ppc64" 709 | ], 710 | "dev": true, 711 | "optional": true, 712 | "os": [ 713 | "linux" 714 | ], 715 | "engines": { 716 | "node": ">=12" 717 | } 718 | }, 719 | "node_modules/esbuild-linux-riscv64": { 720 | "version": "0.14.51", 721 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz", 722 | "integrity": "sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==", 723 | "cpu": [ 724 | "riscv64" 725 | ], 726 | "dev": true, 727 | "optional": true, 728 | "os": [ 729 | "linux" 730 | ], 731 | "engines": { 732 | "node": ">=12" 733 | } 734 | }, 735 | "node_modules/esbuild-linux-s390x": { 736 | "version": "0.14.51", 737 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz", 738 | "integrity": "sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==", 739 | "cpu": [ 740 | "s390x" 741 | ], 742 | "dev": true, 743 | "optional": true, 744 | "os": [ 745 | "linux" 746 | ], 747 | "engines": { 748 | "node": ">=12" 749 | } 750 | }, 751 | "node_modules/esbuild-netbsd-64": { 752 | "version": "0.14.51", 753 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz", 754 | "integrity": "sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==", 755 | "cpu": [ 756 | "x64" 757 | ], 758 | "dev": true, 759 | "optional": true, 760 | "os": [ 761 | "netbsd" 762 | ], 763 | "engines": { 764 | "node": ">=12" 765 | } 766 | }, 767 | "node_modules/esbuild-openbsd-64": { 768 | "version": "0.14.51", 769 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz", 770 | "integrity": "sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==", 771 | "cpu": [ 772 | "x64" 773 | ], 774 | "dev": true, 775 | "optional": true, 776 | "os": [ 777 | "openbsd" 778 | ], 779 | "engines": { 780 | "node": ">=12" 781 | } 782 | }, 783 | "node_modules/esbuild-sunos-64": { 784 | "version": "0.14.51", 785 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz", 786 | "integrity": "sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==", 787 | "cpu": [ 788 | "x64" 789 | ], 790 | "dev": true, 791 | "optional": true, 792 | "os": [ 793 | "sunos" 794 | ], 795 | "engines": { 796 | "node": ">=12" 797 | } 798 | }, 799 | "node_modules/esbuild-windows-32": { 800 | "version": "0.14.51", 801 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz", 802 | "integrity": "sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==", 803 | "cpu": [ 804 | "ia32" 805 | ], 806 | "dev": true, 807 | "optional": true, 808 | "os": [ 809 | "win32" 810 | ], 811 | "engines": { 812 | "node": ">=12" 813 | } 814 | }, 815 | "node_modules/esbuild-windows-64": { 816 | "version": "0.14.51", 817 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz", 818 | "integrity": "sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==", 819 | "cpu": [ 820 | "x64" 821 | ], 822 | "dev": true, 823 | "optional": true, 824 | "os": [ 825 | "win32" 826 | ], 827 | "engines": { 828 | "node": ">=12" 829 | } 830 | }, 831 | "node_modules/esbuild-windows-arm64": { 832 | "version": "0.14.51", 833 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz", 834 | "integrity": "sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==", 835 | "cpu": [ 836 | "arm64" 837 | ], 838 | "dev": true, 839 | "optional": true, 840 | "os": [ 841 | "win32" 842 | ], 843 | "engines": { 844 | "node": ">=12" 845 | } 846 | }, 847 | "node_modules/estree-walker": { 848 | "version": "2.0.2", 849 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 850 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 851 | }, 852 | "node_modules/fast-glob": { 853 | "version": "3.2.11", 854 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 855 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 856 | "dev": true, 857 | "dependencies": { 858 | "@nodelib/fs.stat": "^2.0.2", 859 | "@nodelib/fs.walk": "^1.2.3", 860 | "glob-parent": "^5.1.2", 861 | "merge2": "^1.3.0", 862 | "micromatch": "^4.0.4" 863 | }, 864 | "engines": { 865 | "node": ">=8.6.0" 866 | } 867 | }, 868 | "node_modules/fast-glob/node_modules/glob-parent": { 869 | "version": "5.1.2", 870 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 871 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 872 | "dev": true, 873 | "dependencies": { 874 | "is-glob": "^4.0.1" 875 | }, 876 | "engines": { 877 | "node": ">= 6" 878 | } 879 | }, 880 | "node_modules/fastq": { 881 | "version": "1.13.0", 882 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 883 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 884 | "dev": true, 885 | "dependencies": { 886 | "reusify": "^1.0.4" 887 | } 888 | }, 889 | "node_modules/fill-range": { 890 | "version": "7.0.1", 891 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 892 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 893 | "dev": true, 894 | "dependencies": { 895 | "to-regex-range": "^5.0.1" 896 | }, 897 | "engines": { 898 | "node": ">=8" 899 | } 900 | }, 901 | "node_modules/follow-redirects": { 902 | "version": "1.15.1", 903 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", 904 | "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", 905 | "funding": [ 906 | { 907 | "type": "individual", 908 | "url": "https://github.com/sponsors/RubenVerborgh" 909 | } 910 | ], 911 | "engines": { 912 | "node": ">=4.0" 913 | }, 914 | "peerDependenciesMeta": { 915 | "debug": { 916 | "optional": true 917 | } 918 | } 919 | }, 920 | "node_modules/form-data": { 921 | "version": "4.0.0", 922 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 923 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 924 | "dependencies": { 925 | "asynckit": "^0.4.0", 926 | "combined-stream": "^1.0.8", 927 | "mime-types": "^2.1.12" 928 | }, 929 | "engines": { 930 | "node": ">= 6" 931 | } 932 | }, 933 | "node_modules/fraction.js": { 934 | "version": "4.2.0", 935 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 936 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 937 | "dev": true, 938 | "engines": { 939 | "node": "*" 940 | }, 941 | "funding": { 942 | "type": "patreon", 943 | "url": "https://www.patreon.com/infusion" 944 | } 945 | }, 946 | "node_modules/fsevents": { 947 | "version": "2.3.2", 948 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 949 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 950 | "dev": true, 951 | "hasInstallScript": true, 952 | "optional": true, 953 | "os": [ 954 | "darwin" 955 | ], 956 | "engines": { 957 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 958 | } 959 | }, 960 | "node_modules/function-bind": { 961 | "version": "1.1.1", 962 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 963 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 964 | "dev": true 965 | }, 966 | "node_modules/glob-parent": { 967 | "version": "6.0.2", 968 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 969 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 970 | "dev": true, 971 | "dependencies": { 972 | "is-glob": "^4.0.3" 973 | }, 974 | "engines": { 975 | "node": ">=10.13.0" 976 | } 977 | }, 978 | "node_modules/has": { 979 | "version": "1.0.3", 980 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 981 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 982 | "dev": true, 983 | "dependencies": { 984 | "function-bind": "^1.1.1" 985 | }, 986 | "engines": { 987 | "node": ">= 0.4.0" 988 | } 989 | }, 990 | "node_modules/is-binary-path": { 991 | "version": "2.1.0", 992 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 993 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 994 | "dev": true, 995 | "dependencies": { 996 | "binary-extensions": "^2.0.0" 997 | }, 998 | "engines": { 999 | "node": ">=8" 1000 | } 1001 | }, 1002 | "node_modules/is-core-module": { 1003 | "version": "2.9.0", 1004 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 1005 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 1006 | "dev": true, 1007 | "dependencies": { 1008 | "has": "^1.0.3" 1009 | }, 1010 | "funding": { 1011 | "url": "https://github.com/sponsors/ljharb" 1012 | } 1013 | }, 1014 | "node_modules/is-extglob": { 1015 | "version": "2.1.1", 1016 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1017 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1018 | "dev": true, 1019 | "engines": { 1020 | "node": ">=0.10.0" 1021 | } 1022 | }, 1023 | "node_modules/is-glob": { 1024 | "version": "4.0.3", 1025 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1026 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1027 | "dev": true, 1028 | "dependencies": { 1029 | "is-extglob": "^2.1.1" 1030 | }, 1031 | "engines": { 1032 | "node": ">=0.10.0" 1033 | } 1034 | }, 1035 | "node_modules/lilconfig": { 1036 | "version": "2.0.6", 1037 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", 1038 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", 1039 | "dev": true, 1040 | "engines": { 1041 | "node": ">=10" 1042 | } 1043 | }, 1044 | "node_modules/magic-string": { 1045 | "version": "0.25.9", 1046 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 1047 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 1048 | "dependencies": { 1049 | "sourcemap-codec": "^1.4.8" 1050 | } 1051 | }, 1052 | "node_modules/merge2": { 1053 | "version": "1.4.1", 1054 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1055 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1056 | "dev": true, 1057 | "engines": { 1058 | "node": ">= 8" 1059 | } 1060 | }, 1061 | "node_modules/micromatch": { 1062 | "version": "4.0.5", 1063 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1064 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1065 | "dev": true, 1066 | "dependencies": { 1067 | "braces": "^3.0.2", 1068 | "picomatch": "^2.3.1" 1069 | }, 1070 | "engines": { 1071 | "node": ">=8.6" 1072 | } 1073 | }, 1074 | "node_modules/mime-db": { 1075 | "version": "1.52.0", 1076 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1077 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1078 | "engines": { 1079 | "node": ">= 0.6" 1080 | } 1081 | }, 1082 | "node_modules/mime-types": { 1083 | "version": "2.1.35", 1084 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1085 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1086 | "dependencies": { 1087 | "mime-db": "1.52.0" 1088 | }, 1089 | "engines": { 1090 | "node": ">= 0.6" 1091 | } 1092 | }, 1093 | "node_modules/minimist": { 1094 | "version": "1.2.6", 1095 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1096 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1097 | "dev": true 1098 | }, 1099 | "node_modules/nanoid": { 1100 | "version": "3.3.4", 1101 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 1102 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 1103 | "bin": { 1104 | "nanoid": "bin/nanoid.cjs" 1105 | }, 1106 | "engines": { 1107 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1108 | } 1109 | }, 1110 | "node_modules/node-releases": { 1111 | "version": "2.0.6", 1112 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", 1113 | "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", 1114 | "dev": true 1115 | }, 1116 | "node_modules/normalize-path": { 1117 | "version": "3.0.0", 1118 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1119 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1120 | "dev": true, 1121 | "engines": { 1122 | "node": ">=0.10.0" 1123 | } 1124 | }, 1125 | "node_modules/normalize-range": { 1126 | "version": "0.1.2", 1127 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1128 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 1129 | "dev": true, 1130 | "engines": { 1131 | "node": ">=0.10.0" 1132 | } 1133 | }, 1134 | "node_modules/object-hash": { 1135 | "version": "3.0.0", 1136 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1137 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1138 | "dev": true, 1139 | "engines": { 1140 | "node": ">= 6" 1141 | } 1142 | }, 1143 | "node_modules/path-parse": { 1144 | "version": "1.0.7", 1145 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1146 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1147 | "dev": true 1148 | }, 1149 | "node_modules/picocolors": { 1150 | "version": "1.0.0", 1151 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1152 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1153 | }, 1154 | "node_modules/picomatch": { 1155 | "version": "2.3.1", 1156 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1157 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1158 | "dev": true, 1159 | "engines": { 1160 | "node": ">=8.6" 1161 | }, 1162 | "funding": { 1163 | "url": "https://github.com/sponsors/jonschlinkert" 1164 | } 1165 | }, 1166 | "node_modules/pify": { 1167 | "version": "2.3.0", 1168 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1169 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1170 | "dev": true, 1171 | "engines": { 1172 | "node": ">=0.10.0" 1173 | } 1174 | }, 1175 | "node_modules/postcss": { 1176 | "version": "8.4.14", 1177 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 1178 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 1179 | "funding": [ 1180 | { 1181 | "type": "opencollective", 1182 | "url": "https://opencollective.com/postcss/" 1183 | }, 1184 | { 1185 | "type": "tidelift", 1186 | "url": "https://tidelift.com/funding/github/npm/postcss" 1187 | } 1188 | ], 1189 | "dependencies": { 1190 | "nanoid": "^3.3.4", 1191 | "picocolors": "^1.0.0", 1192 | "source-map-js": "^1.0.2" 1193 | }, 1194 | "engines": { 1195 | "node": "^10 || ^12 || >=14" 1196 | } 1197 | }, 1198 | "node_modules/postcss-import": { 1199 | "version": "14.1.0", 1200 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", 1201 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", 1202 | "dev": true, 1203 | "dependencies": { 1204 | "postcss-value-parser": "^4.0.0", 1205 | "read-cache": "^1.0.0", 1206 | "resolve": "^1.1.7" 1207 | }, 1208 | "engines": { 1209 | "node": ">=10.0.0" 1210 | }, 1211 | "peerDependencies": { 1212 | "postcss": "^8.0.0" 1213 | } 1214 | }, 1215 | "node_modules/postcss-js": { 1216 | "version": "4.0.0", 1217 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 1218 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 1219 | "dev": true, 1220 | "dependencies": { 1221 | "camelcase-css": "^2.0.1" 1222 | }, 1223 | "engines": { 1224 | "node": "^12 || ^14 || >= 16" 1225 | }, 1226 | "funding": { 1227 | "type": "opencollective", 1228 | "url": "https://opencollective.com/postcss/" 1229 | }, 1230 | "peerDependencies": { 1231 | "postcss": "^8.3.3" 1232 | } 1233 | }, 1234 | "node_modules/postcss-load-config": { 1235 | "version": "3.1.4", 1236 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 1237 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 1238 | "dev": true, 1239 | "dependencies": { 1240 | "lilconfig": "^2.0.5", 1241 | "yaml": "^1.10.2" 1242 | }, 1243 | "engines": { 1244 | "node": ">= 10" 1245 | }, 1246 | "funding": { 1247 | "type": "opencollective", 1248 | "url": "https://opencollective.com/postcss/" 1249 | }, 1250 | "peerDependencies": { 1251 | "postcss": ">=8.0.9", 1252 | "ts-node": ">=9.0.0" 1253 | }, 1254 | "peerDependenciesMeta": { 1255 | "postcss": { 1256 | "optional": true 1257 | }, 1258 | "ts-node": { 1259 | "optional": true 1260 | } 1261 | } 1262 | }, 1263 | "node_modules/postcss-nested": { 1264 | "version": "5.0.6", 1265 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", 1266 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", 1267 | "dev": true, 1268 | "dependencies": { 1269 | "postcss-selector-parser": "^6.0.6" 1270 | }, 1271 | "engines": { 1272 | "node": ">=12.0" 1273 | }, 1274 | "funding": { 1275 | "type": "opencollective", 1276 | "url": "https://opencollective.com/postcss/" 1277 | }, 1278 | "peerDependencies": { 1279 | "postcss": "^8.2.14" 1280 | } 1281 | }, 1282 | "node_modules/postcss-selector-parser": { 1283 | "version": "6.0.10", 1284 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 1285 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 1286 | "dev": true, 1287 | "dependencies": { 1288 | "cssesc": "^3.0.0", 1289 | "util-deprecate": "^1.0.2" 1290 | }, 1291 | "engines": { 1292 | "node": ">=4" 1293 | } 1294 | }, 1295 | "node_modules/postcss-value-parser": { 1296 | "version": "4.2.0", 1297 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1298 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1299 | "dev": true 1300 | }, 1301 | "node_modules/queue-microtask": { 1302 | "version": "1.2.3", 1303 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1304 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1305 | "dev": true, 1306 | "funding": [ 1307 | { 1308 | "type": "github", 1309 | "url": "https://github.com/sponsors/feross" 1310 | }, 1311 | { 1312 | "type": "patreon", 1313 | "url": "https://www.patreon.com/feross" 1314 | }, 1315 | { 1316 | "type": "consulting", 1317 | "url": "https://feross.org/support" 1318 | } 1319 | ] 1320 | }, 1321 | "node_modules/quick-lru": { 1322 | "version": "5.1.1", 1323 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 1324 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 1325 | "dev": true, 1326 | "engines": { 1327 | "node": ">=10" 1328 | }, 1329 | "funding": { 1330 | "url": "https://github.com/sponsors/sindresorhus" 1331 | } 1332 | }, 1333 | "node_modules/read-cache": { 1334 | "version": "1.0.0", 1335 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1336 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1337 | "dev": true, 1338 | "dependencies": { 1339 | "pify": "^2.3.0" 1340 | } 1341 | }, 1342 | "node_modules/readdirp": { 1343 | "version": "3.6.0", 1344 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1345 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1346 | "dev": true, 1347 | "dependencies": { 1348 | "picomatch": "^2.2.1" 1349 | }, 1350 | "engines": { 1351 | "node": ">=8.10.0" 1352 | } 1353 | }, 1354 | "node_modules/resolve": { 1355 | "version": "1.22.1", 1356 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 1357 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 1358 | "dev": true, 1359 | "dependencies": { 1360 | "is-core-module": "^2.9.0", 1361 | "path-parse": "^1.0.7", 1362 | "supports-preserve-symlinks-flag": "^1.0.0" 1363 | }, 1364 | "bin": { 1365 | "resolve": "bin/resolve" 1366 | }, 1367 | "funding": { 1368 | "url": "https://github.com/sponsors/ljharb" 1369 | } 1370 | }, 1371 | "node_modules/reusify": { 1372 | "version": "1.0.4", 1373 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1374 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1375 | "dev": true, 1376 | "engines": { 1377 | "iojs": ">=1.0.0", 1378 | "node": ">=0.10.0" 1379 | } 1380 | }, 1381 | "node_modules/rollup": { 1382 | "version": "2.77.2", 1383 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz", 1384 | "integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==", 1385 | "dev": true, 1386 | "bin": { 1387 | "rollup": "dist/bin/rollup" 1388 | }, 1389 | "engines": { 1390 | "node": ">=10.0.0" 1391 | }, 1392 | "optionalDependencies": { 1393 | "fsevents": "~2.3.2" 1394 | } 1395 | }, 1396 | "node_modules/run-parallel": { 1397 | "version": "1.2.0", 1398 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1399 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1400 | "dev": true, 1401 | "funding": [ 1402 | { 1403 | "type": "github", 1404 | "url": "https://github.com/sponsors/feross" 1405 | }, 1406 | { 1407 | "type": "patreon", 1408 | "url": "https://www.patreon.com/feross" 1409 | }, 1410 | { 1411 | "type": "consulting", 1412 | "url": "https://feross.org/support" 1413 | } 1414 | ], 1415 | "dependencies": { 1416 | "queue-microtask": "^1.2.2" 1417 | } 1418 | }, 1419 | "node_modules/source-map": { 1420 | "version": "0.6.1", 1421 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1422 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1423 | "engines": { 1424 | "node": ">=0.10.0" 1425 | } 1426 | }, 1427 | "node_modules/source-map-js": { 1428 | "version": "1.0.2", 1429 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1430 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1431 | "engines": { 1432 | "node": ">=0.10.0" 1433 | } 1434 | }, 1435 | "node_modules/sourcemap-codec": { 1436 | "version": "1.4.8", 1437 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1438 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 1439 | }, 1440 | "node_modules/supports-preserve-symlinks-flag": { 1441 | "version": "1.0.0", 1442 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1443 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1444 | "dev": true, 1445 | "engines": { 1446 | "node": ">= 0.4" 1447 | }, 1448 | "funding": { 1449 | "url": "https://github.com/sponsors/ljharb" 1450 | } 1451 | }, 1452 | "node_modules/tailwindcss": { 1453 | "version": "3.1.6", 1454 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.6.tgz", 1455 | "integrity": "sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==", 1456 | "dev": true, 1457 | "dependencies": { 1458 | "arg": "^5.0.2", 1459 | "chokidar": "^3.5.3", 1460 | "color-name": "^1.1.4", 1461 | "detective": "^5.2.1", 1462 | "didyoumean": "^1.2.2", 1463 | "dlv": "^1.1.3", 1464 | "fast-glob": "^3.2.11", 1465 | "glob-parent": "^6.0.2", 1466 | "is-glob": "^4.0.3", 1467 | "lilconfig": "^2.0.5", 1468 | "normalize-path": "^3.0.0", 1469 | "object-hash": "^3.0.0", 1470 | "picocolors": "^1.0.0", 1471 | "postcss": "^8.4.14", 1472 | "postcss-import": "^14.1.0", 1473 | "postcss-js": "^4.0.0", 1474 | "postcss-load-config": "^3.1.4", 1475 | "postcss-nested": "5.0.6", 1476 | "postcss-selector-parser": "^6.0.10", 1477 | "postcss-value-parser": "^4.2.0", 1478 | "quick-lru": "^5.1.1", 1479 | "resolve": "^1.22.1" 1480 | }, 1481 | "bin": { 1482 | "tailwind": "lib/cli.js", 1483 | "tailwindcss": "lib/cli.js" 1484 | }, 1485 | "engines": { 1486 | "node": ">=12.13.0" 1487 | }, 1488 | "peerDependencies": { 1489 | "postcss": "^8.0.9" 1490 | } 1491 | }, 1492 | "node_modules/uid": { 1493 | "version": "2.0.0", 1494 | "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.0.tgz", 1495 | "integrity": "sha512-hFw+zKBA1szYdbZWj6FjTxZzJnKNf+wTDcsxlJaXS64MCy9LQEmJUVieGYHCKek/WRyFIcs0cEXtGIQmfvHe2A==", 1496 | "dependencies": { 1497 | "@lukeed/csprng": "^1.0.0" 1498 | }, 1499 | "engines": { 1500 | "node": ">=8" 1501 | } 1502 | }, 1503 | "node_modules/vite": { 1504 | "version": "2.9.14", 1505 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.14.tgz", 1506 | "integrity": "sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==", 1507 | "dev": true, 1508 | "dependencies": { 1509 | "esbuild": "^0.14.27", 1510 | "postcss": "^8.4.13", 1511 | "resolve": "^1.22.0", 1512 | "rollup": "^2.59.0" 1513 | }, 1514 | "bin": { 1515 | "vite": "bin/vite.js" 1516 | }, 1517 | "engines": { 1518 | "node": ">=12.2.0" 1519 | }, 1520 | "optionalDependencies": { 1521 | "fsevents": "~2.3.2" 1522 | }, 1523 | "peerDependencies": { 1524 | "less": "*", 1525 | "sass": "*", 1526 | "stylus": "*" 1527 | }, 1528 | "peerDependenciesMeta": { 1529 | "less": { 1530 | "optional": true 1531 | }, 1532 | "sass": { 1533 | "optional": true 1534 | }, 1535 | "stylus": { 1536 | "optional": true 1537 | } 1538 | } 1539 | }, 1540 | "node_modules/vue": { 1541 | "version": "3.2.37", 1542 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz", 1543 | "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==", 1544 | "dependencies": { 1545 | "@vue/compiler-dom": "3.2.37", 1546 | "@vue/compiler-sfc": "3.2.37", 1547 | "@vue/runtime-dom": "3.2.37", 1548 | "@vue/server-renderer": "3.2.37", 1549 | "@vue/shared": "3.2.37" 1550 | } 1551 | }, 1552 | "node_modules/vue-router": { 1553 | "version": "4.1.3", 1554 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.3.tgz", 1555 | "integrity": "sha512-XvK81bcYglKiayT7/vYAg/f36ExPC4t90R/HIpzrZ5x+17BOWptXLCrEPufGgZeuq68ww4ekSIMBZY1qdUdfjA==", 1556 | "dependencies": { 1557 | "@vue/devtools-api": "^6.1.4" 1558 | }, 1559 | "funding": { 1560 | "url": "https://github.com/sponsors/posva" 1561 | }, 1562 | "peerDependencies": { 1563 | "vue": "^3.2.0" 1564 | } 1565 | }, 1566 | "node_modules/xtend": { 1567 | "version": "4.0.2", 1568 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 1569 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 1570 | "dev": true, 1571 | "engines": { 1572 | "node": ">=0.4" 1573 | } 1574 | }, 1575 | "node_modules/yaml": { 1576 | "version": "1.10.2", 1577 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 1578 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1579 | "dev": true, 1580 | "engines": { 1581 | "node": ">= 6" 1582 | } 1583 | } 1584 | }, 1585 | "dependencies": { 1586 | "@babel/parser": { 1587 | "version": "7.18.9", 1588 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", 1589 | "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==" 1590 | }, 1591 | "@lukeed/csprng": { 1592 | "version": "1.0.1", 1593 | "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.0.1.tgz", 1594 | "integrity": "sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==" 1595 | }, 1596 | "@nodelib/fs.scandir": { 1597 | "version": "2.1.5", 1598 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1599 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1600 | "dev": true, 1601 | "requires": { 1602 | "@nodelib/fs.stat": "2.0.5", 1603 | "run-parallel": "^1.1.9" 1604 | } 1605 | }, 1606 | "@nodelib/fs.stat": { 1607 | "version": "2.0.5", 1608 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1609 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1610 | "dev": true 1611 | }, 1612 | "@nodelib/fs.walk": { 1613 | "version": "1.2.8", 1614 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1615 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1616 | "dev": true, 1617 | "requires": { 1618 | "@nodelib/fs.scandir": "2.1.5", 1619 | "fastq": "^1.6.0" 1620 | } 1621 | }, 1622 | "@vitejs/plugin-vue": { 1623 | "version": "2.3.3", 1624 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz", 1625 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==", 1626 | "dev": true, 1627 | "requires": {} 1628 | }, 1629 | "@vue/compiler-core": { 1630 | "version": "3.2.37", 1631 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz", 1632 | "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==", 1633 | "requires": { 1634 | "@babel/parser": "^7.16.4", 1635 | "@vue/shared": "3.2.37", 1636 | "estree-walker": "^2.0.2", 1637 | "source-map": "^0.6.1" 1638 | } 1639 | }, 1640 | "@vue/compiler-dom": { 1641 | "version": "3.2.37", 1642 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz", 1643 | "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==", 1644 | "requires": { 1645 | "@vue/compiler-core": "3.2.37", 1646 | "@vue/shared": "3.2.37" 1647 | } 1648 | }, 1649 | "@vue/compiler-sfc": { 1650 | "version": "3.2.37", 1651 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz", 1652 | "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==", 1653 | "requires": { 1654 | "@babel/parser": "^7.16.4", 1655 | "@vue/compiler-core": "3.2.37", 1656 | "@vue/compiler-dom": "3.2.37", 1657 | "@vue/compiler-ssr": "3.2.37", 1658 | "@vue/reactivity-transform": "3.2.37", 1659 | "@vue/shared": "3.2.37", 1660 | "estree-walker": "^2.0.2", 1661 | "magic-string": "^0.25.7", 1662 | "postcss": "^8.1.10", 1663 | "source-map": "^0.6.1" 1664 | } 1665 | }, 1666 | "@vue/compiler-ssr": { 1667 | "version": "3.2.37", 1668 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz", 1669 | "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==", 1670 | "requires": { 1671 | "@vue/compiler-dom": "3.2.37", 1672 | "@vue/shared": "3.2.37" 1673 | } 1674 | }, 1675 | "@vue/devtools-api": { 1676 | "version": "6.2.1", 1677 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", 1678 | "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" 1679 | }, 1680 | "@vue/reactivity": { 1681 | "version": "3.2.37", 1682 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz", 1683 | "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==", 1684 | "requires": { 1685 | "@vue/shared": "3.2.37" 1686 | } 1687 | }, 1688 | "@vue/reactivity-transform": { 1689 | "version": "3.2.37", 1690 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz", 1691 | "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==", 1692 | "requires": { 1693 | "@babel/parser": "^7.16.4", 1694 | "@vue/compiler-core": "3.2.37", 1695 | "@vue/shared": "3.2.37", 1696 | "estree-walker": "^2.0.2", 1697 | "magic-string": "^0.25.7" 1698 | } 1699 | }, 1700 | "@vue/runtime-core": { 1701 | "version": "3.2.37", 1702 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz", 1703 | "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==", 1704 | "requires": { 1705 | "@vue/reactivity": "3.2.37", 1706 | "@vue/shared": "3.2.37" 1707 | } 1708 | }, 1709 | "@vue/runtime-dom": { 1710 | "version": "3.2.37", 1711 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz", 1712 | "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==", 1713 | "requires": { 1714 | "@vue/runtime-core": "3.2.37", 1715 | "@vue/shared": "3.2.37", 1716 | "csstype": "^2.6.8" 1717 | } 1718 | }, 1719 | "@vue/server-renderer": { 1720 | "version": "3.2.37", 1721 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz", 1722 | "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==", 1723 | "requires": { 1724 | "@vue/compiler-ssr": "3.2.37", 1725 | "@vue/shared": "3.2.37" 1726 | } 1727 | }, 1728 | "@vue/shared": { 1729 | "version": "3.2.37", 1730 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz", 1731 | "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==" 1732 | }, 1733 | "acorn": { 1734 | "version": "7.4.1", 1735 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 1736 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 1737 | "dev": true 1738 | }, 1739 | "acorn-node": { 1740 | "version": "1.8.2", 1741 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 1742 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 1743 | "dev": true, 1744 | "requires": { 1745 | "acorn": "^7.0.0", 1746 | "acorn-walk": "^7.0.0", 1747 | "xtend": "^4.0.2" 1748 | } 1749 | }, 1750 | "acorn-walk": { 1751 | "version": "7.2.0", 1752 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 1753 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 1754 | "dev": true 1755 | }, 1756 | "anymatch": { 1757 | "version": "3.1.2", 1758 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 1759 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 1760 | "dev": true, 1761 | "requires": { 1762 | "normalize-path": "^3.0.0", 1763 | "picomatch": "^2.0.4" 1764 | } 1765 | }, 1766 | "arg": { 1767 | "version": "5.0.2", 1768 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 1769 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 1770 | "dev": true 1771 | }, 1772 | "asynckit": { 1773 | "version": "0.4.0", 1774 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 1775 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 1776 | }, 1777 | "autoprefixer": { 1778 | "version": "10.4.7", 1779 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", 1780 | "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", 1781 | "dev": true, 1782 | "requires": { 1783 | "browserslist": "^4.20.3", 1784 | "caniuse-lite": "^1.0.30001335", 1785 | "fraction.js": "^4.2.0", 1786 | "normalize-range": "^0.1.2", 1787 | "picocolors": "^1.0.0", 1788 | "postcss-value-parser": "^4.2.0" 1789 | } 1790 | }, 1791 | "axios": { 1792 | "version": "0.27.2", 1793 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", 1794 | "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", 1795 | "requires": { 1796 | "follow-redirects": "^1.14.9", 1797 | "form-data": "^4.0.0" 1798 | } 1799 | }, 1800 | "binary-extensions": { 1801 | "version": "2.2.0", 1802 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1803 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 1804 | "dev": true 1805 | }, 1806 | "braces": { 1807 | "version": "3.0.2", 1808 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1809 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1810 | "dev": true, 1811 | "requires": { 1812 | "fill-range": "^7.0.1" 1813 | } 1814 | }, 1815 | "browserslist": { 1816 | "version": "4.21.3", 1817 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", 1818 | "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", 1819 | "dev": true, 1820 | "requires": { 1821 | "caniuse-lite": "^1.0.30001370", 1822 | "electron-to-chromium": "^1.4.202", 1823 | "node-releases": "^2.0.6", 1824 | "update-browserslist-db": "^1.0.5" 1825 | } 1826 | }, 1827 | "camelcase-css": { 1828 | "version": "2.0.1", 1829 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1830 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 1831 | "dev": true 1832 | }, 1833 | "caniuse-lite": { 1834 | "version": "1.0.30001373", 1835 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", 1836 | "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", 1837 | "dev": true 1838 | }, 1839 | "chokidar": { 1840 | "version": "3.5.3", 1841 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1842 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1843 | "dev": true, 1844 | "requires": { 1845 | "anymatch": "~3.1.2", 1846 | "braces": "~3.0.2", 1847 | "fsevents": "~2.3.2", 1848 | "glob-parent": "~5.1.2", 1849 | "is-binary-path": "~2.1.0", 1850 | "is-glob": "~4.0.1", 1851 | "normalize-path": "~3.0.0", 1852 | "readdirp": "~3.6.0" 1853 | }, 1854 | "dependencies": { 1855 | "glob-parent": { 1856 | "version": "5.1.2", 1857 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1858 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1859 | "dev": true, 1860 | "requires": { 1861 | "is-glob": "^4.0.1" 1862 | } 1863 | } 1864 | } 1865 | }, 1866 | "color-name": { 1867 | "version": "1.1.4", 1868 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1869 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1870 | "dev": true 1871 | }, 1872 | "combined-stream": { 1873 | "version": "1.0.8", 1874 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 1875 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 1876 | "requires": { 1877 | "delayed-stream": "~1.0.0" 1878 | } 1879 | }, 1880 | "cssesc": { 1881 | "version": "3.0.0", 1882 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1883 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1884 | "dev": true 1885 | }, 1886 | "csstype": { 1887 | "version": "2.6.20", 1888 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 1889 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 1890 | }, 1891 | "defined": { 1892 | "version": "1.0.0", 1893 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 1894 | "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", 1895 | "dev": true 1896 | }, 1897 | "delayed-stream": { 1898 | "version": "1.0.0", 1899 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1900 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 1901 | }, 1902 | "detective": { 1903 | "version": "5.2.1", 1904 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", 1905 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", 1906 | "dev": true, 1907 | "requires": { 1908 | "acorn-node": "^1.8.2", 1909 | "defined": "^1.0.0", 1910 | "minimist": "^1.2.6" 1911 | } 1912 | }, 1913 | "didyoumean": { 1914 | "version": "1.2.2", 1915 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1916 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 1917 | "dev": true 1918 | }, 1919 | "dlv": { 1920 | "version": "1.1.3", 1921 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 1922 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 1923 | "dev": true 1924 | }, 1925 | "electron-to-chromium": { 1926 | "version": "1.4.204", 1927 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.204.tgz", 1928 | "integrity": "sha512-5Ojjtw9/c9HCXtMVE6SXVSHSNjmbFOXpKprl6mY/5moLSxLeWatuYA7KTD+RzJMxLRH6yNNQrqGz9p6IoNBMgw==", 1929 | "dev": true 1930 | }, 1931 | "esbuild": { 1932 | "version": "0.14.51", 1933 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz", 1934 | "integrity": "sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==", 1935 | "dev": true, 1936 | "requires": { 1937 | "esbuild-android-64": "0.14.51", 1938 | "esbuild-android-arm64": "0.14.51", 1939 | "esbuild-darwin-64": "0.14.51", 1940 | "esbuild-darwin-arm64": "0.14.51", 1941 | "esbuild-freebsd-64": "0.14.51", 1942 | "esbuild-freebsd-arm64": "0.14.51", 1943 | "esbuild-linux-32": "0.14.51", 1944 | "esbuild-linux-64": "0.14.51", 1945 | "esbuild-linux-arm": "0.14.51", 1946 | "esbuild-linux-arm64": "0.14.51", 1947 | "esbuild-linux-mips64le": "0.14.51", 1948 | "esbuild-linux-ppc64le": "0.14.51", 1949 | "esbuild-linux-riscv64": "0.14.51", 1950 | "esbuild-linux-s390x": "0.14.51", 1951 | "esbuild-netbsd-64": "0.14.51", 1952 | "esbuild-openbsd-64": "0.14.51", 1953 | "esbuild-sunos-64": "0.14.51", 1954 | "esbuild-windows-32": "0.14.51", 1955 | "esbuild-windows-64": "0.14.51", 1956 | "esbuild-windows-arm64": "0.14.51" 1957 | } 1958 | }, 1959 | "esbuild-android-64": { 1960 | "version": "0.14.51", 1961 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz", 1962 | "integrity": "sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==", 1963 | "dev": true, 1964 | "optional": true 1965 | }, 1966 | "esbuild-android-arm64": { 1967 | "version": "0.14.51", 1968 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz", 1969 | "integrity": "sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==", 1970 | "dev": true, 1971 | "optional": true 1972 | }, 1973 | "esbuild-darwin-64": { 1974 | "version": "0.14.51", 1975 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz", 1976 | "integrity": "sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==", 1977 | "dev": true, 1978 | "optional": true 1979 | }, 1980 | "esbuild-darwin-arm64": { 1981 | "version": "0.14.51", 1982 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz", 1983 | "integrity": "sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==", 1984 | "dev": true, 1985 | "optional": true 1986 | }, 1987 | "esbuild-freebsd-64": { 1988 | "version": "0.14.51", 1989 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz", 1990 | "integrity": "sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==", 1991 | "dev": true, 1992 | "optional": true 1993 | }, 1994 | "esbuild-freebsd-arm64": { 1995 | "version": "0.14.51", 1996 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz", 1997 | "integrity": "sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==", 1998 | "dev": true, 1999 | "optional": true 2000 | }, 2001 | "esbuild-linux-32": { 2002 | "version": "0.14.51", 2003 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz", 2004 | "integrity": "sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==", 2005 | "dev": true, 2006 | "optional": true 2007 | }, 2008 | "esbuild-linux-64": { 2009 | "version": "0.14.51", 2010 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz", 2011 | "integrity": "sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==", 2012 | "dev": true, 2013 | "optional": true 2014 | }, 2015 | "esbuild-linux-arm": { 2016 | "version": "0.14.51", 2017 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz", 2018 | "integrity": "sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==", 2019 | "dev": true, 2020 | "optional": true 2021 | }, 2022 | "esbuild-linux-arm64": { 2023 | "version": "0.14.51", 2024 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz", 2025 | "integrity": "sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==", 2026 | "dev": true, 2027 | "optional": true 2028 | }, 2029 | "esbuild-linux-mips64le": { 2030 | "version": "0.14.51", 2031 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz", 2032 | "integrity": "sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==", 2033 | "dev": true, 2034 | "optional": true 2035 | }, 2036 | "esbuild-linux-ppc64le": { 2037 | "version": "0.14.51", 2038 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz", 2039 | "integrity": "sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==", 2040 | "dev": true, 2041 | "optional": true 2042 | }, 2043 | "esbuild-linux-riscv64": { 2044 | "version": "0.14.51", 2045 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz", 2046 | "integrity": "sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==", 2047 | "dev": true, 2048 | "optional": true 2049 | }, 2050 | "esbuild-linux-s390x": { 2051 | "version": "0.14.51", 2052 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz", 2053 | "integrity": "sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==", 2054 | "dev": true, 2055 | "optional": true 2056 | }, 2057 | "esbuild-netbsd-64": { 2058 | "version": "0.14.51", 2059 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz", 2060 | "integrity": "sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==", 2061 | "dev": true, 2062 | "optional": true 2063 | }, 2064 | "esbuild-openbsd-64": { 2065 | "version": "0.14.51", 2066 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz", 2067 | "integrity": "sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==", 2068 | "dev": true, 2069 | "optional": true 2070 | }, 2071 | "esbuild-sunos-64": { 2072 | "version": "0.14.51", 2073 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz", 2074 | "integrity": "sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==", 2075 | "dev": true, 2076 | "optional": true 2077 | }, 2078 | "esbuild-windows-32": { 2079 | "version": "0.14.51", 2080 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz", 2081 | "integrity": "sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==", 2082 | "dev": true, 2083 | "optional": true 2084 | }, 2085 | "esbuild-windows-64": { 2086 | "version": "0.14.51", 2087 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz", 2088 | "integrity": "sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==", 2089 | "dev": true, 2090 | "optional": true 2091 | }, 2092 | "esbuild-windows-arm64": { 2093 | "version": "0.14.51", 2094 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz", 2095 | "integrity": "sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==", 2096 | "dev": true, 2097 | "optional": true 2098 | }, 2099 | "estree-walker": { 2100 | "version": "2.0.2", 2101 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 2102 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 2103 | }, 2104 | "fast-glob": { 2105 | "version": "3.2.11", 2106 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 2107 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 2108 | "dev": true, 2109 | "requires": { 2110 | "@nodelib/fs.stat": "^2.0.2", 2111 | "@nodelib/fs.walk": "^1.2.3", 2112 | "glob-parent": "^5.1.2", 2113 | "merge2": "^1.3.0", 2114 | "micromatch": "^4.0.4" 2115 | }, 2116 | "dependencies": { 2117 | "glob-parent": { 2118 | "version": "5.1.2", 2119 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2120 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2121 | "dev": true, 2122 | "requires": { 2123 | "is-glob": "^4.0.1" 2124 | } 2125 | } 2126 | } 2127 | }, 2128 | "fastq": { 2129 | "version": "1.13.0", 2130 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 2131 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 2132 | "dev": true, 2133 | "requires": { 2134 | "reusify": "^1.0.4" 2135 | } 2136 | }, 2137 | "fill-range": { 2138 | "version": "7.0.1", 2139 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2140 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2141 | "dev": true, 2142 | "requires": { 2143 | "to-regex-range": "^5.0.1" 2144 | } 2145 | }, 2146 | "follow-redirects": { 2147 | "version": "1.15.1", 2148 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", 2149 | "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" 2150 | }, 2151 | "form-data": { 2152 | "version": "4.0.0", 2153 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 2154 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 2155 | "requires": { 2156 | "asynckit": "^0.4.0", 2157 | "combined-stream": "^1.0.8", 2158 | "mime-types": "^2.1.12" 2159 | } 2160 | }, 2161 | "fraction.js": { 2162 | "version": "4.2.0", 2163 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 2164 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 2165 | "dev": true 2166 | }, 2167 | "fsevents": { 2168 | "version": "2.3.2", 2169 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2170 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2171 | "dev": true, 2172 | "optional": true 2173 | }, 2174 | "function-bind": { 2175 | "version": "1.1.1", 2176 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2177 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2178 | "dev": true 2179 | }, 2180 | "glob-parent": { 2181 | "version": "6.0.2", 2182 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2183 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2184 | "dev": true, 2185 | "requires": { 2186 | "is-glob": "^4.0.3" 2187 | } 2188 | }, 2189 | "has": { 2190 | "version": "1.0.3", 2191 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2192 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2193 | "dev": true, 2194 | "requires": { 2195 | "function-bind": "^1.1.1" 2196 | } 2197 | }, 2198 | "is-binary-path": { 2199 | "version": "2.1.0", 2200 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2201 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2202 | "dev": true, 2203 | "requires": { 2204 | "binary-extensions": "^2.0.0" 2205 | } 2206 | }, 2207 | "is-core-module": { 2208 | "version": "2.9.0", 2209 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 2210 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 2211 | "dev": true, 2212 | "requires": { 2213 | "has": "^1.0.3" 2214 | } 2215 | }, 2216 | "is-extglob": { 2217 | "version": "2.1.1", 2218 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2219 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2220 | "dev": true 2221 | }, 2222 | "is-glob": { 2223 | "version": "4.0.3", 2224 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2225 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2226 | "dev": true, 2227 | "requires": { 2228 | "is-extglob": "^2.1.1" 2229 | } 2230 | }, 2231 | "lilconfig": { 2232 | "version": "2.0.6", 2233 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", 2234 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", 2235 | "dev": true 2236 | }, 2237 | "magic-string": { 2238 | "version": "0.25.9", 2239 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 2240 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 2241 | "requires": { 2242 | "sourcemap-codec": "^1.4.8" 2243 | } 2244 | }, 2245 | "merge2": { 2246 | "version": "1.4.1", 2247 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2248 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2249 | "dev": true 2250 | }, 2251 | "micromatch": { 2252 | "version": "4.0.5", 2253 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 2254 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 2255 | "dev": true, 2256 | "requires": { 2257 | "braces": "^3.0.2", 2258 | "picomatch": "^2.3.1" 2259 | } 2260 | }, 2261 | "mime-db": { 2262 | "version": "1.52.0", 2263 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2264 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 2265 | }, 2266 | "mime-types": { 2267 | "version": "2.1.35", 2268 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2269 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2270 | "requires": { 2271 | "mime-db": "1.52.0" 2272 | } 2273 | }, 2274 | "minimist": { 2275 | "version": "1.2.6", 2276 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 2277 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 2278 | "dev": true 2279 | }, 2280 | "nanoid": { 2281 | "version": "3.3.4", 2282 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 2283 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" 2284 | }, 2285 | "node-releases": { 2286 | "version": "2.0.6", 2287 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", 2288 | "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", 2289 | "dev": true 2290 | }, 2291 | "normalize-path": { 2292 | "version": "3.0.0", 2293 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2294 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2295 | "dev": true 2296 | }, 2297 | "normalize-range": { 2298 | "version": "0.1.2", 2299 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2300 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 2301 | "dev": true 2302 | }, 2303 | "object-hash": { 2304 | "version": "3.0.0", 2305 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 2306 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 2307 | "dev": true 2308 | }, 2309 | "path-parse": { 2310 | "version": "1.0.7", 2311 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2312 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2313 | "dev": true 2314 | }, 2315 | "picocolors": { 2316 | "version": "1.0.0", 2317 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2318 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 2319 | }, 2320 | "picomatch": { 2321 | "version": "2.3.1", 2322 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2323 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2324 | "dev": true 2325 | }, 2326 | "pify": { 2327 | "version": "2.3.0", 2328 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2329 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 2330 | "dev": true 2331 | }, 2332 | "postcss": { 2333 | "version": "8.4.14", 2334 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 2335 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 2336 | "requires": { 2337 | "nanoid": "^3.3.4", 2338 | "picocolors": "^1.0.0", 2339 | "source-map-js": "^1.0.2" 2340 | } 2341 | }, 2342 | "postcss-import": { 2343 | "version": "14.1.0", 2344 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", 2345 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", 2346 | "dev": true, 2347 | "requires": { 2348 | "postcss-value-parser": "^4.0.0", 2349 | "read-cache": "^1.0.0", 2350 | "resolve": "^1.1.7" 2351 | } 2352 | }, 2353 | "postcss-js": { 2354 | "version": "4.0.0", 2355 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 2356 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 2357 | "dev": true, 2358 | "requires": { 2359 | "camelcase-css": "^2.0.1" 2360 | } 2361 | }, 2362 | "postcss-load-config": { 2363 | "version": "3.1.4", 2364 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 2365 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 2366 | "dev": true, 2367 | "requires": { 2368 | "lilconfig": "^2.0.5", 2369 | "yaml": "^1.10.2" 2370 | } 2371 | }, 2372 | "postcss-nested": { 2373 | "version": "5.0.6", 2374 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", 2375 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", 2376 | "dev": true, 2377 | "requires": { 2378 | "postcss-selector-parser": "^6.0.6" 2379 | } 2380 | }, 2381 | "postcss-selector-parser": { 2382 | "version": "6.0.10", 2383 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 2384 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 2385 | "dev": true, 2386 | "requires": { 2387 | "cssesc": "^3.0.0", 2388 | "util-deprecate": "^1.0.2" 2389 | } 2390 | }, 2391 | "postcss-value-parser": { 2392 | "version": "4.2.0", 2393 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2394 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 2395 | "dev": true 2396 | }, 2397 | "queue-microtask": { 2398 | "version": "1.2.3", 2399 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2400 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2401 | "dev": true 2402 | }, 2403 | "quick-lru": { 2404 | "version": "5.1.1", 2405 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 2406 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 2407 | "dev": true 2408 | }, 2409 | "read-cache": { 2410 | "version": "1.0.0", 2411 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 2412 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 2413 | "dev": true, 2414 | "requires": { 2415 | "pify": "^2.3.0" 2416 | } 2417 | }, 2418 | "readdirp": { 2419 | "version": "3.6.0", 2420 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 2421 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 2422 | "dev": true, 2423 | "requires": { 2424 | "picomatch": "^2.2.1" 2425 | } 2426 | }, 2427 | "resolve": { 2428 | "version": "1.22.1", 2429 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 2430 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 2431 | "dev": true, 2432 | "requires": { 2433 | "is-core-module": "^2.9.0", 2434 | "path-parse": "^1.0.7", 2435 | "supports-preserve-symlinks-flag": "^1.0.0" 2436 | } 2437 | }, 2438 | "reusify": { 2439 | "version": "1.0.4", 2440 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2441 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2442 | "dev": true 2443 | }, 2444 | "rollup": { 2445 | "version": "2.77.2", 2446 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz", 2447 | "integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==", 2448 | "dev": true, 2449 | "requires": { 2450 | "fsevents": "~2.3.2" 2451 | } 2452 | }, 2453 | "run-parallel": { 2454 | "version": "1.2.0", 2455 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2456 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2457 | "dev": true, 2458 | "requires": { 2459 | "queue-microtask": "^1.2.2" 2460 | } 2461 | }, 2462 | "source-map": { 2463 | "version": "0.6.1", 2464 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2465 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 2466 | }, 2467 | "source-map-js": { 2468 | "version": "1.0.2", 2469 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2470 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 2471 | }, 2472 | "sourcemap-codec": { 2473 | "version": "1.4.8", 2474 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 2475 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 2476 | }, 2477 | "supports-preserve-symlinks-flag": { 2478 | "version": "1.0.0", 2479 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2480 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2481 | "dev": true 2482 | }, 2483 | "tailwindcss": { 2484 | "version": "3.1.6", 2485 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.6.tgz", 2486 | "integrity": "sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==", 2487 | "dev": true, 2488 | "requires": { 2489 | "arg": "^5.0.2", 2490 | "chokidar": "^3.5.3", 2491 | "color-name": "^1.1.4", 2492 | "detective": "^5.2.1", 2493 | "didyoumean": "^1.2.2", 2494 | "dlv": "^1.1.3", 2495 | "fast-glob": "^3.2.11", 2496 | "glob-parent": "^6.0.2", 2497 | "is-glob": "^4.0.3", 2498 | "lilconfig": "^2.0.5", 2499 | "normalize-path": "^3.0.0", 2500 | "object-hash": "^3.0.0", 2501 | "picocolors": "^1.0.0", 2502 | "postcss": "^8.4.14", 2503 | "postcss-import": "^14.1.0", 2504 | "postcss-js": "^4.0.0", 2505 | "postcss-load-config": "^3.1.4", 2506 | "postcss-nested": "5.0.6", 2507 | "postcss-selector-parser": "^6.0.10", 2508 | "postcss-value-parser": "^4.2.0", 2509 | "quick-lru": "^5.1.1", 2510 | "resolve": "^1.22.1" 2511 | } 2512 | }, 2513 | "uid": { 2514 | "version": "2.0.0", 2515 | "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.0.tgz", 2516 | "integrity": "sha512-hFw+zKBA1szYdbZWj6FjTxZzJnKNf+wTDcsxlJaXS64MCy9LQEmJUVieGYHCKek/WRyFIcs0cEXtGIQmfvHe2A==", 2517 | "requires": { 2518 | "@lukeed/csprng": "^1.0.0" 2519 | } 2520 | }, 2521 | "vite": { 2522 | "version": "2.9.14", 2523 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.14.tgz", 2524 | "integrity": "sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==", 2525 | "dev": true, 2526 | "requires": { 2527 | "esbuild": "^0.14.27", 2528 | "fsevents": "~2.3.2", 2529 | "postcss": "^8.4.13", 2530 | "resolve": "^1.22.0", 2531 | "rollup": "^2.59.0" 2532 | } 2533 | }, 2534 | "vue": { 2535 | "version": "3.2.37", 2536 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz", 2537 | "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==", 2538 | "requires": { 2539 | "@vue/compiler-dom": "3.2.37", 2540 | "@vue/compiler-sfc": "3.2.37", 2541 | "@vue/runtime-dom": "3.2.37", 2542 | "@vue/server-renderer": "3.2.37", 2543 | "@vue/shared": "3.2.37" 2544 | } 2545 | }, 2546 | "vue-router": { 2547 | "version": "4.1.3", 2548 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.3.tgz", 2549 | "integrity": "sha512-XvK81bcYglKiayT7/vYAg/f36ExPC4t90R/HIpzrZ5x+17BOWptXLCrEPufGgZeuq68ww4ekSIMBZY1qdUdfjA==", 2550 | "requires": { 2551 | "@vue/devtools-api": "^6.1.4" 2552 | } 2553 | }, 2554 | "xtend": { 2555 | "version": "4.0.2", 2556 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 2557 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 2558 | "dev": true 2559 | }, 2560 | "yaml": { 2561 | "version": "1.10.2", 2562 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2563 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 2564 | "dev": true 2565 | } 2566 | } 2567 | } 2568 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-project", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build", 7 | "preview": "vite preview --port 4173" 8 | }, 9 | "dependencies": { 10 | "axios": "^0.27.2", 11 | "uid": "^2.0.0", 12 | "vue": "^3.2.37", 13 | "vue-router": "^4.0.16" 14 | }, 15 | "devDependencies": { 16 | "@vitejs/plugin-vue": "^2.3.3", 17 | "autoprefixer": "^10.4.7", 18 | "postcss": "^8.4.14", 19 | "tailwindcss": "^3.1.6", 20 | "vite": "^2.9.12" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johnkomarnicki/net_ninja_vue_3_weather_app/b8202663ea52956e6221e8b20e742e45f7d70f89/public/favicon.ico -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 18 | 19 | 28 | -------------------------------------------------------------------------------- /src/assets/tailwind.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /src/components/AnimatedPlaceholder.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/components/AsyncCityView.vue: -------------------------------------------------------------------------------- 1 | 136 | 137 | 183 | -------------------------------------------------------------------------------- /src/components/BaseModal.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 36 | 37 | 65 | -------------------------------------------------------------------------------- /src/components/CityCard.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 36 | -------------------------------------------------------------------------------- /src/components/CityCardSkeleton.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | -------------------------------------------------------------------------------- /src/components/CityList.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 56 | -------------------------------------------------------------------------------- /src/components/CityViewSkeleton.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 33 | -------------------------------------------------------------------------------- /src/components/SiteNavigation.vue: -------------------------------------------------------------------------------- 1 | 63 | 64 | 107 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import App from "./App.vue"; 3 | import router from "./router"; 4 | import "./assets/tailwind.css"; 5 | 6 | const app = createApp(App); 7 | 8 | app.use(router); 9 | 10 | app.mount("#app"); 11 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import { createRouter, createWebHistory } from "vue-router"; 2 | import HomeView from "../views/HomeView.vue"; 3 | import CityView from "../views/CityView.vue"; 4 | 5 | const router = createRouter({ 6 | history: createWebHistory(import.meta.env.BASE_URL), 7 | routes: [ 8 | { 9 | path: "/", 10 | name: "home", 11 | component: HomeView, 12 | meta: { 13 | title: "Home", 14 | }, 15 | }, 16 | { 17 | path: "/weather/:state/:city", 18 | name: "cityView", 19 | component: CityView, 20 | meta: { 21 | title: "Weather", 22 | }, 23 | }, 24 | ], 25 | }); 26 | 27 | router.beforeEach((to, from, next) => { 28 | document.title = `${ 29 | to.params.state 30 | ? `${to.params.city}, ${to.params.state}` 31 | : to.meta.title 32 | } | The Local Weather`; 33 | next(); 34 | }); 35 | 36 | export default router; 37 | -------------------------------------------------------------------------------- /src/views/CityView.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 18 | -------------------------------------------------------------------------------- /src/views/HomeView.vue: -------------------------------------------------------------------------------- 1 | 46 | 47 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"], 3 | theme: { 4 | extend: { 5 | colors: { 6 | "weather-primary": "#00668A", 7 | "weather-secondary": "#004E71", 8 | }, 9 | }, 10 | fontFamily: { 11 | Roboto: ["Roboto, sans-serif"], 12 | }, 13 | container: { 14 | padding: "2rem", 15 | center: true, 16 | }, 17 | screens: { 18 | sm: "640px", 19 | md: "768px", 20 | }, 21 | }, 22 | plugins: [], 23 | }; 24 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { fileURLToPath, URL } from "url"; 2 | 3 | import { defineConfig } from "vite"; 4 | import vue from "@vitejs/plugin-vue"; 5 | 6 | // https://vitejs.dev/config/ 7 | export default defineConfig({ 8 | plugins: [vue()], 9 | resolve: { 10 | alias: { 11 | "@": fileURLToPath(new URL("./src", import.meta.url)), 12 | }, 13 | }, 14 | }); 15 | --------------------------------------------------------------------------------