├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── public └── images │ ├── bg-dots.svg │ ├── favicon-32x32.png │ ├── icon-arrow.svg │ ├── icon-close.svg │ ├── icon-error.svg │ ├── icon-facebook.svg │ ├── icon-hamburger.svg │ ├── icon-twitter.svg │ ├── illustration-features-tab-1.svg │ ├── illustration-features-tab-2.svg │ ├── illustration-features-tab-3.svg │ ├── illustration-hero.svg │ ├── logo-bookmark-white.svg │ ├── logo-bookmark.svg │ ├── logo-chrome.svg │ ├── logo-firefox.svg │ └── logo-opera.svg ├── screenshot.png ├── src ├── App.vue ├── assets │ └── style.css ├── components │ ├── Button.vue │ └── LinkButton.vue ├── data │ ├── downloads.js │ ├── faqs.js │ └── features.js ├── layouts │ ├── Footer.vue │ ├── Header.vue │ └── Main.vue ├── main.js └── sections │ ├── DownloadSection.vue │ ├── FaqSection.vue │ ├── FeatureSection.vue │ ├── HeroSection.vue │ └── SubscribeSection.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 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Landing page made with Tailwind css and Vue js. 2 | 3 | > ### Live URL: https://fahimanzamdip.github.io/vue-landing-page/ 4 | 5 | ## Local Installation 6 | - `` git clone https://github.com/FahimAnzamDip/vue-landing-page.git `` 7 | - `` cd /path/to/project `` 8 | - `` npm install `` 9 | - `` npm run dev `` 10 | 11 | ## Screenshot 12 | ![vue-landing-page](screenshot.png) 13 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Bookmark - A Necessary Extenstion 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-project", 3 | "version": "0.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "vite-project", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "sweetalert2": "^11.7.18", 12 | "vue": "^3.3.4", 13 | "vue3-smooth-scroll": "^0.8.1" 14 | }, 15 | "devDependencies": { 16 | "@tailwindcss/forms": "^0.5.4", 17 | "@vitejs/plugin-vue": "^4.2.3", 18 | "autoprefixer": "^10.4.14", 19 | "gh-pages": "^5.0.0", 20 | "postcss": "^8.4.26", 21 | "tailwindcss": "^3.3.3", 22 | "vite": "^4.4.0" 23 | } 24 | }, 25 | "node_modules/@alloc/quick-lru": { 26 | "version": "5.2.0", 27 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 28 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 29 | "dev": true, 30 | "engines": { 31 | "node": ">=10" 32 | }, 33 | "funding": { 34 | "url": "https://github.com/sponsors/sindresorhus" 35 | } 36 | }, 37 | "node_modules/@babel/parser": { 38 | "version": "7.22.7", 39 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", 40 | "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", 41 | "bin": { 42 | "parser": "bin/babel-parser.js" 43 | }, 44 | "engines": { 45 | "node": ">=6.0.0" 46 | } 47 | }, 48 | "node_modules/@esbuild/android-arm": { 49 | "version": "0.18.13", 50 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.13.tgz", 51 | "integrity": "sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==", 52 | "cpu": [ 53 | "arm" 54 | ], 55 | "dev": true, 56 | "optional": true, 57 | "os": [ 58 | "android" 59 | ], 60 | "engines": { 61 | "node": ">=12" 62 | } 63 | }, 64 | "node_modules/@esbuild/android-arm64": { 65 | "version": "0.18.13", 66 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.13.tgz", 67 | "integrity": "sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==", 68 | "cpu": [ 69 | "arm64" 70 | ], 71 | "dev": true, 72 | "optional": true, 73 | "os": [ 74 | "android" 75 | ], 76 | "engines": { 77 | "node": ">=12" 78 | } 79 | }, 80 | "node_modules/@esbuild/android-x64": { 81 | "version": "0.18.13", 82 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.13.tgz", 83 | "integrity": "sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==", 84 | "cpu": [ 85 | "x64" 86 | ], 87 | "dev": true, 88 | "optional": true, 89 | "os": [ 90 | "android" 91 | ], 92 | "engines": { 93 | "node": ">=12" 94 | } 95 | }, 96 | "node_modules/@esbuild/darwin-arm64": { 97 | "version": "0.18.13", 98 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.13.tgz", 99 | "integrity": "sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==", 100 | "cpu": [ 101 | "arm64" 102 | ], 103 | "dev": true, 104 | "optional": true, 105 | "os": [ 106 | "darwin" 107 | ], 108 | "engines": { 109 | "node": ">=12" 110 | } 111 | }, 112 | "node_modules/@esbuild/darwin-x64": { 113 | "version": "0.18.13", 114 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.13.tgz", 115 | "integrity": "sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==", 116 | "cpu": [ 117 | "x64" 118 | ], 119 | "dev": true, 120 | "optional": true, 121 | "os": [ 122 | "darwin" 123 | ], 124 | "engines": { 125 | "node": ">=12" 126 | } 127 | }, 128 | "node_modules/@esbuild/freebsd-arm64": { 129 | "version": "0.18.13", 130 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.13.tgz", 131 | "integrity": "sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==", 132 | "cpu": [ 133 | "arm64" 134 | ], 135 | "dev": true, 136 | "optional": true, 137 | "os": [ 138 | "freebsd" 139 | ], 140 | "engines": { 141 | "node": ">=12" 142 | } 143 | }, 144 | "node_modules/@esbuild/freebsd-x64": { 145 | "version": "0.18.13", 146 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.13.tgz", 147 | "integrity": "sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==", 148 | "cpu": [ 149 | "x64" 150 | ], 151 | "dev": true, 152 | "optional": true, 153 | "os": [ 154 | "freebsd" 155 | ], 156 | "engines": { 157 | "node": ">=12" 158 | } 159 | }, 160 | "node_modules/@esbuild/linux-arm": { 161 | "version": "0.18.13", 162 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.13.tgz", 163 | "integrity": "sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==", 164 | "cpu": [ 165 | "arm" 166 | ], 167 | "dev": true, 168 | "optional": true, 169 | "os": [ 170 | "linux" 171 | ], 172 | "engines": { 173 | "node": ">=12" 174 | } 175 | }, 176 | "node_modules/@esbuild/linux-arm64": { 177 | "version": "0.18.13", 178 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.13.tgz", 179 | "integrity": "sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==", 180 | "cpu": [ 181 | "arm64" 182 | ], 183 | "dev": true, 184 | "optional": true, 185 | "os": [ 186 | "linux" 187 | ], 188 | "engines": { 189 | "node": ">=12" 190 | } 191 | }, 192 | "node_modules/@esbuild/linux-ia32": { 193 | "version": "0.18.13", 194 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.13.tgz", 195 | "integrity": "sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==", 196 | "cpu": [ 197 | "ia32" 198 | ], 199 | "dev": true, 200 | "optional": true, 201 | "os": [ 202 | "linux" 203 | ], 204 | "engines": { 205 | "node": ">=12" 206 | } 207 | }, 208 | "node_modules/@esbuild/linux-loong64": { 209 | "version": "0.18.13", 210 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.13.tgz", 211 | "integrity": "sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==", 212 | "cpu": [ 213 | "loong64" 214 | ], 215 | "dev": true, 216 | "optional": true, 217 | "os": [ 218 | "linux" 219 | ], 220 | "engines": { 221 | "node": ">=12" 222 | } 223 | }, 224 | "node_modules/@esbuild/linux-mips64el": { 225 | "version": "0.18.13", 226 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.13.tgz", 227 | "integrity": "sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==", 228 | "cpu": [ 229 | "mips64el" 230 | ], 231 | "dev": true, 232 | "optional": true, 233 | "os": [ 234 | "linux" 235 | ], 236 | "engines": { 237 | "node": ">=12" 238 | } 239 | }, 240 | "node_modules/@esbuild/linux-ppc64": { 241 | "version": "0.18.13", 242 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.13.tgz", 243 | "integrity": "sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==", 244 | "cpu": [ 245 | "ppc64" 246 | ], 247 | "dev": true, 248 | "optional": true, 249 | "os": [ 250 | "linux" 251 | ], 252 | "engines": { 253 | "node": ">=12" 254 | } 255 | }, 256 | "node_modules/@esbuild/linux-riscv64": { 257 | "version": "0.18.13", 258 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.13.tgz", 259 | "integrity": "sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==", 260 | "cpu": [ 261 | "riscv64" 262 | ], 263 | "dev": true, 264 | "optional": true, 265 | "os": [ 266 | "linux" 267 | ], 268 | "engines": { 269 | "node": ">=12" 270 | } 271 | }, 272 | "node_modules/@esbuild/linux-s390x": { 273 | "version": "0.18.13", 274 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.13.tgz", 275 | "integrity": "sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==", 276 | "cpu": [ 277 | "s390x" 278 | ], 279 | "dev": true, 280 | "optional": true, 281 | "os": [ 282 | "linux" 283 | ], 284 | "engines": { 285 | "node": ">=12" 286 | } 287 | }, 288 | "node_modules/@esbuild/linux-x64": { 289 | "version": "0.18.13", 290 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.13.tgz", 291 | "integrity": "sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==", 292 | "cpu": [ 293 | "x64" 294 | ], 295 | "dev": true, 296 | "optional": true, 297 | "os": [ 298 | "linux" 299 | ], 300 | "engines": { 301 | "node": ">=12" 302 | } 303 | }, 304 | "node_modules/@esbuild/netbsd-x64": { 305 | "version": "0.18.13", 306 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.13.tgz", 307 | "integrity": "sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==", 308 | "cpu": [ 309 | "x64" 310 | ], 311 | "dev": true, 312 | "optional": true, 313 | "os": [ 314 | "netbsd" 315 | ], 316 | "engines": { 317 | "node": ">=12" 318 | } 319 | }, 320 | "node_modules/@esbuild/openbsd-x64": { 321 | "version": "0.18.13", 322 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.13.tgz", 323 | "integrity": "sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==", 324 | "cpu": [ 325 | "x64" 326 | ], 327 | "dev": true, 328 | "optional": true, 329 | "os": [ 330 | "openbsd" 331 | ], 332 | "engines": { 333 | "node": ">=12" 334 | } 335 | }, 336 | "node_modules/@esbuild/sunos-x64": { 337 | "version": "0.18.13", 338 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.13.tgz", 339 | "integrity": "sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==", 340 | "cpu": [ 341 | "x64" 342 | ], 343 | "dev": true, 344 | "optional": true, 345 | "os": [ 346 | "sunos" 347 | ], 348 | "engines": { 349 | "node": ">=12" 350 | } 351 | }, 352 | "node_modules/@esbuild/win32-arm64": { 353 | "version": "0.18.13", 354 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.13.tgz", 355 | "integrity": "sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==", 356 | "cpu": [ 357 | "arm64" 358 | ], 359 | "dev": true, 360 | "optional": true, 361 | "os": [ 362 | "win32" 363 | ], 364 | "engines": { 365 | "node": ">=12" 366 | } 367 | }, 368 | "node_modules/@esbuild/win32-ia32": { 369 | "version": "0.18.13", 370 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.13.tgz", 371 | "integrity": "sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==", 372 | "cpu": [ 373 | "ia32" 374 | ], 375 | "dev": true, 376 | "optional": true, 377 | "os": [ 378 | "win32" 379 | ], 380 | "engines": { 381 | "node": ">=12" 382 | } 383 | }, 384 | "node_modules/@esbuild/win32-x64": { 385 | "version": "0.18.13", 386 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.13.tgz", 387 | "integrity": "sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==", 388 | "cpu": [ 389 | "x64" 390 | ], 391 | "dev": true, 392 | "optional": true, 393 | "os": [ 394 | "win32" 395 | ], 396 | "engines": { 397 | "node": ">=12" 398 | } 399 | }, 400 | "node_modules/@jridgewell/gen-mapping": { 401 | "version": "0.3.3", 402 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 403 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 404 | "dev": true, 405 | "dependencies": { 406 | "@jridgewell/set-array": "^1.0.1", 407 | "@jridgewell/sourcemap-codec": "^1.4.10", 408 | "@jridgewell/trace-mapping": "^0.3.9" 409 | }, 410 | "engines": { 411 | "node": ">=6.0.0" 412 | } 413 | }, 414 | "node_modules/@jridgewell/resolve-uri": { 415 | "version": "3.1.0", 416 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 417 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 418 | "dev": true, 419 | "engines": { 420 | "node": ">=6.0.0" 421 | } 422 | }, 423 | "node_modules/@jridgewell/set-array": { 424 | "version": "1.1.2", 425 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 426 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 427 | "dev": true, 428 | "engines": { 429 | "node": ">=6.0.0" 430 | } 431 | }, 432 | "node_modules/@jridgewell/sourcemap-codec": { 433 | "version": "1.4.15", 434 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 435 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" 436 | }, 437 | "node_modules/@jridgewell/trace-mapping": { 438 | "version": "0.3.18", 439 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", 440 | "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", 441 | "dev": true, 442 | "dependencies": { 443 | "@jridgewell/resolve-uri": "3.1.0", 444 | "@jridgewell/sourcemap-codec": "1.4.14" 445 | } 446 | }, 447 | "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { 448 | "version": "1.4.14", 449 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 450 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 451 | "dev": true 452 | }, 453 | "node_modules/@nodelib/fs.scandir": { 454 | "version": "2.1.5", 455 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 456 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 457 | "dev": true, 458 | "dependencies": { 459 | "@nodelib/fs.stat": "2.0.5", 460 | "run-parallel": "^1.1.9" 461 | }, 462 | "engines": { 463 | "node": ">= 8" 464 | } 465 | }, 466 | "node_modules/@nodelib/fs.stat": { 467 | "version": "2.0.5", 468 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 469 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 470 | "dev": true, 471 | "engines": { 472 | "node": ">= 8" 473 | } 474 | }, 475 | "node_modules/@nodelib/fs.walk": { 476 | "version": "1.2.8", 477 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 478 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 479 | "dev": true, 480 | "dependencies": { 481 | "@nodelib/fs.scandir": "2.1.5", 482 | "fastq": "^1.6.0" 483 | }, 484 | "engines": { 485 | "node": ">= 8" 486 | } 487 | }, 488 | "node_modules/@tailwindcss/forms": { 489 | "version": "0.5.4", 490 | "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.4.tgz", 491 | "integrity": "sha512-YAm12D3R7/9Mh4jFbYSMnsd6jG++8KxogWgqs7hbdo/86aWjjlIEvL7+QYdVELmAI0InXTpZqFIg5e7aDVWI2Q==", 492 | "dev": true, 493 | "dependencies": { 494 | "mini-svg-data-uri": "^1.2.3" 495 | }, 496 | "peerDependencies": { 497 | "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" 498 | } 499 | }, 500 | "node_modules/@vitejs/plugin-vue": { 501 | "version": "4.2.3", 502 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", 503 | "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", 504 | "dev": true, 505 | "engines": { 506 | "node": "^14.18.0 || >=16.0.0" 507 | }, 508 | "peerDependencies": { 509 | "vite": "^4.0.0", 510 | "vue": "^3.2.25" 511 | } 512 | }, 513 | "node_modules/@vue/compiler-core": { 514 | "version": "3.3.4", 515 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", 516 | "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", 517 | "dependencies": { 518 | "@babel/parser": "^7.21.3", 519 | "@vue/shared": "3.3.4", 520 | "estree-walker": "^2.0.2", 521 | "source-map-js": "^1.0.2" 522 | } 523 | }, 524 | "node_modules/@vue/compiler-dom": { 525 | "version": "3.3.4", 526 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", 527 | "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", 528 | "dependencies": { 529 | "@vue/compiler-core": "3.3.4", 530 | "@vue/shared": "3.3.4" 531 | } 532 | }, 533 | "node_modules/@vue/compiler-sfc": { 534 | "version": "3.3.4", 535 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", 536 | "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", 537 | "dependencies": { 538 | "@babel/parser": "^7.20.15", 539 | "@vue/compiler-core": "3.3.4", 540 | "@vue/compiler-dom": "3.3.4", 541 | "@vue/compiler-ssr": "3.3.4", 542 | "@vue/reactivity-transform": "3.3.4", 543 | "@vue/shared": "3.3.4", 544 | "estree-walker": "^2.0.2", 545 | "magic-string": "^0.30.0", 546 | "postcss": "^8.1.10", 547 | "source-map-js": "^1.0.2" 548 | } 549 | }, 550 | "node_modules/@vue/compiler-ssr": { 551 | "version": "3.3.4", 552 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", 553 | "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", 554 | "dependencies": { 555 | "@vue/compiler-dom": "3.3.4", 556 | "@vue/shared": "3.3.4" 557 | } 558 | }, 559 | "node_modules/@vue/reactivity": { 560 | "version": "3.3.4", 561 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", 562 | "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", 563 | "dependencies": { 564 | "@vue/shared": "3.3.4" 565 | } 566 | }, 567 | "node_modules/@vue/reactivity-transform": { 568 | "version": "3.3.4", 569 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", 570 | "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", 571 | "dependencies": { 572 | "@babel/parser": "^7.20.15", 573 | "@vue/compiler-core": "3.3.4", 574 | "@vue/shared": "3.3.4", 575 | "estree-walker": "^2.0.2", 576 | "magic-string": "^0.30.0" 577 | } 578 | }, 579 | "node_modules/@vue/runtime-core": { 580 | "version": "3.3.4", 581 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", 582 | "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", 583 | "dependencies": { 584 | "@vue/reactivity": "3.3.4", 585 | "@vue/shared": "3.3.4" 586 | } 587 | }, 588 | "node_modules/@vue/runtime-dom": { 589 | "version": "3.3.4", 590 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", 591 | "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", 592 | "dependencies": { 593 | "@vue/runtime-core": "3.3.4", 594 | "@vue/shared": "3.3.4", 595 | "csstype": "^3.1.1" 596 | } 597 | }, 598 | "node_modules/@vue/server-renderer": { 599 | "version": "3.3.4", 600 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", 601 | "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", 602 | "dependencies": { 603 | "@vue/compiler-ssr": "3.3.4", 604 | "@vue/shared": "3.3.4" 605 | }, 606 | "peerDependencies": { 607 | "vue": "3.3.4" 608 | } 609 | }, 610 | "node_modules/@vue/shared": { 611 | "version": "3.3.4", 612 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", 613 | "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" 614 | }, 615 | "node_modules/any-promise": { 616 | "version": "1.3.0", 617 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 618 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 619 | "dev": true 620 | }, 621 | "node_modules/anymatch": { 622 | "version": "3.1.3", 623 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 624 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 625 | "dev": true, 626 | "dependencies": { 627 | "normalize-path": "^3.0.0", 628 | "picomatch": "^2.0.4" 629 | }, 630 | "engines": { 631 | "node": ">= 8" 632 | } 633 | }, 634 | "node_modules/arg": { 635 | "version": "5.0.2", 636 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 637 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 638 | "dev": true 639 | }, 640 | "node_modules/array-union": { 641 | "version": "1.0.2", 642 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 643 | "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", 644 | "dev": true, 645 | "dependencies": { 646 | "array-uniq": "^1.0.1" 647 | }, 648 | "engines": { 649 | "node": ">=0.10.0" 650 | } 651 | }, 652 | "node_modules/array-uniq": { 653 | "version": "1.0.3", 654 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 655 | "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", 656 | "dev": true, 657 | "engines": { 658 | "node": ">=0.10.0" 659 | } 660 | }, 661 | "node_modules/async": { 662 | "version": "3.2.4", 663 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", 664 | "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", 665 | "dev": true 666 | }, 667 | "node_modules/autoprefixer": { 668 | "version": "10.4.14", 669 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", 670 | "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", 671 | "dev": true, 672 | "funding": [ 673 | { 674 | "type": "opencollective", 675 | "url": "https://opencollective.com/postcss/" 676 | }, 677 | { 678 | "type": "tidelift", 679 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 680 | } 681 | ], 682 | "dependencies": { 683 | "browserslist": "^4.21.5", 684 | "caniuse-lite": "^1.0.30001464", 685 | "fraction.js": "^4.2.0", 686 | "normalize-range": "^0.1.2", 687 | "picocolors": "^1.0.0", 688 | "postcss-value-parser": "^4.2.0" 689 | }, 690 | "bin": { 691 | "autoprefixer": "bin/autoprefixer" 692 | }, 693 | "engines": { 694 | "node": "^10 || ^12 || >=14" 695 | }, 696 | "peerDependencies": { 697 | "postcss": "^8.1.0" 698 | } 699 | }, 700 | "node_modules/balanced-match": { 701 | "version": "1.0.2", 702 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 703 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 704 | "dev": true 705 | }, 706 | "node_modules/binary-extensions": { 707 | "version": "2.2.0", 708 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 709 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 710 | "dev": true, 711 | "engines": { 712 | "node": ">=8" 713 | } 714 | }, 715 | "node_modules/brace-expansion": { 716 | "version": "1.1.11", 717 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 718 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 719 | "dev": true, 720 | "dependencies": { 721 | "balanced-match": "^1.0.0", 722 | "concat-map": "0.0.1" 723 | } 724 | }, 725 | "node_modules/braces": { 726 | "version": "3.0.2", 727 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 728 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 729 | "dev": true, 730 | "dependencies": { 731 | "fill-range": "^7.0.1" 732 | }, 733 | "engines": { 734 | "node": ">=8" 735 | } 736 | }, 737 | "node_modules/browserslist": { 738 | "version": "4.21.9", 739 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", 740 | "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", 741 | "dev": true, 742 | "funding": [ 743 | { 744 | "type": "opencollective", 745 | "url": "https://opencollective.com/browserslist" 746 | }, 747 | { 748 | "type": "tidelift", 749 | "url": "https://tidelift.com/funding/github/npm/browserslist" 750 | }, 751 | { 752 | "type": "github", 753 | "url": "https://github.com/sponsors/ai" 754 | } 755 | ], 756 | "dependencies": { 757 | "caniuse-lite": "^1.0.30001503", 758 | "electron-to-chromium": "^1.4.431", 759 | "node-releases": "^2.0.12", 760 | "update-browserslist-db": "^1.0.11" 761 | }, 762 | "bin": { 763 | "browserslist": "cli.js" 764 | }, 765 | "engines": { 766 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 767 | } 768 | }, 769 | "node_modules/camelcase-css": { 770 | "version": "2.0.1", 771 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 772 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 773 | "dev": true, 774 | "engines": { 775 | "node": ">= 6" 776 | } 777 | }, 778 | "node_modules/caniuse-lite": { 779 | "version": "1.0.30001516", 780 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001516.tgz", 781 | "integrity": "sha512-Wmec9pCBY8CWbmI4HsjBeQLqDTqV91nFVR83DnZpYyRnPI1wePDsTg0bGLPC5VU/3OIZV1fmxEea1b+tFKe86g==", 782 | "dev": true, 783 | "funding": [ 784 | { 785 | "type": "opencollective", 786 | "url": "https://opencollective.com/browserslist" 787 | }, 788 | { 789 | "type": "tidelift", 790 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 791 | }, 792 | { 793 | "type": "github", 794 | "url": "https://github.com/sponsors/ai" 795 | } 796 | ] 797 | }, 798 | "node_modules/chokidar": { 799 | "version": "3.5.3", 800 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 801 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 802 | "dev": true, 803 | "funding": [ 804 | { 805 | "type": "individual", 806 | "url": "https://paulmillr.com/funding/" 807 | } 808 | ], 809 | "dependencies": { 810 | "anymatch": "~3.1.2", 811 | "braces": "~3.0.2", 812 | "glob-parent": "~5.1.2", 813 | "is-binary-path": "~2.1.0", 814 | "is-glob": "~4.0.1", 815 | "normalize-path": "~3.0.0", 816 | "readdirp": "~3.6.0" 817 | }, 818 | "engines": { 819 | "node": ">= 8.10.0" 820 | }, 821 | "optionalDependencies": { 822 | "fsevents": "~2.3.2" 823 | } 824 | }, 825 | "node_modules/chokidar/node_modules/glob-parent": { 826 | "version": "5.1.2", 827 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 828 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 829 | "dev": true, 830 | "dependencies": { 831 | "is-glob": "^4.0.1" 832 | }, 833 | "engines": { 834 | "node": ">= 6" 835 | } 836 | }, 837 | "node_modules/commander": { 838 | "version": "4.1.1", 839 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 840 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 841 | "dev": true, 842 | "engines": { 843 | "node": ">= 6" 844 | } 845 | }, 846 | "node_modules/commondir": { 847 | "version": "1.0.1", 848 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 849 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", 850 | "dev": true 851 | }, 852 | "node_modules/concat-map": { 853 | "version": "0.0.1", 854 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 855 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 856 | "dev": true 857 | }, 858 | "node_modules/cssesc": { 859 | "version": "3.0.0", 860 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 861 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 862 | "dev": true, 863 | "bin": { 864 | "cssesc": "bin/cssesc" 865 | }, 866 | "engines": { 867 | "node": ">=4" 868 | } 869 | }, 870 | "node_modules/csstype": { 871 | "version": "3.1.2", 872 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 873 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" 874 | }, 875 | "node_modules/didyoumean": { 876 | "version": "1.2.2", 877 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 878 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 879 | "dev": true 880 | }, 881 | "node_modules/dlv": { 882 | "version": "1.1.3", 883 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 884 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 885 | "dev": true 886 | }, 887 | "node_modules/electron-to-chromium": { 888 | "version": "1.4.461", 889 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.461.tgz", 890 | "integrity": "sha512-1JkvV2sgEGTDXjdsaQCeSwYYuhLRphRpc+g6EHTFELJXEiznLt3/0pZ9JuAOQ5p2rI3YxKTbivtvajirIfhrEQ==", 891 | "dev": true 892 | }, 893 | "node_modules/email-addresses": { 894 | "version": "5.0.0", 895 | "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", 896 | "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", 897 | "dev": true 898 | }, 899 | "node_modules/esbuild": { 900 | "version": "0.18.13", 901 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.13.tgz", 902 | "integrity": "sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==", 903 | "dev": true, 904 | "hasInstallScript": true, 905 | "bin": { 906 | "esbuild": "bin/esbuild" 907 | }, 908 | "engines": { 909 | "node": ">=12" 910 | }, 911 | "optionalDependencies": { 912 | "@esbuild/android-arm": "0.18.13", 913 | "@esbuild/android-arm64": "0.18.13", 914 | "@esbuild/android-x64": "0.18.13", 915 | "@esbuild/darwin-arm64": "0.18.13", 916 | "@esbuild/darwin-x64": "0.18.13", 917 | "@esbuild/freebsd-arm64": "0.18.13", 918 | "@esbuild/freebsd-x64": "0.18.13", 919 | "@esbuild/linux-arm": "0.18.13", 920 | "@esbuild/linux-arm64": "0.18.13", 921 | "@esbuild/linux-ia32": "0.18.13", 922 | "@esbuild/linux-loong64": "0.18.13", 923 | "@esbuild/linux-mips64el": "0.18.13", 924 | "@esbuild/linux-ppc64": "0.18.13", 925 | "@esbuild/linux-riscv64": "0.18.13", 926 | "@esbuild/linux-s390x": "0.18.13", 927 | "@esbuild/linux-x64": "0.18.13", 928 | "@esbuild/netbsd-x64": "0.18.13", 929 | "@esbuild/openbsd-x64": "0.18.13", 930 | "@esbuild/sunos-x64": "0.18.13", 931 | "@esbuild/win32-arm64": "0.18.13", 932 | "@esbuild/win32-ia32": "0.18.13", 933 | "@esbuild/win32-x64": "0.18.13" 934 | } 935 | }, 936 | "node_modules/escalade": { 937 | "version": "3.1.1", 938 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 939 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 940 | "dev": true, 941 | "engines": { 942 | "node": ">=6" 943 | } 944 | }, 945 | "node_modules/escape-string-regexp": { 946 | "version": "1.0.5", 947 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 948 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 949 | "dev": true, 950 | "engines": { 951 | "node": ">=0.8.0" 952 | } 953 | }, 954 | "node_modules/estree-walker": { 955 | "version": "2.0.2", 956 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 957 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 958 | }, 959 | "node_modules/fast-glob": { 960 | "version": "3.3.0", 961 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", 962 | "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", 963 | "dev": true, 964 | "dependencies": { 965 | "@nodelib/fs.stat": "^2.0.2", 966 | "@nodelib/fs.walk": "^1.2.3", 967 | "glob-parent": "^5.1.2", 968 | "merge2": "^1.3.0", 969 | "micromatch": "^4.0.4" 970 | }, 971 | "engines": { 972 | "node": ">=8.6.0" 973 | } 974 | }, 975 | "node_modules/fast-glob/node_modules/glob-parent": { 976 | "version": "5.1.2", 977 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 978 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 979 | "dev": true, 980 | "dependencies": { 981 | "is-glob": "^4.0.1" 982 | }, 983 | "engines": { 984 | "node": ">= 6" 985 | } 986 | }, 987 | "node_modules/fastq": { 988 | "version": "1.15.0", 989 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 990 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 991 | "dev": true, 992 | "dependencies": { 993 | "reusify": "^1.0.4" 994 | } 995 | }, 996 | "node_modules/filename-reserved-regex": { 997 | "version": "2.0.0", 998 | "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", 999 | "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", 1000 | "dev": true, 1001 | "engines": { 1002 | "node": ">=4" 1003 | } 1004 | }, 1005 | "node_modules/filenamify": { 1006 | "version": "4.3.0", 1007 | "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", 1008 | "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", 1009 | "dev": true, 1010 | "dependencies": { 1011 | "filename-reserved-regex": "^2.0.0", 1012 | "strip-outer": "^1.0.1", 1013 | "trim-repeated": "^1.0.0" 1014 | }, 1015 | "engines": { 1016 | "node": ">=8" 1017 | }, 1018 | "funding": { 1019 | "url": "https://github.com/sponsors/sindresorhus" 1020 | } 1021 | }, 1022 | "node_modules/fill-range": { 1023 | "version": "7.0.1", 1024 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1025 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1026 | "dev": true, 1027 | "dependencies": { 1028 | "to-regex-range": "^5.0.1" 1029 | }, 1030 | "engines": { 1031 | "node": ">=8" 1032 | } 1033 | }, 1034 | "node_modules/find-cache-dir": { 1035 | "version": "3.3.2", 1036 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", 1037 | "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", 1038 | "dev": true, 1039 | "dependencies": { 1040 | "commondir": "^1.0.1", 1041 | "make-dir": "^3.0.2", 1042 | "pkg-dir": "^4.1.0" 1043 | }, 1044 | "engines": { 1045 | "node": ">=8" 1046 | }, 1047 | "funding": { 1048 | "url": "https://github.com/avajs/find-cache-dir?sponsor=1" 1049 | } 1050 | }, 1051 | "node_modules/find-up": { 1052 | "version": "4.1.0", 1053 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 1054 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 1055 | "dev": true, 1056 | "dependencies": { 1057 | "locate-path": "^5.0.0", 1058 | "path-exists": "^4.0.0" 1059 | }, 1060 | "engines": { 1061 | "node": ">=8" 1062 | } 1063 | }, 1064 | "node_modules/fraction.js": { 1065 | "version": "4.2.0", 1066 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 1067 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 1068 | "dev": true, 1069 | "engines": { 1070 | "node": "*" 1071 | }, 1072 | "funding": { 1073 | "type": "patreon", 1074 | "url": "https://www.patreon.com/infusion" 1075 | } 1076 | }, 1077 | "node_modules/fs-extra": { 1078 | "version": "8.1.0", 1079 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 1080 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 1081 | "dev": true, 1082 | "dependencies": { 1083 | "graceful-fs": "^4.2.0", 1084 | "jsonfile": "^4.0.0", 1085 | "universalify": "^0.1.0" 1086 | }, 1087 | "engines": { 1088 | "node": ">=6 <7 || >=8" 1089 | } 1090 | }, 1091 | "node_modules/fs.realpath": { 1092 | "version": "1.0.0", 1093 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1094 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1095 | "dev": true 1096 | }, 1097 | "node_modules/fsevents": { 1098 | "version": "2.3.2", 1099 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1100 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1101 | "dev": true, 1102 | "hasInstallScript": true, 1103 | "optional": true, 1104 | "os": [ 1105 | "darwin" 1106 | ], 1107 | "engines": { 1108 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1109 | } 1110 | }, 1111 | "node_modules/function-bind": { 1112 | "version": "1.1.1", 1113 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1114 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1115 | "dev": true 1116 | }, 1117 | "node_modules/gh-pages": { 1118 | "version": "5.0.0", 1119 | "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", 1120 | "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", 1121 | "dev": true, 1122 | "dependencies": { 1123 | "async": "^3.2.4", 1124 | "commander": "^2.18.0", 1125 | "email-addresses": "^5.0.0", 1126 | "filenamify": "^4.3.0", 1127 | "find-cache-dir": "^3.3.1", 1128 | "fs-extra": "^8.1.0", 1129 | "globby": "^6.1.0" 1130 | }, 1131 | "bin": { 1132 | "gh-pages": "bin/gh-pages.js", 1133 | "gh-pages-clean": "bin/gh-pages-clean.js" 1134 | }, 1135 | "engines": { 1136 | "node": ">=10" 1137 | } 1138 | }, 1139 | "node_modules/gh-pages/node_modules/commander": { 1140 | "version": "2.20.3", 1141 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 1142 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 1143 | "dev": true 1144 | }, 1145 | "node_modules/glob": { 1146 | "version": "7.1.6", 1147 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 1148 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 1149 | "dev": true, 1150 | "dependencies": { 1151 | "fs.realpath": "^1.0.0", 1152 | "inflight": "^1.0.4", 1153 | "inherits": "2", 1154 | "minimatch": "^3.0.4", 1155 | "once": "^1.3.0", 1156 | "path-is-absolute": "^1.0.0" 1157 | }, 1158 | "engines": { 1159 | "node": "*" 1160 | }, 1161 | "funding": { 1162 | "url": "https://github.com/sponsors/isaacs" 1163 | } 1164 | }, 1165 | "node_modules/glob-parent": { 1166 | "version": "6.0.2", 1167 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1168 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1169 | "dev": true, 1170 | "dependencies": { 1171 | "is-glob": "^4.0.3" 1172 | }, 1173 | "engines": { 1174 | "node": ">=10.13.0" 1175 | } 1176 | }, 1177 | "node_modules/globby": { 1178 | "version": "6.1.0", 1179 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 1180 | "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", 1181 | "dev": true, 1182 | "dependencies": { 1183 | "array-union": "^1.0.1", 1184 | "glob": "^7.0.3", 1185 | "object-assign": "^4.0.1", 1186 | "pify": "^2.0.0", 1187 | "pinkie-promise": "^2.0.0" 1188 | }, 1189 | "engines": { 1190 | "node": ">=0.10.0" 1191 | } 1192 | }, 1193 | "node_modules/graceful-fs": { 1194 | "version": "4.2.11", 1195 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1196 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 1197 | "dev": true 1198 | }, 1199 | "node_modules/has": { 1200 | "version": "1.0.3", 1201 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1202 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1203 | "dev": true, 1204 | "dependencies": { 1205 | "function-bind": "^1.1.1" 1206 | }, 1207 | "engines": { 1208 | "node": ">= 0.4.0" 1209 | } 1210 | }, 1211 | "node_modules/inflight": { 1212 | "version": "1.0.6", 1213 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1214 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1215 | "dev": true, 1216 | "dependencies": { 1217 | "once": "^1.3.0", 1218 | "wrappy": "1" 1219 | } 1220 | }, 1221 | "node_modules/inherits": { 1222 | "version": "2.0.4", 1223 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1224 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1225 | "dev": true 1226 | }, 1227 | "node_modules/is-binary-path": { 1228 | "version": "2.1.0", 1229 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1230 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1231 | "dev": true, 1232 | "dependencies": { 1233 | "binary-extensions": "^2.0.0" 1234 | }, 1235 | "engines": { 1236 | "node": ">=8" 1237 | } 1238 | }, 1239 | "node_modules/is-core-module": { 1240 | "version": "2.12.1", 1241 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", 1242 | "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", 1243 | "dev": true, 1244 | "dependencies": { 1245 | "has": "^1.0.3" 1246 | }, 1247 | "funding": { 1248 | "url": "https://github.com/sponsors/ljharb" 1249 | } 1250 | }, 1251 | "node_modules/is-extglob": { 1252 | "version": "2.1.1", 1253 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1254 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1255 | "dev": true, 1256 | "engines": { 1257 | "node": ">=0.10.0" 1258 | } 1259 | }, 1260 | "node_modules/is-glob": { 1261 | "version": "4.0.3", 1262 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1263 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1264 | "dev": true, 1265 | "dependencies": { 1266 | "is-extglob": "^2.1.1" 1267 | }, 1268 | "engines": { 1269 | "node": ">=0.10.0" 1270 | } 1271 | }, 1272 | "node_modules/is-number": { 1273 | "version": "7.0.0", 1274 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1275 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1276 | "dev": true, 1277 | "engines": { 1278 | "node": ">=0.12.0" 1279 | } 1280 | }, 1281 | "node_modules/jiti": { 1282 | "version": "1.19.1", 1283 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", 1284 | "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", 1285 | "dev": true, 1286 | "bin": { 1287 | "jiti": "bin/jiti.js" 1288 | } 1289 | }, 1290 | "node_modules/jsonfile": { 1291 | "version": "4.0.0", 1292 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1293 | "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", 1294 | "dev": true, 1295 | "optionalDependencies": { 1296 | "graceful-fs": "^4.1.6" 1297 | } 1298 | }, 1299 | "node_modules/lilconfig": { 1300 | "version": "2.1.0", 1301 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 1302 | "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 1303 | "dev": true, 1304 | "engines": { 1305 | "node": ">=10" 1306 | } 1307 | }, 1308 | "node_modules/lines-and-columns": { 1309 | "version": "1.2.4", 1310 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1311 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 1312 | "dev": true 1313 | }, 1314 | "node_modules/locate-path": { 1315 | "version": "5.0.0", 1316 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 1317 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 1318 | "dev": true, 1319 | "dependencies": { 1320 | "p-locate": "^4.1.0" 1321 | }, 1322 | "engines": { 1323 | "node": ">=8" 1324 | } 1325 | }, 1326 | "node_modules/magic-string": { 1327 | "version": "0.30.1", 1328 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", 1329 | "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", 1330 | "dependencies": { 1331 | "@jridgewell/sourcemap-codec": "^1.4.15" 1332 | }, 1333 | "engines": { 1334 | "node": ">=12" 1335 | } 1336 | }, 1337 | "node_modules/make-dir": { 1338 | "version": "3.1.0", 1339 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 1340 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 1341 | "dev": true, 1342 | "dependencies": { 1343 | "semver": "^6.0.0" 1344 | }, 1345 | "engines": { 1346 | "node": ">=8" 1347 | }, 1348 | "funding": { 1349 | "url": "https://github.com/sponsors/sindresorhus" 1350 | } 1351 | }, 1352 | "node_modules/merge2": { 1353 | "version": "1.4.1", 1354 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1355 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1356 | "dev": true, 1357 | "engines": { 1358 | "node": ">= 8" 1359 | } 1360 | }, 1361 | "node_modules/micromatch": { 1362 | "version": "4.0.5", 1363 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1364 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1365 | "dev": true, 1366 | "dependencies": { 1367 | "braces": "^3.0.2", 1368 | "picomatch": "^2.3.1" 1369 | }, 1370 | "engines": { 1371 | "node": ">=8.6" 1372 | } 1373 | }, 1374 | "node_modules/mini-svg-data-uri": { 1375 | "version": "1.4.4", 1376 | "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 1377 | "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 1378 | "dev": true, 1379 | "bin": { 1380 | "mini-svg-data-uri": "cli.js" 1381 | } 1382 | }, 1383 | "node_modules/minimatch": { 1384 | "version": "3.1.2", 1385 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1386 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1387 | "dev": true, 1388 | "dependencies": { 1389 | "brace-expansion": "^1.1.7" 1390 | }, 1391 | "engines": { 1392 | "node": "*" 1393 | } 1394 | }, 1395 | "node_modules/mz": { 1396 | "version": "2.7.0", 1397 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1398 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1399 | "dev": true, 1400 | "dependencies": { 1401 | "any-promise": "^1.0.0", 1402 | "object-assign": "^4.0.1", 1403 | "thenify-all": "^1.0.0" 1404 | } 1405 | }, 1406 | "node_modules/nanoid": { 1407 | "version": "3.3.6", 1408 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1409 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 1410 | "funding": [ 1411 | { 1412 | "type": "github", 1413 | "url": "https://github.com/sponsors/ai" 1414 | } 1415 | ], 1416 | "bin": { 1417 | "nanoid": "bin/nanoid.cjs" 1418 | }, 1419 | "engines": { 1420 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1421 | } 1422 | }, 1423 | "node_modules/node-releases": { 1424 | "version": "2.0.13", 1425 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", 1426 | "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", 1427 | "dev": true 1428 | }, 1429 | "node_modules/normalize-path": { 1430 | "version": "3.0.0", 1431 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1432 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1433 | "dev": true, 1434 | "engines": { 1435 | "node": ">=0.10.0" 1436 | } 1437 | }, 1438 | "node_modules/normalize-range": { 1439 | "version": "0.1.2", 1440 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1441 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 1442 | "dev": true, 1443 | "engines": { 1444 | "node": ">=0.10.0" 1445 | } 1446 | }, 1447 | "node_modules/object-assign": { 1448 | "version": "4.1.1", 1449 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1450 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1451 | "dev": true, 1452 | "engines": { 1453 | "node": ">=0.10.0" 1454 | } 1455 | }, 1456 | "node_modules/object-hash": { 1457 | "version": "3.0.0", 1458 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1459 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1460 | "dev": true, 1461 | "engines": { 1462 | "node": ">= 6" 1463 | } 1464 | }, 1465 | "node_modules/once": { 1466 | "version": "1.4.0", 1467 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1468 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1469 | "dev": true, 1470 | "dependencies": { 1471 | "wrappy": "1" 1472 | } 1473 | }, 1474 | "node_modules/p-limit": { 1475 | "version": "2.3.0", 1476 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 1477 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 1478 | "dev": true, 1479 | "dependencies": { 1480 | "p-try": "^2.0.0" 1481 | }, 1482 | "engines": { 1483 | "node": ">=6" 1484 | }, 1485 | "funding": { 1486 | "url": "https://github.com/sponsors/sindresorhus" 1487 | } 1488 | }, 1489 | "node_modules/p-locate": { 1490 | "version": "4.1.0", 1491 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 1492 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 1493 | "dev": true, 1494 | "dependencies": { 1495 | "p-limit": "^2.2.0" 1496 | }, 1497 | "engines": { 1498 | "node": ">=8" 1499 | } 1500 | }, 1501 | "node_modules/p-try": { 1502 | "version": "2.2.0", 1503 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1504 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1505 | "dev": true, 1506 | "engines": { 1507 | "node": ">=6" 1508 | } 1509 | }, 1510 | "node_modules/path-exists": { 1511 | "version": "4.0.0", 1512 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1513 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1514 | "dev": true, 1515 | "engines": { 1516 | "node": ">=8" 1517 | } 1518 | }, 1519 | "node_modules/path-is-absolute": { 1520 | "version": "1.0.1", 1521 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1522 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1523 | "dev": true, 1524 | "engines": { 1525 | "node": ">=0.10.0" 1526 | } 1527 | }, 1528 | "node_modules/path-parse": { 1529 | "version": "1.0.7", 1530 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1531 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1532 | "dev": true 1533 | }, 1534 | "node_modules/picocolors": { 1535 | "version": "1.0.0", 1536 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1537 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1538 | }, 1539 | "node_modules/picomatch": { 1540 | "version": "2.3.1", 1541 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1542 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1543 | "dev": true, 1544 | "engines": { 1545 | "node": ">=8.6" 1546 | }, 1547 | "funding": { 1548 | "url": "https://github.com/sponsors/jonschlinkert" 1549 | } 1550 | }, 1551 | "node_modules/pify": { 1552 | "version": "2.3.0", 1553 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1554 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1555 | "dev": true, 1556 | "engines": { 1557 | "node": ">=0.10.0" 1558 | } 1559 | }, 1560 | "node_modules/pinkie": { 1561 | "version": "2.0.4", 1562 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1563 | "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", 1564 | "dev": true, 1565 | "engines": { 1566 | "node": ">=0.10.0" 1567 | } 1568 | }, 1569 | "node_modules/pinkie-promise": { 1570 | "version": "2.0.1", 1571 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1572 | "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", 1573 | "dev": true, 1574 | "dependencies": { 1575 | "pinkie": "^2.0.0" 1576 | }, 1577 | "engines": { 1578 | "node": ">=0.10.0" 1579 | } 1580 | }, 1581 | "node_modules/pirates": { 1582 | "version": "4.0.6", 1583 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 1584 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 1585 | "dev": true, 1586 | "engines": { 1587 | "node": ">= 6" 1588 | } 1589 | }, 1590 | "node_modules/pkg-dir": { 1591 | "version": "4.2.0", 1592 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 1593 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 1594 | "dev": true, 1595 | "dependencies": { 1596 | "find-up": "^4.0.0" 1597 | }, 1598 | "engines": { 1599 | "node": ">=8" 1600 | } 1601 | }, 1602 | "node_modules/postcss": { 1603 | "version": "8.4.26", 1604 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz", 1605 | "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==", 1606 | "funding": [ 1607 | { 1608 | "type": "opencollective", 1609 | "url": "https://opencollective.com/postcss/" 1610 | }, 1611 | { 1612 | "type": "tidelift", 1613 | "url": "https://tidelift.com/funding/github/npm/postcss" 1614 | }, 1615 | { 1616 | "type": "github", 1617 | "url": "https://github.com/sponsors/ai" 1618 | } 1619 | ], 1620 | "dependencies": { 1621 | "nanoid": "^3.3.6", 1622 | "picocolors": "^1.0.0", 1623 | "source-map-js": "^1.0.2" 1624 | }, 1625 | "engines": { 1626 | "node": "^10 || ^12 || >=14" 1627 | } 1628 | }, 1629 | "node_modules/postcss-import": { 1630 | "version": "15.1.0", 1631 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 1632 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 1633 | "dev": true, 1634 | "dependencies": { 1635 | "postcss-value-parser": "^4.0.0", 1636 | "read-cache": "^1.0.0", 1637 | "resolve": "^1.1.7" 1638 | }, 1639 | "engines": { 1640 | "node": ">=14.0.0" 1641 | }, 1642 | "peerDependencies": { 1643 | "postcss": "^8.0.0" 1644 | } 1645 | }, 1646 | "node_modules/postcss-js": { 1647 | "version": "4.0.1", 1648 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 1649 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 1650 | "dev": true, 1651 | "dependencies": { 1652 | "camelcase-css": "^2.0.1" 1653 | }, 1654 | "engines": { 1655 | "node": "^12 || ^14 || >= 16" 1656 | }, 1657 | "funding": { 1658 | "type": "opencollective", 1659 | "url": "https://opencollective.com/postcss/" 1660 | }, 1661 | "peerDependencies": { 1662 | "postcss": "^8.4.21" 1663 | } 1664 | }, 1665 | "node_modules/postcss-load-config": { 1666 | "version": "4.0.1", 1667 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", 1668 | "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", 1669 | "dev": true, 1670 | "dependencies": { 1671 | "lilconfig": "^2.0.5", 1672 | "yaml": "^2.1.1" 1673 | }, 1674 | "engines": { 1675 | "node": ">= 14" 1676 | }, 1677 | "funding": { 1678 | "type": "opencollective", 1679 | "url": "https://opencollective.com/postcss/" 1680 | }, 1681 | "peerDependencies": { 1682 | "postcss": ">=8.0.9", 1683 | "ts-node": ">=9.0.0" 1684 | }, 1685 | "peerDependenciesMeta": { 1686 | "postcss": { 1687 | "optional": true 1688 | }, 1689 | "ts-node": { 1690 | "optional": true 1691 | } 1692 | } 1693 | }, 1694 | "node_modules/postcss-nested": { 1695 | "version": "6.0.1", 1696 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 1697 | "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 1698 | "dev": true, 1699 | "dependencies": { 1700 | "postcss-selector-parser": "^6.0.11" 1701 | }, 1702 | "engines": { 1703 | "node": ">=12.0" 1704 | }, 1705 | "funding": { 1706 | "type": "opencollective", 1707 | "url": "https://opencollective.com/postcss/" 1708 | }, 1709 | "peerDependencies": { 1710 | "postcss": "^8.2.14" 1711 | } 1712 | }, 1713 | "node_modules/postcss-selector-parser": { 1714 | "version": "6.0.13", 1715 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", 1716 | "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", 1717 | "dev": true, 1718 | "dependencies": { 1719 | "cssesc": "^3.0.0", 1720 | "util-deprecate": "^1.0.2" 1721 | }, 1722 | "engines": { 1723 | "node": ">=4" 1724 | } 1725 | }, 1726 | "node_modules/postcss-value-parser": { 1727 | "version": "4.2.0", 1728 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1729 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1730 | "dev": true 1731 | }, 1732 | "node_modules/queue-microtask": { 1733 | "version": "1.2.3", 1734 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1735 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1736 | "dev": true, 1737 | "funding": [ 1738 | { 1739 | "type": "github", 1740 | "url": "https://github.com/sponsors/feross" 1741 | }, 1742 | { 1743 | "type": "patreon", 1744 | "url": "https://www.patreon.com/feross" 1745 | }, 1746 | { 1747 | "type": "consulting", 1748 | "url": "https://feross.org/support" 1749 | } 1750 | ] 1751 | }, 1752 | "node_modules/read-cache": { 1753 | "version": "1.0.0", 1754 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1755 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1756 | "dev": true, 1757 | "dependencies": { 1758 | "pify": "^2.3.0" 1759 | } 1760 | }, 1761 | "node_modules/readdirp": { 1762 | "version": "3.6.0", 1763 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1764 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1765 | "dev": true, 1766 | "dependencies": { 1767 | "picomatch": "^2.2.1" 1768 | }, 1769 | "engines": { 1770 | "node": ">=8.10.0" 1771 | } 1772 | }, 1773 | "node_modules/resolve": { 1774 | "version": "1.22.2", 1775 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 1776 | "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 1777 | "dev": true, 1778 | "dependencies": { 1779 | "is-core-module": "^2.11.0", 1780 | "path-parse": "^1.0.7", 1781 | "supports-preserve-symlinks-flag": "^1.0.0" 1782 | }, 1783 | "bin": { 1784 | "resolve": "bin/resolve" 1785 | }, 1786 | "funding": { 1787 | "url": "https://github.com/sponsors/ljharb" 1788 | } 1789 | }, 1790 | "node_modules/reusify": { 1791 | "version": "1.0.4", 1792 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1793 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1794 | "dev": true, 1795 | "engines": { 1796 | "iojs": ">=1.0.0", 1797 | "node": ">=0.10.0" 1798 | } 1799 | }, 1800 | "node_modules/rollup": { 1801 | "version": "3.26.3", 1802 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", 1803 | "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", 1804 | "dev": true, 1805 | "bin": { 1806 | "rollup": "dist/bin/rollup" 1807 | }, 1808 | "engines": { 1809 | "node": ">=14.18.0", 1810 | "npm": ">=8.0.0" 1811 | }, 1812 | "optionalDependencies": { 1813 | "fsevents": "~2.3.2" 1814 | } 1815 | }, 1816 | "node_modules/run-parallel": { 1817 | "version": "1.2.0", 1818 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1819 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1820 | "dev": true, 1821 | "funding": [ 1822 | { 1823 | "type": "github", 1824 | "url": "https://github.com/sponsors/feross" 1825 | }, 1826 | { 1827 | "type": "patreon", 1828 | "url": "https://www.patreon.com/feross" 1829 | }, 1830 | { 1831 | "type": "consulting", 1832 | "url": "https://feross.org/support" 1833 | } 1834 | ], 1835 | "dependencies": { 1836 | "queue-microtask": "^1.2.2" 1837 | } 1838 | }, 1839 | "node_modules/semver": { 1840 | "version": "6.3.1", 1841 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 1842 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 1843 | "dev": true, 1844 | "bin": { 1845 | "semver": "bin/semver.js" 1846 | } 1847 | }, 1848 | "node_modules/source-map-js": { 1849 | "version": "1.0.2", 1850 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1851 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1852 | "engines": { 1853 | "node": ">=0.10.0" 1854 | } 1855 | }, 1856 | "node_modules/strip-outer": { 1857 | "version": "1.0.1", 1858 | "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", 1859 | "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", 1860 | "dev": true, 1861 | "dependencies": { 1862 | "escape-string-regexp": "^1.0.2" 1863 | }, 1864 | "engines": { 1865 | "node": ">=0.10.0" 1866 | } 1867 | }, 1868 | "node_modules/sucrase": { 1869 | "version": "3.33.0", 1870 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.33.0.tgz", 1871 | "integrity": "sha512-ARGC7vbufOHfpvyGcZZXFaXCMZ9A4fffOGC5ucOW7+WHDGlAe8LJdf3Jts1sWhDeiI1RSWrKy5Hodl+JWGdW2A==", 1872 | "dev": true, 1873 | "dependencies": { 1874 | "@jridgewell/gen-mapping": "^0.3.2", 1875 | "commander": "^4.0.0", 1876 | "glob": "7.1.6", 1877 | "lines-and-columns": "^1.1.6", 1878 | "mz": "^2.7.0", 1879 | "pirates": "^4.0.1", 1880 | "ts-interface-checker": "^0.1.9" 1881 | }, 1882 | "bin": { 1883 | "sucrase": "bin/sucrase", 1884 | "sucrase-node": "bin/sucrase-node" 1885 | }, 1886 | "engines": { 1887 | "node": ">=8" 1888 | } 1889 | }, 1890 | "node_modules/supports-preserve-symlinks-flag": { 1891 | "version": "1.0.0", 1892 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1893 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1894 | "dev": true, 1895 | "engines": { 1896 | "node": ">= 0.4" 1897 | }, 1898 | "funding": { 1899 | "url": "https://github.com/sponsors/ljharb" 1900 | } 1901 | }, 1902 | "node_modules/sweetalert2": { 1903 | "version": "11.7.18", 1904 | "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.7.18.tgz", 1905 | "integrity": "sha512-Njl5JTDasSP8yRX9cpLdy2fdxHZYPYNmiIGNZykF2Zt1UHIvurwt/W2LmlGe5RbyMDHYDXuHqlD1Q8Vr5/mqlA==", 1906 | "funding": { 1907 | "type": "individual", 1908 | "url": "https://github.com/sponsors/limonte" 1909 | } 1910 | }, 1911 | "node_modules/tailwindcss": { 1912 | "version": "3.3.3", 1913 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", 1914 | "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", 1915 | "dev": true, 1916 | "dependencies": { 1917 | "@alloc/quick-lru": "^5.2.0", 1918 | "arg": "^5.0.2", 1919 | "chokidar": "^3.5.3", 1920 | "didyoumean": "^1.2.2", 1921 | "dlv": "^1.1.3", 1922 | "fast-glob": "^3.2.12", 1923 | "glob-parent": "^6.0.2", 1924 | "is-glob": "^4.0.3", 1925 | "jiti": "^1.18.2", 1926 | "lilconfig": "^2.1.0", 1927 | "micromatch": "^4.0.5", 1928 | "normalize-path": "^3.0.0", 1929 | "object-hash": "^3.0.0", 1930 | "picocolors": "^1.0.0", 1931 | "postcss": "^8.4.23", 1932 | "postcss-import": "^15.1.0", 1933 | "postcss-js": "^4.0.1", 1934 | "postcss-load-config": "^4.0.1", 1935 | "postcss-nested": "^6.0.1", 1936 | "postcss-selector-parser": "^6.0.11", 1937 | "resolve": "^1.22.2", 1938 | "sucrase": "^3.32.0" 1939 | }, 1940 | "bin": { 1941 | "tailwind": "lib/cli.js", 1942 | "tailwindcss": "lib/cli.js" 1943 | }, 1944 | "engines": { 1945 | "node": ">=14.0.0" 1946 | } 1947 | }, 1948 | "node_modules/thenify": { 1949 | "version": "3.3.1", 1950 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 1951 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 1952 | "dev": true, 1953 | "dependencies": { 1954 | "any-promise": "^1.0.0" 1955 | } 1956 | }, 1957 | "node_modules/thenify-all": { 1958 | "version": "1.6.0", 1959 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 1960 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 1961 | "dev": true, 1962 | "dependencies": { 1963 | "thenify": ">= 3.1.0 < 4" 1964 | }, 1965 | "engines": { 1966 | "node": ">=0.8" 1967 | } 1968 | }, 1969 | "node_modules/to-regex-range": { 1970 | "version": "5.0.1", 1971 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1972 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1973 | "dev": true, 1974 | "dependencies": { 1975 | "is-number": "^7.0.0" 1976 | }, 1977 | "engines": { 1978 | "node": ">=8.0" 1979 | } 1980 | }, 1981 | "node_modules/trim-repeated": { 1982 | "version": "1.0.0", 1983 | "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", 1984 | "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", 1985 | "dev": true, 1986 | "dependencies": { 1987 | "escape-string-regexp": "^1.0.2" 1988 | }, 1989 | "engines": { 1990 | "node": ">=0.10.0" 1991 | } 1992 | }, 1993 | "node_modules/ts-interface-checker": { 1994 | "version": "0.1.13", 1995 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 1996 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 1997 | "dev": true 1998 | }, 1999 | "node_modules/universalify": { 2000 | "version": "0.1.2", 2001 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2002 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 2003 | "dev": true, 2004 | "engines": { 2005 | "node": ">= 4.0.0" 2006 | } 2007 | }, 2008 | "node_modules/update-browserslist-db": { 2009 | "version": "1.0.11", 2010 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", 2011 | "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", 2012 | "dev": true, 2013 | "funding": [ 2014 | { 2015 | "type": "opencollective", 2016 | "url": "https://opencollective.com/browserslist" 2017 | }, 2018 | { 2019 | "type": "tidelift", 2020 | "url": "https://tidelift.com/funding/github/npm/browserslist" 2021 | }, 2022 | { 2023 | "type": "github", 2024 | "url": "https://github.com/sponsors/ai" 2025 | } 2026 | ], 2027 | "dependencies": { 2028 | "escalade": "^3.1.1", 2029 | "picocolors": "^1.0.0" 2030 | }, 2031 | "bin": { 2032 | "update-browserslist-db": "cli.js" 2033 | }, 2034 | "peerDependencies": { 2035 | "browserslist": ">= 4.21.0" 2036 | } 2037 | }, 2038 | "node_modules/util-deprecate": { 2039 | "version": "1.0.2", 2040 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2041 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2042 | "dev": true 2043 | }, 2044 | "node_modules/vite": { 2045 | "version": "4.4.4", 2046 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.4.tgz", 2047 | "integrity": "sha512-4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==", 2048 | "dev": true, 2049 | "dependencies": { 2050 | "esbuild": "^0.18.10", 2051 | "postcss": "^8.4.25", 2052 | "rollup": "^3.25.2" 2053 | }, 2054 | "bin": { 2055 | "vite": "bin/vite.js" 2056 | }, 2057 | "engines": { 2058 | "node": "^14.18.0 || >=16.0.0" 2059 | }, 2060 | "funding": { 2061 | "url": "https://github.com/vitejs/vite?sponsor=1" 2062 | }, 2063 | "optionalDependencies": { 2064 | "fsevents": "~2.3.2" 2065 | }, 2066 | "peerDependencies": { 2067 | "@types/node": ">= 14", 2068 | "less": "*", 2069 | "lightningcss": "^1.21.0", 2070 | "sass": "*", 2071 | "stylus": "*", 2072 | "sugarss": "*", 2073 | "terser": "^5.4.0" 2074 | }, 2075 | "peerDependenciesMeta": { 2076 | "@types/node": { 2077 | "optional": true 2078 | }, 2079 | "less": { 2080 | "optional": true 2081 | }, 2082 | "lightningcss": { 2083 | "optional": true 2084 | }, 2085 | "sass": { 2086 | "optional": true 2087 | }, 2088 | "stylus": { 2089 | "optional": true 2090 | }, 2091 | "sugarss": { 2092 | "optional": true 2093 | }, 2094 | "terser": { 2095 | "optional": true 2096 | } 2097 | } 2098 | }, 2099 | "node_modules/vue": { 2100 | "version": "3.3.4", 2101 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", 2102 | "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", 2103 | "dependencies": { 2104 | "@vue/compiler-dom": "3.3.4", 2105 | "@vue/compiler-sfc": "3.3.4", 2106 | "@vue/runtime-dom": "3.3.4", 2107 | "@vue/server-renderer": "3.3.4", 2108 | "@vue/shared": "3.3.4" 2109 | } 2110 | }, 2111 | "node_modules/vue3-smooth-scroll": { 2112 | "version": "0.8.1", 2113 | "resolved": "https://registry.npmjs.org/vue3-smooth-scroll/-/vue3-smooth-scroll-0.8.1.tgz", 2114 | "integrity": "sha512-9EN1aiBT2RtkIe1MoGiyGjUoLmqmlJ96R9/QVCylaiurHQ7oGu1SPzEoGJyxdhCa1q3qyMcX/pne1oTAn1UaoQ==" 2115 | }, 2116 | "node_modules/wrappy": { 2117 | "version": "1.0.2", 2118 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2119 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2120 | "dev": true 2121 | }, 2122 | "node_modules/yaml": { 2123 | "version": "2.3.1", 2124 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", 2125 | "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", 2126 | "dev": true, 2127 | "engines": { 2128 | "node": ">= 14" 2129 | } 2130 | } 2131 | } 2132 | } 2133 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-project", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview", 10 | "deploy": "gh-pages -d dist" 11 | }, 12 | "dependencies": { 13 | "sweetalert2": "^11.7.18", 14 | "vue": "^3.3.4", 15 | "vue3-smooth-scroll": "^0.8.1" 16 | }, 17 | "devDependencies": { 18 | "@tailwindcss/forms": "^0.5.4", 19 | "@vitejs/plugin-vue": "^4.2.3", 20 | "autoprefixer": "^10.4.14", 21 | "gh-pages": "^5.0.0", 22 | "postcss": "^8.4.26", 23 | "tailwindcss": "^3.3.3", 24 | "vite": "^4.4.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/images/bg-dots.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FahimAnzamDip/vue-landing-page/8c125d2d01734074d1a11f4e2fa20b66e9ccd12c/public/images/favicon-32x32.png -------------------------------------------------------------------------------- /public/images/icon-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/icon-close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/icon-error.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/icon-facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/icon-hamburger.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/icon-twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/illustration-features-tab-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/illustration-features-tab-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/illustration-features-tab-3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/illustration-hero.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/logo-bookmark-white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/logo-bookmark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/logo-chrome.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/logo-firefox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/logo-opera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FahimAnzamDip/vue-landing-page/8c125d2d01734074d1a11f4e2fa20b66e9ccd12c/screenshot.png -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/style.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | -------------------------------------------------------------------------------- /src/components/Button.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 16 | -------------------------------------------------------------------------------- /src/components/LinkButton.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 20 | -------------------------------------------------------------------------------- /src/data/downloads.js: -------------------------------------------------------------------------------- 1 | const downloads = [ 2 | { 3 | id: 1, 4 | icon: "images/logo-chrome.svg", 5 | title: "Add to Chrome", 6 | subTitle: "Minimum version 62", 7 | link: "#", 8 | }, 9 | { 10 | id: 2, 11 | icon: "images/logo-firefox.svg", 12 | title: "Add to Firefox", 13 | subTitle: "Minimum version 55", 14 | link: "#", 15 | }, 16 | { 17 | id: 3, 18 | icon: "images/logo-opera.svg", 19 | title: "Add to Opera", 20 | subTitle: "Minimum version 46", 21 | link: "#", 22 | }, 23 | ]; 24 | 25 | export default downloads; 26 | -------------------------------------------------------------------------------- /src/data/faqs.js: -------------------------------------------------------------------------------- 1 | const faqs = [ 2 | { 3 | id: 1, 4 | title: "What is bookmark?", 5 | description: "A bookmark is a feature that allows users to save the URL of a webpage for quick access later. It acts as a shortcut to the webpage, allowing you to navigate back to it without having to remember or search for the URL. Bookmarks are handy for keeping track of your favorite websites, important articles, or resources that you frequently visit. They help you organize your online content and improve your browsing experience.", 6 | }, 7 | { 8 | id: 2, 9 | title: "How can I request a new browser?", 10 | description: "To request a new browser, you can visit our official website and navigate to the 'Feedback' or 'Contact Us' section. There, you can submit your request for a new browser version or feature. Additionally, you can participate in our community forums or reach out to our support team with your suggestions. We value user feedback and use it to enhance our products, so your input is essential in shaping the future of our browser.", 11 | }, 12 | { 13 | id: 3, 14 | title: "Is there a mobile app available?", 15 | description: "Yes, we offer a mobile app for both Android and iOS platforms. You can download our mobile app from the respective app stores (Google Play Store for Android and the App Store for iOS). The mobile app allows you to sync your bookmarks, browsing history, and other settings across all your devices. You can access your bookmarks on the go, and it provides a seamless browsing experience across your mobile and desktop devices.", 16 | }, 17 | { 18 | id: 4, 19 | title: "What about other Chromium browsers?", 20 | description: "Our bookmarking feature is compatible with various Chromium-based browsers, including popular ones like Google Chrome, Microsoft Edge, Brave, Vivaldi, and others. As long as you are using a version of these browsers that is 62 or higher, you can enjoy the benefits of our bookmarking tool. The integration is seamless and allows you to manage your bookmarks efficiently, regardless of the Chromium browser you prefer.", 21 | }, 22 | ]; 23 | 24 | export default faqs; 25 | -------------------------------------------------------------------------------- /src/data/features.js: -------------------------------------------------------------------------------- 1 | const features = [ 2 | { 3 | id: 1, 4 | name: "Simple Bookmaring", 5 | details: { 6 | imageUrl: "images/illustration-features-tab-1.svg", 7 | title: "Bookmark in one click", 8 | description: "Organize your bookmarks however you like. Our simple drag-n-drop interface gives you complete control over how you manage your favorite websites.", 9 | link: "#", 10 | }, 11 | }, 12 | { 13 | id: 2, 14 | name: "Speedy Searching", 15 | details: { 16 | imageUrl: "images/illustration-features-tab-2.svg", 17 | title: "Intelligent search", 18 | description: "Get quick results with our intelligent search feature. Find your bookmarks effortlessly and save time navigating through your favorite websites.", 19 | link: "#", 20 | }, 21 | }, 22 | { 23 | id: 3, 24 | name: "Speedy Sharing", 25 | details: { 26 | imageUrl: "images/illustration-features-tab-3.svg", 27 | title: "Easy sharing", 28 | description: "Share your bookmarks seamlessly with others. Our intuitive sharing options allow you to collaborate and spread the word about your favorite websites.", 29 | link: "#", 30 | }, 31 | }, 32 | ]; 33 | 34 | export default features; 35 | -------------------------------------------------------------------------------- /src/layouts/Footer.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 43 | -------------------------------------------------------------------------------- /src/layouts/Header.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /src/layouts/Main.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 20 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import "./assets/style.css"; 3 | import App from "./App.vue"; 4 | import VueSmoothScroll from "vue3-smooth-scroll"; 5 | 6 | import Button from "./components/Button.vue"; 7 | import LinkButton from "./components/LinkButton.vue"; 8 | 9 | let app = createApp(App); 10 | 11 | app.use(VueSmoothScroll); 12 | 13 | app.component("Button", Button); 14 | app.component("LinkButton", LinkButton); 15 | 16 | app.mount("#app"); 17 | -------------------------------------------------------------------------------- /src/sections/DownloadSection.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 32 | -------------------------------------------------------------------------------- /src/sections/FaqSection.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 35 | -------------------------------------------------------------------------------- /src/sections/FeatureSection.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 50 | -------------------------------------------------------------------------------- /src/sections/HeroSection.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 23 | -------------------------------------------------------------------------------- /src/sections/SubscribeSection.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 49 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | export default { 3 | content: ["./index.html", "./src/**/*.vue"], 4 | theme: { 5 | fontFamily: { 6 | "theme-heading": ["'Exo 2'", "sans-serif"], 7 | "theme-content": ["Alegreya Sans", "sans-serif"], 8 | }, 9 | extend: { 10 | colors: { 11 | "theme-primary": "#5368DF", 12 | "theme-secondary": "#FA5757", 13 | "theme-grayish-blue": "#9194A1", 14 | "theme-dark-blue": "rgb(37, 43, 70)", 15 | "theme-dark-blue-tp": "rgba(37, 43, 70, 0.9)", 16 | }, 17 | }, 18 | }, 19 | plugins: [require("@tailwindcss/forms")], 20 | }; 21 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | base: "/vue-landing-page/", 7 | plugins: [vue()], 8 | }); 9 | --------------------------------------------------------------------------------