├── .gitignore ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── public └── vite.svg ├── src ├── App.tsx ├── ArrowRight.tsx ├── BoatVideo.tsx ├── Compass.tsx ├── HeroText.tsx ├── Home.tsx ├── Logo.tsx ├── MapImages.tsx ├── Navbar.tsx ├── assets │ ├── boat-video.mp4 │ ├── map_1.png │ ├── map_2.png │ └── react.svg ├── index.css ├── main.tsx ├── utils │ └── animation.ts └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json ├── vite.config.ts └── windi.config.ts /.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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 3D Animated Boat Website 2 | 3 | Source code for 3D animated boat website made in React. 4 | 5 | ⚒️ Technologies used: 6 | - React 7 | - TypeScript 8 | - WindiCSS 9 | - FramerMotion 10 | 11 | 📽️ Check out full video my YouTube channel: 12 | https://youtu.be/jNj9rZ3mK00 13 | 14 | 🖋️ Designed by: 15 | Oxeni - Web Development 16 | https://dribbble.com/Oxeni 17 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React + TS 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "boat-website", 3 | "version": "0.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "boat-website", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "framer-motion": "^10.11.2", 12 | "react": "^18.2.0", 13 | "react-dom": "^18.2.0" 14 | }, 15 | "devDependencies": { 16 | "@types/react": "^18.0.28", 17 | "@types/react-dom": "^18.0.11", 18 | "@vitejs/plugin-react": "^3.1.0", 19 | "typescript": "^4.9.3", 20 | "vite": "^4.2.0", 21 | "vite-plugin-windicss": "^1.8.10", 22 | "windicss": "^3.5.6" 23 | } 24 | }, 25 | "node_modules/@ampproject/remapping": { 26 | "version": "2.2.1", 27 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", 28 | "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", 29 | "dev": true, 30 | "dependencies": { 31 | "@jridgewell/gen-mapping": "^0.3.0", 32 | "@jridgewell/trace-mapping": "^0.3.9" 33 | }, 34 | "engines": { 35 | "node": ">=6.0.0" 36 | } 37 | }, 38 | "node_modules/@antfu/utils": { 39 | "version": "0.7.2", 40 | "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", 41 | "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", 42 | "dev": true, 43 | "funding": { 44 | "url": "https://github.com/sponsors/antfu" 45 | } 46 | }, 47 | "node_modules/@babel/code-frame": { 48 | "version": "7.21.4", 49 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", 50 | "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", 51 | "dev": true, 52 | "dependencies": { 53 | "@babel/highlight": "^7.18.6" 54 | }, 55 | "engines": { 56 | "node": ">=6.9.0" 57 | } 58 | }, 59 | "node_modules/@babel/compat-data": { 60 | "version": "7.21.4", 61 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", 62 | "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", 63 | "dev": true, 64 | "engines": { 65 | "node": ">=6.9.0" 66 | } 67 | }, 68 | "node_modules/@babel/core": { 69 | "version": "7.21.4", 70 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", 71 | "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", 72 | "dev": true, 73 | "dependencies": { 74 | "@ampproject/remapping": "^2.2.0", 75 | "@babel/code-frame": "^7.21.4", 76 | "@babel/generator": "^7.21.4", 77 | "@babel/helper-compilation-targets": "^7.21.4", 78 | "@babel/helper-module-transforms": "^7.21.2", 79 | "@babel/helpers": "^7.21.0", 80 | "@babel/parser": "^7.21.4", 81 | "@babel/template": "^7.20.7", 82 | "@babel/traverse": "^7.21.4", 83 | "@babel/types": "^7.21.4", 84 | "convert-source-map": "^1.7.0", 85 | "debug": "^4.1.0", 86 | "gensync": "^1.0.0-beta.2", 87 | "json5": "^2.2.2", 88 | "semver": "^6.3.0" 89 | }, 90 | "engines": { 91 | "node": ">=6.9.0" 92 | }, 93 | "funding": { 94 | "type": "opencollective", 95 | "url": "https://opencollective.com/babel" 96 | } 97 | }, 98 | "node_modules/@babel/generator": { 99 | "version": "7.21.4", 100 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", 101 | "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", 102 | "dev": true, 103 | "dependencies": { 104 | "@babel/types": "^7.21.4", 105 | "@jridgewell/gen-mapping": "^0.3.2", 106 | "@jridgewell/trace-mapping": "^0.3.17", 107 | "jsesc": "^2.5.1" 108 | }, 109 | "engines": { 110 | "node": ">=6.9.0" 111 | } 112 | }, 113 | "node_modules/@babel/helper-compilation-targets": { 114 | "version": "7.21.4", 115 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", 116 | "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", 117 | "dev": true, 118 | "dependencies": { 119 | "@babel/compat-data": "^7.21.4", 120 | "@babel/helper-validator-option": "^7.21.0", 121 | "browserslist": "^4.21.3", 122 | "lru-cache": "^5.1.1", 123 | "semver": "^6.3.0" 124 | }, 125 | "engines": { 126 | "node": ">=6.9.0" 127 | }, 128 | "peerDependencies": { 129 | "@babel/core": "^7.0.0" 130 | } 131 | }, 132 | "node_modules/@babel/helper-environment-visitor": { 133 | "version": "7.18.9", 134 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", 135 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", 136 | "dev": true, 137 | "engines": { 138 | "node": ">=6.9.0" 139 | } 140 | }, 141 | "node_modules/@babel/helper-function-name": { 142 | "version": "7.21.0", 143 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", 144 | "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", 145 | "dev": true, 146 | "dependencies": { 147 | "@babel/template": "^7.20.7", 148 | "@babel/types": "^7.21.0" 149 | }, 150 | "engines": { 151 | "node": ">=6.9.0" 152 | } 153 | }, 154 | "node_modules/@babel/helper-hoist-variables": { 155 | "version": "7.18.6", 156 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", 157 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", 158 | "dev": true, 159 | "dependencies": { 160 | "@babel/types": "^7.18.6" 161 | }, 162 | "engines": { 163 | "node": ">=6.9.0" 164 | } 165 | }, 166 | "node_modules/@babel/helper-module-imports": { 167 | "version": "7.21.4", 168 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", 169 | "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", 170 | "dev": true, 171 | "dependencies": { 172 | "@babel/types": "^7.21.4" 173 | }, 174 | "engines": { 175 | "node": ">=6.9.0" 176 | } 177 | }, 178 | "node_modules/@babel/helper-module-transforms": { 179 | "version": "7.21.2", 180 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", 181 | "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", 182 | "dev": true, 183 | "dependencies": { 184 | "@babel/helper-environment-visitor": "^7.18.9", 185 | "@babel/helper-module-imports": "^7.18.6", 186 | "@babel/helper-simple-access": "^7.20.2", 187 | "@babel/helper-split-export-declaration": "^7.18.6", 188 | "@babel/helper-validator-identifier": "^7.19.1", 189 | "@babel/template": "^7.20.7", 190 | "@babel/traverse": "^7.21.2", 191 | "@babel/types": "^7.21.2" 192 | }, 193 | "engines": { 194 | "node": ">=6.9.0" 195 | } 196 | }, 197 | "node_modules/@babel/helper-plugin-utils": { 198 | "version": "7.20.2", 199 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", 200 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", 201 | "dev": true, 202 | "engines": { 203 | "node": ">=6.9.0" 204 | } 205 | }, 206 | "node_modules/@babel/helper-simple-access": { 207 | "version": "7.20.2", 208 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", 209 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", 210 | "dev": true, 211 | "dependencies": { 212 | "@babel/types": "^7.20.2" 213 | }, 214 | "engines": { 215 | "node": ">=6.9.0" 216 | } 217 | }, 218 | "node_modules/@babel/helper-split-export-declaration": { 219 | "version": "7.18.6", 220 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", 221 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", 222 | "dev": true, 223 | "dependencies": { 224 | "@babel/types": "^7.18.6" 225 | }, 226 | "engines": { 227 | "node": ">=6.9.0" 228 | } 229 | }, 230 | "node_modules/@babel/helper-string-parser": { 231 | "version": "7.19.4", 232 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", 233 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", 234 | "dev": true, 235 | "engines": { 236 | "node": ">=6.9.0" 237 | } 238 | }, 239 | "node_modules/@babel/helper-validator-identifier": { 240 | "version": "7.19.1", 241 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", 242 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", 243 | "dev": true, 244 | "engines": { 245 | "node": ">=6.9.0" 246 | } 247 | }, 248 | "node_modules/@babel/helper-validator-option": { 249 | "version": "7.21.0", 250 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", 251 | "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", 252 | "dev": true, 253 | "engines": { 254 | "node": ">=6.9.0" 255 | } 256 | }, 257 | "node_modules/@babel/helpers": { 258 | "version": "7.21.0", 259 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", 260 | "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", 261 | "dev": true, 262 | "dependencies": { 263 | "@babel/template": "^7.20.7", 264 | "@babel/traverse": "^7.21.0", 265 | "@babel/types": "^7.21.0" 266 | }, 267 | "engines": { 268 | "node": ">=6.9.0" 269 | } 270 | }, 271 | "node_modules/@babel/highlight": { 272 | "version": "7.18.6", 273 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", 274 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", 275 | "dev": true, 276 | "dependencies": { 277 | "@babel/helper-validator-identifier": "^7.18.6", 278 | "chalk": "^2.0.0", 279 | "js-tokens": "^4.0.0" 280 | }, 281 | "engines": { 282 | "node": ">=6.9.0" 283 | } 284 | }, 285 | "node_modules/@babel/parser": { 286 | "version": "7.21.4", 287 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", 288 | "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", 289 | "dev": true, 290 | "bin": { 291 | "parser": "bin/babel-parser.js" 292 | }, 293 | "engines": { 294 | "node": ">=6.0.0" 295 | } 296 | }, 297 | "node_modules/@babel/plugin-transform-react-jsx-self": { 298 | "version": "7.21.0", 299 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", 300 | "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", 301 | "dev": true, 302 | "dependencies": { 303 | "@babel/helper-plugin-utils": "^7.20.2" 304 | }, 305 | "engines": { 306 | "node": ">=6.9.0" 307 | }, 308 | "peerDependencies": { 309 | "@babel/core": "^7.0.0-0" 310 | } 311 | }, 312 | "node_modules/@babel/plugin-transform-react-jsx-source": { 313 | "version": "7.19.6", 314 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", 315 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", 316 | "dev": true, 317 | "dependencies": { 318 | "@babel/helper-plugin-utils": "^7.19.0" 319 | }, 320 | "engines": { 321 | "node": ">=6.9.0" 322 | }, 323 | "peerDependencies": { 324 | "@babel/core": "^7.0.0-0" 325 | } 326 | }, 327 | "node_modules/@babel/template": { 328 | "version": "7.20.7", 329 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", 330 | "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", 331 | "dev": true, 332 | "dependencies": { 333 | "@babel/code-frame": "^7.18.6", 334 | "@babel/parser": "^7.20.7", 335 | "@babel/types": "^7.20.7" 336 | }, 337 | "engines": { 338 | "node": ">=6.9.0" 339 | } 340 | }, 341 | "node_modules/@babel/traverse": { 342 | "version": "7.21.4", 343 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", 344 | "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", 345 | "dev": true, 346 | "dependencies": { 347 | "@babel/code-frame": "^7.21.4", 348 | "@babel/generator": "^7.21.4", 349 | "@babel/helper-environment-visitor": "^7.18.9", 350 | "@babel/helper-function-name": "^7.21.0", 351 | "@babel/helper-hoist-variables": "^7.18.6", 352 | "@babel/helper-split-export-declaration": "^7.18.6", 353 | "@babel/parser": "^7.21.4", 354 | "@babel/types": "^7.21.4", 355 | "debug": "^4.1.0", 356 | "globals": "^11.1.0" 357 | }, 358 | "engines": { 359 | "node": ">=6.9.0" 360 | } 361 | }, 362 | "node_modules/@babel/types": { 363 | "version": "7.21.4", 364 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", 365 | "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", 366 | "dev": true, 367 | "dependencies": { 368 | "@babel/helper-string-parser": "^7.19.4", 369 | "@babel/helper-validator-identifier": "^7.19.1", 370 | "to-fast-properties": "^2.0.0" 371 | }, 372 | "engines": { 373 | "node": ">=6.9.0" 374 | } 375 | }, 376 | "node_modules/@emotion/is-prop-valid": { 377 | "version": "0.8.8", 378 | "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", 379 | "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", 380 | "optional": true, 381 | "dependencies": { 382 | "@emotion/memoize": "0.7.4" 383 | } 384 | }, 385 | "node_modules/@emotion/memoize": { 386 | "version": "0.7.4", 387 | "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", 388 | "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", 389 | "optional": true 390 | }, 391 | "node_modules/@esbuild/android-arm": { 392 | "version": "0.17.15", 393 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", 394 | "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", 395 | "cpu": [ 396 | "arm" 397 | ], 398 | "dev": true, 399 | "optional": true, 400 | "os": [ 401 | "android" 402 | ], 403 | "engines": { 404 | "node": ">=12" 405 | } 406 | }, 407 | "node_modules/@esbuild/android-arm64": { 408 | "version": "0.17.15", 409 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", 410 | "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", 411 | "cpu": [ 412 | "arm64" 413 | ], 414 | "dev": true, 415 | "optional": true, 416 | "os": [ 417 | "android" 418 | ], 419 | "engines": { 420 | "node": ">=12" 421 | } 422 | }, 423 | "node_modules/@esbuild/android-x64": { 424 | "version": "0.17.15", 425 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", 426 | "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", 427 | "cpu": [ 428 | "x64" 429 | ], 430 | "dev": true, 431 | "optional": true, 432 | "os": [ 433 | "android" 434 | ], 435 | "engines": { 436 | "node": ">=12" 437 | } 438 | }, 439 | "node_modules/@esbuild/darwin-arm64": { 440 | "version": "0.17.15", 441 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", 442 | "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", 443 | "cpu": [ 444 | "arm64" 445 | ], 446 | "dev": true, 447 | "optional": true, 448 | "os": [ 449 | "darwin" 450 | ], 451 | "engines": { 452 | "node": ">=12" 453 | } 454 | }, 455 | "node_modules/@esbuild/darwin-x64": { 456 | "version": "0.17.15", 457 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", 458 | "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", 459 | "cpu": [ 460 | "x64" 461 | ], 462 | "dev": true, 463 | "optional": true, 464 | "os": [ 465 | "darwin" 466 | ], 467 | "engines": { 468 | "node": ">=12" 469 | } 470 | }, 471 | "node_modules/@esbuild/freebsd-arm64": { 472 | "version": "0.17.15", 473 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", 474 | "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", 475 | "cpu": [ 476 | "arm64" 477 | ], 478 | "dev": true, 479 | "optional": true, 480 | "os": [ 481 | "freebsd" 482 | ], 483 | "engines": { 484 | "node": ">=12" 485 | } 486 | }, 487 | "node_modules/@esbuild/freebsd-x64": { 488 | "version": "0.17.15", 489 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", 490 | "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", 491 | "cpu": [ 492 | "x64" 493 | ], 494 | "dev": true, 495 | "optional": true, 496 | "os": [ 497 | "freebsd" 498 | ], 499 | "engines": { 500 | "node": ">=12" 501 | } 502 | }, 503 | "node_modules/@esbuild/linux-arm": { 504 | "version": "0.17.15", 505 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", 506 | "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", 507 | "cpu": [ 508 | "arm" 509 | ], 510 | "dev": true, 511 | "optional": true, 512 | "os": [ 513 | "linux" 514 | ], 515 | "engines": { 516 | "node": ">=12" 517 | } 518 | }, 519 | "node_modules/@esbuild/linux-arm64": { 520 | "version": "0.17.15", 521 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", 522 | "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", 523 | "cpu": [ 524 | "arm64" 525 | ], 526 | "dev": true, 527 | "optional": true, 528 | "os": [ 529 | "linux" 530 | ], 531 | "engines": { 532 | "node": ">=12" 533 | } 534 | }, 535 | "node_modules/@esbuild/linux-ia32": { 536 | "version": "0.17.15", 537 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", 538 | "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", 539 | "cpu": [ 540 | "ia32" 541 | ], 542 | "dev": true, 543 | "optional": true, 544 | "os": [ 545 | "linux" 546 | ], 547 | "engines": { 548 | "node": ">=12" 549 | } 550 | }, 551 | "node_modules/@esbuild/linux-loong64": { 552 | "version": "0.17.15", 553 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", 554 | "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", 555 | "cpu": [ 556 | "loong64" 557 | ], 558 | "dev": true, 559 | "optional": true, 560 | "os": [ 561 | "linux" 562 | ], 563 | "engines": { 564 | "node": ">=12" 565 | } 566 | }, 567 | "node_modules/@esbuild/linux-mips64el": { 568 | "version": "0.17.15", 569 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", 570 | "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", 571 | "cpu": [ 572 | "mips64el" 573 | ], 574 | "dev": true, 575 | "optional": true, 576 | "os": [ 577 | "linux" 578 | ], 579 | "engines": { 580 | "node": ">=12" 581 | } 582 | }, 583 | "node_modules/@esbuild/linux-ppc64": { 584 | "version": "0.17.15", 585 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", 586 | "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", 587 | "cpu": [ 588 | "ppc64" 589 | ], 590 | "dev": true, 591 | "optional": true, 592 | "os": [ 593 | "linux" 594 | ], 595 | "engines": { 596 | "node": ">=12" 597 | } 598 | }, 599 | "node_modules/@esbuild/linux-riscv64": { 600 | "version": "0.17.15", 601 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", 602 | "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", 603 | "cpu": [ 604 | "riscv64" 605 | ], 606 | "dev": true, 607 | "optional": true, 608 | "os": [ 609 | "linux" 610 | ], 611 | "engines": { 612 | "node": ">=12" 613 | } 614 | }, 615 | "node_modules/@esbuild/linux-s390x": { 616 | "version": "0.17.15", 617 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", 618 | "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", 619 | "cpu": [ 620 | "s390x" 621 | ], 622 | "dev": true, 623 | "optional": true, 624 | "os": [ 625 | "linux" 626 | ], 627 | "engines": { 628 | "node": ">=12" 629 | } 630 | }, 631 | "node_modules/@esbuild/linux-x64": { 632 | "version": "0.17.15", 633 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", 634 | "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", 635 | "cpu": [ 636 | "x64" 637 | ], 638 | "dev": true, 639 | "optional": true, 640 | "os": [ 641 | "linux" 642 | ], 643 | "engines": { 644 | "node": ">=12" 645 | } 646 | }, 647 | "node_modules/@esbuild/netbsd-x64": { 648 | "version": "0.17.15", 649 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", 650 | "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", 651 | "cpu": [ 652 | "x64" 653 | ], 654 | "dev": true, 655 | "optional": true, 656 | "os": [ 657 | "netbsd" 658 | ], 659 | "engines": { 660 | "node": ">=12" 661 | } 662 | }, 663 | "node_modules/@esbuild/openbsd-x64": { 664 | "version": "0.17.15", 665 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", 666 | "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", 667 | "cpu": [ 668 | "x64" 669 | ], 670 | "dev": true, 671 | "optional": true, 672 | "os": [ 673 | "openbsd" 674 | ], 675 | "engines": { 676 | "node": ">=12" 677 | } 678 | }, 679 | "node_modules/@esbuild/sunos-x64": { 680 | "version": "0.17.15", 681 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", 682 | "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", 683 | "cpu": [ 684 | "x64" 685 | ], 686 | "dev": true, 687 | "optional": true, 688 | "os": [ 689 | "sunos" 690 | ], 691 | "engines": { 692 | "node": ">=12" 693 | } 694 | }, 695 | "node_modules/@esbuild/win32-arm64": { 696 | "version": "0.17.15", 697 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", 698 | "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", 699 | "cpu": [ 700 | "arm64" 701 | ], 702 | "dev": true, 703 | "optional": true, 704 | "os": [ 705 | "win32" 706 | ], 707 | "engines": { 708 | "node": ">=12" 709 | } 710 | }, 711 | "node_modules/@esbuild/win32-ia32": { 712 | "version": "0.17.15", 713 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", 714 | "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", 715 | "cpu": [ 716 | "ia32" 717 | ], 718 | "dev": true, 719 | "optional": true, 720 | "os": [ 721 | "win32" 722 | ], 723 | "engines": { 724 | "node": ">=12" 725 | } 726 | }, 727 | "node_modules/@esbuild/win32-x64": { 728 | "version": "0.17.15", 729 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", 730 | "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", 731 | "cpu": [ 732 | "x64" 733 | ], 734 | "dev": true, 735 | "optional": true, 736 | "os": [ 737 | "win32" 738 | ], 739 | "engines": { 740 | "node": ">=12" 741 | } 742 | }, 743 | "node_modules/@jridgewell/gen-mapping": { 744 | "version": "0.3.3", 745 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 746 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 747 | "dev": true, 748 | "dependencies": { 749 | "@jridgewell/set-array": "^1.0.1", 750 | "@jridgewell/sourcemap-codec": "^1.4.10", 751 | "@jridgewell/trace-mapping": "^0.3.9" 752 | }, 753 | "engines": { 754 | "node": ">=6.0.0" 755 | } 756 | }, 757 | "node_modules/@jridgewell/resolve-uri": { 758 | "version": "3.1.0", 759 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 760 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 761 | "dev": true, 762 | "engines": { 763 | "node": ">=6.0.0" 764 | } 765 | }, 766 | "node_modules/@jridgewell/set-array": { 767 | "version": "1.1.2", 768 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 769 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 770 | "dev": true, 771 | "engines": { 772 | "node": ">=6.0.0" 773 | } 774 | }, 775 | "node_modules/@jridgewell/sourcemap-codec": { 776 | "version": "1.4.15", 777 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 778 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 779 | "dev": true 780 | }, 781 | "node_modules/@jridgewell/trace-mapping": { 782 | "version": "0.3.18", 783 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", 784 | "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", 785 | "dev": true, 786 | "dependencies": { 787 | "@jridgewell/resolve-uri": "3.1.0", 788 | "@jridgewell/sourcemap-codec": "1.4.14" 789 | } 790 | }, 791 | "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { 792 | "version": "1.4.14", 793 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 794 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 795 | "dev": true 796 | }, 797 | "node_modules/@nodelib/fs.scandir": { 798 | "version": "2.1.5", 799 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 800 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 801 | "dev": true, 802 | "dependencies": { 803 | "@nodelib/fs.stat": "2.0.5", 804 | "run-parallel": "^1.1.9" 805 | }, 806 | "engines": { 807 | "node": ">= 8" 808 | } 809 | }, 810 | "node_modules/@nodelib/fs.stat": { 811 | "version": "2.0.5", 812 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 813 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 814 | "dev": true, 815 | "engines": { 816 | "node": ">= 8" 817 | } 818 | }, 819 | "node_modules/@nodelib/fs.walk": { 820 | "version": "1.2.8", 821 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 822 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 823 | "dev": true, 824 | "dependencies": { 825 | "@nodelib/fs.scandir": "2.1.5", 826 | "fastq": "^1.6.0" 827 | }, 828 | "engines": { 829 | "node": ">= 8" 830 | } 831 | }, 832 | "node_modules/@types/prop-types": { 833 | "version": "15.7.5", 834 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 835 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 836 | "dev": true 837 | }, 838 | "node_modules/@types/react": { 839 | "version": "18.0.33", 840 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.33.tgz", 841 | "integrity": "sha512-sHxzVxeanvQyQ1lr8NSHaj0kDzcNiGpILEVt69g9S31/7PfMvNCKLKcsHw4lYKjs3cGNJjXSP4mYzX43QlnjNA==", 842 | "dev": true, 843 | "dependencies": { 844 | "@types/prop-types": "*", 845 | "@types/scheduler": "*", 846 | "csstype": "^3.0.2" 847 | } 848 | }, 849 | "node_modules/@types/react-dom": { 850 | "version": "18.0.11", 851 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", 852 | "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", 853 | "dev": true, 854 | "dependencies": { 855 | "@types/react": "*" 856 | } 857 | }, 858 | "node_modules/@types/scheduler": { 859 | "version": "0.16.3", 860 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", 861 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", 862 | "dev": true 863 | }, 864 | "node_modules/@vitejs/plugin-react": { 865 | "version": "3.1.0", 866 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", 867 | "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", 868 | "dev": true, 869 | "dependencies": { 870 | "@babel/core": "^7.20.12", 871 | "@babel/plugin-transform-react-jsx-self": "^7.18.6", 872 | "@babel/plugin-transform-react-jsx-source": "^7.19.6", 873 | "magic-string": "^0.27.0", 874 | "react-refresh": "^0.14.0" 875 | }, 876 | "engines": { 877 | "node": "^14.18.0 || >=16.0.0" 878 | }, 879 | "peerDependencies": { 880 | "vite": "^4.1.0-beta.0" 881 | } 882 | }, 883 | "node_modules/@windicss/config": { 884 | "version": "1.8.10", 885 | "resolved": "https://registry.npmjs.org/@windicss/config/-/config-1.8.10.tgz", 886 | "integrity": "sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==", 887 | "dev": true, 888 | "dependencies": { 889 | "debug": "^4.3.4", 890 | "jiti": "^1.16.0", 891 | "windicss": "^3.5.6" 892 | }, 893 | "funding": { 894 | "url": "https://github.com/sponsors/antfu" 895 | } 896 | }, 897 | "node_modules/@windicss/plugin-utils": { 898 | "version": "1.8.10", 899 | "resolved": "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-1.8.10.tgz", 900 | "integrity": "sha512-Phqk5OW1w+Mv+ry6t7BzAeDq3aMhbI94gR49j9vQCufFfDGCHndhhjtMK0sBv+NPJUsIAIh6qayb1iwBCXUGrw==", 901 | "dev": true, 902 | "dependencies": { 903 | "@antfu/utils": "^0.7.2", 904 | "@windicss/config": "1.8.10", 905 | "debug": "^4.3.4", 906 | "fast-glob": "^3.2.12", 907 | "magic-string": "^0.27.0", 908 | "micromatch": "^4.0.5", 909 | "windicss": "^3.5.6" 910 | }, 911 | "funding": { 912 | "url": "https://github.com/sponsors/antfu" 913 | } 914 | }, 915 | "node_modules/ansi-styles": { 916 | "version": "3.2.1", 917 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 918 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 919 | "dev": true, 920 | "dependencies": { 921 | "color-convert": "^1.9.0" 922 | }, 923 | "engines": { 924 | "node": ">=4" 925 | } 926 | }, 927 | "node_modules/braces": { 928 | "version": "3.0.2", 929 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 930 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 931 | "dev": true, 932 | "dependencies": { 933 | "fill-range": "^7.0.1" 934 | }, 935 | "engines": { 936 | "node": ">=8" 937 | } 938 | }, 939 | "node_modules/browserslist": { 940 | "version": "4.21.5", 941 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", 942 | "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", 943 | "dev": true, 944 | "funding": [ 945 | { 946 | "type": "opencollective", 947 | "url": "https://opencollective.com/browserslist" 948 | }, 949 | { 950 | "type": "tidelift", 951 | "url": "https://tidelift.com/funding/github/npm/browserslist" 952 | } 953 | ], 954 | "dependencies": { 955 | "caniuse-lite": "^1.0.30001449", 956 | "electron-to-chromium": "^1.4.284", 957 | "node-releases": "^2.0.8", 958 | "update-browserslist-db": "^1.0.10" 959 | }, 960 | "bin": { 961 | "browserslist": "cli.js" 962 | }, 963 | "engines": { 964 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 965 | } 966 | }, 967 | "node_modules/caniuse-lite": { 968 | "version": "1.0.30001476", 969 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001476.tgz", 970 | "integrity": "sha512-JmpktFppVSvyUN4gsLS0bShY2L9ZUslHLE72vgemBkS43JD2fOvKTKs+GtRwuxrtRGnwJFW0ye7kWRRlLJS9vQ==", 971 | "dev": true, 972 | "funding": [ 973 | { 974 | "type": "opencollective", 975 | "url": "https://opencollective.com/browserslist" 976 | }, 977 | { 978 | "type": "tidelift", 979 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 980 | }, 981 | { 982 | "type": "github", 983 | "url": "https://github.com/sponsors/ai" 984 | } 985 | ] 986 | }, 987 | "node_modules/chalk": { 988 | "version": "2.4.2", 989 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 990 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 991 | "dev": true, 992 | "dependencies": { 993 | "ansi-styles": "^3.2.1", 994 | "escape-string-regexp": "^1.0.5", 995 | "supports-color": "^5.3.0" 996 | }, 997 | "engines": { 998 | "node": ">=4" 999 | } 1000 | }, 1001 | "node_modules/color-convert": { 1002 | "version": "1.9.3", 1003 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1004 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1005 | "dev": true, 1006 | "dependencies": { 1007 | "color-name": "1.1.3" 1008 | } 1009 | }, 1010 | "node_modules/color-name": { 1011 | "version": "1.1.3", 1012 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1013 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 1014 | "dev": true 1015 | }, 1016 | "node_modules/convert-source-map": { 1017 | "version": "1.9.0", 1018 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", 1019 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", 1020 | "dev": true 1021 | }, 1022 | "node_modules/csstype": { 1023 | "version": "3.1.2", 1024 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 1025 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", 1026 | "dev": true 1027 | }, 1028 | "node_modules/debug": { 1029 | "version": "4.3.4", 1030 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1031 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1032 | "dev": true, 1033 | "dependencies": { 1034 | "ms": "2.1.2" 1035 | }, 1036 | "engines": { 1037 | "node": ">=6.0" 1038 | }, 1039 | "peerDependenciesMeta": { 1040 | "supports-color": { 1041 | "optional": true 1042 | } 1043 | } 1044 | }, 1045 | "node_modules/electron-to-chromium": { 1046 | "version": "1.4.356", 1047 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.356.tgz", 1048 | "integrity": "sha512-nEftV1dRX3omlxAj42FwqRZT0i4xd2dIg39sog/CnCJeCcL1TRd2Uh0i9Oebgv8Ou0vzTPw++xc+Z20jzS2B6A==", 1049 | "dev": true 1050 | }, 1051 | "node_modules/esbuild": { 1052 | "version": "0.17.15", 1053 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", 1054 | "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", 1055 | "dev": true, 1056 | "hasInstallScript": true, 1057 | "bin": { 1058 | "esbuild": "bin/esbuild" 1059 | }, 1060 | "engines": { 1061 | "node": ">=12" 1062 | }, 1063 | "optionalDependencies": { 1064 | "@esbuild/android-arm": "0.17.15", 1065 | "@esbuild/android-arm64": "0.17.15", 1066 | "@esbuild/android-x64": "0.17.15", 1067 | "@esbuild/darwin-arm64": "0.17.15", 1068 | "@esbuild/darwin-x64": "0.17.15", 1069 | "@esbuild/freebsd-arm64": "0.17.15", 1070 | "@esbuild/freebsd-x64": "0.17.15", 1071 | "@esbuild/linux-arm": "0.17.15", 1072 | "@esbuild/linux-arm64": "0.17.15", 1073 | "@esbuild/linux-ia32": "0.17.15", 1074 | "@esbuild/linux-loong64": "0.17.15", 1075 | "@esbuild/linux-mips64el": "0.17.15", 1076 | "@esbuild/linux-ppc64": "0.17.15", 1077 | "@esbuild/linux-riscv64": "0.17.15", 1078 | "@esbuild/linux-s390x": "0.17.15", 1079 | "@esbuild/linux-x64": "0.17.15", 1080 | "@esbuild/netbsd-x64": "0.17.15", 1081 | "@esbuild/openbsd-x64": "0.17.15", 1082 | "@esbuild/sunos-x64": "0.17.15", 1083 | "@esbuild/win32-arm64": "0.17.15", 1084 | "@esbuild/win32-ia32": "0.17.15", 1085 | "@esbuild/win32-x64": "0.17.15" 1086 | } 1087 | }, 1088 | "node_modules/escalade": { 1089 | "version": "3.1.1", 1090 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1091 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1092 | "dev": true, 1093 | "engines": { 1094 | "node": ">=6" 1095 | } 1096 | }, 1097 | "node_modules/escape-string-regexp": { 1098 | "version": "1.0.5", 1099 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1100 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1101 | "dev": true, 1102 | "engines": { 1103 | "node": ">=0.8.0" 1104 | } 1105 | }, 1106 | "node_modules/fast-glob": { 1107 | "version": "3.2.12", 1108 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", 1109 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", 1110 | "dev": true, 1111 | "dependencies": { 1112 | "@nodelib/fs.stat": "^2.0.2", 1113 | "@nodelib/fs.walk": "^1.2.3", 1114 | "glob-parent": "^5.1.2", 1115 | "merge2": "^1.3.0", 1116 | "micromatch": "^4.0.4" 1117 | }, 1118 | "engines": { 1119 | "node": ">=8.6.0" 1120 | } 1121 | }, 1122 | "node_modules/fastq": { 1123 | "version": "1.15.0", 1124 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 1125 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 1126 | "dev": true, 1127 | "dependencies": { 1128 | "reusify": "^1.0.4" 1129 | } 1130 | }, 1131 | "node_modules/fill-range": { 1132 | "version": "7.0.1", 1133 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1134 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1135 | "dev": true, 1136 | "dependencies": { 1137 | "to-regex-range": "^5.0.1" 1138 | }, 1139 | "engines": { 1140 | "node": ">=8" 1141 | } 1142 | }, 1143 | "node_modules/framer-motion": { 1144 | "version": "10.11.2", 1145 | "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.11.2.tgz", 1146 | "integrity": "sha512-IrwuC9regNOU99JoM/Z62CAMA3awGV6AcF7e3bcgXk/ZoNlGSt5aVq0J7UAwtLmCkwVlRvBkiMnvv2mZ1GW2pg==", 1147 | "dependencies": { 1148 | "tslib": "^2.4.0" 1149 | }, 1150 | "optionalDependencies": { 1151 | "@emotion/is-prop-valid": "^0.8.2" 1152 | }, 1153 | "peerDependencies": { 1154 | "react": "^18.0.0", 1155 | "react-dom": "^18.0.0" 1156 | }, 1157 | "peerDependenciesMeta": { 1158 | "react": { 1159 | "optional": true 1160 | }, 1161 | "react-dom": { 1162 | "optional": true 1163 | } 1164 | } 1165 | }, 1166 | "node_modules/fsevents": { 1167 | "version": "2.3.2", 1168 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1169 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1170 | "dev": true, 1171 | "hasInstallScript": true, 1172 | "optional": true, 1173 | "os": [ 1174 | "darwin" 1175 | ], 1176 | "engines": { 1177 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1178 | } 1179 | }, 1180 | "node_modules/function-bind": { 1181 | "version": "1.1.1", 1182 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1183 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1184 | "dev": true 1185 | }, 1186 | "node_modules/gensync": { 1187 | "version": "1.0.0-beta.2", 1188 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 1189 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 1190 | "dev": true, 1191 | "engines": { 1192 | "node": ">=6.9.0" 1193 | } 1194 | }, 1195 | "node_modules/glob-parent": { 1196 | "version": "5.1.2", 1197 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1198 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1199 | "dev": true, 1200 | "dependencies": { 1201 | "is-glob": "^4.0.1" 1202 | }, 1203 | "engines": { 1204 | "node": ">= 6" 1205 | } 1206 | }, 1207 | "node_modules/globals": { 1208 | "version": "11.12.0", 1209 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1210 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1211 | "dev": true, 1212 | "engines": { 1213 | "node": ">=4" 1214 | } 1215 | }, 1216 | "node_modules/has": { 1217 | "version": "1.0.3", 1218 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1219 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1220 | "dev": true, 1221 | "dependencies": { 1222 | "function-bind": "^1.1.1" 1223 | }, 1224 | "engines": { 1225 | "node": ">= 0.4.0" 1226 | } 1227 | }, 1228 | "node_modules/has-flag": { 1229 | "version": "3.0.0", 1230 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1231 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1232 | "dev": true, 1233 | "engines": { 1234 | "node": ">=4" 1235 | } 1236 | }, 1237 | "node_modules/is-core-module": { 1238 | "version": "2.11.0", 1239 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 1240 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 1241 | "dev": true, 1242 | "dependencies": { 1243 | "has": "^1.0.3" 1244 | }, 1245 | "funding": { 1246 | "url": "https://github.com/sponsors/ljharb" 1247 | } 1248 | }, 1249 | "node_modules/is-extglob": { 1250 | "version": "2.1.1", 1251 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1252 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1253 | "dev": true, 1254 | "engines": { 1255 | "node": ">=0.10.0" 1256 | } 1257 | }, 1258 | "node_modules/is-glob": { 1259 | "version": "4.0.3", 1260 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1261 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1262 | "dev": true, 1263 | "dependencies": { 1264 | "is-extglob": "^2.1.1" 1265 | }, 1266 | "engines": { 1267 | "node": ">=0.10.0" 1268 | } 1269 | }, 1270 | "node_modules/is-number": { 1271 | "version": "7.0.0", 1272 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1273 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1274 | "dev": true, 1275 | "engines": { 1276 | "node": ">=0.12.0" 1277 | } 1278 | }, 1279 | "node_modules/jiti": { 1280 | "version": "1.18.2", 1281 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", 1282 | "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", 1283 | "dev": true, 1284 | "bin": { 1285 | "jiti": "bin/jiti.js" 1286 | } 1287 | }, 1288 | "node_modules/js-tokens": { 1289 | "version": "4.0.0", 1290 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1291 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1292 | }, 1293 | "node_modules/jsesc": { 1294 | "version": "2.5.2", 1295 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1296 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1297 | "dev": true, 1298 | "bin": { 1299 | "jsesc": "bin/jsesc" 1300 | }, 1301 | "engines": { 1302 | "node": ">=4" 1303 | } 1304 | }, 1305 | "node_modules/json5": { 1306 | "version": "2.2.3", 1307 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 1308 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 1309 | "dev": true, 1310 | "bin": { 1311 | "json5": "lib/cli.js" 1312 | }, 1313 | "engines": { 1314 | "node": ">=6" 1315 | } 1316 | }, 1317 | "node_modules/kolorist": { 1318 | "version": "1.7.0", 1319 | "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.7.0.tgz", 1320 | "integrity": "sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==", 1321 | "dev": true 1322 | }, 1323 | "node_modules/loose-envify": { 1324 | "version": "1.4.0", 1325 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1326 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1327 | "dependencies": { 1328 | "js-tokens": "^3.0.0 || ^4.0.0" 1329 | }, 1330 | "bin": { 1331 | "loose-envify": "cli.js" 1332 | } 1333 | }, 1334 | "node_modules/lru-cache": { 1335 | "version": "5.1.1", 1336 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 1337 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 1338 | "dev": true, 1339 | "dependencies": { 1340 | "yallist": "^3.0.2" 1341 | } 1342 | }, 1343 | "node_modules/magic-string": { 1344 | "version": "0.27.0", 1345 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 1346 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 1347 | "dev": true, 1348 | "dependencies": { 1349 | "@jridgewell/sourcemap-codec": "^1.4.13" 1350 | }, 1351 | "engines": { 1352 | "node": ">=12" 1353 | } 1354 | }, 1355 | "node_modules/merge2": { 1356 | "version": "1.4.1", 1357 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1358 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1359 | "dev": true, 1360 | "engines": { 1361 | "node": ">= 8" 1362 | } 1363 | }, 1364 | "node_modules/micromatch": { 1365 | "version": "4.0.5", 1366 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1367 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1368 | "dev": true, 1369 | "dependencies": { 1370 | "braces": "^3.0.2", 1371 | "picomatch": "^2.3.1" 1372 | }, 1373 | "engines": { 1374 | "node": ">=8.6" 1375 | } 1376 | }, 1377 | "node_modules/ms": { 1378 | "version": "2.1.2", 1379 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1380 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1381 | "dev": true 1382 | }, 1383 | "node_modules/nanoid": { 1384 | "version": "3.3.6", 1385 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1386 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 1387 | "dev": true, 1388 | "funding": [ 1389 | { 1390 | "type": "github", 1391 | "url": "https://github.com/sponsors/ai" 1392 | } 1393 | ], 1394 | "bin": { 1395 | "nanoid": "bin/nanoid.cjs" 1396 | }, 1397 | "engines": { 1398 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1399 | } 1400 | }, 1401 | "node_modules/node-releases": { 1402 | "version": "2.0.10", 1403 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", 1404 | "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", 1405 | "dev": true 1406 | }, 1407 | "node_modules/path-parse": { 1408 | "version": "1.0.7", 1409 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1410 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1411 | "dev": true 1412 | }, 1413 | "node_modules/picocolors": { 1414 | "version": "1.0.0", 1415 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1416 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1417 | "dev": true 1418 | }, 1419 | "node_modules/picomatch": { 1420 | "version": "2.3.1", 1421 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1422 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1423 | "dev": true, 1424 | "engines": { 1425 | "node": ">=8.6" 1426 | }, 1427 | "funding": { 1428 | "url": "https://github.com/sponsors/jonschlinkert" 1429 | } 1430 | }, 1431 | "node_modules/postcss": { 1432 | "version": "8.4.21", 1433 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", 1434 | "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", 1435 | "dev": true, 1436 | "funding": [ 1437 | { 1438 | "type": "opencollective", 1439 | "url": "https://opencollective.com/postcss/" 1440 | }, 1441 | { 1442 | "type": "tidelift", 1443 | "url": "https://tidelift.com/funding/github/npm/postcss" 1444 | } 1445 | ], 1446 | "dependencies": { 1447 | "nanoid": "^3.3.4", 1448 | "picocolors": "^1.0.0", 1449 | "source-map-js": "^1.0.2" 1450 | }, 1451 | "engines": { 1452 | "node": "^10 || ^12 || >=14" 1453 | } 1454 | }, 1455 | "node_modules/queue-microtask": { 1456 | "version": "1.2.3", 1457 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1458 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1459 | "dev": true, 1460 | "funding": [ 1461 | { 1462 | "type": "github", 1463 | "url": "https://github.com/sponsors/feross" 1464 | }, 1465 | { 1466 | "type": "patreon", 1467 | "url": "https://www.patreon.com/feross" 1468 | }, 1469 | { 1470 | "type": "consulting", 1471 | "url": "https://feross.org/support" 1472 | } 1473 | ] 1474 | }, 1475 | "node_modules/react": { 1476 | "version": "18.2.0", 1477 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 1478 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 1479 | "dependencies": { 1480 | "loose-envify": "^1.1.0" 1481 | }, 1482 | "engines": { 1483 | "node": ">=0.10.0" 1484 | } 1485 | }, 1486 | "node_modules/react-dom": { 1487 | "version": "18.2.0", 1488 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 1489 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 1490 | "dependencies": { 1491 | "loose-envify": "^1.1.0", 1492 | "scheduler": "^0.23.0" 1493 | }, 1494 | "peerDependencies": { 1495 | "react": "^18.2.0" 1496 | } 1497 | }, 1498 | "node_modules/react-refresh": { 1499 | "version": "0.14.0", 1500 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", 1501 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", 1502 | "dev": true, 1503 | "engines": { 1504 | "node": ">=0.10.0" 1505 | } 1506 | }, 1507 | "node_modules/resolve": { 1508 | "version": "1.22.2", 1509 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 1510 | "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 1511 | "dev": true, 1512 | "dependencies": { 1513 | "is-core-module": "^2.11.0", 1514 | "path-parse": "^1.0.7", 1515 | "supports-preserve-symlinks-flag": "^1.0.0" 1516 | }, 1517 | "bin": { 1518 | "resolve": "bin/resolve" 1519 | }, 1520 | "funding": { 1521 | "url": "https://github.com/sponsors/ljharb" 1522 | } 1523 | }, 1524 | "node_modules/reusify": { 1525 | "version": "1.0.4", 1526 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1527 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1528 | "dev": true, 1529 | "engines": { 1530 | "iojs": ">=1.0.0", 1531 | "node": ">=0.10.0" 1532 | } 1533 | }, 1534 | "node_modules/rollup": { 1535 | "version": "3.20.2", 1536 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", 1537 | "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", 1538 | "dev": true, 1539 | "bin": { 1540 | "rollup": "dist/bin/rollup" 1541 | }, 1542 | "engines": { 1543 | "node": ">=14.18.0", 1544 | "npm": ">=8.0.0" 1545 | }, 1546 | "optionalDependencies": { 1547 | "fsevents": "~2.3.2" 1548 | } 1549 | }, 1550 | "node_modules/run-parallel": { 1551 | "version": "1.2.0", 1552 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1553 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1554 | "dev": true, 1555 | "funding": [ 1556 | { 1557 | "type": "github", 1558 | "url": "https://github.com/sponsors/feross" 1559 | }, 1560 | { 1561 | "type": "patreon", 1562 | "url": "https://www.patreon.com/feross" 1563 | }, 1564 | { 1565 | "type": "consulting", 1566 | "url": "https://feross.org/support" 1567 | } 1568 | ], 1569 | "dependencies": { 1570 | "queue-microtask": "^1.2.2" 1571 | } 1572 | }, 1573 | "node_modules/scheduler": { 1574 | "version": "0.23.0", 1575 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 1576 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 1577 | "dependencies": { 1578 | "loose-envify": "^1.1.0" 1579 | } 1580 | }, 1581 | "node_modules/semver": { 1582 | "version": "6.3.0", 1583 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1584 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1585 | "dev": true, 1586 | "bin": { 1587 | "semver": "bin/semver.js" 1588 | } 1589 | }, 1590 | "node_modules/source-map-js": { 1591 | "version": "1.0.2", 1592 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1593 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1594 | "dev": true, 1595 | "engines": { 1596 | "node": ">=0.10.0" 1597 | } 1598 | }, 1599 | "node_modules/supports-color": { 1600 | "version": "5.5.0", 1601 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1602 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1603 | "dev": true, 1604 | "dependencies": { 1605 | "has-flag": "^3.0.0" 1606 | }, 1607 | "engines": { 1608 | "node": ">=4" 1609 | } 1610 | }, 1611 | "node_modules/supports-preserve-symlinks-flag": { 1612 | "version": "1.0.0", 1613 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1614 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1615 | "dev": true, 1616 | "engines": { 1617 | "node": ">= 0.4" 1618 | }, 1619 | "funding": { 1620 | "url": "https://github.com/sponsors/ljharb" 1621 | } 1622 | }, 1623 | "node_modules/to-fast-properties": { 1624 | "version": "2.0.0", 1625 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1626 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 1627 | "dev": true, 1628 | "engines": { 1629 | "node": ">=4" 1630 | } 1631 | }, 1632 | "node_modules/to-regex-range": { 1633 | "version": "5.0.1", 1634 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1635 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1636 | "dev": true, 1637 | "dependencies": { 1638 | "is-number": "^7.0.0" 1639 | }, 1640 | "engines": { 1641 | "node": ">=8.0" 1642 | } 1643 | }, 1644 | "node_modules/tslib": { 1645 | "version": "2.5.0", 1646 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", 1647 | "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" 1648 | }, 1649 | "node_modules/typescript": { 1650 | "version": "4.9.5", 1651 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", 1652 | "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", 1653 | "dev": true, 1654 | "bin": { 1655 | "tsc": "bin/tsc", 1656 | "tsserver": "bin/tsserver" 1657 | }, 1658 | "engines": { 1659 | "node": ">=4.2.0" 1660 | } 1661 | }, 1662 | "node_modules/update-browserslist-db": { 1663 | "version": "1.0.10", 1664 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 1665 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 1666 | "dev": true, 1667 | "funding": [ 1668 | { 1669 | "type": "opencollective", 1670 | "url": "https://opencollective.com/browserslist" 1671 | }, 1672 | { 1673 | "type": "tidelift", 1674 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1675 | } 1676 | ], 1677 | "dependencies": { 1678 | "escalade": "^3.1.1", 1679 | "picocolors": "^1.0.0" 1680 | }, 1681 | "bin": { 1682 | "browserslist-lint": "cli.js" 1683 | }, 1684 | "peerDependencies": { 1685 | "browserslist": ">= 4.21.0" 1686 | } 1687 | }, 1688 | "node_modules/vite": { 1689 | "version": "4.2.1", 1690 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", 1691 | "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", 1692 | "dev": true, 1693 | "dependencies": { 1694 | "esbuild": "^0.17.5", 1695 | "postcss": "^8.4.21", 1696 | "resolve": "^1.22.1", 1697 | "rollup": "^3.18.0" 1698 | }, 1699 | "bin": { 1700 | "vite": "bin/vite.js" 1701 | }, 1702 | "engines": { 1703 | "node": "^14.18.0 || >=16.0.0" 1704 | }, 1705 | "optionalDependencies": { 1706 | "fsevents": "~2.3.2" 1707 | }, 1708 | "peerDependencies": { 1709 | "@types/node": ">= 14", 1710 | "less": "*", 1711 | "sass": "*", 1712 | "stylus": "*", 1713 | "sugarss": "*", 1714 | "terser": "^5.4.0" 1715 | }, 1716 | "peerDependenciesMeta": { 1717 | "@types/node": { 1718 | "optional": true 1719 | }, 1720 | "less": { 1721 | "optional": true 1722 | }, 1723 | "sass": { 1724 | "optional": true 1725 | }, 1726 | "stylus": { 1727 | "optional": true 1728 | }, 1729 | "sugarss": { 1730 | "optional": true 1731 | }, 1732 | "terser": { 1733 | "optional": true 1734 | } 1735 | } 1736 | }, 1737 | "node_modules/vite-plugin-windicss": { 1738 | "version": "1.8.10", 1739 | "resolved": "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-1.8.10.tgz", 1740 | "integrity": "sha512-scywsuzo46lcTBohspmF0WiwhWEte6p+OUVrX4yr7VMRvLHMHVfLtJReyD5pppjijG7YOwVsZn7XBWWZtF658Q==", 1741 | "dev": true, 1742 | "dependencies": { 1743 | "@windicss/plugin-utils": "1.8.10", 1744 | "debug": "^4.3.4", 1745 | "kolorist": "^1.6.0", 1746 | "windicss": "^3.5.6" 1747 | }, 1748 | "funding": { 1749 | "url": "https://github.com/sponsors/antfu" 1750 | }, 1751 | "peerDependencies": { 1752 | "vite": "^2.0.1 || ^3.0.0 || ^4.0.0" 1753 | } 1754 | }, 1755 | "node_modules/windicss": { 1756 | "version": "3.5.6", 1757 | "resolved": "https://registry.npmjs.org/windicss/-/windicss-3.5.6.tgz", 1758 | "integrity": "sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==", 1759 | "dev": true, 1760 | "bin": { 1761 | "windicss": "cli/index.js" 1762 | }, 1763 | "engines": { 1764 | "node": ">= 12" 1765 | } 1766 | }, 1767 | "node_modules/yallist": { 1768 | "version": "3.1.1", 1769 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 1770 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 1771 | "dev": true 1772 | } 1773 | }, 1774 | "dependencies": { 1775 | "@ampproject/remapping": { 1776 | "version": "2.2.1", 1777 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", 1778 | "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", 1779 | "dev": true, 1780 | "requires": { 1781 | "@jridgewell/gen-mapping": "^0.3.0", 1782 | "@jridgewell/trace-mapping": "^0.3.9" 1783 | } 1784 | }, 1785 | "@antfu/utils": { 1786 | "version": "0.7.2", 1787 | "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", 1788 | "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", 1789 | "dev": true 1790 | }, 1791 | "@babel/code-frame": { 1792 | "version": "7.21.4", 1793 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", 1794 | "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", 1795 | "dev": true, 1796 | "requires": { 1797 | "@babel/highlight": "^7.18.6" 1798 | } 1799 | }, 1800 | "@babel/compat-data": { 1801 | "version": "7.21.4", 1802 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", 1803 | "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", 1804 | "dev": true 1805 | }, 1806 | "@babel/core": { 1807 | "version": "7.21.4", 1808 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", 1809 | "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", 1810 | "dev": true, 1811 | "requires": { 1812 | "@ampproject/remapping": "^2.2.0", 1813 | "@babel/code-frame": "^7.21.4", 1814 | "@babel/generator": "^7.21.4", 1815 | "@babel/helper-compilation-targets": "^7.21.4", 1816 | "@babel/helper-module-transforms": "^7.21.2", 1817 | "@babel/helpers": "^7.21.0", 1818 | "@babel/parser": "^7.21.4", 1819 | "@babel/template": "^7.20.7", 1820 | "@babel/traverse": "^7.21.4", 1821 | "@babel/types": "^7.21.4", 1822 | "convert-source-map": "^1.7.0", 1823 | "debug": "^4.1.0", 1824 | "gensync": "^1.0.0-beta.2", 1825 | "json5": "^2.2.2", 1826 | "semver": "^6.3.0" 1827 | } 1828 | }, 1829 | "@babel/generator": { 1830 | "version": "7.21.4", 1831 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", 1832 | "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", 1833 | "dev": true, 1834 | "requires": { 1835 | "@babel/types": "^7.21.4", 1836 | "@jridgewell/gen-mapping": "^0.3.2", 1837 | "@jridgewell/trace-mapping": "^0.3.17", 1838 | "jsesc": "^2.5.1" 1839 | } 1840 | }, 1841 | "@babel/helper-compilation-targets": { 1842 | "version": "7.21.4", 1843 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", 1844 | "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", 1845 | "dev": true, 1846 | "requires": { 1847 | "@babel/compat-data": "^7.21.4", 1848 | "@babel/helper-validator-option": "^7.21.0", 1849 | "browserslist": "^4.21.3", 1850 | "lru-cache": "^5.1.1", 1851 | "semver": "^6.3.0" 1852 | } 1853 | }, 1854 | "@babel/helper-environment-visitor": { 1855 | "version": "7.18.9", 1856 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", 1857 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", 1858 | "dev": true 1859 | }, 1860 | "@babel/helper-function-name": { 1861 | "version": "7.21.0", 1862 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", 1863 | "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", 1864 | "dev": true, 1865 | "requires": { 1866 | "@babel/template": "^7.20.7", 1867 | "@babel/types": "^7.21.0" 1868 | } 1869 | }, 1870 | "@babel/helper-hoist-variables": { 1871 | "version": "7.18.6", 1872 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", 1873 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", 1874 | "dev": true, 1875 | "requires": { 1876 | "@babel/types": "^7.18.6" 1877 | } 1878 | }, 1879 | "@babel/helper-module-imports": { 1880 | "version": "7.21.4", 1881 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", 1882 | "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", 1883 | "dev": true, 1884 | "requires": { 1885 | "@babel/types": "^7.21.4" 1886 | } 1887 | }, 1888 | "@babel/helper-module-transforms": { 1889 | "version": "7.21.2", 1890 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", 1891 | "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", 1892 | "dev": true, 1893 | "requires": { 1894 | "@babel/helper-environment-visitor": "^7.18.9", 1895 | "@babel/helper-module-imports": "^7.18.6", 1896 | "@babel/helper-simple-access": "^7.20.2", 1897 | "@babel/helper-split-export-declaration": "^7.18.6", 1898 | "@babel/helper-validator-identifier": "^7.19.1", 1899 | "@babel/template": "^7.20.7", 1900 | "@babel/traverse": "^7.21.2", 1901 | "@babel/types": "^7.21.2" 1902 | } 1903 | }, 1904 | "@babel/helper-plugin-utils": { 1905 | "version": "7.20.2", 1906 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", 1907 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", 1908 | "dev": true 1909 | }, 1910 | "@babel/helper-simple-access": { 1911 | "version": "7.20.2", 1912 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", 1913 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", 1914 | "dev": true, 1915 | "requires": { 1916 | "@babel/types": "^7.20.2" 1917 | } 1918 | }, 1919 | "@babel/helper-split-export-declaration": { 1920 | "version": "7.18.6", 1921 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", 1922 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", 1923 | "dev": true, 1924 | "requires": { 1925 | "@babel/types": "^7.18.6" 1926 | } 1927 | }, 1928 | "@babel/helper-string-parser": { 1929 | "version": "7.19.4", 1930 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", 1931 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", 1932 | "dev": true 1933 | }, 1934 | "@babel/helper-validator-identifier": { 1935 | "version": "7.19.1", 1936 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", 1937 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", 1938 | "dev": true 1939 | }, 1940 | "@babel/helper-validator-option": { 1941 | "version": "7.21.0", 1942 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", 1943 | "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", 1944 | "dev": true 1945 | }, 1946 | "@babel/helpers": { 1947 | "version": "7.21.0", 1948 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", 1949 | "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", 1950 | "dev": true, 1951 | "requires": { 1952 | "@babel/template": "^7.20.7", 1953 | "@babel/traverse": "^7.21.0", 1954 | "@babel/types": "^7.21.0" 1955 | } 1956 | }, 1957 | "@babel/highlight": { 1958 | "version": "7.18.6", 1959 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", 1960 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", 1961 | "dev": true, 1962 | "requires": { 1963 | "@babel/helper-validator-identifier": "^7.18.6", 1964 | "chalk": "^2.0.0", 1965 | "js-tokens": "^4.0.0" 1966 | } 1967 | }, 1968 | "@babel/parser": { 1969 | "version": "7.21.4", 1970 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", 1971 | "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", 1972 | "dev": true 1973 | }, 1974 | "@babel/plugin-transform-react-jsx-self": { 1975 | "version": "7.21.0", 1976 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", 1977 | "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", 1978 | "dev": true, 1979 | "requires": { 1980 | "@babel/helper-plugin-utils": "^7.20.2" 1981 | } 1982 | }, 1983 | "@babel/plugin-transform-react-jsx-source": { 1984 | "version": "7.19.6", 1985 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", 1986 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", 1987 | "dev": true, 1988 | "requires": { 1989 | "@babel/helper-plugin-utils": "^7.19.0" 1990 | } 1991 | }, 1992 | "@babel/template": { 1993 | "version": "7.20.7", 1994 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", 1995 | "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", 1996 | "dev": true, 1997 | "requires": { 1998 | "@babel/code-frame": "^7.18.6", 1999 | "@babel/parser": "^7.20.7", 2000 | "@babel/types": "^7.20.7" 2001 | } 2002 | }, 2003 | "@babel/traverse": { 2004 | "version": "7.21.4", 2005 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", 2006 | "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", 2007 | "dev": true, 2008 | "requires": { 2009 | "@babel/code-frame": "^7.21.4", 2010 | "@babel/generator": "^7.21.4", 2011 | "@babel/helper-environment-visitor": "^7.18.9", 2012 | "@babel/helper-function-name": "^7.21.0", 2013 | "@babel/helper-hoist-variables": "^7.18.6", 2014 | "@babel/helper-split-export-declaration": "^7.18.6", 2015 | "@babel/parser": "^7.21.4", 2016 | "@babel/types": "^7.21.4", 2017 | "debug": "^4.1.0", 2018 | "globals": "^11.1.0" 2019 | } 2020 | }, 2021 | "@babel/types": { 2022 | "version": "7.21.4", 2023 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", 2024 | "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", 2025 | "dev": true, 2026 | "requires": { 2027 | "@babel/helper-string-parser": "^7.19.4", 2028 | "@babel/helper-validator-identifier": "^7.19.1", 2029 | "to-fast-properties": "^2.0.0" 2030 | } 2031 | }, 2032 | "@emotion/is-prop-valid": { 2033 | "version": "0.8.8", 2034 | "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", 2035 | "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", 2036 | "optional": true, 2037 | "requires": { 2038 | "@emotion/memoize": "0.7.4" 2039 | } 2040 | }, 2041 | "@emotion/memoize": { 2042 | "version": "0.7.4", 2043 | "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", 2044 | "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", 2045 | "optional": true 2046 | }, 2047 | "@esbuild/android-arm": { 2048 | "version": "0.17.15", 2049 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", 2050 | "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", 2051 | "dev": true, 2052 | "optional": true 2053 | }, 2054 | "@esbuild/android-arm64": { 2055 | "version": "0.17.15", 2056 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", 2057 | "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", 2058 | "dev": true, 2059 | "optional": true 2060 | }, 2061 | "@esbuild/android-x64": { 2062 | "version": "0.17.15", 2063 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", 2064 | "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", 2065 | "dev": true, 2066 | "optional": true 2067 | }, 2068 | "@esbuild/darwin-arm64": { 2069 | "version": "0.17.15", 2070 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", 2071 | "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", 2072 | "dev": true, 2073 | "optional": true 2074 | }, 2075 | "@esbuild/darwin-x64": { 2076 | "version": "0.17.15", 2077 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", 2078 | "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", 2079 | "dev": true, 2080 | "optional": true 2081 | }, 2082 | "@esbuild/freebsd-arm64": { 2083 | "version": "0.17.15", 2084 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", 2085 | "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", 2086 | "dev": true, 2087 | "optional": true 2088 | }, 2089 | "@esbuild/freebsd-x64": { 2090 | "version": "0.17.15", 2091 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", 2092 | "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", 2093 | "dev": true, 2094 | "optional": true 2095 | }, 2096 | "@esbuild/linux-arm": { 2097 | "version": "0.17.15", 2098 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", 2099 | "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", 2100 | "dev": true, 2101 | "optional": true 2102 | }, 2103 | "@esbuild/linux-arm64": { 2104 | "version": "0.17.15", 2105 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", 2106 | "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", 2107 | "dev": true, 2108 | "optional": true 2109 | }, 2110 | "@esbuild/linux-ia32": { 2111 | "version": "0.17.15", 2112 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", 2113 | "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", 2114 | "dev": true, 2115 | "optional": true 2116 | }, 2117 | "@esbuild/linux-loong64": { 2118 | "version": "0.17.15", 2119 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", 2120 | "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", 2121 | "dev": true, 2122 | "optional": true 2123 | }, 2124 | "@esbuild/linux-mips64el": { 2125 | "version": "0.17.15", 2126 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", 2127 | "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", 2128 | "dev": true, 2129 | "optional": true 2130 | }, 2131 | "@esbuild/linux-ppc64": { 2132 | "version": "0.17.15", 2133 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", 2134 | "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", 2135 | "dev": true, 2136 | "optional": true 2137 | }, 2138 | "@esbuild/linux-riscv64": { 2139 | "version": "0.17.15", 2140 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", 2141 | "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", 2142 | "dev": true, 2143 | "optional": true 2144 | }, 2145 | "@esbuild/linux-s390x": { 2146 | "version": "0.17.15", 2147 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", 2148 | "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", 2149 | "dev": true, 2150 | "optional": true 2151 | }, 2152 | "@esbuild/linux-x64": { 2153 | "version": "0.17.15", 2154 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", 2155 | "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", 2156 | "dev": true, 2157 | "optional": true 2158 | }, 2159 | "@esbuild/netbsd-x64": { 2160 | "version": "0.17.15", 2161 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", 2162 | "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", 2163 | "dev": true, 2164 | "optional": true 2165 | }, 2166 | "@esbuild/openbsd-x64": { 2167 | "version": "0.17.15", 2168 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", 2169 | "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", 2170 | "dev": true, 2171 | "optional": true 2172 | }, 2173 | "@esbuild/sunos-x64": { 2174 | "version": "0.17.15", 2175 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", 2176 | "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", 2177 | "dev": true, 2178 | "optional": true 2179 | }, 2180 | "@esbuild/win32-arm64": { 2181 | "version": "0.17.15", 2182 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", 2183 | "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", 2184 | "dev": true, 2185 | "optional": true 2186 | }, 2187 | "@esbuild/win32-ia32": { 2188 | "version": "0.17.15", 2189 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", 2190 | "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", 2191 | "dev": true, 2192 | "optional": true 2193 | }, 2194 | "@esbuild/win32-x64": { 2195 | "version": "0.17.15", 2196 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", 2197 | "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", 2198 | "dev": true, 2199 | "optional": true 2200 | }, 2201 | "@jridgewell/gen-mapping": { 2202 | "version": "0.3.3", 2203 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 2204 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 2205 | "dev": true, 2206 | "requires": { 2207 | "@jridgewell/set-array": "^1.0.1", 2208 | "@jridgewell/sourcemap-codec": "^1.4.10", 2209 | "@jridgewell/trace-mapping": "^0.3.9" 2210 | } 2211 | }, 2212 | "@jridgewell/resolve-uri": { 2213 | "version": "3.1.0", 2214 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 2215 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 2216 | "dev": true 2217 | }, 2218 | "@jridgewell/set-array": { 2219 | "version": "1.1.2", 2220 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 2221 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 2222 | "dev": true 2223 | }, 2224 | "@jridgewell/sourcemap-codec": { 2225 | "version": "1.4.15", 2226 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 2227 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 2228 | "dev": true 2229 | }, 2230 | "@jridgewell/trace-mapping": { 2231 | "version": "0.3.18", 2232 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", 2233 | "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", 2234 | "dev": true, 2235 | "requires": { 2236 | "@jridgewell/resolve-uri": "3.1.0", 2237 | "@jridgewell/sourcemap-codec": "1.4.14" 2238 | }, 2239 | "dependencies": { 2240 | "@jridgewell/sourcemap-codec": { 2241 | "version": "1.4.14", 2242 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 2243 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 2244 | "dev": true 2245 | } 2246 | } 2247 | }, 2248 | "@nodelib/fs.scandir": { 2249 | "version": "2.1.5", 2250 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 2251 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 2252 | "dev": true, 2253 | "requires": { 2254 | "@nodelib/fs.stat": "2.0.5", 2255 | "run-parallel": "^1.1.9" 2256 | } 2257 | }, 2258 | "@nodelib/fs.stat": { 2259 | "version": "2.0.5", 2260 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 2261 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 2262 | "dev": true 2263 | }, 2264 | "@nodelib/fs.walk": { 2265 | "version": "1.2.8", 2266 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 2267 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 2268 | "dev": true, 2269 | "requires": { 2270 | "@nodelib/fs.scandir": "2.1.5", 2271 | "fastq": "^1.6.0" 2272 | } 2273 | }, 2274 | "@types/prop-types": { 2275 | "version": "15.7.5", 2276 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 2277 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 2278 | "dev": true 2279 | }, 2280 | "@types/react": { 2281 | "version": "18.0.33", 2282 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.33.tgz", 2283 | "integrity": "sha512-sHxzVxeanvQyQ1lr8NSHaj0kDzcNiGpILEVt69g9S31/7PfMvNCKLKcsHw4lYKjs3cGNJjXSP4mYzX43QlnjNA==", 2284 | "dev": true, 2285 | "requires": { 2286 | "@types/prop-types": "*", 2287 | "@types/scheduler": "*", 2288 | "csstype": "^3.0.2" 2289 | } 2290 | }, 2291 | "@types/react-dom": { 2292 | "version": "18.0.11", 2293 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", 2294 | "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", 2295 | "dev": true, 2296 | "requires": { 2297 | "@types/react": "*" 2298 | } 2299 | }, 2300 | "@types/scheduler": { 2301 | "version": "0.16.3", 2302 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", 2303 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", 2304 | "dev": true 2305 | }, 2306 | "@vitejs/plugin-react": { 2307 | "version": "3.1.0", 2308 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", 2309 | "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", 2310 | "dev": true, 2311 | "requires": { 2312 | "@babel/core": "^7.20.12", 2313 | "@babel/plugin-transform-react-jsx-self": "^7.18.6", 2314 | "@babel/plugin-transform-react-jsx-source": "^7.19.6", 2315 | "magic-string": "^0.27.0", 2316 | "react-refresh": "^0.14.0" 2317 | } 2318 | }, 2319 | "@windicss/config": { 2320 | "version": "1.8.10", 2321 | "resolved": "https://registry.npmjs.org/@windicss/config/-/config-1.8.10.tgz", 2322 | "integrity": "sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==", 2323 | "dev": true, 2324 | "requires": { 2325 | "debug": "^4.3.4", 2326 | "jiti": "^1.16.0", 2327 | "windicss": "^3.5.6" 2328 | } 2329 | }, 2330 | "@windicss/plugin-utils": { 2331 | "version": "1.8.10", 2332 | "resolved": "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-1.8.10.tgz", 2333 | "integrity": "sha512-Phqk5OW1w+Mv+ry6t7BzAeDq3aMhbI94gR49j9vQCufFfDGCHndhhjtMK0sBv+NPJUsIAIh6qayb1iwBCXUGrw==", 2334 | "dev": true, 2335 | "requires": { 2336 | "@antfu/utils": "^0.7.2", 2337 | "@windicss/config": "1.8.10", 2338 | "debug": "^4.3.4", 2339 | "fast-glob": "^3.2.12", 2340 | "magic-string": "^0.27.0", 2341 | "micromatch": "^4.0.5", 2342 | "windicss": "^3.5.6" 2343 | } 2344 | }, 2345 | "ansi-styles": { 2346 | "version": "3.2.1", 2347 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2348 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2349 | "dev": true, 2350 | "requires": { 2351 | "color-convert": "^1.9.0" 2352 | } 2353 | }, 2354 | "braces": { 2355 | "version": "3.0.2", 2356 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2357 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2358 | "dev": true, 2359 | "requires": { 2360 | "fill-range": "^7.0.1" 2361 | } 2362 | }, 2363 | "browserslist": { 2364 | "version": "4.21.5", 2365 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", 2366 | "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", 2367 | "dev": true, 2368 | "requires": { 2369 | "caniuse-lite": "^1.0.30001449", 2370 | "electron-to-chromium": "^1.4.284", 2371 | "node-releases": "^2.0.8", 2372 | "update-browserslist-db": "^1.0.10" 2373 | } 2374 | }, 2375 | "caniuse-lite": { 2376 | "version": "1.0.30001476", 2377 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001476.tgz", 2378 | "integrity": "sha512-JmpktFppVSvyUN4gsLS0bShY2L9ZUslHLE72vgemBkS43JD2fOvKTKs+GtRwuxrtRGnwJFW0ye7kWRRlLJS9vQ==", 2379 | "dev": true 2380 | }, 2381 | "chalk": { 2382 | "version": "2.4.2", 2383 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2384 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2385 | "dev": true, 2386 | "requires": { 2387 | "ansi-styles": "^3.2.1", 2388 | "escape-string-regexp": "^1.0.5", 2389 | "supports-color": "^5.3.0" 2390 | } 2391 | }, 2392 | "color-convert": { 2393 | "version": "1.9.3", 2394 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2395 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2396 | "dev": true, 2397 | "requires": { 2398 | "color-name": "1.1.3" 2399 | } 2400 | }, 2401 | "color-name": { 2402 | "version": "1.1.3", 2403 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2404 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 2405 | "dev": true 2406 | }, 2407 | "convert-source-map": { 2408 | "version": "1.9.0", 2409 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", 2410 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", 2411 | "dev": true 2412 | }, 2413 | "csstype": { 2414 | "version": "3.1.2", 2415 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 2416 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", 2417 | "dev": true 2418 | }, 2419 | "debug": { 2420 | "version": "4.3.4", 2421 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 2422 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 2423 | "dev": true, 2424 | "requires": { 2425 | "ms": "2.1.2" 2426 | } 2427 | }, 2428 | "electron-to-chromium": { 2429 | "version": "1.4.356", 2430 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.356.tgz", 2431 | "integrity": "sha512-nEftV1dRX3omlxAj42FwqRZT0i4xd2dIg39sog/CnCJeCcL1TRd2Uh0i9Oebgv8Ou0vzTPw++xc+Z20jzS2B6A==", 2432 | "dev": true 2433 | }, 2434 | "esbuild": { 2435 | "version": "0.17.15", 2436 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", 2437 | "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", 2438 | "dev": true, 2439 | "requires": { 2440 | "@esbuild/android-arm": "0.17.15", 2441 | "@esbuild/android-arm64": "0.17.15", 2442 | "@esbuild/android-x64": "0.17.15", 2443 | "@esbuild/darwin-arm64": "0.17.15", 2444 | "@esbuild/darwin-x64": "0.17.15", 2445 | "@esbuild/freebsd-arm64": "0.17.15", 2446 | "@esbuild/freebsd-x64": "0.17.15", 2447 | "@esbuild/linux-arm": "0.17.15", 2448 | "@esbuild/linux-arm64": "0.17.15", 2449 | "@esbuild/linux-ia32": "0.17.15", 2450 | "@esbuild/linux-loong64": "0.17.15", 2451 | "@esbuild/linux-mips64el": "0.17.15", 2452 | "@esbuild/linux-ppc64": "0.17.15", 2453 | "@esbuild/linux-riscv64": "0.17.15", 2454 | "@esbuild/linux-s390x": "0.17.15", 2455 | "@esbuild/linux-x64": "0.17.15", 2456 | "@esbuild/netbsd-x64": "0.17.15", 2457 | "@esbuild/openbsd-x64": "0.17.15", 2458 | "@esbuild/sunos-x64": "0.17.15", 2459 | "@esbuild/win32-arm64": "0.17.15", 2460 | "@esbuild/win32-ia32": "0.17.15", 2461 | "@esbuild/win32-x64": "0.17.15" 2462 | } 2463 | }, 2464 | "escalade": { 2465 | "version": "3.1.1", 2466 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 2467 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 2468 | "dev": true 2469 | }, 2470 | "escape-string-regexp": { 2471 | "version": "1.0.5", 2472 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2473 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 2474 | "dev": true 2475 | }, 2476 | "fast-glob": { 2477 | "version": "3.2.12", 2478 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", 2479 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", 2480 | "dev": true, 2481 | "requires": { 2482 | "@nodelib/fs.stat": "^2.0.2", 2483 | "@nodelib/fs.walk": "^1.2.3", 2484 | "glob-parent": "^5.1.2", 2485 | "merge2": "^1.3.0", 2486 | "micromatch": "^4.0.4" 2487 | } 2488 | }, 2489 | "fastq": { 2490 | "version": "1.15.0", 2491 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 2492 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 2493 | "dev": true, 2494 | "requires": { 2495 | "reusify": "^1.0.4" 2496 | } 2497 | }, 2498 | "fill-range": { 2499 | "version": "7.0.1", 2500 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2501 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2502 | "dev": true, 2503 | "requires": { 2504 | "to-regex-range": "^5.0.1" 2505 | } 2506 | }, 2507 | "framer-motion": { 2508 | "version": "10.11.2", 2509 | "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.11.2.tgz", 2510 | "integrity": "sha512-IrwuC9regNOU99JoM/Z62CAMA3awGV6AcF7e3bcgXk/ZoNlGSt5aVq0J7UAwtLmCkwVlRvBkiMnvv2mZ1GW2pg==", 2511 | "requires": { 2512 | "@emotion/is-prop-valid": "^0.8.2", 2513 | "tslib": "^2.4.0" 2514 | } 2515 | }, 2516 | "fsevents": { 2517 | "version": "2.3.2", 2518 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2519 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2520 | "dev": true, 2521 | "optional": true 2522 | }, 2523 | "function-bind": { 2524 | "version": "1.1.1", 2525 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2526 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2527 | "dev": true 2528 | }, 2529 | "gensync": { 2530 | "version": "1.0.0-beta.2", 2531 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 2532 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 2533 | "dev": true 2534 | }, 2535 | "glob-parent": { 2536 | "version": "5.1.2", 2537 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2538 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2539 | "dev": true, 2540 | "requires": { 2541 | "is-glob": "^4.0.1" 2542 | } 2543 | }, 2544 | "globals": { 2545 | "version": "11.12.0", 2546 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 2547 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 2548 | "dev": true 2549 | }, 2550 | "has": { 2551 | "version": "1.0.3", 2552 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2553 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2554 | "dev": true, 2555 | "requires": { 2556 | "function-bind": "^1.1.1" 2557 | } 2558 | }, 2559 | "has-flag": { 2560 | "version": "3.0.0", 2561 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2562 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 2563 | "dev": true 2564 | }, 2565 | "is-core-module": { 2566 | "version": "2.11.0", 2567 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 2568 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 2569 | "dev": true, 2570 | "requires": { 2571 | "has": "^1.0.3" 2572 | } 2573 | }, 2574 | "is-extglob": { 2575 | "version": "2.1.1", 2576 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2577 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2578 | "dev": true 2579 | }, 2580 | "is-glob": { 2581 | "version": "4.0.3", 2582 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2583 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2584 | "dev": true, 2585 | "requires": { 2586 | "is-extglob": "^2.1.1" 2587 | } 2588 | }, 2589 | "is-number": { 2590 | "version": "7.0.0", 2591 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2592 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2593 | "dev": true 2594 | }, 2595 | "jiti": { 2596 | "version": "1.18.2", 2597 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", 2598 | "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", 2599 | "dev": true 2600 | }, 2601 | "js-tokens": { 2602 | "version": "4.0.0", 2603 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2604 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 2605 | }, 2606 | "jsesc": { 2607 | "version": "2.5.2", 2608 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 2609 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 2610 | "dev": true 2611 | }, 2612 | "json5": { 2613 | "version": "2.2.3", 2614 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 2615 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 2616 | "dev": true 2617 | }, 2618 | "kolorist": { 2619 | "version": "1.7.0", 2620 | "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.7.0.tgz", 2621 | "integrity": "sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==", 2622 | "dev": true 2623 | }, 2624 | "loose-envify": { 2625 | "version": "1.4.0", 2626 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 2627 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 2628 | "requires": { 2629 | "js-tokens": "^3.0.0 || ^4.0.0" 2630 | } 2631 | }, 2632 | "lru-cache": { 2633 | "version": "5.1.1", 2634 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 2635 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 2636 | "dev": true, 2637 | "requires": { 2638 | "yallist": "^3.0.2" 2639 | } 2640 | }, 2641 | "magic-string": { 2642 | "version": "0.27.0", 2643 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 2644 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 2645 | "dev": true, 2646 | "requires": { 2647 | "@jridgewell/sourcemap-codec": "^1.4.13" 2648 | } 2649 | }, 2650 | "merge2": { 2651 | "version": "1.4.1", 2652 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2653 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2654 | "dev": true 2655 | }, 2656 | "micromatch": { 2657 | "version": "4.0.5", 2658 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 2659 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 2660 | "dev": true, 2661 | "requires": { 2662 | "braces": "^3.0.2", 2663 | "picomatch": "^2.3.1" 2664 | } 2665 | }, 2666 | "ms": { 2667 | "version": "2.1.2", 2668 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2669 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2670 | "dev": true 2671 | }, 2672 | "nanoid": { 2673 | "version": "3.3.6", 2674 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 2675 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 2676 | "dev": true 2677 | }, 2678 | "node-releases": { 2679 | "version": "2.0.10", 2680 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", 2681 | "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", 2682 | "dev": true 2683 | }, 2684 | "path-parse": { 2685 | "version": "1.0.7", 2686 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2687 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2688 | "dev": true 2689 | }, 2690 | "picocolors": { 2691 | "version": "1.0.0", 2692 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2693 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2694 | "dev": true 2695 | }, 2696 | "picomatch": { 2697 | "version": "2.3.1", 2698 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2699 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2700 | "dev": true 2701 | }, 2702 | "postcss": { 2703 | "version": "8.4.21", 2704 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", 2705 | "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", 2706 | "dev": true, 2707 | "requires": { 2708 | "nanoid": "^3.3.4", 2709 | "picocolors": "^1.0.0", 2710 | "source-map-js": "^1.0.2" 2711 | } 2712 | }, 2713 | "queue-microtask": { 2714 | "version": "1.2.3", 2715 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2716 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2717 | "dev": true 2718 | }, 2719 | "react": { 2720 | "version": "18.2.0", 2721 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 2722 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 2723 | "requires": { 2724 | "loose-envify": "^1.1.0" 2725 | } 2726 | }, 2727 | "react-dom": { 2728 | "version": "18.2.0", 2729 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 2730 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 2731 | "requires": { 2732 | "loose-envify": "^1.1.0", 2733 | "scheduler": "^0.23.0" 2734 | } 2735 | }, 2736 | "react-refresh": { 2737 | "version": "0.14.0", 2738 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", 2739 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", 2740 | "dev": true 2741 | }, 2742 | "resolve": { 2743 | "version": "1.22.2", 2744 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 2745 | "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 2746 | "dev": true, 2747 | "requires": { 2748 | "is-core-module": "^2.11.0", 2749 | "path-parse": "^1.0.7", 2750 | "supports-preserve-symlinks-flag": "^1.0.0" 2751 | } 2752 | }, 2753 | "reusify": { 2754 | "version": "1.0.4", 2755 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2756 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2757 | "dev": true 2758 | }, 2759 | "rollup": { 2760 | "version": "3.20.2", 2761 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", 2762 | "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", 2763 | "dev": true, 2764 | "requires": { 2765 | "fsevents": "~2.3.2" 2766 | } 2767 | }, 2768 | "run-parallel": { 2769 | "version": "1.2.0", 2770 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2771 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2772 | "dev": true, 2773 | "requires": { 2774 | "queue-microtask": "^1.2.2" 2775 | } 2776 | }, 2777 | "scheduler": { 2778 | "version": "0.23.0", 2779 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 2780 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 2781 | "requires": { 2782 | "loose-envify": "^1.1.0" 2783 | } 2784 | }, 2785 | "semver": { 2786 | "version": "6.3.0", 2787 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2788 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2789 | "dev": true 2790 | }, 2791 | "source-map-js": { 2792 | "version": "1.0.2", 2793 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2794 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2795 | "dev": true 2796 | }, 2797 | "supports-color": { 2798 | "version": "5.5.0", 2799 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2800 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2801 | "dev": true, 2802 | "requires": { 2803 | "has-flag": "^3.0.0" 2804 | } 2805 | }, 2806 | "supports-preserve-symlinks-flag": { 2807 | "version": "1.0.0", 2808 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2809 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2810 | "dev": true 2811 | }, 2812 | "to-fast-properties": { 2813 | "version": "2.0.0", 2814 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 2815 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 2816 | "dev": true 2817 | }, 2818 | "to-regex-range": { 2819 | "version": "5.0.1", 2820 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2821 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2822 | "dev": true, 2823 | "requires": { 2824 | "is-number": "^7.0.0" 2825 | } 2826 | }, 2827 | "tslib": { 2828 | "version": "2.5.0", 2829 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", 2830 | "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" 2831 | }, 2832 | "typescript": { 2833 | "version": "4.9.5", 2834 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", 2835 | "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", 2836 | "dev": true 2837 | }, 2838 | "update-browserslist-db": { 2839 | "version": "1.0.10", 2840 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 2841 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 2842 | "dev": true, 2843 | "requires": { 2844 | "escalade": "^3.1.1", 2845 | "picocolors": "^1.0.0" 2846 | } 2847 | }, 2848 | "vite": { 2849 | "version": "4.2.1", 2850 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", 2851 | "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", 2852 | "dev": true, 2853 | "requires": { 2854 | "esbuild": "^0.17.5", 2855 | "fsevents": "~2.3.2", 2856 | "postcss": "^8.4.21", 2857 | "resolve": "^1.22.1", 2858 | "rollup": "^3.18.0" 2859 | } 2860 | }, 2861 | "vite-plugin-windicss": { 2862 | "version": "1.8.10", 2863 | "resolved": "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-1.8.10.tgz", 2864 | "integrity": "sha512-scywsuzo46lcTBohspmF0WiwhWEte6p+OUVrX4yr7VMRvLHMHVfLtJReyD5pppjijG7YOwVsZn7XBWWZtF658Q==", 2865 | "dev": true, 2866 | "requires": { 2867 | "@windicss/plugin-utils": "1.8.10", 2868 | "debug": "^4.3.4", 2869 | "kolorist": "^1.6.0", 2870 | "windicss": "^3.5.6" 2871 | } 2872 | }, 2873 | "windicss": { 2874 | "version": "3.5.6", 2875 | "resolved": "https://registry.npmjs.org/windicss/-/windicss-3.5.6.tgz", 2876 | "integrity": "sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==", 2877 | "dev": true 2878 | }, 2879 | "yallist": { 2880 | "version": "3.1.1", 2881 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 2882 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 2883 | "dev": true 2884 | } 2885 | } 2886 | } 2887 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "boat-website", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc && vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "framer-motion": "^10.11.2", 13 | "react": "^18.2.0", 14 | "react-dom": "^18.2.0" 15 | }, 16 | "devDependencies": { 17 | "@types/react": "^18.0.28", 18 | "@types/react-dom": "^18.0.11", 19 | "@vitejs/plugin-react": "^3.1.0", 20 | "typescript": "^4.9.3", 21 | "vite": "^4.2.0", 22 | "vite-plugin-windicss": "^1.8.10", 23 | "windicss": "^3.5.6" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import Home from "./Home"; 2 | import Navbar from "./Navbar"; 3 | 4 | function App() { 5 | return ( 6 | <> 7 | 8 | 9 | 10 | ); 11 | } 12 | 13 | export default App; 14 | -------------------------------------------------------------------------------- /src/ArrowRight.tsx: -------------------------------------------------------------------------------- 1 | function ArrowRight() { 2 | return ( 3 | 10 | 11 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | ); 23 | } 24 | 25 | export default ArrowRight; 26 | -------------------------------------------------------------------------------- /src/BoatVideo.tsx: -------------------------------------------------------------------------------- 1 | function BoatVideo() { 2 | return ( 3 | 11 | ); 12 | } 13 | 14 | export default BoatVideo; 15 | -------------------------------------------------------------------------------- /src/Compass.tsx: -------------------------------------------------------------------------------- 1 | function Compass() { 2 | return ( 3 | 10 | 14 | 18 | 24 | 28 | 32 | 36 | 40 | 41 | ); 42 | } 43 | 44 | export default Compass; 45 | -------------------------------------------------------------------------------- /src/HeroText.tsx: -------------------------------------------------------------------------------- 1 | import { motion } from "framer-motion"; 2 | import Compass from "./Compass"; 3 | import { animationStart, reveal } from "./utils/animation"; 4 | 5 | function HeroText() { 6 | return ( 7 | 14 | 21 | 22 | delivering industry's 23 | 24 | top tallents work 25 | 26 | 33 | vr headset warable network effect. hypergrowth activist investor. 34 | substack blogging thiel fellow dropout. alexis ohanian tweeted overhyped 35 | ed-tech series. 36 | 37 | 38 | ); 39 | } 40 | 41 | export default HeroText; 42 | -------------------------------------------------------------------------------- /src/Home.tsx: -------------------------------------------------------------------------------- 1 | import BoatVideo from "./BoatVideo"; 2 | import HeroText from "./HeroText"; 3 | import MapImages from "./MapImages"; 4 | 5 | function Home() { 6 | return ( 7 | <> 8 | 9 | 10 | 11 | 12 | ); 13 | } 14 | 15 | export default Home; 16 | -------------------------------------------------------------------------------- /src/Logo.tsx: -------------------------------------------------------------------------------- 1 | function Logo() { 2 | return ( 3 | 10 | 14 | 18 | 22 | 23 | ); 24 | } 25 | 26 | export default Logo; -------------------------------------------------------------------------------- /src/MapImages.tsx: -------------------------------------------------------------------------------- 1 | import { motion } from "framer-motion"; 2 | import { animationStart } from "./utils/animation"; 3 | 4 | function MapImages() { 5 | return ( 6 |
7 | 18 | 29 |
30 | ); 31 | } 32 | 33 | export default MapImages; 34 | -------------------------------------------------------------------------------- /src/Navbar.tsx: -------------------------------------------------------------------------------- 1 | import Logo from "./Logo"; 2 | import ArrowRight from "./ArrowRight"; 3 | import { motion } from "framer-motion"; 4 | import { animationStart, reveal } from "./utils/animation"; 5 | 6 | function Navbar() { 7 | return ( 8 | 13 | 26 | 27 | 28 | 29 |
30 | 31 | solutions. 32 | 33 | 34 | courses. 35 | 36 | 37 | resources. 38 | 39 | 40 | about. 41 | 42 |
43 | 47 | sign in 48 | 49 | 50 |
51 |
52 | ); 53 | } 54 | 55 | export default Navbar; 56 | -------------------------------------------------------------------------------- /src/assets/boat-video.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fullstackwiz/boat-website/29e9c6d067febdd6c2061bbafd574597906be244/src/assets/boat-video.mp4 -------------------------------------------------------------------------------- /src/assets/map_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fullstackwiz/boat-website/29e9c6d067febdd6c2061bbafd574597906be244/src/assets/map_1.png -------------------------------------------------------------------------------- /src/assets/map_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fullstackwiz/boat-website/29e9c6d067febdd6c2061bbafd574597906be244/src/assets/map_2.png -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;500;600;700;800&display=swap"); 2 | 3 | body { 4 | font-family: 'Exo 2', sans-serif; 5 | } -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import 'virtual:windi.css' 5 | import './index.css' 6 | 7 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( 8 | 9 | 10 | , 11 | ) 12 | -------------------------------------------------------------------------------- /src/utils/animation.ts: -------------------------------------------------------------------------------- 1 | import { Variants } from "framer-motion"; 2 | 3 | export const animationStart = 6; 4 | 5 | export const reveal: Variants = { 6 | hiddenVariant: { y: 50, opacity: 0 }, 7 | revealedVariant: { 8 | y: 0, 9 | opacity: 1, 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 6 | "allowJs": false, 7 | "skipLibCheck": true, 8 | "esModuleInterop": false, 9 | "allowSyntheticDefaultImports": true, 10 | "strict": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "module": "ESNext", 13 | "moduleResolution": "Node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx" 18 | }, 19 | "include": ["src"], 20 | "references": [{ "path": "./tsconfig.node.json" }] 21 | } 22 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | import WindiCSS from 'vite-plugin-windicss' 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | plugins: [react(), WindiCSS()], 8 | }) 9 | -------------------------------------------------------------------------------- /windi.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'windicss/helpers'; 2 | 3 | export default defineConfig({ 4 | theme: { 5 | extend: { 6 | animation: { 7 | "clip-from-top-animation": "clip 1s ease-in-out 5.5s forwards", 8 | }, 9 | keyframes: { 10 | "clip": { 11 | "0%": { 'clip-path': "ellipse(100% 100% at 50% 50%)" }, 12 | "100%": { 'clip-path': "ellipse(160% 160% at 50% 160%)" }, 13 | }, 14 | }, 15 | }, 16 | }, 17 | }); 18 | --------------------------------------------------------------------------------