├── example.env.local
├── src
├── app
│ ├── favicon.ico
│ ├── fonts
│ │ ├── GeistVF.woff
│ │ └── GeistMonoVF.woff
│ ├── page.tsx
│ ├── layout.tsx
│ └── globals.css
├── lib
│ └── utils.ts
└── components
│ ├── ui
│ ├── button.tsx
│ └── card.tsx
│ └── VoiceComponent.tsx
├── public
├── vercel.svg
├── window.svg
├── file.svg
├── globe.svg
└── next.svg
├── next.config.ts
├── postcss.config.mjs
├── README.md
├── components.json
├── .gitignore
├── tsconfig.json
├── package.json
├── tailwind.config.ts
└── pnpm-lock.yaml
/example.env.local:
--------------------------------------------------------------------------------
1 | NEXT_PUBLIC_ELEVENLABS_AGENT_ID=xxx
--------------------------------------------------------------------------------
/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/HEAD/src/app/favicon.ico
--------------------------------------------------------------------------------
/src/app/fonts/GeistVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/HEAD/src/app/fonts/GeistVF.woff
--------------------------------------------------------------------------------
/src/app/fonts/GeistMonoVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/HEAD/src/app/fonts/GeistMonoVF.woff
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 | }
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/public/globe.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------