├── .gitignore ├── README.md ├── components.json ├── example.env.local ├── next.config.ts ├── package-lock.json ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── file.svg ├── globe.svg ├── next.svg ├── vercel.svg └── window.svg ├── src ├── app │ ├── favicon.ico │ ├── fonts │ │ ├── GeistMonoVF.woff │ │ └── GeistVF.woff │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── components │ ├── VoiceComponent.tsx │ └── ui │ │ ├── button.tsx │ │ └── card.tsx └── lib │ └── utils.ts ├── tailwind.config.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.* 7 | .yarn/* 8 | !.yarn/patches 9 | !.yarn/plugins 10 | !.yarn/releases 11 | !.yarn/versions 12 | 13 | # testing 14 | /coverage 15 | 16 | # next.js 17 | /.next/ 18 | /out/ 19 | 20 | # production 21 | /build 22 | 23 | # misc 24 | .DS_Store 25 | *.pem 26 | 27 | # debug 28 | npm-debug.log* 29 | yarn-debug.log* 30 | yarn-error.log* 31 | 32 | # env files (can opt-in for committing if needed) 33 | .env* 34 | 35 | # vercel 36 | .vercel 37 | 38 | # typescript 39 | *.tsbuildinfo 40 | next-env.d.ts 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Real-time Voice Assistant with Next.js and ElevenLabs 2 | 3 | This project demonstrates how to build a real-time voice assistant using Next.js and the ElevenLabs Conversational SDK. Follow along with the YouTube tutorial to create your own AI-powered voice assistant. 4 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "new-york", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.ts", 8 | "css": "src/app/globals.css", 9 | "baseColor": "zinc", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils", 16 | "ui": "@/components/ui", 17 | "lib": "@/lib", 18 | "hooks": "@/hooks" 19 | }, 20 | "iconLibrary": "lucide" 21 | } -------------------------------------------------------------------------------- /example.env.local: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_ELEVENLABS_AGENT_ID=xxx -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | /* config options here */ 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "elevenlabs-conversational-ai", 3 | "version": "0.1.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "elevenlabs-conversational-ai", 9 | "version": "0.1.0", 10 | "dependencies": { 11 | "next": "15.0.4", 12 | "react": "^19.0.0", 13 | "react-dom": "^19.0.0" 14 | }, 15 | "devDependencies": { 16 | "@types/node": "^20", 17 | "@types/react": "^19", 18 | "@types/react-dom": "^19", 19 | "postcss": "^8", 20 | "tailwindcss": "^3.4.1", 21 | "typescript": "^5" 22 | } 23 | }, 24 | "node_modules/@alloc/quick-lru": { 25 | "version": "5.2.0", 26 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 27 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 28 | "dev": true, 29 | "license": "MIT", 30 | "engines": { 31 | "node": ">=10" 32 | }, 33 | "funding": { 34 | "url": "https://github.com/sponsors/sindresorhus" 35 | } 36 | }, 37 | "node_modules/@emnapi/runtime": { 38 | "version": "1.3.1", 39 | "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", 40 | "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", 41 | "license": "MIT", 42 | "optional": true, 43 | "dependencies": { 44 | "tslib": "^2.4.0" 45 | } 46 | }, 47 | "node_modules/@img/sharp-darwin-arm64": { 48 | "version": "0.33.5", 49 | "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", 50 | "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", 51 | "cpu": [ 52 | "arm64" 53 | ], 54 | "license": "Apache-2.0", 55 | "optional": true, 56 | "os": [ 57 | "darwin" 58 | ], 59 | "engines": { 60 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 61 | }, 62 | "funding": { 63 | "url": "https://opencollective.com/libvips" 64 | }, 65 | "optionalDependencies": { 66 | "@img/sharp-libvips-darwin-arm64": "1.0.4" 67 | } 68 | }, 69 | "node_modules/@img/sharp-darwin-x64": { 70 | "version": "0.33.5", 71 | "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", 72 | "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", 73 | "cpu": [ 74 | "x64" 75 | ], 76 | "license": "Apache-2.0", 77 | "optional": true, 78 | "os": [ 79 | "darwin" 80 | ], 81 | "engines": { 82 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 83 | }, 84 | "funding": { 85 | "url": "https://opencollective.com/libvips" 86 | }, 87 | "optionalDependencies": { 88 | "@img/sharp-libvips-darwin-x64": "1.0.4" 89 | } 90 | }, 91 | "node_modules/@img/sharp-libvips-darwin-arm64": { 92 | "version": "1.0.4", 93 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", 94 | "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", 95 | "cpu": [ 96 | "arm64" 97 | ], 98 | "license": "LGPL-3.0-or-later", 99 | "optional": true, 100 | "os": [ 101 | "darwin" 102 | ], 103 | "funding": { 104 | "url": "https://opencollective.com/libvips" 105 | } 106 | }, 107 | "node_modules/@img/sharp-libvips-darwin-x64": { 108 | "version": "1.0.4", 109 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", 110 | "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", 111 | "cpu": [ 112 | "x64" 113 | ], 114 | "license": "LGPL-3.0-or-later", 115 | "optional": true, 116 | "os": [ 117 | "darwin" 118 | ], 119 | "funding": { 120 | "url": "https://opencollective.com/libvips" 121 | } 122 | }, 123 | "node_modules/@img/sharp-libvips-linux-arm": { 124 | "version": "1.0.5", 125 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", 126 | "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", 127 | "cpu": [ 128 | "arm" 129 | ], 130 | "license": "LGPL-3.0-or-later", 131 | "optional": true, 132 | "os": [ 133 | "linux" 134 | ], 135 | "funding": { 136 | "url": "https://opencollective.com/libvips" 137 | } 138 | }, 139 | "node_modules/@img/sharp-libvips-linux-arm64": { 140 | "version": "1.0.4", 141 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", 142 | "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", 143 | "cpu": [ 144 | "arm64" 145 | ], 146 | "license": "LGPL-3.0-or-later", 147 | "optional": true, 148 | "os": [ 149 | "linux" 150 | ], 151 | "funding": { 152 | "url": "https://opencollective.com/libvips" 153 | } 154 | }, 155 | "node_modules/@img/sharp-libvips-linux-s390x": { 156 | "version": "1.0.4", 157 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", 158 | "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", 159 | "cpu": [ 160 | "s390x" 161 | ], 162 | "license": "LGPL-3.0-or-later", 163 | "optional": true, 164 | "os": [ 165 | "linux" 166 | ], 167 | "funding": { 168 | "url": "https://opencollective.com/libvips" 169 | } 170 | }, 171 | "node_modules/@img/sharp-libvips-linux-x64": { 172 | "version": "1.0.4", 173 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", 174 | "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", 175 | "cpu": [ 176 | "x64" 177 | ], 178 | "license": "LGPL-3.0-or-later", 179 | "optional": true, 180 | "os": [ 181 | "linux" 182 | ], 183 | "funding": { 184 | "url": "https://opencollective.com/libvips" 185 | } 186 | }, 187 | "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 188 | "version": "1.0.4", 189 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", 190 | "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", 191 | "cpu": [ 192 | "arm64" 193 | ], 194 | "license": "LGPL-3.0-or-later", 195 | "optional": true, 196 | "os": [ 197 | "linux" 198 | ], 199 | "funding": { 200 | "url": "https://opencollective.com/libvips" 201 | } 202 | }, 203 | "node_modules/@img/sharp-libvips-linuxmusl-x64": { 204 | "version": "1.0.4", 205 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", 206 | "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", 207 | "cpu": [ 208 | "x64" 209 | ], 210 | "license": "LGPL-3.0-or-later", 211 | "optional": true, 212 | "os": [ 213 | "linux" 214 | ], 215 | "funding": { 216 | "url": "https://opencollective.com/libvips" 217 | } 218 | }, 219 | "node_modules/@img/sharp-linux-arm": { 220 | "version": "0.33.5", 221 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", 222 | "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", 223 | "cpu": [ 224 | "arm" 225 | ], 226 | "license": "Apache-2.0", 227 | "optional": true, 228 | "os": [ 229 | "linux" 230 | ], 231 | "engines": { 232 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 233 | }, 234 | "funding": { 235 | "url": "https://opencollective.com/libvips" 236 | }, 237 | "optionalDependencies": { 238 | "@img/sharp-libvips-linux-arm": "1.0.5" 239 | } 240 | }, 241 | "node_modules/@img/sharp-linux-arm64": { 242 | "version": "0.33.5", 243 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", 244 | "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", 245 | "cpu": [ 246 | "arm64" 247 | ], 248 | "license": "Apache-2.0", 249 | "optional": true, 250 | "os": [ 251 | "linux" 252 | ], 253 | "engines": { 254 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 255 | }, 256 | "funding": { 257 | "url": "https://opencollective.com/libvips" 258 | }, 259 | "optionalDependencies": { 260 | "@img/sharp-libvips-linux-arm64": "1.0.4" 261 | } 262 | }, 263 | "node_modules/@img/sharp-linux-s390x": { 264 | "version": "0.33.5", 265 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", 266 | "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", 267 | "cpu": [ 268 | "s390x" 269 | ], 270 | "license": "Apache-2.0", 271 | "optional": true, 272 | "os": [ 273 | "linux" 274 | ], 275 | "engines": { 276 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 277 | }, 278 | "funding": { 279 | "url": "https://opencollective.com/libvips" 280 | }, 281 | "optionalDependencies": { 282 | "@img/sharp-libvips-linux-s390x": "1.0.4" 283 | } 284 | }, 285 | "node_modules/@img/sharp-linux-x64": { 286 | "version": "0.33.5", 287 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", 288 | "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", 289 | "cpu": [ 290 | "x64" 291 | ], 292 | "license": "Apache-2.0", 293 | "optional": true, 294 | "os": [ 295 | "linux" 296 | ], 297 | "engines": { 298 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 299 | }, 300 | "funding": { 301 | "url": "https://opencollective.com/libvips" 302 | }, 303 | "optionalDependencies": { 304 | "@img/sharp-libvips-linux-x64": "1.0.4" 305 | } 306 | }, 307 | "node_modules/@img/sharp-linuxmusl-arm64": { 308 | "version": "0.33.5", 309 | "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", 310 | "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", 311 | "cpu": [ 312 | "arm64" 313 | ], 314 | "license": "Apache-2.0", 315 | "optional": true, 316 | "os": [ 317 | "linux" 318 | ], 319 | "engines": { 320 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 321 | }, 322 | "funding": { 323 | "url": "https://opencollective.com/libvips" 324 | }, 325 | "optionalDependencies": { 326 | "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" 327 | } 328 | }, 329 | "node_modules/@img/sharp-linuxmusl-x64": { 330 | "version": "0.33.5", 331 | "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", 332 | "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", 333 | "cpu": [ 334 | "x64" 335 | ], 336 | "license": "Apache-2.0", 337 | "optional": true, 338 | "os": [ 339 | "linux" 340 | ], 341 | "engines": { 342 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 343 | }, 344 | "funding": { 345 | "url": "https://opencollective.com/libvips" 346 | }, 347 | "optionalDependencies": { 348 | "@img/sharp-libvips-linuxmusl-x64": "1.0.4" 349 | } 350 | }, 351 | "node_modules/@img/sharp-wasm32": { 352 | "version": "0.33.5", 353 | "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", 354 | "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", 355 | "cpu": [ 356 | "wasm32" 357 | ], 358 | "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", 359 | "optional": true, 360 | "dependencies": { 361 | "@emnapi/runtime": "^1.2.0" 362 | }, 363 | "engines": { 364 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 365 | }, 366 | "funding": { 367 | "url": "https://opencollective.com/libvips" 368 | } 369 | }, 370 | "node_modules/@img/sharp-win32-ia32": { 371 | "version": "0.33.5", 372 | "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", 373 | "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", 374 | "cpu": [ 375 | "ia32" 376 | ], 377 | "license": "Apache-2.0 AND LGPL-3.0-or-later", 378 | "optional": true, 379 | "os": [ 380 | "win32" 381 | ], 382 | "engines": { 383 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 384 | }, 385 | "funding": { 386 | "url": "https://opencollective.com/libvips" 387 | } 388 | }, 389 | "node_modules/@img/sharp-win32-x64": { 390 | "version": "0.33.5", 391 | "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", 392 | "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", 393 | "cpu": [ 394 | "x64" 395 | ], 396 | "license": "Apache-2.0 AND LGPL-3.0-or-later", 397 | "optional": true, 398 | "os": [ 399 | "win32" 400 | ], 401 | "engines": { 402 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 403 | }, 404 | "funding": { 405 | "url": "https://opencollective.com/libvips" 406 | } 407 | }, 408 | "node_modules/@isaacs/cliui": { 409 | "version": "8.0.2", 410 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 411 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 412 | "dev": true, 413 | "license": "ISC", 414 | "dependencies": { 415 | "string-width": "^5.1.2", 416 | "string-width-cjs": "npm:string-width@^4.2.0", 417 | "strip-ansi": "^7.0.1", 418 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 419 | "wrap-ansi": "^8.1.0", 420 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 421 | }, 422 | "engines": { 423 | "node": ">=12" 424 | } 425 | }, 426 | "node_modules/@jridgewell/gen-mapping": { 427 | "version": "0.3.5", 428 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 429 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 430 | "dev": true, 431 | "license": "MIT", 432 | "dependencies": { 433 | "@jridgewell/set-array": "^1.2.1", 434 | "@jridgewell/sourcemap-codec": "^1.4.10", 435 | "@jridgewell/trace-mapping": "^0.3.24" 436 | }, 437 | "engines": { 438 | "node": ">=6.0.0" 439 | } 440 | }, 441 | "node_modules/@jridgewell/resolve-uri": { 442 | "version": "3.1.2", 443 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 444 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 445 | "dev": true, 446 | "license": "MIT", 447 | "engines": { 448 | "node": ">=6.0.0" 449 | } 450 | }, 451 | "node_modules/@jridgewell/set-array": { 452 | "version": "1.2.1", 453 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 454 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 455 | "dev": true, 456 | "license": "MIT", 457 | "engines": { 458 | "node": ">=6.0.0" 459 | } 460 | }, 461 | "node_modules/@jridgewell/sourcemap-codec": { 462 | "version": "1.5.0", 463 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 464 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 465 | "dev": true, 466 | "license": "MIT" 467 | }, 468 | "node_modules/@jridgewell/trace-mapping": { 469 | "version": "0.3.25", 470 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 471 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 472 | "dev": true, 473 | "license": "MIT", 474 | "dependencies": { 475 | "@jridgewell/resolve-uri": "^3.1.0", 476 | "@jridgewell/sourcemap-codec": "^1.4.14" 477 | } 478 | }, 479 | "node_modules/@next/env": { 480 | "version": "15.0.4", 481 | "resolved": "https://registry.npmjs.org/@next/env/-/env-15.0.4.tgz", 482 | "integrity": "sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==", 483 | "license": "MIT" 484 | }, 485 | "node_modules/@next/swc-darwin-arm64": { 486 | "version": "15.0.4", 487 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.4.tgz", 488 | "integrity": "sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w==", 489 | "cpu": [ 490 | "arm64" 491 | ], 492 | "license": "MIT", 493 | "optional": true, 494 | "os": [ 495 | "darwin" 496 | ], 497 | "engines": { 498 | "node": ">= 10" 499 | } 500 | }, 501 | "node_modules/@next/swc-darwin-x64": { 502 | "version": "15.0.4", 503 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.4.tgz", 504 | "integrity": "sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA==", 505 | "cpu": [ 506 | "x64" 507 | ], 508 | "license": "MIT", 509 | "optional": true, 510 | "os": [ 511 | "darwin" 512 | ], 513 | "engines": { 514 | "node": ">= 10" 515 | } 516 | }, 517 | "node_modules/@next/swc-linux-arm64-gnu": { 518 | "version": "15.0.4", 519 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.4.tgz", 520 | "integrity": "sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA==", 521 | "cpu": [ 522 | "arm64" 523 | ], 524 | "license": "MIT", 525 | "optional": true, 526 | "os": [ 527 | "linux" 528 | ], 529 | "engines": { 530 | "node": ">= 10" 531 | } 532 | }, 533 | "node_modules/@next/swc-linux-arm64-musl": { 534 | "version": "15.0.4", 535 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.4.tgz", 536 | "integrity": "sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw==", 537 | "cpu": [ 538 | "arm64" 539 | ], 540 | "license": "MIT", 541 | "optional": true, 542 | "os": [ 543 | "linux" 544 | ], 545 | "engines": { 546 | "node": ">= 10" 547 | } 548 | }, 549 | "node_modules/@next/swc-linux-x64-gnu": { 550 | "version": "15.0.4", 551 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.4.tgz", 552 | "integrity": "sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw==", 553 | "cpu": [ 554 | "x64" 555 | ], 556 | "license": "MIT", 557 | "optional": true, 558 | "os": [ 559 | "linux" 560 | ], 561 | "engines": { 562 | "node": ">= 10" 563 | } 564 | }, 565 | "node_modules/@next/swc-linux-x64-musl": { 566 | "version": "15.0.4", 567 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.4.tgz", 568 | "integrity": "sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw==", 569 | "cpu": [ 570 | "x64" 571 | ], 572 | "license": "MIT", 573 | "optional": true, 574 | "os": [ 575 | "linux" 576 | ], 577 | "engines": { 578 | "node": ">= 10" 579 | } 580 | }, 581 | "node_modules/@next/swc-win32-arm64-msvc": { 582 | "version": "15.0.4", 583 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.4.tgz", 584 | "integrity": "sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ==", 585 | "cpu": [ 586 | "arm64" 587 | ], 588 | "license": "MIT", 589 | "optional": true, 590 | "os": [ 591 | "win32" 592 | ], 593 | "engines": { 594 | "node": ">= 10" 595 | } 596 | }, 597 | "node_modules/@next/swc-win32-x64-msvc": { 598 | "version": "15.0.4", 599 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.4.tgz", 600 | "integrity": "sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw==", 601 | "cpu": [ 602 | "x64" 603 | ], 604 | "license": "MIT", 605 | "optional": true, 606 | "os": [ 607 | "win32" 608 | ], 609 | "engines": { 610 | "node": ">= 10" 611 | } 612 | }, 613 | "node_modules/@nodelib/fs.scandir": { 614 | "version": "2.1.5", 615 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 616 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 617 | "dev": true, 618 | "license": "MIT", 619 | "dependencies": { 620 | "@nodelib/fs.stat": "2.0.5", 621 | "run-parallel": "^1.1.9" 622 | }, 623 | "engines": { 624 | "node": ">= 8" 625 | } 626 | }, 627 | "node_modules/@nodelib/fs.stat": { 628 | "version": "2.0.5", 629 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 630 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 631 | "dev": true, 632 | "license": "MIT", 633 | "engines": { 634 | "node": ">= 8" 635 | } 636 | }, 637 | "node_modules/@nodelib/fs.walk": { 638 | "version": "1.2.8", 639 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 640 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 641 | "dev": true, 642 | "license": "MIT", 643 | "dependencies": { 644 | "@nodelib/fs.scandir": "2.1.5", 645 | "fastq": "^1.6.0" 646 | }, 647 | "engines": { 648 | "node": ">= 8" 649 | } 650 | }, 651 | "node_modules/@pkgjs/parseargs": { 652 | "version": "0.11.0", 653 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 654 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 655 | "dev": true, 656 | "license": "MIT", 657 | "optional": true, 658 | "engines": { 659 | "node": ">=14" 660 | } 661 | }, 662 | "node_modules/@swc/counter": { 663 | "version": "0.1.3", 664 | "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", 665 | "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", 666 | "license": "Apache-2.0" 667 | }, 668 | "node_modules/@swc/helpers": { 669 | "version": "0.5.13", 670 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", 671 | "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", 672 | "license": "Apache-2.0", 673 | "dependencies": { 674 | "tslib": "^2.4.0" 675 | } 676 | }, 677 | "node_modules/@types/node": { 678 | "version": "20.17.9", 679 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.9.tgz", 680 | "integrity": "sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==", 681 | "dev": true, 682 | "license": "MIT", 683 | "dependencies": { 684 | "undici-types": "~6.19.2" 685 | } 686 | }, 687 | "node_modules/@types/react": { 688 | "version": "19.0.0", 689 | "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.0.tgz", 690 | "integrity": "sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==", 691 | "dev": true, 692 | "license": "MIT", 693 | "dependencies": { 694 | "csstype": "^3.0.2" 695 | } 696 | }, 697 | "node_modules/@types/react-dom": { 698 | "version": "19.0.0", 699 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.0.tgz", 700 | "integrity": "sha512-1KfiQKsH1o00p9m5ag12axHQSb3FOU9H20UTrujVSkNhuCrRHiQWFqgEnTNK5ZNfnzZv8UWrnXVqCmCF9fgY3w==", 701 | "dev": true, 702 | "license": "MIT", 703 | "dependencies": { 704 | "@types/react": "*" 705 | } 706 | }, 707 | "node_modules/ansi-regex": { 708 | "version": "6.1.0", 709 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 710 | "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 711 | "dev": true, 712 | "license": "MIT", 713 | "engines": { 714 | "node": ">=12" 715 | }, 716 | "funding": { 717 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 718 | } 719 | }, 720 | "node_modules/ansi-styles": { 721 | "version": "6.2.1", 722 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 723 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 724 | "dev": true, 725 | "license": "MIT", 726 | "engines": { 727 | "node": ">=12" 728 | }, 729 | "funding": { 730 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 731 | } 732 | }, 733 | "node_modules/any-promise": { 734 | "version": "1.3.0", 735 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 736 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 737 | "dev": true, 738 | "license": "MIT" 739 | }, 740 | "node_modules/anymatch": { 741 | "version": "3.1.3", 742 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 743 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 744 | "dev": true, 745 | "license": "ISC", 746 | "dependencies": { 747 | "normalize-path": "^3.0.0", 748 | "picomatch": "^2.0.4" 749 | }, 750 | "engines": { 751 | "node": ">= 8" 752 | } 753 | }, 754 | "node_modules/arg": { 755 | "version": "5.0.2", 756 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 757 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 758 | "dev": true, 759 | "license": "MIT" 760 | }, 761 | "node_modules/balanced-match": { 762 | "version": "1.0.2", 763 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 764 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 765 | "dev": true, 766 | "license": "MIT" 767 | }, 768 | "node_modules/binary-extensions": { 769 | "version": "2.3.0", 770 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 771 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 772 | "dev": true, 773 | "license": "MIT", 774 | "engines": { 775 | "node": ">=8" 776 | }, 777 | "funding": { 778 | "url": "https://github.com/sponsors/sindresorhus" 779 | } 780 | }, 781 | "node_modules/brace-expansion": { 782 | "version": "2.0.1", 783 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 784 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 785 | "dev": true, 786 | "license": "MIT", 787 | "dependencies": { 788 | "balanced-match": "^1.0.0" 789 | } 790 | }, 791 | "node_modules/braces": { 792 | "version": "3.0.3", 793 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 794 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 795 | "dev": true, 796 | "license": "MIT", 797 | "dependencies": { 798 | "fill-range": "^7.1.1" 799 | }, 800 | "engines": { 801 | "node": ">=8" 802 | } 803 | }, 804 | "node_modules/busboy": { 805 | "version": "1.6.0", 806 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 807 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 808 | "dependencies": { 809 | "streamsearch": "^1.1.0" 810 | }, 811 | "engines": { 812 | "node": ">=10.16.0" 813 | } 814 | }, 815 | "node_modules/camelcase-css": { 816 | "version": "2.0.1", 817 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 818 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 819 | "dev": true, 820 | "license": "MIT", 821 | "engines": { 822 | "node": ">= 6" 823 | } 824 | }, 825 | "node_modules/caniuse-lite": { 826 | "version": "1.0.30001687", 827 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz", 828 | "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==", 829 | "funding": [ 830 | { 831 | "type": "opencollective", 832 | "url": "https://opencollective.com/browserslist" 833 | }, 834 | { 835 | "type": "tidelift", 836 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 837 | }, 838 | { 839 | "type": "github", 840 | "url": "https://github.com/sponsors/ai" 841 | } 842 | ], 843 | "license": "CC-BY-4.0" 844 | }, 845 | "node_modules/chokidar": { 846 | "version": "3.6.0", 847 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 848 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 849 | "dev": true, 850 | "license": "MIT", 851 | "dependencies": { 852 | "anymatch": "~3.1.2", 853 | "braces": "~3.0.2", 854 | "glob-parent": "~5.1.2", 855 | "is-binary-path": "~2.1.0", 856 | "is-glob": "~4.0.1", 857 | "normalize-path": "~3.0.0", 858 | "readdirp": "~3.6.0" 859 | }, 860 | "engines": { 861 | "node": ">= 8.10.0" 862 | }, 863 | "funding": { 864 | "url": "https://paulmillr.com/funding/" 865 | }, 866 | "optionalDependencies": { 867 | "fsevents": "~2.3.2" 868 | } 869 | }, 870 | "node_modules/chokidar/node_modules/glob-parent": { 871 | "version": "5.1.2", 872 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 873 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 874 | "dev": true, 875 | "license": "ISC", 876 | "dependencies": { 877 | "is-glob": "^4.0.1" 878 | }, 879 | "engines": { 880 | "node": ">= 6" 881 | } 882 | }, 883 | "node_modules/client-only": { 884 | "version": "0.0.1", 885 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 886 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", 887 | "license": "MIT" 888 | }, 889 | "node_modules/color": { 890 | "version": "4.2.3", 891 | "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", 892 | "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", 893 | "license": "MIT", 894 | "optional": true, 895 | "dependencies": { 896 | "color-convert": "^2.0.1", 897 | "color-string": "^1.9.0" 898 | }, 899 | "engines": { 900 | "node": ">=12.5.0" 901 | } 902 | }, 903 | "node_modules/color-convert": { 904 | "version": "2.0.1", 905 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 906 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 907 | "devOptional": true, 908 | "license": "MIT", 909 | "dependencies": { 910 | "color-name": "~1.1.4" 911 | }, 912 | "engines": { 913 | "node": ">=7.0.0" 914 | } 915 | }, 916 | "node_modules/color-name": { 917 | "version": "1.1.4", 918 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 919 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 920 | "devOptional": true, 921 | "license": "MIT" 922 | }, 923 | "node_modules/color-string": { 924 | "version": "1.9.1", 925 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", 926 | "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 927 | "license": "MIT", 928 | "optional": true, 929 | "dependencies": { 930 | "color-name": "^1.0.0", 931 | "simple-swizzle": "^0.2.2" 932 | } 933 | }, 934 | "node_modules/commander": { 935 | "version": "4.1.1", 936 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 937 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 938 | "dev": true, 939 | "license": "MIT", 940 | "engines": { 941 | "node": ">= 6" 942 | } 943 | }, 944 | "node_modules/cross-spawn": { 945 | "version": "7.0.6", 946 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 947 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 948 | "dev": true, 949 | "license": "MIT", 950 | "dependencies": { 951 | "path-key": "^3.1.0", 952 | "shebang-command": "^2.0.0", 953 | "which": "^2.0.1" 954 | }, 955 | "engines": { 956 | "node": ">= 8" 957 | } 958 | }, 959 | "node_modules/cssesc": { 960 | "version": "3.0.0", 961 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 962 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 963 | "dev": true, 964 | "license": "MIT", 965 | "bin": { 966 | "cssesc": "bin/cssesc" 967 | }, 968 | "engines": { 969 | "node": ">=4" 970 | } 971 | }, 972 | "node_modules/csstype": { 973 | "version": "3.1.3", 974 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 975 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 976 | "dev": true, 977 | "license": "MIT" 978 | }, 979 | "node_modules/detect-libc": { 980 | "version": "2.0.3", 981 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", 982 | "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", 983 | "license": "Apache-2.0", 984 | "optional": true, 985 | "engines": { 986 | "node": ">=8" 987 | } 988 | }, 989 | "node_modules/didyoumean": { 990 | "version": "1.2.2", 991 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 992 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 993 | "dev": true, 994 | "license": "Apache-2.0" 995 | }, 996 | "node_modules/dlv": { 997 | "version": "1.1.3", 998 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 999 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 1000 | "dev": true, 1001 | "license": "MIT" 1002 | }, 1003 | "node_modules/eastasianwidth": { 1004 | "version": "0.2.0", 1005 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 1006 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 1007 | "dev": true, 1008 | "license": "MIT" 1009 | }, 1010 | "node_modules/emoji-regex": { 1011 | "version": "9.2.2", 1012 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 1013 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 1014 | "dev": true, 1015 | "license": "MIT" 1016 | }, 1017 | "node_modules/fast-glob": { 1018 | "version": "3.3.2", 1019 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 1020 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 1021 | "dev": true, 1022 | "license": "MIT", 1023 | "dependencies": { 1024 | "@nodelib/fs.stat": "^2.0.2", 1025 | "@nodelib/fs.walk": "^1.2.3", 1026 | "glob-parent": "^5.1.2", 1027 | "merge2": "^1.3.0", 1028 | "micromatch": "^4.0.4" 1029 | }, 1030 | "engines": { 1031 | "node": ">=8.6.0" 1032 | } 1033 | }, 1034 | "node_modules/fast-glob/node_modules/glob-parent": { 1035 | "version": "5.1.2", 1036 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1037 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1038 | "dev": true, 1039 | "license": "ISC", 1040 | "dependencies": { 1041 | "is-glob": "^4.0.1" 1042 | }, 1043 | "engines": { 1044 | "node": ">= 6" 1045 | } 1046 | }, 1047 | "node_modules/fastq": { 1048 | "version": "1.17.1", 1049 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 1050 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 1051 | "dev": true, 1052 | "license": "ISC", 1053 | "dependencies": { 1054 | "reusify": "^1.0.4" 1055 | } 1056 | }, 1057 | "node_modules/fill-range": { 1058 | "version": "7.1.1", 1059 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 1060 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 1061 | "dev": true, 1062 | "license": "MIT", 1063 | "dependencies": { 1064 | "to-regex-range": "^5.0.1" 1065 | }, 1066 | "engines": { 1067 | "node": ">=8" 1068 | } 1069 | }, 1070 | "node_modules/foreground-child": { 1071 | "version": "3.3.0", 1072 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", 1073 | "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", 1074 | "dev": true, 1075 | "license": "ISC", 1076 | "dependencies": { 1077 | "cross-spawn": "^7.0.0", 1078 | "signal-exit": "^4.0.1" 1079 | }, 1080 | "engines": { 1081 | "node": ">=14" 1082 | }, 1083 | "funding": { 1084 | "url": "https://github.com/sponsors/isaacs" 1085 | } 1086 | }, 1087 | "node_modules/fsevents": { 1088 | "version": "2.3.3", 1089 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1090 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1091 | "dev": true, 1092 | "hasInstallScript": true, 1093 | "license": "MIT", 1094 | "optional": true, 1095 | "os": [ 1096 | "darwin" 1097 | ], 1098 | "engines": { 1099 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1100 | } 1101 | }, 1102 | "node_modules/function-bind": { 1103 | "version": "1.1.2", 1104 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1105 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 1106 | "dev": true, 1107 | "license": "MIT", 1108 | "funding": { 1109 | "url": "https://github.com/sponsors/ljharb" 1110 | } 1111 | }, 1112 | "node_modules/glob": { 1113 | "version": "10.4.5", 1114 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 1115 | "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 1116 | "dev": true, 1117 | "license": "ISC", 1118 | "dependencies": { 1119 | "foreground-child": "^3.1.0", 1120 | "jackspeak": "^3.1.2", 1121 | "minimatch": "^9.0.4", 1122 | "minipass": "^7.1.2", 1123 | "package-json-from-dist": "^1.0.0", 1124 | "path-scurry": "^1.11.1" 1125 | }, 1126 | "bin": { 1127 | "glob": "dist/esm/bin.mjs" 1128 | }, 1129 | "funding": { 1130 | "url": "https://github.com/sponsors/isaacs" 1131 | } 1132 | }, 1133 | "node_modules/glob-parent": { 1134 | "version": "6.0.2", 1135 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1136 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1137 | "dev": true, 1138 | "license": "ISC", 1139 | "dependencies": { 1140 | "is-glob": "^4.0.3" 1141 | }, 1142 | "engines": { 1143 | "node": ">=10.13.0" 1144 | } 1145 | }, 1146 | "node_modules/hasown": { 1147 | "version": "2.0.2", 1148 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1149 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1150 | "dev": true, 1151 | "license": "MIT", 1152 | "dependencies": { 1153 | "function-bind": "^1.1.2" 1154 | }, 1155 | "engines": { 1156 | "node": ">= 0.4" 1157 | } 1158 | }, 1159 | "node_modules/is-arrayish": { 1160 | "version": "0.3.2", 1161 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 1162 | "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", 1163 | "license": "MIT", 1164 | "optional": true 1165 | }, 1166 | "node_modules/is-binary-path": { 1167 | "version": "2.1.0", 1168 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1169 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1170 | "dev": true, 1171 | "license": "MIT", 1172 | "dependencies": { 1173 | "binary-extensions": "^2.0.0" 1174 | }, 1175 | "engines": { 1176 | "node": ">=8" 1177 | } 1178 | }, 1179 | "node_modules/is-core-module": { 1180 | "version": "2.15.1", 1181 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", 1182 | "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", 1183 | "dev": true, 1184 | "license": "MIT", 1185 | "dependencies": { 1186 | "hasown": "^2.0.2" 1187 | }, 1188 | "engines": { 1189 | "node": ">= 0.4" 1190 | }, 1191 | "funding": { 1192 | "url": "https://github.com/sponsors/ljharb" 1193 | } 1194 | }, 1195 | "node_modules/is-extglob": { 1196 | "version": "2.1.1", 1197 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1198 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1199 | "dev": true, 1200 | "license": "MIT", 1201 | "engines": { 1202 | "node": ">=0.10.0" 1203 | } 1204 | }, 1205 | "node_modules/is-fullwidth-code-point": { 1206 | "version": "3.0.0", 1207 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1208 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1209 | "dev": true, 1210 | "license": "MIT", 1211 | "engines": { 1212 | "node": ">=8" 1213 | } 1214 | }, 1215 | "node_modules/is-glob": { 1216 | "version": "4.0.3", 1217 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1218 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1219 | "dev": true, 1220 | "license": "MIT", 1221 | "dependencies": { 1222 | "is-extglob": "^2.1.1" 1223 | }, 1224 | "engines": { 1225 | "node": ">=0.10.0" 1226 | } 1227 | }, 1228 | "node_modules/is-number": { 1229 | "version": "7.0.0", 1230 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1231 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1232 | "dev": true, 1233 | "license": "MIT", 1234 | "engines": { 1235 | "node": ">=0.12.0" 1236 | } 1237 | }, 1238 | "node_modules/isexe": { 1239 | "version": "2.0.0", 1240 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1241 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1242 | "dev": true, 1243 | "license": "ISC" 1244 | }, 1245 | "node_modules/jackspeak": { 1246 | "version": "3.4.3", 1247 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 1248 | "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 1249 | "dev": true, 1250 | "license": "BlueOak-1.0.0", 1251 | "dependencies": { 1252 | "@isaacs/cliui": "^8.0.2" 1253 | }, 1254 | "funding": { 1255 | "url": "https://github.com/sponsors/isaacs" 1256 | }, 1257 | "optionalDependencies": { 1258 | "@pkgjs/parseargs": "^0.11.0" 1259 | } 1260 | }, 1261 | "node_modules/jiti": { 1262 | "version": "1.21.6", 1263 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", 1264 | "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", 1265 | "dev": true, 1266 | "license": "MIT", 1267 | "bin": { 1268 | "jiti": "bin/jiti.js" 1269 | } 1270 | }, 1271 | "node_modules/lilconfig": { 1272 | "version": "3.1.3", 1273 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", 1274 | "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", 1275 | "dev": true, 1276 | "license": "MIT", 1277 | "engines": { 1278 | "node": ">=14" 1279 | }, 1280 | "funding": { 1281 | "url": "https://github.com/sponsors/antonk52" 1282 | } 1283 | }, 1284 | "node_modules/lines-and-columns": { 1285 | "version": "1.2.4", 1286 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1287 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 1288 | "dev": true, 1289 | "license": "MIT" 1290 | }, 1291 | "node_modules/lru-cache": { 1292 | "version": "10.4.3", 1293 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 1294 | "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", 1295 | "dev": true, 1296 | "license": "ISC" 1297 | }, 1298 | "node_modules/merge2": { 1299 | "version": "1.4.1", 1300 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1301 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1302 | "dev": true, 1303 | "license": "MIT", 1304 | "engines": { 1305 | "node": ">= 8" 1306 | } 1307 | }, 1308 | "node_modules/micromatch": { 1309 | "version": "4.0.8", 1310 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 1311 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 1312 | "dev": true, 1313 | "license": "MIT", 1314 | "dependencies": { 1315 | "braces": "^3.0.3", 1316 | "picomatch": "^2.3.1" 1317 | }, 1318 | "engines": { 1319 | "node": ">=8.6" 1320 | } 1321 | }, 1322 | "node_modules/minimatch": { 1323 | "version": "9.0.5", 1324 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1325 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1326 | "dev": true, 1327 | "license": "ISC", 1328 | "dependencies": { 1329 | "brace-expansion": "^2.0.1" 1330 | }, 1331 | "engines": { 1332 | "node": ">=16 || 14 >=14.17" 1333 | }, 1334 | "funding": { 1335 | "url": "https://github.com/sponsors/isaacs" 1336 | } 1337 | }, 1338 | "node_modules/minipass": { 1339 | "version": "7.1.2", 1340 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 1341 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 1342 | "dev": true, 1343 | "license": "ISC", 1344 | "engines": { 1345 | "node": ">=16 || 14 >=14.17" 1346 | } 1347 | }, 1348 | "node_modules/mz": { 1349 | "version": "2.7.0", 1350 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1351 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1352 | "dev": true, 1353 | "license": "MIT", 1354 | "dependencies": { 1355 | "any-promise": "^1.0.0", 1356 | "object-assign": "^4.0.1", 1357 | "thenify-all": "^1.0.0" 1358 | } 1359 | }, 1360 | "node_modules/nanoid": { 1361 | "version": "3.3.8", 1362 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", 1363 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", 1364 | "funding": [ 1365 | { 1366 | "type": "github", 1367 | "url": "https://github.com/sponsors/ai" 1368 | } 1369 | ], 1370 | "license": "MIT", 1371 | "bin": { 1372 | "nanoid": "bin/nanoid.cjs" 1373 | }, 1374 | "engines": { 1375 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1376 | } 1377 | }, 1378 | "node_modules/next": { 1379 | "version": "15.0.4", 1380 | "resolved": "https://registry.npmjs.org/next/-/next-15.0.4.tgz", 1381 | "integrity": "sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==", 1382 | "license": "MIT", 1383 | "dependencies": { 1384 | "@next/env": "15.0.4", 1385 | "@swc/counter": "0.1.3", 1386 | "@swc/helpers": "0.5.13", 1387 | "busboy": "1.6.0", 1388 | "caniuse-lite": "^1.0.30001579", 1389 | "postcss": "8.4.31", 1390 | "styled-jsx": "5.1.6" 1391 | }, 1392 | "bin": { 1393 | "next": "dist/bin/next" 1394 | }, 1395 | "engines": { 1396 | "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" 1397 | }, 1398 | "optionalDependencies": { 1399 | "@next/swc-darwin-arm64": "15.0.4", 1400 | "@next/swc-darwin-x64": "15.0.4", 1401 | "@next/swc-linux-arm64-gnu": "15.0.4", 1402 | "@next/swc-linux-arm64-musl": "15.0.4", 1403 | "@next/swc-linux-x64-gnu": "15.0.4", 1404 | "@next/swc-linux-x64-musl": "15.0.4", 1405 | "@next/swc-win32-arm64-msvc": "15.0.4", 1406 | "@next/swc-win32-x64-msvc": "15.0.4", 1407 | "sharp": "^0.33.5" 1408 | }, 1409 | "peerDependencies": { 1410 | "@opentelemetry/api": "^1.1.0", 1411 | "@playwright/test": "^1.41.2", 1412 | "babel-plugin-react-compiler": "*", 1413 | "react": "^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", 1414 | "react-dom": "^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", 1415 | "sass": "^1.3.0" 1416 | }, 1417 | "peerDependenciesMeta": { 1418 | "@opentelemetry/api": { 1419 | "optional": true 1420 | }, 1421 | "@playwright/test": { 1422 | "optional": true 1423 | }, 1424 | "babel-plugin-react-compiler": { 1425 | "optional": true 1426 | }, 1427 | "sass": { 1428 | "optional": true 1429 | } 1430 | } 1431 | }, 1432 | "node_modules/next/node_modules/postcss": { 1433 | "version": "8.4.31", 1434 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 1435 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 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 | "type": "github", 1447 | "url": "https://github.com/sponsors/ai" 1448 | } 1449 | ], 1450 | "license": "MIT", 1451 | "dependencies": { 1452 | "nanoid": "^3.3.6", 1453 | "picocolors": "^1.0.0", 1454 | "source-map-js": "^1.0.2" 1455 | }, 1456 | "engines": { 1457 | "node": "^10 || ^12 || >=14" 1458 | } 1459 | }, 1460 | "node_modules/normalize-path": { 1461 | "version": "3.0.0", 1462 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1463 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1464 | "dev": true, 1465 | "license": "MIT", 1466 | "engines": { 1467 | "node": ">=0.10.0" 1468 | } 1469 | }, 1470 | "node_modules/object-assign": { 1471 | "version": "4.1.1", 1472 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1473 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1474 | "dev": true, 1475 | "license": "MIT", 1476 | "engines": { 1477 | "node": ">=0.10.0" 1478 | } 1479 | }, 1480 | "node_modules/object-hash": { 1481 | "version": "3.0.0", 1482 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1483 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1484 | "dev": true, 1485 | "license": "MIT", 1486 | "engines": { 1487 | "node": ">= 6" 1488 | } 1489 | }, 1490 | "node_modules/package-json-from-dist": { 1491 | "version": "1.0.1", 1492 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 1493 | "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", 1494 | "dev": true, 1495 | "license": "BlueOak-1.0.0" 1496 | }, 1497 | "node_modules/path-key": { 1498 | "version": "3.1.1", 1499 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1500 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1501 | "dev": true, 1502 | "license": "MIT", 1503 | "engines": { 1504 | "node": ">=8" 1505 | } 1506 | }, 1507 | "node_modules/path-parse": { 1508 | "version": "1.0.7", 1509 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1510 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1511 | "dev": true, 1512 | "license": "MIT" 1513 | }, 1514 | "node_modules/path-scurry": { 1515 | "version": "1.11.1", 1516 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 1517 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 1518 | "dev": true, 1519 | "license": "BlueOak-1.0.0", 1520 | "dependencies": { 1521 | "lru-cache": "^10.2.0", 1522 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 1523 | }, 1524 | "engines": { 1525 | "node": ">=16 || 14 >=14.18" 1526 | }, 1527 | "funding": { 1528 | "url": "https://github.com/sponsors/isaacs" 1529 | } 1530 | }, 1531 | "node_modules/picocolors": { 1532 | "version": "1.1.1", 1533 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 1534 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 1535 | "license": "ISC" 1536 | }, 1537 | "node_modules/picomatch": { 1538 | "version": "2.3.1", 1539 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1540 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1541 | "dev": true, 1542 | "license": "MIT", 1543 | "engines": { 1544 | "node": ">=8.6" 1545 | }, 1546 | "funding": { 1547 | "url": "https://github.com/sponsors/jonschlinkert" 1548 | } 1549 | }, 1550 | "node_modules/pify": { 1551 | "version": "2.3.0", 1552 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1553 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1554 | "dev": true, 1555 | "license": "MIT", 1556 | "engines": { 1557 | "node": ">=0.10.0" 1558 | } 1559 | }, 1560 | "node_modules/pirates": { 1561 | "version": "4.0.6", 1562 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 1563 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 1564 | "dev": true, 1565 | "license": "MIT", 1566 | "engines": { 1567 | "node": ">= 6" 1568 | } 1569 | }, 1570 | "node_modules/postcss": { 1571 | "version": "8.4.49", 1572 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", 1573 | "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", 1574 | "dev": true, 1575 | "funding": [ 1576 | { 1577 | "type": "opencollective", 1578 | "url": "https://opencollective.com/postcss/" 1579 | }, 1580 | { 1581 | "type": "tidelift", 1582 | "url": "https://tidelift.com/funding/github/npm/postcss" 1583 | }, 1584 | { 1585 | "type": "github", 1586 | "url": "https://github.com/sponsors/ai" 1587 | } 1588 | ], 1589 | "license": "MIT", 1590 | "dependencies": { 1591 | "nanoid": "^3.3.7", 1592 | "picocolors": "^1.1.1", 1593 | "source-map-js": "^1.2.1" 1594 | }, 1595 | "engines": { 1596 | "node": "^10 || ^12 || >=14" 1597 | } 1598 | }, 1599 | "node_modules/postcss-import": { 1600 | "version": "15.1.0", 1601 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 1602 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 1603 | "dev": true, 1604 | "license": "MIT", 1605 | "dependencies": { 1606 | "postcss-value-parser": "^4.0.0", 1607 | "read-cache": "^1.0.0", 1608 | "resolve": "^1.1.7" 1609 | }, 1610 | "engines": { 1611 | "node": ">=14.0.0" 1612 | }, 1613 | "peerDependencies": { 1614 | "postcss": "^8.0.0" 1615 | } 1616 | }, 1617 | "node_modules/postcss-js": { 1618 | "version": "4.0.1", 1619 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 1620 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 1621 | "dev": true, 1622 | "license": "MIT", 1623 | "dependencies": { 1624 | "camelcase-css": "^2.0.1" 1625 | }, 1626 | "engines": { 1627 | "node": "^12 || ^14 || >= 16" 1628 | }, 1629 | "funding": { 1630 | "type": "opencollective", 1631 | "url": "https://opencollective.com/postcss/" 1632 | }, 1633 | "peerDependencies": { 1634 | "postcss": "^8.4.21" 1635 | } 1636 | }, 1637 | "node_modules/postcss-load-config": { 1638 | "version": "4.0.2", 1639 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 1640 | "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 1641 | "dev": true, 1642 | "funding": [ 1643 | { 1644 | "type": "opencollective", 1645 | "url": "https://opencollective.com/postcss/" 1646 | }, 1647 | { 1648 | "type": "github", 1649 | "url": "https://github.com/sponsors/ai" 1650 | } 1651 | ], 1652 | "license": "MIT", 1653 | "dependencies": { 1654 | "lilconfig": "^3.0.0", 1655 | "yaml": "^2.3.4" 1656 | }, 1657 | "engines": { 1658 | "node": ">= 14" 1659 | }, 1660 | "peerDependencies": { 1661 | "postcss": ">=8.0.9", 1662 | "ts-node": ">=9.0.0" 1663 | }, 1664 | "peerDependenciesMeta": { 1665 | "postcss": { 1666 | "optional": true 1667 | }, 1668 | "ts-node": { 1669 | "optional": true 1670 | } 1671 | } 1672 | }, 1673 | "node_modules/postcss-nested": { 1674 | "version": "6.2.0", 1675 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", 1676 | "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", 1677 | "dev": true, 1678 | "funding": [ 1679 | { 1680 | "type": "opencollective", 1681 | "url": "https://opencollective.com/postcss/" 1682 | }, 1683 | { 1684 | "type": "github", 1685 | "url": "https://github.com/sponsors/ai" 1686 | } 1687 | ], 1688 | "license": "MIT", 1689 | "dependencies": { 1690 | "postcss-selector-parser": "^6.1.1" 1691 | }, 1692 | "engines": { 1693 | "node": ">=12.0" 1694 | }, 1695 | "peerDependencies": { 1696 | "postcss": "^8.2.14" 1697 | } 1698 | }, 1699 | "node_modules/postcss-selector-parser": { 1700 | "version": "6.1.2", 1701 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", 1702 | "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", 1703 | "dev": true, 1704 | "license": "MIT", 1705 | "dependencies": { 1706 | "cssesc": "^3.0.0", 1707 | "util-deprecate": "^1.0.2" 1708 | }, 1709 | "engines": { 1710 | "node": ">=4" 1711 | } 1712 | }, 1713 | "node_modules/postcss-value-parser": { 1714 | "version": "4.2.0", 1715 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1716 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1717 | "dev": true, 1718 | "license": "MIT" 1719 | }, 1720 | "node_modules/queue-microtask": { 1721 | "version": "1.2.3", 1722 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1723 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1724 | "dev": true, 1725 | "funding": [ 1726 | { 1727 | "type": "github", 1728 | "url": "https://github.com/sponsors/feross" 1729 | }, 1730 | { 1731 | "type": "patreon", 1732 | "url": "https://www.patreon.com/feross" 1733 | }, 1734 | { 1735 | "type": "consulting", 1736 | "url": "https://feross.org/support" 1737 | } 1738 | ], 1739 | "license": "MIT" 1740 | }, 1741 | "node_modules/react": { 1742 | "version": "19.0.0", 1743 | "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", 1744 | "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", 1745 | "license": "MIT", 1746 | "engines": { 1747 | "node": ">=0.10.0" 1748 | } 1749 | }, 1750 | "node_modules/react-dom": { 1751 | "version": "19.0.0", 1752 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", 1753 | "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", 1754 | "license": "MIT", 1755 | "dependencies": { 1756 | "scheduler": "^0.25.0" 1757 | }, 1758 | "peerDependencies": { 1759 | "react": "^19.0.0" 1760 | } 1761 | }, 1762 | "node_modules/read-cache": { 1763 | "version": "1.0.0", 1764 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1765 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1766 | "dev": true, 1767 | "license": "MIT", 1768 | "dependencies": { 1769 | "pify": "^2.3.0" 1770 | } 1771 | }, 1772 | "node_modules/readdirp": { 1773 | "version": "3.6.0", 1774 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1775 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1776 | "dev": true, 1777 | "license": "MIT", 1778 | "dependencies": { 1779 | "picomatch": "^2.2.1" 1780 | }, 1781 | "engines": { 1782 | "node": ">=8.10.0" 1783 | } 1784 | }, 1785 | "node_modules/resolve": { 1786 | "version": "1.22.8", 1787 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 1788 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 1789 | "dev": true, 1790 | "license": "MIT", 1791 | "dependencies": { 1792 | "is-core-module": "^2.13.0", 1793 | "path-parse": "^1.0.7", 1794 | "supports-preserve-symlinks-flag": "^1.0.0" 1795 | }, 1796 | "bin": { 1797 | "resolve": "bin/resolve" 1798 | }, 1799 | "funding": { 1800 | "url": "https://github.com/sponsors/ljharb" 1801 | } 1802 | }, 1803 | "node_modules/reusify": { 1804 | "version": "1.0.4", 1805 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1806 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1807 | "dev": true, 1808 | "license": "MIT", 1809 | "engines": { 1810 | "iojs": ">=1.0.0", 1811 | "node": ">=0.10.0" 1812 | } 1813 | }, 1814 | "node_modules/run-parallel": { 1815 | "version": "1.2.0", 1816 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1817 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1818 | "dev": true, 1819 | "funding": [ 1820 | { 1821 | "type": "github", 1822 | "url": "https://github.com/sponsors/feross" 1823 | }, 1824 | { 1825 | "type": "patreon", 1826 | "url": "https://www.patreon.com/feross" 1827 | }, 1828 | { 1829 | "type": "consulting", 1830 | "url": "https://feross.org/support" 1831 | } 1832 | ], 1833 | "license": "MIT", 1834 | "dependencies": { 1835 | "queue-microtask": "^1.2.2" 1836 | } 1837 | }, 1838 | "node_modules/scheduler": { 1839 | "version": "0.25.0", 1840 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", 1841 | "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", 1842 | "license": "MIT" 1843 | }, 1844 | "node_modules/semver": { 1845 | "version": "7.6.3", 1846 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 1847 | "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 1848 | "license": "ISC", 1849 | "optional": true, 1850 | "bin": { 1851 | "semver": "bin/semver.js" 1852 | }, 1853 | "engines": { 1854 | "node": ">=10" 1855 | } 1856 | }, 1857 | "node_modules/sharp": { 1858 | "version": "0.33.5", 1859 | "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", 1860 | "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", 1861 | "hasInstallScript": true, 1862 | "license": "Apache-2.0", 1863 | "optional": true, 1864 | "dependencies": { 1865 | "color": "^4.2.3", 1866 | "detect-libc": "^2.0.3", 1867 | "semver": "^7.6.3" 1868 | }, 1869 | "engines": { 1870 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1871 | }, 1872 | "funding": { 1873 | "url": "https://opencollective.com/libvips" 1874 | }, 1875 | "optionalDependencies": { 1876 | "@img/sharp-darwin-arm64": "0.33.5", 1877 | "@img/sharp-darwin-x64": "0.33.5", 1878 | "@img/sharp-libvips-darwin-arm64": "1.0.4", 1879 | "@img/sharp-libvips-darwin-x64": "1.0.4", 1880 | "@img/sharp-libvips-linux-arm": "1.0.5", 1881 | "@img/sharp-libvips-linux-arm64": "1.0.4", 1882 | "@img/sharp-libvips-linux-s390x": "1.0.4", 1883 | "@img/sharp-libvips-linux-x64": "1.0.4", 1884 | "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", 1885 | "@img/sharp-libvips-linuxmusl-x64": "1.0.4", 1886 | "@img/sharp-linux-arm": "0.33.5", 1887 | "@img/sharp-linux-arm64": "0.33.5", 1888 | "@img/sharp-linux-s390x": "0.33.5", 1889 | "@img/sharp-linux-x64": "0.33.5", 1890 | "@img/sharp-linuxmusl-arm64": "0.33.5", 1891 | "@img/sharp-linuxmusl-x64": "0.33.5", 1892 | "@img/sharp-wasm32": "0.33.5", 1893 | "@img/sharp-win32-ia32": "0.33.5", 1894 | "@img/sharp-win32-x64": "0.33.5" 1895 | } 1896 | }, 1897 | "node_modules/shebang-command": { 1898 | "version": "2.0.0", 1899 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1900 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1901 | "dev": true, 1902 | "license": "MIT", 1903 | "dependencies": { 1904 | "shebang-regex": "^3.0.0" 1905 | }, 1906 | "engines": { 1907 | "node": ">=8" 1908 | } 1909 | }, 1910 | "node_modules/shebang-regex": { 1911 | "version": "3.0.0", 1912 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1913 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1914 | "dev": true, 1915 | "license": "MIT", 1916 | "engines": { 1917 | "node": ">=8" 1918 | } 1919 | }, 1920 | "node_modules/signal-exit": { 1921 | "version": "4.1.0", 1922 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1923 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1924 | "dev": true, 1925 | "license": "ISC", 1926 | "engines": { 1927 | "node": ">=14" 1928 | }, 1929 | "funding": { 1930 | "url": "https://github.com/sponsors/isaacs" 1931 | } 1932 | }, 1933 | "node_modules/simple-swizzle": { 1934 | "version": "0.2.2", 1935 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 1936 | "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", 1937 | "license": "MIT", 1938 | "optional": true, 1939 | "dependencies": { 1940 | "is-arrayish": "^0.3.1" 1941 | } 1942 | }, 1943 | "node_modules/source-map-js": { 1944 | "version": "1.2.1", 1945 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 1946 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 1947 | "license": "BSD-3-Clause", 1948 | "engines": { 1949 | "node": ">=0.10.0" 1950 | } 1951 | }, 1952 | "node_modules/streamsearch": { 1953 | "version": "1.1.0", 1954 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 1955 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 1956 | "engines": { 1957 | "node": ">=10.0.0" 1958 | } 1959 | }, 1960 | "node_modules/string-width": { 1961 | "version": "5.1.2", 1962 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 1963 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 1964 | "dev": true, 1965 | "license": "MIT", 1966 | "dependencies": { 1967 | "eastasianwidth": "^0.2.0", 1968 | "emoji-regex": "^9.2.2", 1969 | "strip-ansi": "^7.0.1" 1970 | }, 1971 | "engines": { 1972 | "node": ">=12" 1973 | }, 1974 | "funding": { 1975 | "url": "https://github.com/sponsors/sindresorhus" 1976 | } 1977 | }, 1978 | "node_modules/string-width-cjs": { 1979 | "name": "string-width", 1980 | "version": "4.2.3", 1981 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1982 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1983 | "dev": true, 1984 | "license": "MIT", 1985 | "dependencies": { 1986 | "emoji-regex": "^8.0.0", 1987 | "is-fullwidth-code-point": "^3.0.0", 1988 | "strip-ansi": "^6.0.1" 1989 | }, 1990 | "engines": { 1991 | "node": ">=8" 1992 | } 1993 | }, 1994 | "node_modules/string-width-cjs/node_modules/ansi-regex": { 1995 | "version": "5.0.1", 1996 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1997 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1998 | "dev": true, 1999 | "license": "MIT", 2000 | "engines": { 2001 | "node": ">=8" 2002 | } 2003 | }, 2004 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 2005 | "version": "8.0.0", 2006 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2007 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2008 | "dev": true, 2009 | "license": "MIT" 2010 | }, 2011 | "node_modules/string-width-cjs/node_modules/strip-ansi": { 2012 | "version": "6.0.1", 2013 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2014 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2015 | "dev": true, 2016 | "license": "MIT", 2017 | "dependencies": { 2018 | "ansi-regex": "^5.0.1" 2019 | }, 2020 | "engines": { 2021 | "node": ">=8" 2022 | } 2023 | }, 2024 | "node_modules/strip-ansi": { 2025 | "version": "7.1.0", 2026 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 2027 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 2028 | "dev": true, 2029 | "license": "MIT", 2030 | "dependencies": { 2031 | "ansi-regex": "^6.0.1" 2032 | }, 2033 | "engines": { 2034 | "node": ">=12" 2035 | }, 2036 | "funding": { 2037 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 2038 | } 2039 | }, 2040 | "node_modules/strip-ansi-cjs": { 2041 | "name": "strip-ansi", 2042 | "version": "6.0.1", 2043 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2044 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2045 | "dev": true, 2046 | "license": "MIT", 2047 | "dependencies": { 2048 | "ansi-regex": "^5.0.1" 2049 | }, 2050 | "engines": { 2051 | "node": ">=8" 2052 | } 2053 | }, 2054 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 2055 | "version": "5.0.1", 2056 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2057 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2058 | "dev": true, 2059 | "license": "MIT", 2060 | "engines": { 2061 | "node": ">=8" 2062 | } 2063 | }, 2064 | "node_modules/styled-jsx": { 2065 | "version": "5.1.6", 2066 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", 2067 | "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", 2068 | "license": "MIT", 2069 | "dependencies": { 2070 | "client-only": "0.0.1" 2071 | }, 2072 | "engines": { 2073 | "node": ">= 12.0.0" 2074 | }, 2075 | "peerDependencies": { 2076 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" 2077 | }, 2078 | "peerDependenciesMeta": { 2079 | "@babel/core": { 2080 | "optional": true 2081 | }, 2082 | "babel-plugin-macros": { 2083 | "optional": true 2084 | } 2085 | } 2086 | }, 2087 | "node_modules/sucrase": { 2088 | "version": "3.35.0", 2089 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 2090 | "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 2091 | "dev": true, 2092 | "license": "MIT", 2093 | "dependencies": { 2094 | "@jridgewell/gen-mapping": "^0.3.2", 2095 | "commander": "^4.0.0", 2096 | "glob": "^10.3.10", 2097 | "lines-and-columns": "^1.1.6", 2098 | "mz": "^2.7.0", 2099 | "pirates": "^4.0.1", 2100 | "ts-interface-checker": "^0.1.9" 2101 | }, 2102 | "bin": { 2103 | "sucrase": "bin/sucrase", 2104 | "sucrase-node": "bin/sucrase-node" 2105 | }, 2106 | "engines": { 2107 | "node": ">=16 || 14 >=14.17" 2108 | } 2109 | }, 2110 | "node_modules/supports-preserve-symlinks-flag": { 2111 | "version": "1.0.0", 2112 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2113 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2114 | "dev": true, 2115 | "license": "MIT", 2116 | "engines": { 2117 | "node": ">= 0.4" 2118 | }, 2119 | "funding": { 2120 | "url": "https://github.com/sponsors/ljharb" 2121 | } 2122 | }, 2123 | "node_modules/tailwindcss": { 2124 | "version": "3.4.16", 2125 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.16.tgz", 2126 | "integrity": "sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==", 2127 | "dev": true, 2128 | "license": "MIT", 2129 | "dependencies": { 2130 | "@alloc/quick-lru": "^5.2.0", 2131 | "arg": "^5.0.2", 2132 | "chokidar": "^3.6.0", 2133 | "didyoumean": "^1.2.2", 2134 | "dlv": "^1.1.3", 2135 | "fast-glob": "^3.3.2", 2136 | "glob-parent": "^6.0.2", 2137 | "is-glob": "^4.0.3", 2138 | "jiti": "^1.21.6", 2139 | "lilconfig": "^3.1.3", 2140 | "micromatch": "^4.0.8", 2141 | "normalize-path": "^3.0.0", 2142 | "object-hash": "^3.0.0", 2143 | "picocolors": "^1.1.1", 2144 | "postcss": "^8.4.47", 2145 | "postcss-import": "^15.1.0", 2146 | "postcss-js": "^4.0.1", 2147 | "postcss-load-config": "^4.0.2", 2148 | "postcss-nested": "^6.2.0", 2149 | "postcss-selector-parser": "^6.1.2", 2150 | "resolve": "^1.22.8", 2151 | "sucrase": "^3.35.0" 2152 | }, 2153 | "bin": { 2154 | "tailwind": "lib/cli.js", 2155 | "tailwindcss": "lib/cli.js" 2156 | }, 2157 | "engines": { 2158 | "node": ">=14.0.0" 2159 | } 2160 | }, 2161 | "node_modules/thenify": { 2162 | "version": "3.3.1", 2163 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 2164 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 2165 | "dev": true, 2166 | "license": "MIT", 2167 | "dependencies": { 2168 | "any-promise": "^1.0.0" 2169 | } 2170 | }, 2171 | "node_modules/thenify-all": { 2172 | "version": "1.6.0", 2173 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 2174 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 2175 | "dev": true, 2176 | "license": "MIT", 2177 | "dependencies": { 2178 | "thenify": ">= 3.1.0 < 4" 2179 | }, 2180 | "engines": { 2181 | "node": ">=0.8" 2182 | } 2183 | }, 2184 | "node_modules/to-regex-range": { 2185 | "version": "5.0.1", 2186 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2187 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2188 | "dev": true, 2189 | "license": "MIT", 2190 | "dependencies": { 2191 | "is-number": "^7.0.0" 2192 | }, 2193 | "engines": { 2194 | "node": ">=8.0" 2195 | } 2196 | }, 2197 | "node_modules/ts-interface-checker": { 2198 | "version": "0.1.13", 2199 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 2200 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 2201 | "dev": true, 2202 | "license": "Apache-2.0" 2203 | }, 2204 | "node_modules/tslib": { 2205 | "version": "2.8.1", 2206 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 2207 | "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 2208 | "license": "0BSD" 2209 | }, 2210 | "node_modules/typescript": { 2211 | "version": "5.7.2", 2212 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", 2213 | "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", 2214 | "dev": true, 2215 | "license": "Apache-2.0", 2216 | "bin": { 2217 | "tsc": "bin/tsc", 2218 | "tsserver": "bin/tsserver" 2219 | }, 2220 | "engines": { 2221 | "node": ">=14.17" 2222 | } 2223 | }, 2224 | "node_modules/undici-types": { 2225 | "version": "6.19.8", 2226 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", 2227 | "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", 2228 | "dev": true, 2229 | "license": "MIT" 2230 | }, 2231 | "node_modules/util-deprecate": { 2232 | "version": "1.0.2", 2233 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2234 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2235 | "dev": true, 2236 | "license": "MIT" 2237 | }, 2238 | "node_modules/which": { 2239 | "version": "2.0.2", 2240 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2241 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2242 | "dev": true, 2243 | "license": "ISC", 2244 | "dependencies": { 2245 | "isexe": "^2.0.0" 2246 | }, 2247 | "bin": { 2248 | "node-which": "bin/node-which" 2249 | }, 2250 | "engines": { 2251 | "node": ">= 8" 2252 | } 2253 | }, 2254 | "node_modules/wrap-ansi": { 2255 | "version": "8.1.0", 2256 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 2257 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 2258 | "dev": true, 2259 | "license": "MIT", 2260 | "dependencies": { 2261 | "ansi-styles": "^6.1.0", 2262 | "string-width": "^5.0.1", 2263 | "strip-ansi": "^7.0.1" 2264 | }, 2265 | "engines": { 2266 | "node": ">=12" 2267 | }, 2268 | "funding": { 2269 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2270 | } 2271 | }, 2272 | "node_modules/wrap-ansi-cjs": { 2273 | "name": "wrap-ansi", 2274 | "version": "7.0.0", 2275 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2276 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2277 | "dev": true, 2278 | "license": "MIT", 2279 | "dependencies": { 2280 | "ansi-styles": "^4.0.0", 2281 | "string-width": "^4.1.0", 2282 | "strip-ansi": "^6.0.0" 2283 | }, 2284 | "engines": { 2285 | "node": ">=10" 2286 | }, 2287 | "funding": { 2288 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2289 | } 2290 | }, 2291 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 2292 | "version": "5.0.1", 2293 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2294 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2295 | "dev": true, 2296 | "license": "MIT", 2297 | "engines": { 2298 | "node": ">=8" 2299 | } 2300 | }, 2301 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 2302 | "version": "4.3.0", 2303 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2304 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2305 | "dev": true, 2306 | "license": "MIT", 2307 | "dependencies": { 2308 | "color-convert": "^2.0.1" 2309 | }, 2310 | "engines": { 2311 | "node": ">=8" 2312 | }, 2313 | "funding": { 2314 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2315 | } 2316 | }, 2317 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 2318 | "version": "8.0.0", 2319 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2320 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2321 | "dev": true, 2322 | "license": "MIT" 2323 | }, 2324 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 2325 | "version": "4.2.3", 2326 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2327 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2328 | "dev": true, 2329 | "license": "MIT", 2330 | "dependencies": { 2331 | "emoji-regex": "^8.0.0", 2332 | "is-fullwidth-code-point": "^3.0.0", 2333 | "strip-ansi": "^6.0.1" 2334 | }, 2335 | "engines": { 2336 | "node": ">=8" 2337 | } 2338 | }, 2339 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 2340 | "version": "6.0.1", 2341 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2342 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2343 | "dev": true, 2344 | "license": "MIT", 2345 | "dependencies": { 2346 | "ansi-regex": "^5.0.1" 2347 | }, 2348 | "engines": { 2349 | "node": ">=8" 2350 | } 2351 | }, 2352 | "node_modules/yaml": { 2353 | "version": "2.6.1", 2354 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", 2355 | "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", 2356 | "dev": true, 2357 | "license": "ISC", 2358 | "bin": { 2359 | "yaml": "bin.mjs" 2360 | }, 2361 | "engines": { 2362 | "node": ">= 14" 2363 | } 2364 | } 2365 | } 2366 | } 2367 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "elevenlabs-conversational-ai", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev --turbopack", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@11labs/react": "^0.0.4", 13 | "@radix-ui/react-slot": "^1.1.0", 14 | "class-variance-authority": "^0.7.1", 15 | "clsx": "^2.1.1", 16 | "lucide-react": "^0.468.0", 17 | "next": "15.0.4", 18 | "react": "^19.0.0", 19 | "react-dom": "^19.0.0", 20 | "tailwind-merge": "^2.5.5", 21 | "tailwindcss-animate": "^1.0.7" 22 | }, 23 | "devDependencies": { 24 | "@types/node": "^20", 25 | "@types/react": "^19", 26 | "@types/react-dom": "^19", 27 | "postcss": "^8", 28 | "tailwindcss": "^3.4.1", 29 | "typescript": "^5" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@11labs/react': 12 | specifier: ^0.0.4 13 | version: 0.0.4(react@19.0.0) 14 | '@radix-ui/react-slot': 15 | specifier: ^1.1.0 16 | version: 1.1.0(@types/react@19.0.0)(react@19.0.0) 17 | class-variance-authority: 18 | specifier: ^0.7.1 19 | version: 0.7.1 20 | clsx: 21 | specifier: ^2.1.1 22 | version: 2.1.1 23 | lucide-react: 24 | specifier: ^0.468.0 25 | version: 0.468.0(react@19.0.0) 26 | next: 27 | specifier: 15.0.4 28 | version: 15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 29 | react: 30 | specifier: ^19.0.0 31 | version: 19.0.0 32 | react-dom: 33 | specifier: ^19.0.0 34 | version: 19.0.0(react@19.0.0) 35 | tailwind-merge: 36 | specifier: ^2.5.5 37 | version: 2.5.5 38 | tailwindcss-animate: 39 | specifier: ^1.0.7 40 | version: 1.0.7(tailwindcss@3.4.16) 41 | devDependencies: 42 | '@types/node': 43 | specifier: ^20 44 | version: 20.17.9 45 | '@types/react': 46 | specifier: ^19 47 | version: 19.0.0 48 | '@types/react-dom': 49 | specifier: ^19 50 | version: 19.0.0 51 | postcss: 52 | specifier: ^8 53 | version: 8.4.49 54 | tailwindcss: 55 | specifier: ^3.4.1 56 | version: 3.4.16 57 | typescript: 58 | specifier: ^5 59 | version: 5.7.2 60 | 61 | packages: 62 | 63 | '@11labs/client@0.0.4': 64 | resolution: {integrity: sha512-BldXyZsTtiS8Db3RTDxuk1B+Gx7pj7xxUWS5MJA3CfvKegDJeX979l3s3ZJ4StBLM2VaOTf3b2c5NUTy41a3nQ==} 65 | 66 | '@11labs/react@0.0.4': 67 | resolution: {integrity: sha512-ZXkAfB3+BAb78Q3N8gM5NVk/RLpi8WCpZBYRzj+wquXw3CkIIzvdL5S3sieMqtDccdWLV3Wn4MC273RHdAdUUQ==} 68 | peerDependencies: 69 | react: '>=16.8.0' 70 | 71 | '@alloc/quick-lru@5.2.0': 72 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 73 | engines: {node: '>=10'} 74 | 75 | '@emnapi/runtime@1.3.1': 76 | resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} 77 | 78 | '@img/sharp-darwin-arm64@0.33.5': 79 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 80 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 81 | cpu: [arm64] 82 | os: [darwin] 83 | 84 | '@img/sharp-darwin-x64@0.33.5': 85 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 86 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 87 | cpu: [x64] 88 | os: [darwin] 89 | 90 | '@img/sharp-libvips-darwin-arm64@1.0.4': 91 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 92 | cpu: [arm64] 93 | os: [darwin] 94 | 95 | '@img/sharp-libvips-darwin-x64@1.0.4': 96 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 97 | cpu: [x64] 98 | os: [darwin] 99 | 100 | '@img/sharp-libvips-linux-arm64@1.0.4': 101 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 102 | cpu: [arm64] 103 | os: [linux] 104 | 105 | '@img/sharp-libvips-linux-arm@1.0.5': 106 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 107 | cpu: [arm] 108 | os: [linux] 109 | 110 | '@img/sharp-libvips-linux-s390x@1.0.4': 111 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 112 | cpu: [s390x] 113 | os: [linux] 114 | 115 | '@img/sharp-libvips-linux-x64@1.0.4': 116 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 117 | cpu: [x64] 118 | os: [linux] 119 | 120 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 121 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 122 | cpu: [arm64] 123 | os: [linux] 124 | 125 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 126 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 127 | cpu: [x64] 128 | os: [linux] 129 | 130 | '@img/sharp-linux-arm64@0.33.5': 131 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 132 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 133 | cpu: [arm64] 134 | os: [linux] 135 | 136 | '@img/sharp-linux-arm@0.33.5': 137 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 138 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 139 | cpu: [arm] 140 | os: [linux] 141 | 142 | '@img/sharp-linux-s390x@0.33.5': 143 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 144 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 145 | cpu: [s390x] 146 | os: [linux] 147 | 148 | '@img/sharp-linux-x64@0.33.5': 149 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 150 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 151 | cpu: [x64] 152 | os: [linux] 153 | 154 | '@img/sharp-linuxmusl-arm64@0.33.5': 155 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 156 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 157 | cpu: [arm64] 158 | os: [linux] 159 | 160 | '@img/sharp-linuxmusl-x64@0.33.5': 161 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 162 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 163 | cpu: [x64] 164 | os: [linux] 165 | 166 | '@img/sharp-wasm32@0.33.5': 167 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 168 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 169 | cpu: [wasm32] 170 | 171 | '@img/sharp-win32-ia32@0.33.5': 172 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 173 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 174 | cpu: [ia32] 175 | os: [win32] 176 | 177 | '@img/sharp-win32-x64@0.33.5': 178 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 179 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 180 | cpu: [x64] 181 | os: [win32] 182 | 183 | '@isaacs/cliui@8.0.2': 184 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 185 | engines: {node: '>=12'} 186 | 187 | '@jridgewell/gen-mapping@0.3.5': 188 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 189 | engines: {node: '>=6.0.0'} 190 | 191 | '@jridgewell/resolve-uri@3.1.2': 192 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 193 | engines: {node: '>=6.0.0'} 194 | 195 | '@jridgewell/set-array@1.2.1': 196 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 197 | engines: {node: '>=6.0.0'} 198 | 199 | '@jridgewell/sourcemap-codec@1.5.0': 200 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 201 | 202 | '@jridgewell/trace-mapping@0.3.25': 203 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 204 | 205 | '@next/env@15.0.4': 206 | resolution: {integrity: sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==} 207 | 208 | '@next/swc-darwin-arm64@15.0.4': 209 | resolution: {integrity: sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w==} 210 | engines: {node: '>= 10'} 211 | cpu: [arm64] 212 | os: [darwin] 213 | 214 | '@next/swc-darwin-x64@15.0.4': 215 | resolution: {integrity: sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA==} 216 | engines: {node: '>= 10'} 217 | cpu: [x64] 218 | os: [darwin] 219 | 220 | '@next/swc-linux-arm64-gnu@15.0.4': 221 | resolution: {integrity: sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA==} 222 | engines: {node: '>= 10'} 223 | cpu: [arm64] 224 | os: [linux] 225 | 226 | '@next/swc-linux-arm64-musl@15.0.4': 227 | resolution: {integrity: sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw==} 228 | engines: {node: '>= 10'} 229 | cpu: [arm64] 230 | os: [linux] 231 | 232 | '@next/swc-linux-x64-gnu@15.0.4': 233 | resolution: {integrity: sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw==} 234 | engines: {node: '>= 10'} 235 | cpu: [x64] 236 | os: [linux] 237 | 238 | '@next/swc-linux-x64-musl@15.0.4': 239 | resolution: {integrity: sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw==} 240 | engines: {node: '>= 10'} 241 | cpu: [x64] 242 | os: [linux] 243 | 244 | '@next/swc-win32-arm64-msvc@15.0.4': 245 | resolution: {integrity: sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ==} 246 | engines: {node: '>= 10'} 247 | cpu: [arm64] 248 | os: [win32] 249 | 250 | '@next/swc-win32-x64-msvc@15.0.4': 251 | resolution: {integrity: sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw==} 252 | engines: {node: '>= 10'} 253 | cpu: [x64] 254 | os: [win32] 255 | 256 | '@nodelib/fs.scandir@2.1.5': 257 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 258 | engines: {node: '>= 8'} 259 | 260 | '@nodelib/fs.stat@2.0.5': 261 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 262 | engines: {node: '>= 8'} 263 | 264 | '@nodelib/fs.walk@1.2.8': 265 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 266 | engines: {node: '>= 8'} 267 | 268 | '@pkgjs/parseargs@0.11.0': 269 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 270 | engines: {node: '>=14'} 271 | 272 | '@radix-ui/react-compose-refs@1.1.0': 273 | resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} 274 | peerDependencies: 275 | '@types/react': '*' 276 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 277 | peerDependenciesMeta: 278 | '@types/react': 279 | optional: true 280 | 281 | '@radix-ui/react-slot@1.1.0': 282 | resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} 283 | peerDependencies: 284 | '@types/react': '*' 285 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 286 | peerDependenciesMeta: 287 | '@types/react': 288 | optional: true 289 | 290 | '@swc/counter@0.1.3': 291 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 292 | 293 | '@swc/helpers@0.5.13': 294 | resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} 295 | 296 | '@types/node@20.17.9': 297 | resolution: {integrity: sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==} 298 | 299 | '@types/react-dom@19.0.0': 300 | resolution: {integrity: sha512-1KfiQKsH1o00p9m5ag12axHQSb3FOU9H20UTrujVSkNhuCrRHiQWFqgEnTNK5ZNfnzZv8UWrnXVqCmCF9fgY3w==} 301 | 302 | '@types/react@19.0.0': 303 | resolution: {integrity: sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==} 304 | 305 | ansi-regex@5.0.1: 306 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 307 | engines: {node: '>=8'} 308 | 309 | ansi-regex@6.1.0: 310 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 311 | engines: {node: '>=12'} 312 | 313 | ansi-styles@4.3.0: 314 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 315 | engines: {node: '>=8'} 316 | 317 | ansi-styles@6.2.1: 318 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 319 | engines: {node: '>=12'} 320 | 321 | any-promise@1.3.0: 322 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 323 | 324 | anymatch@3.1.3: 325 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 326 | engines: {node: '>= 8'} 327 | 328 | arg@5.0.2: 329 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 330 | 331 | balanced-match@1.0.2: 332 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 333 | 334 | binary-extensions@2.3.0: 335 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 336 | engines: {node: '>=8'} 337 | 338 | brace-expansion@2.0.1: 339 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 340 | 341 | braces@3.0.3: 342 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 343 | engines: {node: '>=8'} 344 | 345 | busboy@1.6.0: 346 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 347 | engines: {node: '>=10.16.0'} 348 | 349 | camelcase-css@2.0.1: 350 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 351 | engines: {node: '>= 6'} 352 | 353 | caniuse-lite@1.0.30001687: 354 | resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} 355 | 356 | chokidar@3.6.0: 357 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 358 | engines: {node: '>= 8.10.0'} 359 | 360 | class-variance-authority@0.7.1: 361 | resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} 362 | 363 | client-only@0.0.1: 364 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 365 | 366 | clsx@2.1.1: 367 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 368 | engines: {node: '>=6'} 369 | 370 | color-convert@2.0.1: 371 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 372 | engines: {node: '>=7.0.0'} 373 | 374 | color-name@1.1.4: 375 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 376 | 377 | color-string@1.9.1: 378 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 379 | 380 | color@4.2.3: 381 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 382 | engines: {node: '>=12.5.0'} 383 | 384 | commander@4.1.1: 385 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 386 | engines: {node: '>= 6'} 387 | 388 | cross-spawn@7.0.6: 389 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 390 | engines: {node: '>= 8'} 391 | 392 | cssesc@3.0.0: 393 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 394 | engines: {node: '>=4'} 395 | hasBin: true 396 | 397 | csstype@3.1.3: 398 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 399 | 400 | detect-libc@2.0.3: 401 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 402 | engines: {node: '>=8'} 403 | 404 | didyoumean@1.2.2: 405 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 406 | 407 | dlv@1.1.3: 408 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 409 | 410 | eastasianwidth@0.2.0: 411 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 412 | 413 | emoji-regex@8.0.0: 414 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 415 | 416 | emoji-regex@9.2.2: 417 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 418 | 419 | fast-glob@3.3.2: 420 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 421 | engines: {node: '>=8.6.0'} 422 | 423 | fastq@1.17.1: 424 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 425 | 426 | fill-range@7.1.1: 427 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 428 | engines: {node: '>=8'} 429 | 430 | foreground-child@3.3.0: 431 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 432 | engines: {node: '>=14'} 433 | 434 | fsevents@2.3.3: 435 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 436 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 437 | os: [darwin] 438 | 439 | function-bind@1.1.2: 440 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 441 | 442 | glob-parent@5.1.2: 443 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 444 | engines: {node: '>= 6'} 445 | 446 | glob-parent@6.0.2: 447 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 448 | engines: {node: '>=10.13.0'} 449 | 450 | glob@10.4.5: 451 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 452 | hasBin: true 453 | 454 | hasown@2.0.2: 455 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 456 | engines: {node: '>= 0.4'} 457 | 458 | is-arrayish@0.3.2: 459 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 460 | 461 | is-binary-path@2.1.0: 462 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 463 | engines: {node: '>=8'} 464 | 465 | is-core-module@2.15.1: 466 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 467 | engines: {node: '>= 0.4'} 468 | 469 | is-extglob@2.1.1: 470 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 471 | engines: {node: '>=0.10.0'} 472 | 473 | is-fullwidth-code-point@3.0.0: 474 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 475 | engines: {node: '>=8'} 476 | 477 | is-glob@4.0.3: 478 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 479 | engines: {node: '>=0.10.0'} 480 | 481 | is-number@7.0.0: 482 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 483 | engines: {node: '>=0.12.0'} 484 | 485 | isexe@2.0.0: 486 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 487 | 488 | jackspeak@3.4.3: 489 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 490 | 491 | jiti@1.21.6: 492 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 493 | hasBin: true 494 | 495 | lilconfig@3.1.3: 496 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 497 | engines: {node: '>=14'} 498 | 499 | lines-and-columns@1.2.4: 500 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 501 | 502 | lru-cache@10.4.3: 503 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 504 | 505 | lucide-react@0.468.0: 506 | resolution: {integrity: sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==} 507 | peerDependencies: 508 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc 509 | 510 | merge2@1.4.1: 511 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 512 | engines: {node: '>= 8'} 513 | 514 | micromatch@4.0.8: 515 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 516 | engines: {node: '>=8.6'} 517 | 518 | minimatch@9.0.5: 519 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 520 | engines: {node: '>=16 || 14 >=14.17'} 521 | 522 | minipass@7.1.2: 523 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 524 | engines: {node: '>=16 || 14 >=14.17'} 525 | 526 | mz@2.7.0: 527 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 528 | 529 | nanoid@3.3.8: 530 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 531 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 532 | hasBin: true 533 | 534 | next@15.0.4: 535 | resolution: {integrity: sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==} 536 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} 537 | hasBin: true 538 | peerDependencies: 539 | '@opentelemetry/api': ^1.1.0 540 | '@playwright/test': ^1.41.2 541 | babel-plugin-react-compiler: '*' 542 | react: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0 543 | react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0 544 | sass: ^1.3.0 545 | peerDependenciesMeta: 546 | '@opentelemetry/api': 547 | optional: true 548 | '@playwright/test': 549 | optional: true 550 | babel-plugin-react-compiler: 551 | optional: true 552 | sass: 553 | optional: true 554 | 555 | normalize-path@3.0.0: 556 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 557 | engines: {node: '>=0.10.0'} 558 | 559 | object-assign@4.1.1: 560 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 561 | engines: {node: '>=0.10.0'} 562 | 563 | object-hash@3.0.0: 564 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 565 | engines: {node: '>= 6'} 566 | 567 | package-json-from-dist@1.0.1: 568 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 569 | 570 | path-key@3.1.1: 571 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 572 | engines: {node: '>=8'} 573 | 574 | path-parse@1.0.7: 575 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 576 | 577 | path-scurry@1.11.1: 578 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 579 | engines: {node: '>=16 || 14 >=14.18'} 580 | 581 | picocolors@1.1.1: 582 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 583 | 584 | picomatch@2.3.1: 585 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 586 | engines: {node: '>=8.6'} 587 | 588 | pify@2.3.0: 589 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 590 | engines: {node: '>=0.10.0'} 591 | 592 | pirates@4.0.6: 593 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 594 | engines: {node: '>= 6'} 595 | 596 | postcss-import@15.1.0: 597 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 598 | engines: {node: '>=14.0.0'} 599 | peerDependencies: 600 | postcss: ^8.0.0 601 | 602 | postcss-js@4.0.1: 603 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 604 | engines: {node: ^12 || ^14 || >= 16} 605 | peerDependencies: 606 | postcss: ^8.4.21 607 | 608 | postcss-load-config@4.0.2: 609 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 610 | engines: {node: '>= 14'} 611 | peerDependencies: 612 | postcss: '>=8.0.9' 613 | ts-node: '>=9.0.0' 614 | peerDependenciesMeta: 615 | postcss: 616 | optional: true 617 | ts-node: 618 | optional: true 619 | 620 | postcss-nested@6.2.0: 621 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 622 | engines: {node: '>=12.0'} 623 | peerDependencies: 624 | postcss: ^8.2.14 625 | 626 | postcss-selector-parser@6.1.2: 627 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 628 | engines: {node: '>=4'} 629 | 630 | postcss-value-parser@4.2.0: 631 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 632 | 633 | postcss@8.4.31: 634 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 635 | engines: {node: ^10 || ^12 || >=14} 636 | 637 | postcss@8.4.49: 638 | resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} 639 | engines: {node: ^10 || ^12 || >=14} 640 | 641 | queue-microtask@1.2.3: 642 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 643 | 644 | react-dom@19.0.0: 645 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} 646 | peerDependencies: 647 | react: ^19.0.0 648 | 649 | react@19.0.0: 650 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} 651 | engines: {node: '>=0.10.0'} 652 | 653 | read-cache@1.0.0: 654 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 655 | 656 | readdirp@3.6.0: 657 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 658 | engines: {node: '>=8.10.0'} 659 | 660 | resolve@1.22.8: 661 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 662 | hasBin: true 663 | 664 | reusify@1.0.4: 665 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 666 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 667 | 668 | run-parallel@1.2.0: 669 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 670 | 671 | scheduler@0.25.0: 672 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} 673 | 674 | semver@7.6.3: 675 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 676 | engines: {node: '>=10'} 677 | hasBin: true 678 | 679 | sharp@0.33.5: 680 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 681 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 682 | 683 | shebang-command@2.0.0: 684 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 685 | engines: {node: '>=8'} 686 | 687 | shebang-regex@3.0.0: 688 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 689 | engines: {node: '>=8'} 690 | 691 | signal-exit@4.1.0: 692 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 693 | engines: {node: '>=14'} 694 | 695 | simple-swizzle@0.2.2: 696 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 697 | 698 | source-map-js@1.2.1: 699 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 700 | engines: {node: '>=0.10.0'} 701 | 702 | streamsearch@1.1.0: 703 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 704 | engines: {node: '>=10.0.0'} 705 | 706 | string-width@4.2.3: 707 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 708 | engines: {node: '>=8'} 709 | 710 | string-width@5.1.2: 711 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 712 | engines: {node: '>=12'} 713 | 714 | strip-ansi@6.0.1: 715 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 716 | engines: {node: '>=8'} 717 | 718 | strip-ansi@7.1.0: 719 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 720 | engines: {node: '>=12'} 721 | 722 | styled-jsx@5.1.6: 723 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 724 | engines: {node: '>= 12.0.0'} 725 | peerDependencies: 726 | '@babel/core': '*' 727 | babel-plugin-macros: '*' 728 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 729 | peerDependenciesMeta: 730 | '@babel/core': 731 | optional: true 732 | babel-plugin-macros: 733 | optional: true 734 | 735 | sucrase@3.35.0: 736 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 737 | engines: {node: '>=16 || 14 >=14.17'} 738 | hasBin: true 739 | 740 | supports-preserve-symlinks-flag@1.0.0: 741 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 742 | engines: {node: '>= 0.4'} 743 | 744 | tailwind-merge@2.5.5: 745 | resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==} 746 | 747 | tailwindcss-animate@1.0.7: 748 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 749 | peerDependencies: 750 | tailwindcss: '>=3.0.0 || insiders' 751 | 752 | tailwindcss@3.4.16: 753 | resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} 754 | engines: {node: '>=14.0.0'} 755 | hasBin: true 756 | 757 | thenify-all@1.6.0: 758 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 759 | engines: {node: '>=0.8'} 760 | 761 | thenify@3.3.1: 762 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 763 | 764 | to-regex-range@5.0.1: 765 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 766 | engines: {node: '>=8.0'} 767 | 768 | ts-interface-checker@0.1.13: 769 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 770 | 771 | tslib@2.8.1: 772 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 773 | 774 | typescript@5.7.2: 775 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 776 | engines: {node: '>=14.17'} 777 | hasBin: true 778 | 779 | undici-types@6.19.8: 780 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 781 | 782 | util-deprecate@1.0.2: 783 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 784 | 785 | which@2.0.2: 786 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 787 | engines: {node: '>= 8'} 788 | hasBin: true 789 | 790 | wrap-ansi@7.0.0: 791 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 792 | engines: {node: '>=10'} 793 | 794 | wrap-ansi@8.1.0: 795 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 796 | engines: {node: '>=12'} 797 | 798 | yaml@2.6.1: 799 | resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} 800 | engines: {node: '>= 14'} 801 | hasBin: true 802 | 803 | snapshots: 804 | 805 | '@11labs/client@0.0.4': {} 806 | 807 | '@11labs/react@0.0.4(react@19.0.0)': 808 | dependencies: 809 | '@11labs/client': 0.0.4 810 | react: 19.0.0 811 | 812 | '@alloc/quick-lru@5.2.0': {} 813 | 814 | '@emnapi/runtime@1.3.1': 815 | dependencies: 816 | tslib: 2.8.1 817 | optional: true 818 | 819 | '@img/sharp-darwin-arm64@0.33.5': 820 | optionalDependencies: 821 | '@img/sharp-libvips-darwin-arm64': 1.0.4 822 | optional: true 823 | 824 | '@img/sharp-darwin-x64@0.33.5': 825 | optionalDependencies: 826 | '@img/sharp-libvips-darwin-x64': 1.0.4 827 | optional: true 828 | 829 | '@img/sharp-libvips-darwin-arm64@1.0.4': 830 | optional: true 831 | 832 | '@img/sharp-libvips-darwin-x64@1.0.4': 833 | optional: true 834 | 835 | '@img/sharp-libvips-linux-arm64@1.0.4': 836 | optional: true 837 | 838 | '@img/sharp-libvips-linux-arm@1.0.5': 839 | optional: true 840 | 841 | '@img/sharp-libvips-linux-s390x@1.0.4': 842 | optional: true 843 | 844 | '@img/sharp-libvips-linux-x64@1.0.4': 845 | optional: true 846 | 847 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 848 | optional: true 849 | 850 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 851 | optional: true 852 | 853 | '@img/sharp-linux-arm64@0.33.5': 854 | optionalDependencies: 855 | '@img/sharp-libvips-linux-arm64': 1.0.4 856 | optional: true 857 | 858 | '@img/sharp-linux-arm@0.33.5': 859 | optionalDependencies: 860 | '@img/sharp-libvips-linux-arm': 1.0.5 861 | optional: true 862 | 863 | '@img/sharp-linux-s390x@0.33.5': 864 | optionalDependencies: 865 | '@img/sharp-libvips-linux-s390x': 1.0.4 866 | optional: true 867 | 868 | '@img/sharp-linux-x64@0.33.5': 869 | optionalDependencies: 870 | '@img/sharp-libvips-linux-x64': 1.0.4 871 | optional: true 872 | 873 | '@img/sharp-linuxmusl-arm64@0.33.5': 874 | optionalDependencies: 875 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 876 | optional: true 877 | 878 | '@img/sharp-linuxmusl-x64@0.33.5': 879 | optionalDependencies: 880 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 881 | optional: true 882 | 883 | '@img/sharp-wasm32@0.33.5': 884 | dependencies: 885 | '@emnapi/runtime': 1.3.1 886 | optional: true 887 | 888 | '@img/sharp-win32-ia32@0.33.5': 889 | optional: true 890 | 891 | '@img/sharp-win32-x64@0.33.5': 892 | optional: true 893 | 894 | '@isaacs/cliui@8.0.2': 895 | dependencies: 896 | string-width: 5.1.2 897 | string-width-cjs: string-width@4.2.3 898 | strip-ansi: 7.1.0 899 | strip-ansi-cjs: strip-ansi@6.0.1 900 | wrap-ansi: 8.1.0 901 | wrap-ansi-cjs: wrap-ansi@7.0.0 902 | 903 | '@jridgewell/gen-mapping@0.3.5': 904 | dependencies: 905 | '@jridgewell/set-array': 1.2.1 906 | '@jridgewell/sourcemap-codec': 1.5.0 907 | '@jridgewell/trace-mapping': 0.3.25 908 | 909 | '@jridgewell/resolve-uri@3.1.2': {} 910 | 911 | '@jridgewell/set-array@1.2.1': {} 912 | 913 | '@jridgewell/sourcemap-codec@1.5.0': {} 914 | 915 | '@jridgewell/trace-mapping@0.3.25': 916 | dependencies: 917 | '@jridgewell/resolve-uri': 3.1.2 918 | '@jridgewell/sourcemap-codec': 1.5.0 919 | 920 | '@next/env@15.0.4': {} 921 | 922 | '@next/swc-darwin-arm64@15.0.4': 923 | optional: true 924 | 925 | '@next/swc-darwin-x64@15.0.4': 926 | optional: true 927 | 928 | '@next/swc-linux-arm64-gnu@15.0.4': 929 | optional: true 930 | 931 | '@next/swc-linux-arm64-musl@15.0.4': 932 | optional: true 933 | 934 | '@next/swc-linux-x64-gnu@15.0.4': 935 | optional: true 936 | 937 | '@next/swc-linux-x64-musl@15.0.4': 938 | optional: true 939 | 940 | '@next/swc-win32-arm64-msvc@15.0.4': 941 | optional: true 942 | 943 | '@next/swc-win32-x64-msvc@15.0.4': 944 | optional: true 945 | 946 | '@nodelib/fs.scandir@2.1.5': 947 | dependencies: 948 | '@nodelib/fs.stat': 2.0.5 949 | run-parallel: 1.2.0 950 | 951 | '@nodelib/fs.stat@2.0.5': {} 952 | 953 | '@nodelib/fs.walk@1.2.8': 954 | dependencies: 955 | '@nodelib/fs.scandir': 2.1.5 956 | fastq: 1.17.1 957 | 958 | '@pkgjs/parseargs@0.11.0': 959 | optional: true 960 | 961 | '@radix-ui/react-compose-refs@1.1.0(@types/react@19.0.0)(react@19.0.0)': 962 | dependencies: 963 | react: 19.0.0 964 | optionalDependencies: 965 | '@types/react': 19.0.0 966 | 967 | '@radix-ui/react-slot@1.1.0(@types/react@19.0.0)(react@19.0.0)': 968 | dependencies: 969 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) 970 | react: 19.0.0 971 | optionalDependencies: 972 | '@types/react': 19.0.0 973 | 974 | '@swc/counter@0.1.3': {} 975 | 976 | '@swc/helpers@0.5.13': 977 | dependencies: 978 | tslib: 2.8.1 979 | 980 | '@types/node@20.17.9': 981 | dependencies: 982 | undici-types: 6.19.8 983 | 984 | '@types/react-dom@19.0.0': 985 | dependencies: 986 | '@types/react': 19.0.0 987 | 988 | '@types/react@19.0.0': 989 | dependencies: 990 | csstype: 3.1.3 991 | 992 | ansi-regex@5.0.1: {} 993 | 994 | ansi-regex@6.1.0: {} 995 | 996 | ansi-styles@4.3.0: 997 | dependencies: 998 | color-convert: 2.0.1 999 | 1000 | ansi-styles@6.2.1: {} 1001 | 1002 | any-promise@1.3.0: {} 1003 | 1004 | anymatch@3.1.3: 1005 | dependencies: 1006 | normalize-path: 3.0.0 1007 | picomatch: 2.3.1 1008 | 1009 | arg@5.0.2: {} 1010 | 1011 | balanced-match@1.0.2: {} 1012 | 1013 | binary-extensions@2.3.0: {} 1014 | 1015 | brace-expansion@2.0.1: 1016 | dependencies: 1017 | balanced-match: 1.0.2 1018 | 1019 | braces@3.0.3: 1020 | dependencies: 1021 | fill-range: 7.1.1 1022 | 1023 | busboy@1.6.0: 1024 | dependencies: 1025 | streamsearch: 1.1.0 1026 | 1027 | camelcase-css@2.0.1: {} 1028 | 1029 | caniuse-lite@1.0.30001687: {} 1030 | 1031 | chokidar@3.6.0: 1032 | dependencies: 1033 | anymatch: 3.1.3 1034 | braces: 3.0.3 1035 | glob-parent: 5.1.2 1036 | is-binary-path: 2.1.0 1037 | is-glob: 4.0.3 1038 | normalize-path: 3.0.0 1039 | readdirp: 3.6.0 1040 | optionalDependencies: 1041 | fsevents: 2.3.3 1042 | 1043 | class-variance-authority@0.7.1: 1044 | dependencies: 1045 | clsx: 2.1.1 1046 | 1047 | client-only@0.0.1: {} 1048 | 1049 | clsx@2.1.1: {} 1050 | 1051 | color-convert@2.0.1: 1052 | dependencies: 1053 | color-name: 1.1.4 1054 | 1055 | color-name@1.1.4: {} 1056 | 1057 | color-string@1.9.1: 1058 | dependencies: 1059 | color-name: 1.1.4 1060 | simple-swizzle: 0.2.2 1061 | optional: true 1062 | 1063 | color@4.2.3: 1064 | dependencies: 1065 | color-convert: 2.0.1 1066 | color-string: 1.9.1 1067 | optional: true 1068 | 1069 | commander@4.1.1: {} 1070 | 1071 | cross-spawn@7.0.6: 1072 | dependencies: 1073 | path-key: 3.1.1 1074 | shebang-command: 2.0.0 1075 | which: 2.0.2 1076 | 1077 | cssesc@3.0.0: {} 1078 | 1079 | csstype@3.1.3: {} 1080 | 1081 | detect-libc@2.0.3: 1082 | optional: true 1083 | 1084 | didyoumean@1.2.2: {} 1085 | 1086 | dlv@1.1.3: {} 1087 | 1088 | eastasianwidth@0.2.0: {} 1089 | 1090 | emoji-regex@8.0.0: {} 1091 | 1092 | emoji-regex@9.2.2: {} 1093 | 1094 | fast-glob@3.3.2: 1095 | dependencies: 1096 | '@nodelib/fs.stat': 2.0.5 1097 | '@nodelib/fs.walk': 1.2.8 1098 | glob-parent: 5.1.2 1099 | merge2: 1.4.1 1100 | micromatch: 4.0.8 1101 | 1102 | fastq@1.17.1: 1103 | dependencies: 1104 | reusify: 1.0.4 1105 | 1106 | fill-range@7.1.1: 1107 | dependencies: 1108 | to-regex-range: 5.0.1 1109 | 1110 | foreground-child@3.3.0: 1111 | dependencies: 1112 | cross-spawn: 7.0.6 1113 | signal-exit: 4.1.0 1114 | 1115 | fsevents@2.3.3: 1116 | optional: true 1117 | 1118 | function-bind@1.1.2: {} 1119 | 1120 | glob-parent@5.1.2: 1121 | dependencies: 1122 | is-glob: 4.0.3 1123 | 1124 | glob-parent@6.0.2: 1125 | dependencies: 1126 | is-glob: 4.0.3 1127 | 1128 | glob@10.4.5: 1129 | dependencies: 1130 | foreground-child: 3.3.0 1131 | jackspeak: 3.4.3 1132 | minimatch: 9.0.5 1133 | minipass: 7.1.2 1134 | package-json-from-dist: 1.0.1 1135 | path-scurry: 1.11.1 1136 | 1137 | hasown@2.0.2: 1138 | dependencies: 1139 | function-bind: 1.1.2 1140 | 1141 | is-arrayish@0.3.2: 1142 | optional: true 1143 | 1144 | is-binary-path@2.1.0: 1145 | dependencies: 1146 | binary-extensions: 2.3.0 1147 | 1148 | is-core-module@2.15.1: 1149 | dependencies: 1150 | hasown: 2.0.2 1151 | 1152 | is-extglob@2.1.1: {} 1153 | 1154 | is-fullwidth-code-point@3.0.0: {} 1155 | 1156 | is-glob@4.0.3: 1157 | dependencies: 1158 | is-extglob: 2.1.1 1159 | 1160 | is-number@7.0.0: {} 1161 | 1162 | isexe@2.0.0: {} 1163 | 1164 | jackspeak@3.4.3: 1165 | dependencies: 1166 | '@isaacs/cliui': 8.0.2 1167 | optionalDependencies: 1168 | '@pkgjs/parseargs': 0.11.0 1169 | 1170 | jiti@1.21.6: {} 1171 | 1172 | lilconfig@3.1.3: {} 1173 | 1174 | lines-and-columns@1.2.4: {} 1175 | 1176 | lru-cache@10.4.3: {} 1177 | 1178 | lucide-react@0.468.0(react@19.0.0): 1179 | dependencies: 1180 | react: 19.0.0 1181 | 1182 | merge2@1.4.1: {} 1183 | 1184 | micromatch@4.0.8: 1185 | dependencies: 1186 | braces: 3.0.3 1187 | picomatch: 2.3.1 1188 | 1189 | minimatch@9.0.5: 1190 | dependencies: 1191 | brace-expansion: 2.0.1 1192 | 1193 | minipass@7.1.2: {} 1194 | 1195 | mz@2.7.0: 1196 | dependencies: 1197 | any-promise: 1.3.0 1198 | object-assign: 4.1.1 1199 | thenify-all: 1.6.0 1200 | 1201 | nanoid@3.3.8: {} 1202 | 1203 | next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): 1204 | dependencies: 1205 | '@next/env': 15.0.4 1206 | '@swc/counter': 0.1.3 1207 | '@swc/helpers': 0.5.13 1208 | busboy: 1.6.0 1209 | caniuse-lite: 1.0.30001687 1210 | postcss: 8.4.31 1211 | react: 19.0.0 1212 | react-dom: 19.0.0(react@19.0.0) 1213 | styled-jsx: 5.1.6(react@19.0.0) 1214 | optionalDependencies: 1215 | '@next/swc-darwin-arm64': 15.0.4 1216 | '@next/swc-darwin-x64': 15.0.4 1217 | '@next/swc-linux-arm64-gnu': 15.0.4 1218 | '@next/swc-linux-arm64-musl': 15.0.4 1219 | '@next/swc-linux-x64-gnu': 15.0.4 1220 | '@next/swc-linux-x64-musl': 15.0.4 1221 | '@next/swc-win32-arm64-msvc': 15.0.4 1222 | '@next/swc-win32-x64-msvc': 15.0.4 1223 | sharp: 0.33.5 1224 | transitivePeerDependencies: 1225 | - '@babel/core' 1226 | - babel-plugin-macros 1227 | 1228 | normalize-path@3.0.0: {} 1229 | 1230 | object-assign@4.1.1: {} 1231 | 1232 | object-hash@3.0.0: {} 1233 | 1234 | package-json-from-dist@1.0.1: {} 1235 | 1236 | path-key@3.1.1: {} 1237 | 1238 | path-parse@1.0.7: {} 1239 | 1240 | path-scurry@1.11.1: 1241 | dependencies: 1242 | lru-cache: 10.4.3 1243 | minipass: 7.1.2 1244 | 1245 | picocolors@1.1.1: {} 1246 | 1247 | picomatch@2.3.1: {} 1248 | 1249 | pify@2.3.0: {} 1250 | 1251 | pirates@4.0.6: {} 1252 | 1253 | postcss-import@15.1.0(postcss@8.4.49): 1254 | dependencies: 1255 | postcss: 8.4.49 1256 | postcss-value-parser: 4.2.0 1257 | read-cache: 1.0.0 1258 | resolve: 1.22.8 1259 | 1260 | postcss-js@4.0.1(postcss@8.4.49): 1261 | dependencies: 1262 | camelcase-css: 2.0.1 1263 | postcss: 8.4.49 1264 | 1265 | postcss-load-config@4.0.2(postcss@8.4.49): 1266 | dependencies: 1267 | lilconfig: 3.1.3 1268 | yaml: 2.6.1 1269 | optionalDependencies: 1270 | postcss: 8.4.49 1271 | 1272 | postcss-nested@6.2.0(postcss@8.4.49): 1273 | dependencies: 1274 | postcss: 8.4.49 1275 | postcss-selector-parser: 6.1.2 1276 | 1277 | postcss-selector-parser@6.1.2: 1278 | dependencies: 1279 | cssesc: 3.0.0 1280 | util-deprecate: 1.0.2 1281 | 1282 | postcss-value-parser@4.2.0: {} 1283 | 1284 | postcss@8.4.31: 1285 | dependencies: 1286 | nanoid: 3.3.8 1287 | picocolors: 1.1.1 1288 | source-map-js: 1.2.1 1289 | 1290 | postcss@8.4.49: 1291 | dependencies: 1292 | nanoid: 3.3.8 1293 | picocolors: 1.1.1 1294 | source-map-js: 1.2.1 1295 | 1296 | queue-microtask@1.2.3: {} 1297 | 1298 | react-dom@19.0.0(react@19.0.0): 1299 | dependencies: 1300 | react: 19.0.0 1301 | scheduler: 0.25.0 1302 | 1303 | react@19.0.0: {} 1304 | 1305 | read-cache@1.0.0: 1306 | dependencies: 1307 | pify: 2.3.0 1308 | 1309 | readdirp@3.6.0: 1310 | dependencies: 1311 | picomatch: 2.3.1 1312 | 1313 | resolve@1.22.8: 1314 | dependencies: 1315 | is-core-module: 2.15.1 1316 | path-parse: 1.0.7 1317 | supports-preserve-symlinks-flag: 1.0.0 1318 | 1319 | reusify@1.0.4: {} 1320 | 1321 | run-parallel@1.2.0: 1322 | dependencies: 1323 | queue-microtask: 1.2.3 1324 | 1325 | scheduler@0.25.0: {} 1326 | 1327 | semver@7.6.3: 1328 | optional: true 1329 | 1330 | sharp@0.33.5: 1331 | dependencies: 1332 | color: 4.2.3 1333 | detect-libc: 2.0.3 1334 | semver: 7.6.3 1335 | optionalDependencies: 1336 | '@img/sharp-darwin-arm64': 0.33.5 1337 | '@img/sharp-darwin-x64': 0.33.5 1338 | '@img/sharp-libvips-darwin-arm64': 1.0.4 1339 | '@img/sharp-libvips-darwin-x64': 1.0.4 1340 | '@img/sharp-libvips-linux-arm': 1.0.5 1341 | '@img/sharp-libvips-linux-arm64': 1.0.4 1342 | '@img/sharp-libvips-linux-s390x': 1.0.4 1343 | '@img/sharp-libvips-linux-x64': 1.0.4 1344 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 1345 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 1346 | '@img/sharp-linux-arm': 0.33.5 1347 | '@img/sharp-linux-arm64': 0.33.5 1348 | '@img/sharp-linux-s390x': 0.33.5 1349 | '@img/sharp-linux-x64': 0.33.5 1350 | '@img/sharp-linuxmusl-arm64': 0.33.5 1351 | '@img/sharp-linuxmusl-x64': 0.33.5 1352 | '@img/sharp-wasm32': 0.33.5 1353 | '@img/sharp-win32-ia32': 0.33.5 1354 | '@img/sharp-win32-x64': 0.33.5 1355 | optional: true 1356 | 1357 | shebang-command@2.0.0: 1358 | dependencies: 1359 | shebang-regex: 3.0.0 1360 | 1361 | shebang-regex@3.0.0: {} 1362 | 1363 | signal-exit@4.1.0: {} 1364 | 1365 | simple-swizzle@0.2.2: 1366 | dependencies: 1367 | is-arrayish: 0.3.2 1368 | optional: true 1369 | 1370 | source-map-js@1.2.1: {} 1371 | 1372 | streamsearch@1.1.0: {} 1373 | 1374 | string-width@4.2.3: 1375 | dependencies: 1376 | emoji-regex: 8.0.0 1377 | is-fullwidth-code-point: 3.0.0 1378 | strip-ansi: 6.0.1 1379 | 1380 | string-width@5.1.2: 1381 | dependencies: 1382 | eastasianwidth: 0.2.0 1383 | emoji-regex: 9.2.2 1384 | strip-ansi: 7.1.0 1385 | 1386 | strip-ansi@6.0.1: 1387 | dependencies: 1388 | ansi-regex: 5.0.1 1389 | 1390 | strip-ansi@7.1.0: 1391 | dependencies: 1392 | ansi-regex: 6.1.0 1393 | 1394 | styled-jsx@5.1.6(react@19.0.0): 1395 | dependencies: 1396 | client-only: 0.0.1 1397 | react: 19.0.0 1398 | 1399 | sucrase@3.35.0: 1400 | dependencies: 1401 | '@jridgewell/gen-mapping': 0.3.5 1402 | commander: 4.1.1 1403 | glob: 10.4.5 1404 | lines-and-columns: 1.2.4 1405 | mz: 2.7.0 1406 | pirates: 4.0.6 1407 | ts-interface-checker: 0.1.13 1408 | 1409 | supports-preserve-symlinks-flag@1.0.0: {} 1410 | 1411 | tailwind-merge@2.5.5: {} 1412 | 1413 | tailwindcss-animate@1.0.7(tailwindcss@3.4.16): 1414 | dependencies: 1415 | tailwindcss: 3.4.16 1416 | 1417 | tailwindcss@3.4.16: 1418 | dependencies: 1419 | '@alloc/quick-lru': 5.2.0 1420 | arg: 5.0.2 1421 | chokidar: 3.6.0 1422 | didyoumean: 1.2.2 1423 | dlv: 1.1.3 1424 | fast-glob: 3.3.2 1425 | glob-parent: 6.0.2 1426 | is-glob: 4.0.3 1427 | jiti: 1.21.6 1428 | lilconfig: 3.1.3 1429 | micromatch: 4.0.8 1430 | normalize-path: 3.0.0 1431 | object-hash: 3.0.0 1432 | picocolors: 1.1.1 1433 | postcss: 8.4.49 1434 | postcss-import: 15.1.0(postcss@8.4.49) 1435 | postcss-js: 4.0.1(postcss@8.4.49) 1436 | postcss-load-config: 4.0.2(postcss@8.4.49) 1437 | postcss-nested: 6.2.0(postcss@8.4.49) 1438 | postcss-selector-parser: 6.1.2 1439 | resolve: 1.22.8 1440 | sucrase: 3.35.0 1441 | transitivePeerDependencies: 1442 | - ts-node 1443 | 1444 | thenify-all@1.6.0: 1445 | dependencies: 1446 | thenify: 3.3.1 1447 | 1448 | thenify@3.3.1: 1449 | dependencies: 1450 | any-promise: 1.3.0 1451 | 1452 | to-regex-range@5.0.1: 1453 | dependencies: 1454 | is-number: 7.0.0 1455 | 1456 | ts-interface-checker@0.1.13: {} 1457 | 1458 | tslib@2.8.1: {} 1459 | 1460 | typescript@5.7.2: {} 1461 | 1462 | undici-types@6.19.8: {} 1463 | 1464 | util-deprecate@1.0.2: {} 1465 | 1466 | which@2.0.2: 1467 | dependencies: 1468 | isexe: 2.0.0 1469 | 1470 | wrap-ansi@7.0.0: 1471 | dependencies: 1472 | ansi-styles: 4.3.0 1473 | string-width: 4.2.3 1474 | strip-ansi: 6.0.1 1475 | 1476 | wrap-ansi@8.1.0: 1477 | dependencies: 1478 | ansi-styles: 6.2.1 1479 | string-width: 5.1.2 1480 | strip-ansi: 7.1.0 1481 | 1482 | yaml@2.6.1: {} 1483 | -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /public/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/globe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/window.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/2853206f24e2444614b42aa5973381a1fa369570/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/2853206f24e2444614b42aa5973381a1fa369570/src/app/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /src/app/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/2853206f24e2444614b42aa5973381a1fa369570/src/app/fonts/GeistVF.woff -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | body { 6 | font-family: Arial, Helvetica, sans-serif; 7 | } 8 | 9 | @layer base { 10 | :root { 11 | --background: 0 0% 100%; 12 | --foreground: 240 10% 3.9%; 13 | --card: 0 0% 100%; 14 | --card-foreground: 240 10% 3.9%; 15 | --popover: 0 0% 100%; 16 | --popover-foreground: 240 10% 3.9%; 17 | --primary: 240 5.9% 10%; 18 | --primary-foreground: 0 0% 98%; 19 | --secondary: 240 4.8% 95.9%; 20 | --secondary-foreground: 240 5.9% 10%; 21 | --muted: 240 4.8% 95.9%; 22 | --muted-foreground: 240 3.8% 46.1%; 23 | --accent: 240 4.8% 95.9%; 24 | --accent-foreground: 240 5.9% 10%; 25 | --destructive: 0 84.2% 60.2%; 26 | --destructive-foreground: 0 0% 98%; 27 | --border: 240 5.9% 90%; 28 | --input: 240 5.9% 90%; 29 | --ring: 240 10% 3.9%; 30 | --chart-1: 12 76% 61%; 31 | --chart-2: 173 58% 39%; 32 | --chart-3: 197 37% 24%; 33 | --chart-4: 43 74% 66%; 34 | --chart-5: 27 87% 67%; 35 | --radius: 0.5rem; 36 | } 37 | .dark { 38 | --background: 240 10% 3.9%; 39 | --foreground: 0 0% 98%; 40 | --card: 240 10% 3.9%; 41 | --card-foreground: 0 0% 98%; 42 | --popover: 240 10% 3.9%; 43 | --popover-foreground: 0 0% 98%; 44 | --primary: 0 0% 98%; 45 | --primary-foreground: 240 5.9% 10%; 46 | --secondary: 240 3.7% 15.9%; 47 | --secondary-foreground: 0 0% 98%; 48 | --muted: 240 3.7% 15.9%; 49 | --muted-foreground: 240 5% 64.9%; 50 | --accent: 240 3.7% 15.9%; 51 | --accent-foreground: 0 0% 98%; 52 | --destructive: 0 62.8% 30.6%; 53 | --destructive-foreground: 0 0% 98%; 54 | --border: 240 3.7% 15.9%; 55 | --input: 240 3.7% 15.9%; 56 | --ring: 240 4.9% 83.9%; 57 | --chart-1: 220 70% 50%; 58 | --chart-2: 160 60% 45%; 59 | --chart-3: 30 80% 55%; 60 | --chart-4: 280 65% 60%; 61 | --chart-5: 340 75% 55%; 62 | } 63 | } 64 | 65 | @layer base { 66 | * { 67 | @apply border-border; 68 | } 69 | body { 70 | @apply bg-background text-foreground; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import localFont from "next/font/local"; 3 | import "./globals.css"; 4 | 5 | const geistSans = localFont({ 6 | src: "./fonts/GeistVF.woff", 7 | variable: "--font-geist-sans", 8 | weight: "100 900", 9 | }); 10 | const geistMono = localFont({ 11 | src: "./fonts/GeistMonoVF.woff", 12 | variable: "--font-geist-mono", 13 | weight: "100 900", 14 | }); 15 | 16 | export const metadata: Metadata = { 17 | title: "ElevenLabs Conversational AI Demo", 18 | description: "A demo of ElevenLabs Conversational AI", 19 | }; 20 | 21 | export default function RootLayout({ 22 | children, 23 | }: Readonly<{ 24 | children: React.ReactNode; 25 | }>) { 26 | return ( 27 | 28 | 31 | {children} 32 | 33 | 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import VoiceComponent from "@/components/VoiceComponent"; 2 | export default function Home() { 3 | return ( 4 |
5 |
6 | 7 | Powered by ElevenLabs 8 |

Realtime Voice Agent

9 | 10 | 11 | The app requires microphone access to work. 12 | 13 |
14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /src/components/VoiceComponent.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import React, { useEffect, useState } from "react"; 4 | 5 | // ElevenLabs 6 | import { useConversation } from "@11labs/react"; 7 | 8 | // UI 9 | import { Button } from "@/components/ui/button"; 10 | import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; 11 | import { Mic, MicOff, Volume2, VolumeX } from "lucide-react"; 12 | 13 | const VoiceChat = () => { 14 | const [hasPermission, setHasPermission] = useState(false); 15 | const [isMuted, setIsMuted] = useState(false); 16 | const [errorMessage, setErrorMessage] = useState(""); 17 | 18 | const conversation = useConversation({ 19 | onConnect: () => { 20 | console.log("Connected to ElevenLabs"); 21 | }, 22 | onDisconnect: () => { 23 | console.log("Disconnected from ElevenLabs"); 24 | }, 25 | onMessage: (message) => { 26 | console.log("Received message:", message); 27 | }, 28 | onError: (error: string | Error) => { 29 | setErrorMessage(typeof error === "string" ? error : error.message); 30 | console.error("Error:", error); 31 | }, 32 | }); 33 | 34 | const { status, isSpeaking } = conversation; 35 | 36 | useEffect(() => { 37 | // Request microphone permission on component mount 38 | const requestMicPermission = async () => { 39 | try { 40 | await navigator.mediaDevices.getUserMedia({ audio: true }); 41 | setHasPermission(true); 42 | } catch (error) { 43 | setErrorMessage("Microphone access denied"); 44 | console.error("Error accessing microphone:", error); 45 | } 46 | }; 47 | 48 | requestMicPermission(); 49 | }, []); 50 | 51 | const handleStartConversation = async () => { 52 | try { 53 | // Replace with your actual agent ID or URL 54 | const conversationId = await conversation.startSession({ 55 | agentId: process.env.NEXT_PUBLIC_ELEVENLABS_AGENT_ID!, 56 | }); 57 | console.log("Started conversation:", conversationId); 58 | } catch (error) { 59 | setErrorMessage("Failed to start conversation"); 60 | console.error("Error starting conversation:", error); 61 | } 62 | }; 63 | 64 | const handleEndConversation = async () => { 65 | try { 66 | await conversation.endSession(); 67 | } catch (error) { 68 | setErrorMessage("Failed to end conversation"); 69 | console.error("Error ending conversation:", error); 70 | } 71 | }; 72 | 73 | const toggleMute = async () => { 74 | try { 75 | await conversation.setVolume({ volume: isMuted ? 1 : 0 }); 76 | setIsMuted(!isMuted); 77 | } catch (error) { 78 | setErrorMessage("Failed to change volume"); 79 | console.error("Error changing volume:", error); 80 | } 81 | }; 82 | 83 | return ( 84 | 85 | 86 | 87 | Voice Chat 88 |
89 | 101 |
102 |
103 |
104 | 105 |
106 |
107 | {status === "connected" ? ( 108 | 116 | ) : ( 117 | 125 | )} 126 |
127 | 128 |
129 | {status === "connected" && ( 130 |

131 | {isSpeaking ? "Agent is speaking..." : "Listening..."} 132 |

133 | )} 134 | {errorMessage &&

{errorMessage}

} 135 | {!hasPermission && ( 136 |

137 | Please allow microphone access to use voice chat 138 |

139 | )} 140 |
141 |
142 |
143 |
144 | ); 145 | }; 146 | 147 | export default VoiceChat; 148 | -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Slot } from "@radix-ui/react-slot" 3 | import { cva, type VariantProps } from "class-variance-authority" 4 | 5 | import { cn } from "@/lib/utils" 6 | 7 | const buttonVariants = cva( 8 | "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", 9 | { 10 | variants: { 11 | variant: { 12 | default: 13 | "bg-primary text-primary-foreground shadow hover:bg-primary/90", 14 | destructive: 15 | "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", 16 | outline: 17 | "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", 18 | secondary: 19 | "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", 20 | ghost: "hover:bg-accent hover:text-accent-foreground", 21 | link: "text-primary underline-offset-4 hover:underline", 22 | }, 23 | size: { 24 | default: "h-9 px-4 py-2", 25 | sm: "h-8 rounded-md px-3 text-xs", 26 | lg: "h-10 rounded-md px-8", 27 | icon: "h-9 w-9", 28 | }, 29 | }, 30 | defaultVariants: { 31 | variant: "default", 32 | size: "default", 33 | }, 34 | } 35 | ) 36 | 37 | export interface ButtonProps 38 | extends React.ButtonHTMLAttributes, 39 | VariantProps { 40 | asChild?: boolean 41 | } 42 | 43 | const Button = React.forwardRef( 44 | ({ className, variant, size, asChild = false, ...props }, ref) => { 45 | const Comp = asChild ? Slot : "button" 46 | return ( 47 | 52 | ) 53 | } 54 | ) 55 | Button.displayName = "Button" 56 | 57 | export { Button, buttonVariants } 58 | -------------------------------------------------------------------------------- /src/components/ui/card.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | const Card = React.forwardRef< 6 | HTMLDivElement, 7 | React.HTMLAttributes 8 | >(({ className, ...props }, ref) => ( 9 |
17 | )) 18 | Card.displayName = "Card" 19 | 20 | const CardHeader = React.forwardRef< 21 | HTMLDivElement, 22 | React.HTMLAttributes 23 | >(({ className, ...props }, ref) => ( 24 |
29 | )) 30 | CardHeader.displayName = "CardHeader" 31 | 32 | const CardTitle = React.forwardRef< 33 | HTMLDivElement, 34 | React.HTMLAttributes 35 | >(({ className, ...props }, ref) => ( 36 |
41 | )) 42 | CardTitle.displayName = "CardTitle" 43 | 44 | const CardDescription = React.forwardRef< 45 | HTMLDivElement, 46 | React.HTMLAttributes 47 | >(({ className, ...props }, ref) => ( 48 |
53 | )) 54 | CardDescription.displayName = "CardDescription" 55 | 56 | const CardContent = React.forwardRef< 57 | HTMLDivElement, 58 | React.HTMLAttributes 59 | >(({ className, ...props }, ref) => ( 60 |
61 | )) 62 | CardContent.displayName = "CardContent" 63 | 64 | const CardFooter = React.forwardRef< 65 | HTMLDivElement, 66 | React.HTMLAttributes 67 | >(({ className, ...props }, ref) => ( 68 |
73 | )) 74 | CardFooter.displayName = "CardFooter" 75 | 76 | export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } 77 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss"; 2 | 3 | export default { 4 | darkMode: ["class"], 5 | content: [ 6 | "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", 7 | "./src/components/**/*.{js,ts,jsx,tsx,mdx}", 8 | "./src/app/**/*.{js,ts,jsx,tsx,mdx}", 9 | ], 10 | theme: { 11 | extend: { 12 | colors: { 13 | background: 'hsl(var(--background))', 14 | foreground: 'hsl(var(--foreground))', 15 | card: { 16 | DEFAULT: 'hsl(var(--card))', 17 | foreground: 'hsl(var(--card-foreground))' 18 | }, 19 | popover: { 20 | DEFAULT: 'hsl(var(--popover))', 21 | foreground: 'hsl(var(--popover-foreground))' 22 | }, 23 | primary: { 24 | DEFAULT: 'hsl(var(--primary))', 25 | foreground: 'hsl(var(--primary-foreground))' 26 | }, 27 | secondary: { 28 | DEFAULT: 'hsl(var(--secondary))', 29 | foreground: 'hsl(var(--secondary-foreground))' 30 | }, 31 | muted: { 32 | DEFAULT: 'hsl(var(--muted))', 33 | foreground: 'hsl(var(--muted-foreground))' 34 | }, 35 | accent: { 36 | DEFAULT: 'hsl(var(--accent))', 37 | foreground: 'hsl(var(--accent-foreground))' 38 | }, 39 | destructive: { 40 | DEFAULT: 'hsl(var(--destructive))', 41 | foreground: 'hsl(var(--destructive-foreground))' 42 | }, 43 | border: 'hsl(var(--border))', 44 | input: 'hsl(var(--input))', 45 | ring: 'hsl(var(--ring))', 46 | chart: { 47 | '1': 'hsl(var(--chart-1))', 48 | '2': 'hsl(var(--chart-2))', 49 | '3': 'hsl(var(--chart-3))', 50 | '4': 'hsl(var(--chart-4))', 51 | '5': 'hsl(var(--chart-5))' 52 | } 53 | }, 54 | borderRadius: { 55 | lg: 'var(--radius)', 56 | md: 'calc(var(--radius) - 2px)', 57 | sm: 'calc(var(--radius) - 4px)' 58 | } 59 | } 60 | }, 61 | plugins: [require("tailwindcss-animate")], 62 | } satisfies Config; 63 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "noEmit": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "bundler", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "jsx": "preserve", 15 | "incremental": true, 16 | "plugins": [ 17 | { 18 | "name": "next" 19 | } 20 | ], 21 | "paths": { 22 | "@/*": ["./src/*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | --------------------------------------------------------------------------------