├── app
├── favicon.ico
├── [team]
│ ├── [[...section]]
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ └── @nav
│ │ │ └── page.tsx
│ └── layout.tsx
├── layout.tsx
└── globals.css
├── postcss.config.js
├── lib
└── utils.ts
├── public
├── acme.svg
├── vercel.svg
└── next.svg
├── components.json
├── next.config.ts
├── .gitignore
├── README.md
├── tsconfig.json
├── package.json
├── components
├── ui
│ ├── badge.tsx
│ ├── scroll-area.tsx
│ ├── button.tsx
│ ├── table.tsx
│ ├── select.tsx
│ └── dropdown-menu.tsx
└── deployments.tsx
├── tailwind.config.ts
└── pnpm-lock.yaml
/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vercel-labs/vercel-nav-demo/HEAD/app/favicon.ico
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { type ClassValue, clsx } from "clsx"
2 | import { twMerge } from "tailwind-merge"
3 |
4 | export function cn(...inputs: ClassValue[]) {
5 | return twMerge(clsx(inputs))
6 | }
7 |
--------------------------------------------------------------------------------
/public/acme.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/[team]/[[...section]]/layout.tsx:
--------------------------------------------------------------------------------
1 | export default function SectionLayout({
2 | children,
3 | nav,
4 | }: {
5 | children: React.ReactNode;
6 | nav: React.ReactNode;
7 | }) {
8 | return (
9 | <>
10 |
13 | {children}
14 | >
15 | );
16 | }
17 |
--------------------------------------------------------------------------------
/components.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://ui.shadcn.com/schema.json",
3 | "style": "default",
4 | "rsc": true,
5 | "tsx": true,
6 | "tailwind": {
7 | "config": "tailwind.config.ts",
8 | "css": "app/globals.css",
9 | "baseColor": "slate",
10 | "cssVariables": true,
11 | "prefix": ""
12 | },
13 | "aliases": {
14 | "components": "@/components",
15 | "utils": "@/lib/utils"
16 | }
17 | }
--------------------------------------------------------------------------------
/next.config.ts:
--------------------------------------------------------------------------------
1 | const nextConfig = {
2 | images: {
3 | remotePatterns: [
4 | {
5 | protocol: 'https',
6 | hostname: 'avatars.githubusercontent.com',
7 | port: '',
8 | pathname: '/u/**',
9 | },
10 | ],
11 | },
12 | redirects: () => {
13 | return [
14 | {
15 | source: '/',
16 | destination: '/leerob',
17 | permanent: false,
18 | },
19 | ];
20 | },
21 | };
22 |
23 | export default nextConfig;
24 |
--------------------------------------------------------------------------------
/.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.js
7 | .yarn/install-state.gz
8 |
9 | # testing
10 | /coverage
11 |
12 | # next.js
13 | /.next/
14 | /out/
15 |
16 | # production
17 | /build
18 |
19 | # misc
20 | .DS_Store
21 | *.pem
22 |
23 | # debug
24 | npm-debug.log*
25 | yarn-debug.log*
26 | yarn-error.log*
27 |
28 | # local env files
29 | .env*.local
30 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Vercel Navigation Demo
2 |
3 | This is a light clone of the Vercel dashboard navigation. The first version was built with [v0](https://v0.dev/t/5tpUeamjMf6), and then hand-crafted by humans from there.
4 |
5 | ## How It Works
6 |
7 | 1. Navigating to `/` redirects to a default team `/leerob`
8 | 2. The navigation and page content are two separate [Parallel Routes](https://nextjs.org/docs/app/building-your-application/routing/parallel-routes)
9 | 3. The navigation page fetches and streams the team data server-side
10 |
11 | This enables reading the dynamic URL path on the server (e.g. `[team]` which gives me `leerob` for `/leerob`), and then fetching the user data based on that.
12 |
--------------------------------------------------------------------------------
/app/[team]/[[...section]]/page.tsx:
--------------------------------------------------------------------------------
1 | import DeploymentsTable from '@/components/deployments';
2 |
3 | export default async function Page({
4 | params,
5 | }: {
6 | params: Promise<{
7 | team: string;
8 | section?: string[];
9 | }>;
10 | }) {
11 | const { section: sectionParam } = await params;
12 | let section = sectionParam?.[0] || 'home';
13 | if (section === 'home') {
14 | return (
15 |
18 | );
19 | }
20 |
21 | return (
22 |
23 | This is the {section} dashboard page content.
24 |
25 | );
26 | }
27 |
--------------------------------------------------------------------------------
/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import './globals.css';
2 | import type { Metadata } from 'next';
3 | import { Geist, Geist_Mono } from 'next/font/google';
4 | import { cn } from '@/lib/utils';
5 |
6 | const geist = Geist({
7 | subsets: ['latin'],
8 | variable: '--font-sans',
9 | });
10 |
11 | const geistMono = Geist_Mono({
12 | subsets: ['latin'],
13 | variable: '--font-mono',
14 | });
15 |
16 | export const metadata: Metadata = {
17 | title: 'Next.js Parallel Routes Example',
18 | description: 'Generated by create next app',
19 | };
20 |
21 | export default function RootLayout({
22 | children,
23 | }: {
24 | children: React.ReactNode;
25 | }) {
26 | return (
27 |
28 |
{children}
29 |
30 | );
31 | }
32 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": [
4 | "dom",
5 | "dom.iterable",
6 | "esnext"
7 | ],
8 | "allowJs": true,
9 | "skipLibCheck": true,
10 | "strict": true,
11 | "noEmit": true,
12 | "esModuleInterop": true,
13 | "module": "esnext",
14 | "moduleResolution": "bundler",
15 | "resolveJsonModule": true,
16 | "isolatedModules": true,
17 | "jsx": "preserve",
18 | "incremental": true,
19 | "plugins": [
20 | {
21 | "name": "next"
22 | }
23 | ],
24 | "paths": {
25 | "@/*": [
26 | "./*"
27 | ]
28 | },
29 | "target": "ES2017"
30 | },
31 | "include": [
32 | "next-env.d.ts",
33 | "**/*.ts",
34 | "**/*.tsx",
35 | ".next/types/**/*.ts"
36 | ],
37 | "exclude": [
38 | "node_modules"
39 | ]
40 | }
41 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "dev": "next dev --turbopack",
5 | "build": "next build",
6 | "start": "next start"
7 | },
8 | "dependencies": {
9 | "@radix-ui/react-avatar": "^1.1.2",
10 | "@radix-ui/react-dropdown-menu": "^2.1.4",
11 | "@radix-ui/react-scroll-area": "^1.2.2",
12 | "@radix-ui/react-select": "^2.1.4",
13 | "@radix-ui/react-slot": "^1.1.1",
14 | "class-variance-authority": "^0.7.1",
15 | "clsx": "^2.1.1",
16 | "lucide-react": "^0.469.0",
17 | "next": "15.1.11",
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": "^22.10.2",
25 | "@types/react": "^19.0.2",
26 | "@types/react-dom": "^19.0.2",
27 | "autoprefixer": "^10.4.20",
28 | "postcss": "^8.4.49",
29 | "tailwindcss": "^3.4.17",
30 | "typescript": "^5.7.2"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/components/ui/badge.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 | import { cva, type VariantProps } from "class-variance-authority"
3 |
4 | import { cn } from "@/lib/utils"
5 |
6 | const badgeVariants = cva(
7 | "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
8 | {
9 | variants: {
10 | variant: {
11 | default:
12 | "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
13 | secondary:
14 | "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
15 | destructive:
16 | "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
17 | outline: "text-foreground",
18 | },
19 | },
20 | defaultVariants: {
21 | variant: "default",
22 | },
23 | }
24 | )
25 |
26 | export interface BadgeProps
27 | extends React.HTMLAttributes,
28 | VariantProps {}
29 |
30 | function Badge({ className, variant, ...props }: BadgeProps) {
31 | return (
32 |
33 | )
34 | }
35 |
36 | export { Badge, badgeVariants }
37 |
--------------------------------------------------------------------------------
/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/ui/scroll-area.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import * as React from "react"
4 | import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area"
5 |
6 | import { cn } from "@/lib/utils"
7 |
8 | const ScrollArea = React.forwardRef<
9 | React.ElementRef,
10 | React.ComponentPropsWithoutRef
11 | >(({ className, children, ...props }, ref) => (
12 |
17 |
18 | {children}
19 |
20 |
21 |
22 |
23 | ))
24 | ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName
25 |
26 | const ScrollBar = React.forwardRef<
27 | React.ElementRef,
28 | React.ComponentPropsWithoutRef
29 | >(({ className, orientation = "vertical", ...props }, ref) => (
30 |
43 |
44 |
45 | ))
46 | ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName
47 |
48 | export { ScrollArea, ScrollBar }
49 |
--------------------------------------------------------------------------------
/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 ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
9 | {
10 | variants: {
11 | variant: {
12 | default: "bg-primary text-primary-foreground hover:bg-primary/90",
13 | destructive:
14 | "bg-destructive text-destructive-foreground hover:bg-destructive/90",
15 | outline:
16 | "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
17 | secondary:
18 | "bg-secondary text-secondary-foreground hover:bg-secondary/80",
19 | ghost: "hover:bg-accent hover:text-accent-foreground",
20 | link: "text-primary underline-offset-4 hover:underline",
21 | },
22 | size: {
23 | default: "h-10 px-4 py-2",
24 | sm: "h-9 rounded-md px-3",
25 | lg: "h-11 rounded-md px-8",
26 | icon: "h-10 w-10",
27 | },
28 | },
29 | defaultVariants: {
30 | variant: "default",
31 | size: "default",
32 | },
33 | }
34 | )
35 |
36 | export interface ButtonProps
37 | extends React.ButtonHTMLAttributes,
38 | VariantProps {
39 | asChild?: boolean
40 | }
41 |
42 | const Button = React.forwardRef(
43 | ({ className, variant, size, asChild = false, ...props }, ref) => {
44 | const Comp = asChild ? Slot : "button"
45 | return (
46 |
51 | )
52 | }
53 | )
54 | Button.displayName = "Button"
55 |
56 | export { Button, buttonVariants }
57 |
--------------------------------------------------------------------------------
/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer base {
6 | :root {
7 | --background: 0 0% 100%;
8 | --foreground: 0 0% 9%;
9 | --card: 0 0% 100%;
10 | --card-foreground: 240 10% 3.9%;
11 | --popover: 0 0% 100%;
12 | --popover-foreground: 240 10% 3.9%;
13 | --primary: 240 5.9% 10%;
14 | --primary-foreground: 0 0% 98%;
15 | --secondary: 240 4.8% 95.9%;
16 | --secondary-foreground: 240 5.9% 10%;
17 | --muted: 0 0% 98%;
18 | --muted-foreground: 240 3.8% 46.1%;
19 | --accent: 0 0% 93%;
20 | --accent-foreground: 0 0% 40%;
21 | --destructive: 0 84.2% 60.2%;
22 | --destructive-foreground: 0 0% 98%;
23 | --border: 240 5.9% 90%;
24 | --input: 0 0% 0%;
25 | --ring: 240 10% 3.9%;
26 | --chart-1: 12 76% 61%;
27 | --chart-2: 173 58% 39%;
28 | --chart-3: 197 37% 24%;
29 | --chart-4: 43 74% 66%;
30 | --chart-5: 27 87% 67%;
31 | --radius: 0.5rem;
32 | --sidebar-background: 0 0% 98%;
33 | --sidebar-foreground: 240 5.3% 26.1%;
34 | --sidebar-primary: 240 5.9% 10%;
35 | --sidebar-primary-foreground: 0 0% 98%;
36 | --sidebar-accent: 240 4.8% 95.9%;
37 | --sidebar-accent-foreground: 240 5.9% 10%;
38 | --sidebar-border: 220 13% 91%;
39 | --sidebar-ring: 217.2 91.2% 59.8%;
40 | --selection: 217 100% 46%;
41 | --blue: 211 100% 44%;
42 | }
43 | .dark {
44 | --background: 240 10% 3.9%;
45 | --foreground: 0 0% 98%;
46 | --card: 240 10% 3.9%;
47 | --card-foreground: 0 0% 98%;
48 | --popover: 240 10% 3.9%;
49 | --popover-foreground: 0 0% 98%;
50 | --primary: 0 0% 98%;
51 | --primary-foreground: 240 5.9% 10%;
52 | --secondary: 240 3.7% 15.9%;
53 | --secondary-foreground: 0 0% 98%;
54 | --muted: 240 3.7% 15.9%;
55 | --muted-foreground: 240 5% 64.9%;
56 | --accent: 0 0% 93%;
57 | --accent-foreground: 0 0% 40%;
58 | --destructive: 0 62.8% 30.6%;
59 | --destructive-foreground: 0 0% 98%;
60 | --border: 240 3.7% 15.9%;
61 | --input: 240 3.7% 15.9%;
62 | --ring: 240 4.9% 83.9%;
63 | --chart-1: 220 70% 50%;
64 | --chart-2: 160 60% 45%;
65 | --chart-3: 30 80% 55%;
66 | --chart-4: 280 65% 60%;
67 | --chart-5: 340 75% 55%;
68 | --sidebar-background: 240 5.9% 10%;
69 | --sidebar-foreground: 240 4.8% 95.9%;
70 | --sidebar-primary: 224.3 76.3% 48%;
71 | --sidebar-primary-foreground: 0 0% 100%;
72 | --sidebar-accent: 240 3.7% 15.9%;
73 | --sidebar-accent-foreground: 240 4.8% 95.9%;
74 | --sidebar-border: 240 3.7% 15.9%;
75 | --sidebar-ring: 217.2 91.2% 59.8%;
76 | --blue: 211 100% 44%;
77 | }
78 | }
79 |
80 | @layer base {
81 | * {
82 | @apply border-border selection:bg-selection selection:text-white;
83 | }
84 | body {
85 | @apply bg-background text-foreground;
86 | text-rendering: optimizeLegibility;
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/components/ui/table.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 |
3 | import { cn } from "@/lib/utils"
4 |
5 | const Table = React.forwardRef<
6 | HTMLTableElement,
7 | React.HTMLAttributes
8 | >(({ className, ...props }, ref) => (
9 |
16 | ))
17 | Table.displayName = "Table"
18 |
19 | const TableHeader = React.forwardRef<
20 | HTMLTableSectionElement,
21 | React.HTMLAttributes
22 | >(({ className, ...props }, ref) => (
23 |
24 | ))
25 | TableHeader.displayName = "TableHeader"
26 |
27 | const TableBody = React.forwardRef<
28 | HTMLTableSectionElement,
29 | React.HTMLAttributes
30 | >(({ className, ...props }, ref) => (
31 |
36 | ))
37 | TableBody.displayName = "TableBody"
38 |
39 | const TableFooter = React.forwardRef<
40 | HTMLTableSectionElement,
41 | React.HTMLAttributes
42 | >(({ className, ...props }, ref) => (
43 | tr]:last:border-b-0",
47 | className
48 | )}
49 | {...props}
50 | />
51 | ))
52 | TableFooter.displayName = "TableFooter"
53 |
54 | const TableRow = React.forwardRef<
55 | HTMLTableRowElement,
56 | React.HTMLAttributes
57 | >(({ className, ...props }, ref) => (
58 |
66 | ))
67 | TableRow.displayName = "TableRow"
68 |
69 | const TableHead = React.forwardRef<
70 | HTMLTableCellElement,
71 | React.ThHTMLAttributes
72 | >(({ className, ...props }, ref) => (
73 | |
81 | ))
82 | TableHead.displayName = "TableHead"
83 |
84 | const TableCell = React.forwardRef<
85 | HTMLTableCellElement,
86 | React.TdHTMLAttributes
87 | >(({ className, ...props }, ref) => (
88 | |
93 | ))
94 | TableCell.displayName = "TableCell"
95 |
96 | const TableCaption = React.forwardRef<
97 | HTMLTableCaptionElement,
98 | React.HTMLAttributes
99 | >(({ className, ...props }, ref) => (
100 |
105 | ))
106 | TableCaption.displayName = "TableCaption"
107 |
108 | export {
109 | Table,
110 | TableHeader,
111 | TableBody,
112 | TableFooter,
113 | TableHead,
114 | TableRow,
115 | TableCell,
116 | TableCaption,
117 | }
118 |
--------------------------------------------------------------------------------
/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from 'tailwindcss';
2 | import { fontFamily } from 'tailwindcss/defaultTheme';
3 |
4 | const config: Config = {
5 | darkMode: ['class'],
6 | content: [
7 | './pages/**/*.{js,ts,jsx,tsx,mdx}',
8 | './components/**/*.{js,ts,jsx,tsx,mdx}',
9 | './app/**/*.{js,ts,jsx,tsx,mdx}',
10 | ],
11 | theme: {
12 | extend: {
13 | fontFamily: {
14 | sans: ['var(--font-sans)', ...fontFamily.sans],
15 | mono: ['var(--font-mono)', ...fontFamily.mono],
16 | },
17 | colors: {
18 | background: 'hsl(var(--background))',
19 | foreground: 'hsl(var(--foreground))',
20 | selection: 'hsl(var(--selection))',
21 | card: {
22 | DEFAULT: 'hsl(var(--card))',
23 | foreground: 'hsl(var(--card-foreground))',
24 | },
25 | popover: {
26 | DEFAULT: 'hsl(var(--popover))',
27 | foreground: 'hsl(var(--popover-foreground))',
28 | },
29 | primary: {
30 | DEFAULT: 'hsl(var(--primary))',
31 | foreground: 'hsl(var(--primary-foreground))',
32 | },
33 | secondary: {
34 | DEFAULT: 'hsl(var(--secondary))',
35 | foreground: 'hsl(var(--secondary-foreground))',
36 | },
37 | muted: {
38 | DEFAULT: 'hsl(var(--muted))',
39 | foreground: 'hsl(var(--muted-foreground))',
40 | },
41 | accent: {
42 | DEFAULT: 'hsl(var(--accent))',
43 | foreground: 'hsl(var(--accent-foreground))',
44 | },
45 | destructive: {
46 | DEFAULT: 'hsl(var(--destructive))',
47 | foreground: 'hsl(var(--destructive-foreground))',
48 | },
49 | border: 'hsl(var(--border))',
50 | input: 'hsl(var(--input))',
51 | ring: 'hsl(var(--ring))',
52 | chart: {
53 | '1': 'hsl(var(--chart-1))',
54 | '2': 'hsl(var(--chart-2))',
55 | '3': 'hsl(var(--chart-3))',
56 | '4': 'hsl(var(--chart-4))',
57 | '5': 'hsl(var(--chart-5))',
58 | },
59 | sidebar: {
60 | DEFAULT: 'hsl(var(--sidebar-background))',
61 | foreground: 'hsl(var(--sidebar-foreground))',
62 | primary: 'hsl(var(--sidebar-primary))',
63 | 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
64 | accent: 'hsl(var(--sidebar-accent))',
65 | 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
66 | border: 'hsl(var(--sidebar-border))',
67 | ring: 'hsl(var(--sidebar-ring))',
68 | },
69 | blue: 'hsl(var(--blue))',
70 | },
71 | borderRadius: {
72 | lg: 'var(--radius)',
73 | md: 'calc(var(--radius) - 2px)',
74 | sm: 'calc(var(--radius) - 4px)',
75 | },
76 | keyframes: {
77 | 'accordion-down': {
78 | from: {
79 | height: '0',
80 | },
81 | to: {
82 | height: 'var(--radix-accordion-content-height)',
83 | },
84 | },
85 | 'accordion-up': {
86 | from: {
87 | height: 'var(--radix-accordion-content-height)',
88 | },
89 | to: {
90 | height: '0',
91 | },
92 | },
93 | },
94 | animation: {
95 | 'accordion-down': 'accordion-down 0.2s ease-out',
96 | 'accordion-up': 'accordion-up 0.2s ease-out',
97 | },
98 | },
99 | },
100 | plugins: [require('tailwindcss-animate')],
101 | };
102 | export default config;
103 |
--------------------------------------------------------------------------------
/app/[team]/layout.tsx:
--------------------------------------------------------------------------------
1 | import { Badge } from '@/components/ui/badge';
2 | import {
3 | DropdownMenuTrigger,
4 | DropdownMenuLabel,
5 | DropdownMenuSeparator,
6 | DropdownMenuItem,
7 | DropdownMenuGroup,
8 | DropdownMenuContent,
9 | DropdownMenu,
10 | } from '@/components/ui/dropdown-menu';
11 | import { Button } from '@/components/ui/button';
12 | import Link from 'next/link';
13 | import Image from 'next/image';
14 | import { cn } from '@/lib/utils';
15 | import { Suspense } from 'react';
16 | import { BellIcon, ChevronDownIcon } from 'lucide-react';
17 |
18 | async function getTeam(team: string) {
19 | let res = await fetch(`https://api.github.com/users/${team}`);
20 | let { login, avatar_url } = await res.json();
21 |
22 | await new Promise((resolve) => setTimeout(resolve, 1000));
23 |
24 | return { login, avatar_url };
25 | }
26 |
27 | async function Team({ id }: { id: string }) {
28 | const { login: name } = await getTeam(id);
29 |
30 | return (
31 |
32 |
33 |

40 |
41 |
{name}
42 |
43 | Pro
44 |
45 |
46 |
47 | );
48 | }
49 |
50 | async function Avatar({ id }: { id: string }) {
51 | const { avatar_url } = await getTeam(id);
52 |
53 | return (
54 |
61 | );
62 | }
63 |
64 | export default async function SectionLayout({
65 | children,
66 | params,
67 | }: {
68 | children: React.ReactNode;
69 | params: Promise<{
70 | team: string;
71 | }>;
72 | }) {
73 | const { team } = await params;
74 |
75 | return (
76 | <>
77 |
151 | {children}
152 | >
153 | );
154 | }
155 |
--------------------------------------------------------------------------------
/app/[team]/[[...section]]/@nav/page.tsx:
--------------------------------------------------------------------------------
1 | import Link from 'next/link';
2 | import { cn } from '@/lib/utils';
3 | import { ScrollArea, ScrollBar } from '@/components/ui/scroll-area';
4 |
5 | export default async function Page({
6 | params,
7 | }: {
8 | params: Promise<{
9 | team: string;
10 | section?: string[];
11 | }>;
12 | }) {
13 | const { team, section } = await params;
14 |
15 | return (
16 |
17 |
18 |
19 |
30 | Overview
31 |
32 |
43 | Integrations
44 |
45 |
56 | Activity
57 |
58 |
69 | Domains
70 |
71 |
82 | Usage
83 |
84 |
95 | Observability
96 |
97 |
108 | Storage
109 |
110 |
121 | Support
122 |
123 |
134 | Settings
135 |
136 |
137 |
138 |
139 |
140 | );
141 | }
142 |
--------------------------------------------------------------------------------
/components/ui/select.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import * as React from "react"
4 | import * as SelectPrimitive from "@radix-ui/react-select"
5 | import { Check, ChevronDown, ChevronUp } from "lucide-react"
6 |
7 | import { cn } from "@/lib/utils"
8 |
9 | const Select = SelectPrimitive.Root
10 |
11 | const SelectGroup = SelectPrimitive.Group
12 |
13 | const SelectValue = SelectPrimitive.Value
14 |
15 | const SelectTrigger = React.forwardRef<
16 | React.ElementRef,
17 | React.ComponentPropsWithoutRef
18 | >(({ className, children, ...props }, ref) => (
19 | span]:line-clamp-1",
23 | className
24 | )}
25 | {...props}
26 | >
27 | {children}
28 |
29 |
30 |
31 |
32 | ))
33 | SelectTrigger.displayName = SelectPrimitive.Trigger.displayName
34 |
35 | const SelectScrollUpButton = React.forwardRef<
36 | React.ElementRef,
37 | React.ComponentPropsWithoutRef
38 | >(({ className, ...props }, ref) => (
39 |
47 |
48 |
49 | ))
50 | SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName
51 |
52 | const SelectScrollDownButton = React.forwardRef<
53 | React.ElementRef,
54 | React.ComponentPropsWithoutRef
55 | >(({ className, ...props }, ref) => (
56 |
64 |
65 |
66 | ))
67 | SelectScrollDownButton.displayName =
68 | SelectPrimitive.ScrollDownButton.displayName
69 |
70 | const SelectContent = React.forwardRef<
71 | React.ElementRef,
72 | React.ComponentPropsWithoutRef
73 | >(({ className, children, position = "popper", ...props }, ref) => (
74 |
75 |
86 |
87 |
94 | {children}
95 |
96 |
97 |
98 |
99 | ))
100 | SelectContent.displayName = SelectPrimitive.Content.displayName
101 |
102 | const SelectLabel = React.forwardRef<
103 | React.ElementRef,
104 | React.ComponentPropsWithoutRef
105 | >(({ className, ...props }, ref) => (
106 |
111 | ))
112 | SelectLabel.displayName = SelectPrimitive.Label.displayName
113 |
114 | const SelectItem = React.forwardRef<
115 | React.ElementRef,
116 | React.ComponentPropsWithoutRef
117 | >(({ className, children, ...props }, ref) => (
118 |
126 |
127 |
128 |
129 |
130 |
131 |
132 | {children}
133 |
134 | ))
135 | SelectItem.displayName = SelectPrimitive.Item.displayName
136 |
137 | const SelectSeparator = React.forwardRef<
138 | React.ElementRef,
139 | React.ComponentPropsWithoutRef
140 | >(({ className, ...props }, ref) => (
141 |
146 | ))
147 | SelectSeparator.displayName = SelectPrimitive.Separator.displayName
148 |
149 | export {
150 | Select,
151 | SelectGroup,
152 | SelectValue,
153 | SelectTrigger,
154 | SelectContent,
155 | SelectLabel,
156 | SelectItem,
157 | SelectSeparator,
158 | SelectScrollUpButton,
159 | SelectScrollDownButton,
160 | }
161 |
--------------------------------------------------------------------------------
/components/deployments.tsx:
--------------------------------------------------------------------------------
1 | import { Search, MoreVertical } from 'lucide-react';
2 | import { Button } from '@/components/ui/button';
3 | import {
4 | Select,
5 | SelectContent,
6 | SelectItem,
7 | SelectTrigger,
8 | SelectValue,
9 | } from '@/components/ui/select';
10 | import { Table, TableBody, TableCell, TableRow } from '@/components/ui/table';
11 |
12 | interface Deployment {
13 | id: string;
14 | message: string;
15 | timestamp: string;
16 | branch: string;
17 | status: 'loading' | 'ready' | 'error';
18 | }
19 |
20 | const deployments: Deployment[] = [
21 | {
22 | id: 'any1bkys8',
23 | message: 'Track error events on vercel site to Web Analytics (#22048)',
24 | timestamp: '14m ago',
25 | branch: 'main',
26 | status: 'loading',
27 | },
28 | {
29 | id: 'sa6tcgt2',
30 | message: 'check in additional load only on slow response',
31 | timestamp: '14m ago',
32 | branch: 'DOC-2693-cmdk-item-rendering-crash',
33 | status: 'ready',
34 | },
35 | {
36 | id: '6gopakoj3',
37 | message: 'Changes Edge Config store',
38 | timestamp: '14m ago',
39 | branch: 'fix-startup-credit-form-errors-and-address-feedback',
40 | status: 'ready',
41 | },
42 | {
43 | id: 'dq8vgz488',
44 | message: 'Unused eslint directive',
45 | timestamp: '14m ago',
46 | branch: 'surf-3177_proj-env-vars-page-performance_a_virtuoso',
47 | status: 'ready',
48 | },
49 | {
50 | id: 'k4km2wqv6',
51 | message: 'fix sha resource use',
52 | timestamp: '14m ago',
53 | branch: 'kevvy/CORE-1483',
54 | status: 'ready',
55 | },
56 | {
57 | id: 'ccufnu119',
58 | message: 'remove reduce motion bc plays before in view',
59 | timestamp: '14m ago',
60 | branch: 'kevvy/site-262-observability-page-hero-animation',
61 | status: 'ready',
62 | },
63 | ];
64 |
65 | export default function DeploymentsTable() {
66 | return (
67 |
68 |
Your Deployments
69 |
70 |
71 |
72 |
73 |
78 |
79 |
80 |
91 |
92 |
93 |
94 |
95 |
96 | {deployments.map((deployment) => (
97 |
101 |
102 |
103 |
104 |
124 |
125 | {deployment.id}
126 |
127 |
128 |
129 | {deployment.message}
130 |
131 |
132 |
133 |
134 |
135 |
136 | {deployment.timestamp}
137 |
138 |
139 | on
140 |
141 |
142 | {deployment.branch}
143 |
144 |
145 |
146 |
147 |
154 |
155 |
156 | ))}
157 |
158 |
159 |
165 |
166 |
167 | );
168 | }
169 |
--------------------------------------------------------------------------------
/components/ui/dropdown-menu.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import * as React from "react"
4 | import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
5 | import { Check, ChevronRight, Circle } from "lucide-react"
6 |
7 | import { cn } from "@/lib/utils"
8 |
9 | const DropdownMenu = DropdownMenuPrimitive.Root
10 |
11 | const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger
12 |
13 | const DropdownMenuGroup = DropdownMenuPrimitive.Group
14 |
15 | const DropdownMenuPortal = DropdownMenuPrimitive.Portal
16 |
17 | const DropdownMenuSub = DropdownMenuPrimitive.Sub
18 |
19 | const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup
20 |
21 | const DropdownMenuSubTrigger = React.forwardRef<
22 | React.ElementRef,
23 | React.ComponentPropsWithoutRef & {
24 | inset?: boolean
25 | }
26 | >(({ className, inset, children, ...props }, ref) => (
27 |
36 | {children}
37 |
38 |
39 | ))
40 | DropdownMenuSubTrigger.displayName =
41 | DropdownMenuPrimitive.SubTrigger.displayName
42 |
43 | const DropdownMenuSubContent = React.forwardRef<
44 | React.ElementRef,
45 | React.ComponentPropsWithoutRef
46 | >(({ className, ...props }, ref) => (
47 |
55 | ))
56 | DropdownMenuSubContent.displayName =
57 | DropdownMenuPrimitive.SubContent.displayName
58 |
59 | const DropdownMenuContent = React.forwardRef<
60 | React.ElementRef,
61 | React.ComponentPropsWithoutRef
62 | >(({ className, sideOffset = 4, ...props }, ref) => (
63 |
64 |
73 |
74 | ))
75 | DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName
76 |
77 | const DropdownMenuItem = React.forwardRef<
78 | React.ElementRef,
79 | React.ComponentPropsWithoutRef & {
80 | inset?: boolean
81 | }
82 | >(({ className, inset, ...props }, ref) => (
83 |
92 | ))
93 | DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName
94 |
95 | const DropdownMenuCheckboxItem = React.forwardRef<
96 | React.ElementRef,
97 | React.ComponentPropsWithoutRef
98 | >(({ className, children, checked, ...props }, ref) => (
99 |
108 |
109 |
110 |
111 |
112 |
113 | {children}
114 |
115 | ))
116 | DropdownMenuCheckboxItem.displayName =
117 | DropdownMenuPrimitive.CheckboxItem.displayName
118 |
119 | const DropdownMenuRadioItem = React.forwardRef<
120 | React.ElementRef,
121 | React.ComponentPropsWithoutRef
122 | >(({ className, children, ...props }, ref) => (
123 |
131 |
132 |
133 |
134 |
135 |
136 | {children}
137 |
138 | ))
139 | DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName
140 |
141 | const DropdownMenuLabel = React.forwardRef<
142 | React.ElementRef,
143 | React.ComponentPropsWithoutRef & {
144 | inset?: boolean
145 | }
146 | >(({ className, inset, ...props }, ref) => (
147 |
156 | ))
157 | DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName
158 |
159 | const DropdownMenuSeparator = React.forwardRef<
160 | React.ElementRef,
161 | React.ComponentPropsWithoutRef
162 | >(({ className, ...props }, ref) => (
163 |
168 | ))
169 | DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName
170 |
171 | const DropdownMenuShortcut = ({
172 | className,
173 | ...props
174 | }: React.HTMLAttributes) => {
175 | return (
176 |
180 | )
181 | }
182 | DropdownMenuShortcut.displayName = "DropdownMenuShortcut"
183 |
184 | export {
185 | DropdownMenu,
186 | DropdownMenuTrigger,
187 | DropdownMenuContent,
188 | DropdownMenuItem,
189 | DropdownMenuCheckboxItem,
190 | DropdownMenuRadioItem,
191 | DropdownMenuLabel,
192 | DropdownMenuSeparator,
193 | DropdownMenuShortcut,
194 | DropdownMenuGroup,
195 | DropdownMenuPortal,
196 | DropdownMenuSub,
197 | DropdownMenuSubContent,
198 | DropdownMenuSubTrigger,
199 | DropdownMenuRadioGroup,
200 | }
201 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@radix-ui/react-avatar':
12 | specifier: ^1.1.2
13 | version: 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
14 | '@radix-ui/react-dropdown-menu':
15 | specifier: ^2.1.4
16 | version: 2.1.4(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
17 | '@radix-ui/react-scroll-area':
18 | specifier: ^1.2.2
19 | version: 1.2.2(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
20 | '@radix-ui/react-select':
21 | specifier: ^2.1.4
22 | version: 2.1.4(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
23 | '@radix-ui/react-slot':
24 | specifier: ^1.1.1
25 | version: 1.1.1(@types/react@19.0.2)(react@19.0.0)
26 | class-variance-authority:
27 | specifier: ^0.7.1
28 | version: 0.7.1
29 | clsx:
30 | specifier: ^2.1.1
31 | version: 2.1.1
32 | lucide-react:
33 | specifier: ^0.469.0
34 | version: 0.469.0(react@19.0.0)
35 | next:
36 | specifier: 15.1.11
37 | version: 15.1.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
38 | react:
39 | specifier: ^19.0.0
40 | version: 19.0.0
41 | react-dom:
42 | specifier: ^19.0.0
43 | version: 19.0.0(react@19.0.0)
44 | tailwind-merge:
45 | specifier: ^2.5.5
46 | version: 2.5.5
47 | tailwindcss-animate:
48 | specifier: ^1.0.7
49 | version: 1.0.7(tailwindcss@3.4.17)
50 | devDependencies:
51 | '@types/node':
52 | specifier: ^22.10.2
53 | version: 22.10.2
54 | '@types/react':
55 | specifier: ^19.0.2
56 | version: 19.0.2
57 | '@types/react-dom':
58 | specifier: ^19.0.2
59 | version: 19.0.2(@types/react@19.0.2)
60 | autoprefixer:
61 | specifier: ^10.4.20
62 | version: 10.4.20(postcss@8.4.49)
63 | postcss:
64 | specifier: ^8.4.49
65 | version: 8.4.49
66 | tailwindcss:
67 | specifier: ^3.4.17
68 | version: 3.4.17
69 | typescript:
70 | specifier: ^5.7.2
71 | version: 5.7.2
72 |
73 | packages:
74 |
75 | '@alloc/quick-lru@5.2.0':
76 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
77 | engines: {node: '>=10'}
78 |
79 | '@emnapi/runtime@1.7.1':
80 | resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
81 |
82 | '@floating-ui/core@1.6.8':
83 | resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
84 |
85 | '@floating-ui/dom@1.6.12':
86 | resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==}
87 |
88 | '@floating-ui/react-dom@2.1.2':
89 | resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
90 | peerDependencies:
91 | react: '>=16.8.0'
92 | react-dom: '>=16.8.0'
93 |
94 | '@floating-ui/utils@0.2.8':
95 | resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
96 |
97 | '@img/sharp-darwin-arm64@0.33.5':
98 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
99 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
100 | cpu: [arm64]
101 | os: [darwin]
102 |
103 | '@img/sharp-darwin-x64@0.33.5':
104 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
105 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
106 | cpu: [x64]
107 | os: [darwin]
108 |
109 | '@img/sharp-libvips-darwin-arm64@1.0.4':
110 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
111 | cpu: [arm64]
112 | os: [darwin]
113 |
114 | '@img/sharp-libvips-darwin-x64@1.0.4':
115 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
116 | cpu: [x64]
117 | os: [darwin]
118 |
119 | '@img/sharp-libvips-linux-arm64@1.0.4':
120 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
121 | cpu: [arm64]
122 | os: [linux]
123 |
124 | '@img/sharp-libvips-linux-arm@1.0.5':
125 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
126 | cpu: [arm]
127 | os: [linux]
128 |
129 | '@img/sharp-libvips-linux-s390x@1.0.4':
130 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
131 | cpu: [s390x]
132 | os: [linux]
133 |
134 | '@img/sharp-libvips-linux-x64@1.0.4':
135 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
136 | cpu: [x64]
137 | os: [linux]
138 |
139 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
140 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
141 | cpu: [arm64]
142 | os: [linux]
143 |
144 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
145 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
146 | cpu: [x64]
147 | os: [linux]
148 |
149 | '@img/sharp-linux-arm64@0.33.5':
150 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
151 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
152 | cpu: [arm64]
153 | os: [linux]
154 |
155 | '@img/sharp-linux-arm@0.33.5':
156 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
157 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
158 | cpu: [arm]
159 | os: [linux]
160 |
161 | '@img/sharp-linux-s390x@0.33.5':
162 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
163 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
164 | cpu: [s390x]
165 | os: [linux]
166 |
167 | '@img/sharp-linux-x64@0.33.5':
168 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
169 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
170 | cpu: [x64]
171 | os: [linux]
172 |
173 | '@img/sharp-linuxmusl-arm64@0.33.5':
174 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
175 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
176 | cpu: [arm64]
177 | os: [linux]
178 |
179 | '@img/sharp-linuxmusl-x64@0.33.5':
180 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
181 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
182 | cpu: [x64]
183 | os: [linux]
184 |
185 | '@img/sharp-wasm32@0.33.5':
186 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
187 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
188 | cpu: [wasm32]
189 |
190 | '@img/sharp-win32-ia32@0.33.5':
191 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
192 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
193 | cpu: [ia32]
194 | os: [win32]
195 |
196 | '@img/sharp-win32-x64@0.33.5':
197 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
198 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
199 | cpu: [x64]
200 | os: [win32]
201 |
202 | '@isaacs/cliui@8.0.2':
203 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
204 | engines: {node: '>=12'}
205 |
206 | '@jridgewell/gen-mapping@0.3.8':
207 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
208 | engines: {node: '>=6.0.0'}
209 |
210 | '@jridgewell/resolve-uri@3.1.2':
211 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
212 | engines: {node: '>=6.0.0'}
213 |
214 | '@jridgewell/set-array@1.2.1':
215 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
216 | engines: {node: '>=6.0.0'}
217 |
218 | '@jridgewell/sourcemap-codec@1.5.0':
219 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
220 |
221 | '@jridgewell/trace-mapping@0.3.25':
222 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
223 |
224 | '@next/env@15.1.11':
225 | resolution: {integrity: sha512-yp++FVldfLglEG5LoS2rXhGypPyoSOyY0kxZQJ2vnlYJeP8o318t5DrDu5Tqzr03qAhDWllAID/kOCsXNLcwKw==}
226 |
227 | '@next/swc-darwin-arm64@15.1.9':
228 | resolution: {integrity: sha512-sQF6MfW4nk0PwMYYq8xNgqyxZJGIJV16QqNDgaZ5ze9YoVzm4/YNx17X0exZudayjL9PF0/5RGffDtzXapch0Q==}
229 | engines: {node: '>= 10'}
230 | cpu: [arm64]
231 | os: [darwin]
232 |
233 | '@next/swc-darwin-x64@15.1.9':
234 | resolution: {integrity: sha512-fp0c1rB6jZvdSDhprOur36xzQvqelAkNRXM/An92sKjjtaJxjlqJR8jiQLQImPsClIu8amQn+ZzFwl1lsEf62w==}
235 | engines: {node: '>= 10'}
236 | cpu: [x64]
237 | os: [darwin]
238 |
239 | '@next/swc-linux-arm64-gnu@15.1.9':
240 | resolution: {integrity: sha512-77rYykF6UtaXvxh9YyRIKoaYPI6/YX6cy8j1DL5/1XkjbfOwFDfTEhH7YGPqG/ePl+emBcbDYC2elgEqY2e+ag==}
241 | engines: {node: '>= 10'}
242 | cpu: [arm64]
243 | os: [linux]
244 |
245 | '@next/swc-linux-arm64-musl@15.1.9':
246 | resolution: {integrity: sha512-uZ1HazKcyWC7RA6j+S/8aYgvxmDqwnG+gE5S9MhY7BTMj7ahXKunpKuX8/BA2M7OvINLv7LTzoobQbw928p3WA==}
247 | engines: {node: '>= 10'}
248 | cpu: [arm64]
249 | os: [linux]
250 |
251 | '@next/swc-linux-x64-gnu@15.1.9':
252 | resolution: {integrity: sha512-gQIX1d3ct2RBlgbbWOrp+SHExmtmFm/HSW1Do5sSGMDyzbkYhS2sdq5LRDJWWsQu+/MqpgJHqJT6ORolKp/U1g==}
253 | engines: {node: '>= 10'}
254 | cpu: [x64]
255 | os: [linux]
256 |
257 | '@next/swc-linux-x64-musl@15.1.9':
258 | resolution: {integrity: sha512-fJOwxAbCeq6Vo7pXZGDP6iA4+yIBGshp7ie2Evvge7S7lywyg7b/SGqcvWq/jYcmd0EbXdb7hBfdqSQwTtGTPg==}
259 | engines: {node: '>= 10'}
260 | cpu: [x64]
261 | os: [linux]
262 |
263 | '@next/swc-win32-arm64-msvc@15.1.9':
264 | resolution: {integrity: sha512-crfbUkAd9PVg9nGfyjSzQbz82dPvc4pb1TeP0ZaAdGzTH6OfTU9kxidpFIogw0DYIEadI7hRSvuihy2NezkaNQ==}
265 | engines: {node: '>= 10'}
266 | cpu: [arm64]
267 | os: [win32]
268 |
269 | '@next/swc-win32-x64-msvc@15.1.9':
270 | resolution: {integrity: sha512-SBB0oA4E2a0axUrUwLqXlLkSn+bRx9OWU6LheqmRrO53QEAJP7JquKh3kF0jRzmlYOWFZtQwyIWJMEJMtvvDcQ==}
271 | engines: {node: '>= 10'}
272 | cpu: [x64]
273 | os: [win32]
274 |
275 | '@nodelib/fs.scandir@2.1.5':
276 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
277 | engines: {node: '>= 8'}
278 |
279 | '@nodelib/fs.stat@2.0.5':
280 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
281 | engines: {node: '>= 8'}
282 |
283 | '@nodelib/fs.walk@1.2.8':
284 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
285 | engines: {node: '>= 8'}
286 |
287 | '@pkgjs/parseargs@0.11.0':
288 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
289 | engines: {node: '>=14'}
290 |
291 | '@radix-ui/number@1.1.0':
292 | resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
293 |
294 | '@radix-ui/primitive@1.1.1':
295 | resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
296 |
297 | '@radix-ui/react-arrow@1.1.1':
298 | resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==}
299 | peerDependencies:
300 | '@types/react': '*'
301 | '@types/react-dom': '*'
302 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
303 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
304 | peerDependenciesMeta:
305 | '@types/react':
306 | optional: true
307 | '@types/react-dom':
308 | optional: true
309 |
310 | '@radix-ui/react-avatar@1.1.2':
311 | resolution: {integrity: sha512-GaC7bXQZ5VgZvVvsJ5mu/AEbjYLnhhkoidOboC50Z6FFlLA03wG2ianUoH+zgDQ31/9gCF59bE4+2bBgTyMiig==}
312 | peerDependencies:
313 | '@types/react': '*'
314 | '@types/react-dom': '*'
315 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
316 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
317 | peerDependenciesMeta:
318 | '@types/react':
319 | optional: true
320 | '@types/react-dom':
321 | optional: true
322 |
323 | '@radix-ui/react-collection@1.1.1':
324 | resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==}
325 | peerDependencies:
326 | '@types/react': '*'
327 | '@types/react-dom': '*'
328 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
329 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
330 | peerDependenciesMeta:
331 | '@types/react':
332 | optional: true
333 | '@types/react-dom':
334 | optional: true
335 |
336 | '@radix-ui/react-compose-refs@1.1.1':
337 | resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
338 | peerDependencies:
339 | '@types/react': '*'
340 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
341 | peerDependenciesMeta:
342 | '@types/react':
343 | optional: true
344 |
345 | '@radix-ui/react-context@1.1.1':
346 | resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
347 | peerDependencies:
348 | '@types/react': '*'
349 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
350 | peerDependenciesMeta:
351 | '@types/react':
352 | optional: true
353 |
354 | '@radix-ui/react-direction@1.1.0':
355 | resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==}
356 | peerDependencies:
357 | '@types/react': '*'
358 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
359 | peerDependenciesMeta:
360 | '@types/react':
361 | optional: true
362 |
363 | '@radix-ui/react-dismissable-layer@1.1.3':
364 | resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==}
365 | peerDependencies:
366 | '@types/react': '*'
367 | '@types/react-dom': '*'
368 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
369 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
370 | peerDependenciesMeta:
371 | '@types/react':
372 | optional: true
373 | '@types/react-dom':
374 | optional: true
375 |
376 | '@radix-ui/react-dropdown-menu@2.1.4':
377 | resolution: {integrity: sha512-iXU1Ab5ecM+yEepGAWK8ZhMyKX4ubFdCNtol4sT9D0OVErG9PNElfx3TQhjw7n7BC5nFVz68/5//clWy+8TXzA==}
378 | peerDependencies:
379 | '@types/react': '*'
380 | '@types/react-dom': '*'
381 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
382 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
383 | peerDependenciesMeta:
384 | '@types/react':
385 | optional: true
386 | '@types/react-dom':
387 | optional: true
388 |
389 | '@radix-ui/react-focus-guards@1.1.1':
390 | resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==}
391 | peerDependencies:
392 | '@types/react': '*'
393 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
394 | peerDependenciesMeta:
395 | '@types/react':
396 | optional: true
397 |
398 | '@radix-ui/react-focus-scope@1.1.1':
399 | resolution: {integrity: sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==}
400 | peerDependencies:
401 | '@types/react': '*'
402 | '@types/react-dom': '*'
403 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
404 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
405 | peerDependenciesMeta:
406 | '@types/react':
407 | optional: true
408 | '@types/react-dom':
409 | optional: true
410 |
411 | '@radix-ui/react-id@1.1.0':
412 | resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
413 | peerDependencies:
414 | '@types/react': '*'
415 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
416 | peerDependenciesMeta:
417 | '@types/react':
418 | optional: true
419 |
420 | '@radix-ui/react-menu@2.1.4':
421 | resolution: {integrity: sha512-BnOgVoL6YYdHAG6DtXONaR29Eq4nvbi8rutrV/xlr3RQCMMb3yqP85Qiw/3NReozrSW+4dfLkK+rc1hb4wPU/A==}
422 | peerDependencies:
423 | '@types/react': '*'
424 | '@types/react-dom': '*'
425 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
426 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
427 | peerDependenciesMeta:
428 | '@types/react':
429 | optional: true
430 | '@types/react-dom':
431 | optional: true
432 |
433 | '@radix-ui/react-popper@1.2.1':
434 | resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==}
435 | peerDependencies:
436 | '@types/react': '*'
437 | '@types/react-dom': '*'
438 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
439 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
440 | peerDependenciesMeta:
441 | '@types/react':
442 | optional: true
443 | '@types/react-dom':
444 | optional: true
445 |
446 | '@radix-ui/react-portal@1.1.3':
447 | resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==}
448 | peerDependencies:
449 | '@types/react': '*'
450 | '@types/react-dom': '*'
451 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
452 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
453 | peerDependenciesMeta:
454 | '@types/react':
455 | optional: true
456 | '@types/react-dom':
457 | optional: true
458 |
459 | '@radix-ui/react-presence@1.1.2':
460 | resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
461 | peerDependencies:
462 | '@types/react': '*'
463 | '@types/react-dom': '*'
464 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
465 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
466 | peerDependenciesMeta:
467 | '@types/react':
468 | optional: true
469 | '@types/react-dom':
470 | optional: true
471 |
472 | '@radix-ui/react-primitive@2.0.1':
473 | resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==}
474 | peerDependencies:
475 | '@types/react': '*'
476 | '@types/react-dom': '*'
477 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
478 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
479 | peerDependenciesMeta:
480 | '@types/react':
481 | optional: true
482 | '@types/react-dom':
483 | optional: true
484 |
485 | '@radix-ui/react-roving-focus@1.1.1':
486 | resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==}
487 | peerDependencies:
488 | '@types/react': '*'
489 | '@types/react-dom': '*'
490 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
491 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
492 | peerDependenciesMeta:
493 | '@types/react':
494 | optional: true
495 | '@types/react-dom':
496 | optional: true
497 |
498 | '@radix-ui/react-scroll-area@1.2.2':
499 | resolution: {integrity: sha512-EFI1N/S3YxZEW/lJ/H1jY3njlvTd8tBmgKEn4GHi51+aMm94i6NmAJstsm5cu3yJwYqYc93gpCPm21FeAbFk6g==}
500 | peerDependencies:
501 | '@types/react': '*'
502 | '@types/react-dom': '*'
503 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
504 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
505 | peerDependenciesMeta:
506 | '@types/react':
507 | optional: true
508 | '@types/react-dom':
509 | optional: true
510 |
511 | '@radix-ui/react-select@2.1.4':
512 | resolution: {integrity: sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ==}
513 | peerDependencies:
514 | '@types/react': '*'
515 | '@types/react-dom': '*'
516 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
517 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
518 | peerDependenciesMeta:
519 | '@types/react':
520 | optional: true
521 | '@types/react-dom':
522 | optional: true
523 |
524 | '@radix-ui/react-slot@1.1.1':
525 | resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==}
526 | peerDependencies:
527 | '@types/react': '*'
528 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
529 | peerDependenciesMeta:
530 | '@types/react':
531 | optional: true
532 |
533 | '@radix-ui/react-use-callback-ref@1.1.0':
534 | resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
535 | peerDependencies:
536 | '@types/react': '*'
537 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
538 | peerDependenciesMeta:
539 | '@types/react':
540 | optional: true
541 |
542 | '@radix-ui/react-use-controllable-state@1.1.0':
543 | resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
544 | peerDependencies:
545 | '@types/react': '*'
546 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
547 | peerDependenciesMeta:
548 | '@types/react':
549 | optional: true
550 |
551 | '@radix-ui/react-use-escape-keydown@1.1.0':
552 | resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
553 | peerDependencies:
554 | '@types/react': '*'
555 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
556 | peerDependenciesMeta:
557 | '@types/react':
558 | optional: true
559 |
560 | '@radix-ui/react-use-layout-effect@1.1.0':
561 | resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
562 | peerDependencies:
563 | '@types/react': '*'
564 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
565 | peerDependenciesMeta:
566 | '@types/react':
567 | optional: true
568 |
569 | '@radix-ui/react-use-previous@1.1.0':
570 | resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==}
571 | peerDependencies:
572 | '@types/react': '*'
573 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
574 | peerDependenciesMeta:
575 | '@types/react':
576 | optional: true
577 |
578 | '@radix-ui/react-use-rect@1.1.0':
579 | resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
580 | peerDependencies:
581 | '@types/react': '*'
582 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
583 | peerDependenciesMeta:
584 | '@types/react':
585 | optional: true
586 |
587 | '@radix-ui/react-use-size@1.1.0':
588 | resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
589 | peerDependencies:
590 | '@types/react': '*'
591 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
592 | peerDependenciesMeta:
593 | '@types/react':
594 | optional: true
595 |
596 | '@radix-ui/react-visually-hidden@1.1.1':
597 | resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==}
598 | peerDependencies:
599 | '@types/react': '*'
600 | '@types/react-dom': '*'
601 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
602 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
603 | peerDependenciesMeta:
604 | '@types/react':
605 | optional: true
606 | '@types/react-dom':
607 | optional: true
608 |
609 | '@radix-ui/rect@1.1.0':
610 | resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
611 |
612 | '@swc/counter@0.1.3':
613 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
614 |
615 | '@swc/helpers@0.5.15':
616 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
617 |
618 | '@types/node@22.10.2':
619 | resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==}
620 |
621 | '@types/react-dom@19.0.2':
622 | resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==}
623 | peerDependencies:
624 | '@types/react': ^19.0.0
625 |
626 | '@types/react@19.0.2':
627 | resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==}
628 |
629 | ansi-regex@5.0.1:
630 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
631 | engines: {node: '>=8'}
632 |
633 | ansi-regex@6.1.0:
634 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
635 | engines: {node: '>=12'}
636 |
637 | ansi-styles@4.3.0:
638 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
639 | engines: {node: '>=8'}
640 |
641 | ansi-styles@6.2.1:
642 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
643 | engines: {node: '>=12'}
644 |
645 | any-promise@1.3.0:
646 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
647 |
648 | anymatch@3.1.3:
649 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
650 | engines: {node: '>= 8'}
651 |
652 | arg@5.0.2:
653 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
654 |
655 | aria-hidden@1.2.4:
656 | resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
657 | engines: {node: '>=10'}
658 |
659 | autoprefixer@10.4.20:
660 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
661 | engines: {node: ^10 || ^12 || >=14}
662 | hasBin: true
663 | peerDependencies:
664 | postcss: ^8.1.0
665 |
666 | balanced-match@1.0.2:
667 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
668 |
669 | binary-extensions@2.3.0:
670 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
671 | engines: {node: '>=8'}
672 |
673 | brace-expansion@2.0.1:
674 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
675 |
676 | braces@3.0.3:
677 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
678 | engines: {node: '>=8'}
679 |
680 | browserslist@4.24.3:
681 | resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==}
682 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
683 | hasBin: true
684 |
685 | busboy@1.6.0:
686 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
687 | engines: {node: '>=10.16.0'}
688 |
689 | camelcase-css@2.0.1:
690 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
691 | engines: {node: '>= 6'}
692 |
693 | caniuse-lite@1.0.30001690:
694 | resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==}
695 |
696 | chokidar@3.6.0:
697 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
698 | engines: {node: '>= 8.10.0'}
699 |
700 | class-variance-authority@0.7.1:
701 | resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
702 |
703 | client-only@0.0.1:
704 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
705 |
706 | clsx@2.1.1:
707 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
708 | engines: {node: '>=6'}
709 |
710 | color-convert@2.0.1:
711 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
712 | engines: {node: '>=7.0.0'}
713 |
714 | color-name@1.1.4:
715 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
716 |
717 | color-string@1.9.1:
718 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
719 |
720 | color@4.2.3:
721 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
722 | engines: {node: '>=12.5.0'}
723 |
724 | commander@4.1.1:
725 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
726 | engines: {node: '>= 6'}
727 |
728 | cross-spawn@7.0.6:
729 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
730 | engines: {node: '>= 8'}
731 |
732 | cssesc@3.0.0:
733 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
734 | engines: {node: '>=4'}
735 | hasBin: true
736 |
737 | csstype@3.1.3:
738 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
739 |
740 | detect-libc@2.1.2:
741 | resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
742 | engines: {node: '>=8'}
743 |
744 | detect-node-es@1.1.0:
745 | resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
746 |
747 | didyoumean@1.2.2:
748 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
749 |
750 | dlv@1.1.3:
751 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
752 |
753 | eastasianwidth@0.2.0:
754 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
755 |
756 | electron-to-chromium@1.5.75:
757 | resolution: {integrity: sha512-Lf3++DumRE/QmweGjU+ZcKqQ+3bKkU/qjaKYhIJKEOhgIO9Xs6IiAQFkfFoj+RhgDk4LUeNsLo6plExHqSyu6Q==}
758 |
759 | emoji-regex@8.0.0:
760 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
761 |
762 | emoji-regex@9.2.2:
763 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
764 |
765 | escalade@3.2.0:
766 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
767 | engines: {node: '>=6'}
768 |
769 | fast-glob@3.3.2:
770 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
771 | engines: {node: '>=8.6.0'}
772 |
773 | fastq@1.17.1:
774 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
775 |
776 | fill-range@7.1.1:
777 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
778 | engines: {node: '>=8'}
779 |
780 | foreground-child@3.3.0:
781 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
782 | engines: {node: '>=14'}
783 |
784 | fraction.js@4.3.7:
785 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
786 |
787 | fsevents@2.3.3:
788 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
789 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
790 | os: [darwin]
791 |
792 | function-bind@1.1.2:
793 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
794 |
795 | get-nonce@1.0.1:
796 | resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
797 | engines: {node: '>=6'}
798 |
799 | glob-parent@5.1.2:
800 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
801 | engines: {node: '>= 6'}
802 |
803 | glob-parent@6.0.2:
804 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
805 | engines: {node: '>=10.13.0'}
806 |
807 | glob@10.4.5:
808 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
809 | hasBin: true
810 |
811 | hasown@2.0.2:
812 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
813 | engines: {node: '>= 0.4'}
814 |
815 | is-arrayish@0.3.4:
816 | resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==}
817 |
818 | is-binary-path@2.1.0:
819 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
820 | engines: {node: '>=8'}
821 |
822 | is-core-module@2.16.1:
823 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
824 | engines: {node: '>= 0.4'}
825 |
826 | is-extglob@2.1.1:
827 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
828 | engines: {node: '>=0.10.0'}
829 |
830 | is-fullwidth-code-point@3.0.0:
831 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
832 | engines: {node: '>=8'}
833 |
834 | is-glob@4.0.3:
835 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
836 | engines: {node: '>=0.10.0'}
837 |
838 | is-number@7.0.0:
839 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
840 | engines: {node: '>=0.12.0'}
841 |
842 | isexe@2.0.0:
843 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
844 |
845 | jackspeak@3.4.3:
846 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
847 |
848 | jiti@1.21.7:
849 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
850 | hasBin: true
851 |
852 | lilconfig@3.1.3:
853 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
854 | engines: {node: '>=14'}
855 |
856 | lines-and-columns@1.2.4:
857 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
858 |
859 | lru-cache@10.4.3:
860 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
861 |
862 | lucide-react@0.469.0:
863 | resolution: {integrity: sha512-28vvUnnKQ/dBwiCQtwJw7QauYnE7yd2Cyp4tTTJpvglX4EMpbflcdBgrgToX2j71B3YvugK/NH3BGUk+E/p/Fw==}
864 | peerDependencies:
865 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
866 |
867 | merge2@1.4.1:
868 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
869 | engines: {node: '>= 8'}
870 |
871 | micromatch@4.0.8:
872 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
873 | engines: {node: '>=8.6'}
874 |
875 | minimatch@9.0.5:
876 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
877 | engines: {node: '>=16 || 14 >=14.17'}
878 |
879 | minipass@7.1.2:
880 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
881 | engines: {node: '>=16 || 14 >=14.17'}
882 |
883 | mz@2.7.0:
884 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
885 |
886 | nanoid@3.3.8:
887 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
888 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
889 | hasBin: true
890 |
891 | next@15.1.11:
892 | resolution: {integrity: sha512-UiVJaOGhKST58AadwbFUZThlNBmYhKqaCs8bVtm4plTxsgKq0mJ0zTsp7t7j/rzsbAEj9WcAMdZCztjByi4EoQ==}
893 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
894 | hasBin: true
895 | peerDependencies:
896 | '@opentelemetry/api': ^1.1.0
897 | '@playwright/test': ^1.41.2
898 | babel-plugin-react-compiler: '*'
899 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
900 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
901 | sass: ^1.3.0
902 | peerDependenciesMeta:
903 | '@opentelemetry/api':
904 | optional: true
905 | '@playwright/test':
906 | optional: true
907 | babel-plugin-react-compiler:
908 | optional: true
909 | sass:
910 | optional: true
911 |
912 | node-releases@2.0.19:
913 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
914 |
915 | normalize-path@3.0.0:
916 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
917 | engines: {node: '>=0.10.0'}
918 |
919 | normalize-range@0.1.2:
920 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
921 | engines: {node: '>=0.10.0'}
922 |
923 | object-assign@4.1.1:
924 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
925 | engines: {node: '>=0.10.0'}
926 |
927 | object-hash@3.0.0:
928 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
929 | engines: {node: '>= 6'}
930 |
931 | package-json-from-dist@1.0.1:
932 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
933 |
934 | path-key@3.1.1:
935 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
936 | engines: {node: '>=8'}
937 |
938 | path-parse@1.0.7:
939 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
940 |
941 | path-scurry@1.11.1:
942 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
943 | engines: {node: '>=16 || 14 >=14.18'}
944 |
945 | picocolors@1.1.1:
946 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
947 |
948 | picomatch@2.3.1:
949 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
950 | engines: {node: '>=8.6'}
951 |
952 | pify@2.3.0:
953 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
954 | engines: {node: '>=0.10.0'}
955 |
956 | pirates@4.0.6:
957 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
958 | engines: {node: '>= 6'}
959 |
960 | postcss-import@15.1.0:
961 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
962 | engines: {node: '>=14.0.0'}
963 | peerDependencies:
964 | postcss: ^8.0.0
965 |
966 | postcss-js@4.0.1:
967 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
968 | engines: {node: ^12 || ^14 || >= 16}
969 | peerDependencies:
970 | postcss: ^8.4.21
971 |
972 | postcss-load-config@4.0.2:
973 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
974 | engines: {node: '>= 14'}
975 | peerDependencies:
976 | postcss: '>=8.0.9'
977 | ts-node: '>=9.0.0'
978 | peerDependenciesMeta:
979 | postcss:
980 | optional: true
981 | ts-node:
982 | optional: true
983 |
984 | postcss-nested@6.2.0:
985 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
986 | engines: {node: '>=12.0'}
987 | peerDependencies:
988 | postcss: ^8.2.14
989 |
990 | postcss-selector-parser@6.1.2:
991 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
992 | engines: {node: '>=4'}
993 |
994 | postcss-value-parser@4.2.0:
995 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
996 |
997 | postcss@8.4.31:
998 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
999 | engines: {node: ^10 || ^12 || >=14}
1000 |
1001 | postcss@8.4.49:
1002 | resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
1003 | engines: {node: ^10 || ^12 || >=14}
1004 |
1005 | queue-microtask@1.2.3:
1006 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1007 |
1008 | react-dom@19.0.0:
1009 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==}
1010 | peerDependencies:
1011 | react: ^19.0.0
1012 |
1013 | react-remove-scroll-bar@2.3.8:
1014 | resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
1015 | engines: {node: '>=10'}
1016 | peerDependencies:
1017 | '@types/react': '*'
1018 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1019 | peerDependenciesMeta:
1020 | '@types/react':
1021 | optional: true
1022 |
1023 | react-remove-scroll@2.6.2:
1024 | resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==}
1025 | engines: {node: '>=10'}
1026 | peerDependencies:
1027 | '@types/react': '*'
1028 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1029 | peerDependenciesMeta:
1030 | '@types/react':
1031 | optional: true
1032 |
1033 | react-style-singleton@2.2.3:
1034 | resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
1035 | engines: {node: '>=10'}
1036 | peerDependencies:
1037 | '@types/react': '*'
1038 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1039 | peerDependenciesMeta:
1040 | '@types/react':
1041 | optional: true
1042 |
1043 | react@19.0.0:
1044 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
1045 | engines: {node: '>=0.10.0'}
1046 |
1047 | read-cache@1.0.0:
1048 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1049 |
1050 | readdirp@3.6.0:
1051 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1052 | engines: {node: '>=8.10.0'}
1053 |
1054 | resolve@1.22.10:
1055 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
1056 | engines: {node: '>= 0.4'}
1057 | hasBin: true
1058 |
1059 | reusify@1.0.4:
1060 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1061 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1062 |
1063 | run-parallel@1.2.0:
1064 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1065 |
1066 | scheduler@0.25.0:
1067 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
1068 |
1069 | semver@7.7.3:
1070 | resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
1071 | engines: {node: '>=10'}
1072 | hasBin: true
1073 |
1074 | sharp@0.33.5:
1075 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
1076 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1077 |
1078 | shebang-command@2.0.0:
1079 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1080 | engines: {node: '>=8'}
1081 |
1082 | shebang-regex@3.0.0:
1083 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1084 | engines: {node: '>=8'}
1085 |
1086 | signal-exit@4.1.0:
1087 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1088 | engines: {node: '>=14'}
1089 |
1090 | simple-swizzle@0.2.4:
1091 | resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==}
1092 |
1093 | source-map-js@1.2.1:
1094 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1095 | engines: {node: '>=0.10.0'}
1096 |
1097 | streamsearch@1.1.0:
1098 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1099 | engines: {node: '>=10.0.0'}
1100 |
1101 | string-width@4.2.3:
1102 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1103 | engines: {node: '>=8'}
1104 |
1105 | string-width@5.1.2:
1106 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1107 | engines: {node: '>=12'}
1108 |
1109 | strip-ansi@6.0.1:
1110 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1111 | engines: {node: '>=8'}
1112 |
1113 | strip-ansi@7.1.0:
1114 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1115 | engines: {node: '>=12'}
1116 |
1117 | styled-jsx@5.1.6:
1118 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
1119 | engines: {node: '>= 12.0.0'}
1120 | peerDependencies:
1121 | '@babel/core': '*'
1122 | babel-plugin-macros: '*'
1123 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
1124 | peerDependenciesMeta:
1125 | '@babel/core':
1126 | optional: true
1127 | babel-plugin-macros:
1128 | optional: true
1129 |
1130 | sucrase@3.35.0:
1131 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
1132 | engines: {node: '>=16 || 14 >=14.17'}
1133 | hasBin: true
1134 |
1135 | supports-preserve-symlinks-flag@1.0.0:
1136 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1137 | engines: {node: '>= 0.4'}
1138 |
1139 | tailwind-merge@2.5.5:
1140 | resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==}
1141 |
1142 | tailwindcss-animate@1.0.7:
1143 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
1144 | peerDependencies:
1145 | tailwindcss: '>=3.0.0 || insiders'
1146 |
1147 | tailwindcss@3.4.17:
1148 | resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
1149 | engines: {node: '>=14.0.0'}
1150 | hasBin: true
1151 |
1152 | thenify-all@1.6.0:
1153 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1154 | engines: {node: '>=0.8'}
1155 |
1156 | thenify@3.3.1:
1157 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1158 |
1159 | to-regex-range@5.0.1:
1160 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1161 | engines: {node: '>=8.0'}
1162 |
1163 | ts-interface-checker@0.1.13:
1164 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1165 |
1166 | tslib@2.8.1:
1167 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1168 |
1169 | typescript@5.7.2:
1170 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
1171 | engines: {node: '>=14.17'}
1172 | hasBin: true
1173 |
1174 | undici-types@6.20.0:
1175 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1176 |
1177 | update-browserslist-db@1.1.1:
1178 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
1179 | hasBin: true
1180 | peerDependencies:
1181 | browserslist: '>= 4.21.0'
1182 |
1183 | use-callback-ref@1.3.3:
1184 | resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
1185 | engines: {node: '>=10'}
1186 | peerDependencies:
1187 | '@types/react': '*'
1188 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1189 | peerDependenciesMeta:
1190 | '@types/react':
1191 | optional: true
1192 |
1193 | use-sidecar@1.1.3:
1194 | resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
1195 | engines: {node: '>=10'}
1196 | peerDependencies:
1197 | '@types/react': '*'
1198 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1199 | peerDependenciesMeta:
1200 | '@types/react':
1201 | optional: true
1202 |
1203 | util-deprecate@1.0.2:
1204 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1205 |
1206 | which@2.0.2:
1207 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1208 | engines: {node: '>= 8'}
1209 | hasBin: true
1210 |
1211 | wrap-ansi@7.0.0:
1212 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1213 | engines: {node: '>=10'}
1214 |
1215 | wrap-ansi@8.1.0:
1216 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1217 | engines: {node: '>=12'}
1218 |
1219 | yaml@2.6.1:
1220 | resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==}
1221 | engines: {node: '>= 14'}
1222 | hasBin: true
1223 |
1224 | snapshots:
1225 |
1226 | '@alloc/quick-lru@5.2.0': {}
1227 |
1228 | '@emnapi/runtime@1.7.1':
1229 | dependencies:
1230 | tslib: 2.8.1
1231 | optional: true
1232 |
1233 | '@floating-ui/core@1.6.8':
1234 | dependencies:
1235 | '@floating-ui/utils': 0.2.8
1236 |
1237 | '@floating-ui/dom@1.6.12':
1238 | dependencies:
1239 | '@floating-ui/core': 1.6.8
1240 | '@floating-ui/utils': 0.2.8
1241 |
1242 | '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1243 | dependencies:
1244 | '@floating-ui/dom': 1.6.12
1245 | react: 19.0.0
1246 | react-dom: 19.0.0(react@19.0.0)
1247 |
1248 | '@floating-ui/utils@0.2.8': {}
1249 |
1250 | '@img/sharp-darwin-arm64@0.33.5':
1251 | optionalDependencies:
1252 | '@img/sharp-libvips-darwin-arm64': 1.0.4
1253 | optional: true
1254 |
1255 | '@img/sharp-darwin-x64@0.33.5':
1256 | optionalDependencies:
1257 | '@img/sharp-libvips-darwin-x64': 1.0.4
1258 | optional: true
1259 |
1260 | '@img/sharp-libvips-darwin-arm64@1.0.4':
1261 | optional: true
1262 |
1263 | '@img/sharp-libvips-darwin-x64@1.0.4':
1264 | optional: true
1265 |
1266 | '@img/sharp-libvips-linux-arm64@1.0.4':
1267 | optional: true
1268 |
1269 | '@img/sharp-libvips-linux-arm@1.0.5':
1270 | optional: true
1271 |
1272 | '@img/sharp-libvips-linux-s390x@1.0.4':
1273 | optional: true
1274 |
1275 | '@img/sharp-libvips-linux-x64@1.0.4':
1276 | optional: true
1277 |
1278 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
1279 | optional: true
1280 |
1281 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
1282 | optional: true
1283 |
1284 | '@img/sharp-linux-arm64@0.33.5':
1285 | optionalDependencies:
1286 | '@img/sharp-libvips-linux-arm64': 1.0.4
1287 | optional: true
1288 |
1289 | '@img/sharp-linux-arm@0.33.5':
1290 | optionalDependencies:
1291 | '@img/sharp-libvips-linux-arm': 1.0.5
1292 | optional: true
1293 |
1294 | '@img/sharp-linux-s390x@0.33.5':
1295 | optionalDependencies:
1296 | '@img/sharp-libvips-linux-s390x': 1.0.4
1297 | optional: true
1298 |
1299 | '@img/sharp-linux-x64@0.33.5':
1300 | optionalDependencies:
1301 | '@img/sharp-libvips-linux-x64': 1.0.4
1302 | optional: true
1303 |
1304 | '@img/sharp-linuxmusl-arm64@0.33.5':
1305 | optionalDependencies:
1306 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
1307 | optional: true
1308 |
1309 | '@img/sharp-linuxmusl-x64@0.33.5':
1310 | optionalDependencies:
1311 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
1312 | optional: true
1313 |
1314 | '@img/sharp-wasm32@0.33.5':
1315 | dependencies:
1316 | '@emnapi/runtime': 1.7.1
1317 | optional: true
1318 |
1319 | '@img/sharp-win32-ia32@0.33.5':
1320 | optional: true
1321 |
1322 | '@img/sharp-win32-x64@0.33.5':
1323 | optional: true
1324 |
1325 | '@isaacs/cliui@8.0.2':
1326 | dependencies:
1327 | string-width: 5.1.2
1328 | string-width-cjs: string-width@4.2.3
1329 | strip-ansi: 7.1.0
1330 | strip-ansi-cjs: strip-ansi@6.0.1
1331 | wrap-ansi: 8.1.0
1332 | wrap-ansi-cjs: wrap-ansi@7.0.0
1333 |
1334 | '@jridgewell/gen-mapping@0.3.8':
1335 | dependencies:
1336 | '@jridgewell/set-array': 1.2.1
1337 | '@jridgewell/sourcemap-codec': 1.5.0
1338 | '@jridgewell/trace-mapping': 0.3.25
1339 |
1340 | '@jridgewell/resolve-uri@3.1.2': {}
1341 |
1342 | '@jridgewell/set-array@1.2.1': {}
1343 |
1344 | '@jridgewell/sourcemap-codec@1.5.0': {}
1345 |
1346 | '@jridgewell/trace-mapping@0.3.25':
1347 | dependencies:
1348 | '@jridgewell/resolve-uri': 3.1.2
1349 | '@jridgewell/sourcemap-codec': 1.5.0
1350 |
1351 | '@next/env@15.1.11': {}
1352 |
1353 | '@next/swc-darwin-arm64@15.1.9':
1354 | optional: true
1355 |
1356 | '@next/swc-darwin-x64@15.1.9':
1357 | optional: true
1358 |
1359 | '@next/swc-linux-arm64-gnu@15.1.9':
1360 | optional: true
1361 |
1362 | '@next/swc-linux-arm64-musl@15.1.9':
1363 | optional: true
1364 |
1365 | '@next/swc-linux-x64-gnu@15.1.9':
1366 | optional: true
1367 |
1368 | '@next/swc-linux-x64-musl@15.1.9':
1369 | optional: true
1370 |
1371 | '@next/swc-win32-arm64-msvc@15.1.9':
1372 | optional: true
1373 |
1374 | '@next/swc-win32-x64-msvc@15.1.9':
1375 | optional: true
1376 |
1377 | '@nodelib/fs.scandir@2.1.5':
1378 | dependencies:
1379 | '@nodelib/fs.stat': 2.0.5
1380 | run-parallel: 1.2.0
1381 |
1382 | '@nodelib/fs.stat@2.0.5': {}
1383 |
1384 | '@nodelib/fs.walk@1.2.8':
1385 | dependencies:
1386 | '@nodelib/fs.scandir': 2.1.5
1387 | fastq: 1.17.1
1388 |
1389 | '@pkgjs/parseargs@0.11.0':
1390 | optional: true
1391 |
1392 | '@radix-ui/number@1.1.0': {}
1393 |
1394 | '@radix-ui/primitive@1.1.1': {}
1395 |
1396 | '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1397 | dependencies:
1398 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1399 | react: 19.0.0
1400 | react-dom: 19.0.0(react@19.0.0)
1401 | optionalDependencies:
1402 | '@types/react': 19.0.2
1403 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1404 |
1405 | '@radix-ui/react-avatar@1.1.2(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1406 | dependencies:
1407 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1408 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1409 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1410 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1411 | react: 19.0.0
1412 | react-dom: 19.0.0(react@19.0.0)
1413 | optionalDependencies:
1414 | '@types/react': 19.0.2
1415 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1416 |
1417 | '@radix-ui/react-collection@1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1418 | dependencies:
1419 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1420 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1421 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1422 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1423 | react: 19.0.0
1424 | react-dom: 19.0.0(react@19.0.0)
1425 | optionalDependencies:
1426 | '@types/react': 19.0.2
1427 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1428 |
1429 | '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.2)(react@19.0.0)':
1430 | dependencies:
1431 | react: 19.0.0
1432 | optionalDependencies:
1433 | '@types/react': 19.0.2
1434 |
1435 | '@radix-ui/react-context@1.1.1(@types/react@19.0.2)(react@19.0.0)':
1436 | dependencies:
1437 | react: 19.0.0
1438 | optionalDependencies:
1439 | '@types/react': 19.0.2
1440 |
1441 | '@radix-ui/react-direction@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1442 | dependencies:
1443 | react: 19.0.0
1444 | optionalDependencies:
1445 | '@types/react': 19.0.2
1446 |
1447 | '@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1448 | dependencies:
1449 | '@radix-ui/primitive': 1.1.1
1450 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1451 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1452 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1453 | '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1454 | react: 19.0.0
1455 | react-dom: 19.0.0(react@19.0.0)
1456 | optionalDependencies:
1457 | '@types/react': 19.0.2
1458 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1459 |
1460 | '@radix-ui/react-dropdown-menu@2.1.4(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1461 | dependencies:
1462 | '@radix-ui/primitive': 1.1.1
1463 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1464 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1465 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1466 | '@radix-ui/react-menu': 2.1.4(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1467 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1468 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1469 | react: 19.0.0
1470 | react-dom: 19.0.0(react@19.0.0)
1471 | optionalDependencies:
1472 | '@types/react': 19.0.2
1473 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1474 |
1475 | '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.2)(react@19.0.0)':
1476 | dependencies:
1477 | react: 19.0.0
1478 | optionalDependencies:
1479 | '@types/react': 19.0.2
1480 |
1481 | '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1482 | dependencies:
1483 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1484 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1485 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1486 | react: 19.0.0
1487 | react-dom: 19.0.0(react@19.0.0)
1488 | optionalDependencies:
1489 | '@types/react': 19.0.2
1490 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1491 |
1492 | '@radix-ui/react-id@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1493 | dependencies:
1494 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1495 | react: 19.0.0
1496 | optionalDependencies:
1497 | '@types/react': 19.0.2
1498 |
1499 | '@radix-ui/react-menu@2.1.4(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1500 | dependencies:
1501 | '@radix-ui/primitive': 1.1.1
1502 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1503 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1504 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1505 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1506 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1507 | '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1508 | '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1509 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1510 | '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1511 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1512 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1513 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1514 | '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1515 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1516 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1517 | aria-hidden: 1.2.4
1518 | react: 19.0.0
1519 | react-dom: 19.0.0(react@19.0.0)
1520 | react-remove-scroll: 2.6.2(@types/react@19.0.2)(react@19.0.0)
1521 | optionalDependencies:
1522 | '@types/react': 19.0.2
1523 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1524 |
1525 | '@radix-ui/react-popper@1.2.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1526 | dependencies:
1527 | '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1528 | '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1529 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1530 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1531 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1532 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1533 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1534 | '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1535 | '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1536 | '@radix-ui/rect': 1.1.0
1537 | react: 19.0.0
1538 | react-dom: 19.0.0(react@19.0.0)
1539 | optionalDependencies:
1540 | '@types/react': 19.0.2
1541 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1542 |
1543 | '@radix-ui/react-portal@1.1.3(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1544 | dependencies:
1545 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1546 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1547 | react: 19.0.0
1548 | react-dom: 19.0.0(react@19.0.0)
1549 | optionalDependencies:
1550 | '@types/react': 19.0.2
1551 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1552 |
1553 | '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1554 | dependencies:
1555 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1556 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1557 | react: 19.0.0
1558 | react-dom: 19.0.0(react@19.0.0)
1559 | optionalDependencies:
1560 | '@types/react': 19.0.2
1561 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1562 |
1563 | '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1564 | dependencies:
1565 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1566 | react: 19.0.0
1567 | react-dom: 19.0.0(react@19.0.0)
1568 | optionalDependencies:
1569 | '@types/react': 19.0.2
1570 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1571 |
1572 | '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1573 | dependencies:
1574 | '@radix-ui/primitive': 1.1.1
1575 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1576 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1577 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1578 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1579 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1580 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1581 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1582 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1583 | react: 19.0.0
1584 | react-dom: 19.0.0(react@19.0.0)
1585 | optionalDependencies:
1586 | '@types/react': 19.0.2
1587 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1588 |
1589 | '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1590 | dependencies:
1591 | '@radix-ui/number': 1.1.0
1592 | '@radix-ui/primitive': 1.1.1
1593 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1594 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1595 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1596 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1597 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1598 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1599 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1600 | react: 19.0.0
1601 | react-dom: 19.0.0(react@19.0.0)
1602 | optionalDependencies:
1603 | '@types/react': 19.0.2
1604 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1605 |
1606 | '@radix-ui/react-select@2.1.4(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1607 | dependencies:
1608 | '@radix-ui/number': 1.1.0
1609 | '@radix-ui/primitive': 1.1.1
1610 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1611 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1612 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1613 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1614 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1615 | '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1616 | '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1617 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1618 | '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1619 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1620 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1621 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1622 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1623 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1624 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1625 | '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1626 | '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1627 | aria-hidden: 1.2.4
1628 | react: 19.0.0
1629 | react-dom: 19.0.0(react@19.0.0)
1630 | react-remove-scroll: 2.6.2(@types/react@19.0.2)(react@19.0.0)
1631 | optionalDependencies:
1632 | '@types/react': 19.0.2
1633 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1634 |
1635 | '@radix-ui/react-slot@1.1.1(@types/react@19.0.2)(react@19.0.0)':
1636 | dependencies:
1637 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0)
1638 | react: 19.0.0
1639 | optionalDependencies:
1640 | '@types/react': 19.0.2
1641 |
1642 | '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1643 | dependencies:
1644 | react: 19.0.0
1645 | optionalDependencies:
1646 | '@types/react': 19.0.2
1647 |
1648 | '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1649 | dependencies:
1650 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1651 | react: 19.0.0
1652 | optionalDependencies:
1653 | '@types/react': 19.0.2
1654 |
1655 | '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1656 | dependencies:
1657 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1658 | react: 19.0.0
1659 | optionalDependencies:
1660 | '@types/react': 19.0.2
1661 |
1662 | '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1663 | dependencies:
1664 | react: 19.0.0
1665 | optionalDependencies:
1666 | '@types/react': 19.0.2
1667 |
1668 | '@radix-ui/react-use-previous@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1669 | dependencies:
1670 | react: 19.0.0
1671 | optionalDependencies:
1672 | '@types/react': 19.0.2
1673 |
1674 | '@radix-ui/react-use-rect@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1675 | dependencies:
1676 | '@radix-ui/rect': 1.1.0
1677 | react: 19.0.0
1678 | optionalDependencies:
1679 | '@types/react': 19.0.2
1680 |
1681 | '@radix-ui/react-use-size@1.1.0(@types/react@19.0.2)(react@19.0.0)':
1682 | dependencies:
1683 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0)
1684 | react: 19.0.0
1685 | optionalDependencies:
1686 | '@types/react': 19.0.2
1687 |
1688 | '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
1689 | dependencies:
1690 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
1691 | react: 19.0.0
1692 | react-dom: 19.0.0(react@19.0.0)
1693 | optionalDependencies:
1694 | '@types/react': 19.0.2
1695 | '@types/react-dom': 19.0.2(@types/react@19.0.2)
1696 |
1697 | '@radix-ui/rect@1.1.0': {}
1698 |
1699 | '@swc/counter@0.1.3': {}
1700 |
1701 | '@swc/helpers@0.5.15':
1702 | dependencies:
1703 | tslib: 2.8.1
1704 |
1705 | '@types/node@22.10.2':
1706 | dependencies:
1707 | undici-types: 6.20.0
1708 |
1709 | '@types/react-dom@19.0.2(@types/react@19.0.2)':
1710 | dependencies:
1711 | '@types/react': 19.0.2
1712 |
1713 | '@types/react@19.0.2':
1714 | dependencies:
1715 | csstype: 3.1.3
1716 |
1717 | ansi-regex@5.0.1: {}
1718 |
1719 | ansi-regex@6.1.0: {}
1720 |
1721 | ansi-styles@4.3.0:
1722 | dependencies:
1723 | color-convert: 2.0.1
1724 |
1725 | ansi-styles@6.2.1: {}
1726 |
1727 | any-promise@1.3.0: {}
1728 |
1729 | anymatch@3.1.3:
1730 | dependencies:
1731 | normalize-path: 3.0.0
1732 | picomatch: 2.3.1
1733 |
1734 | arg@5.0.2: {}
1735 |
1736 | aria-hidden@1.2.4:
1737 | dependencies:
1738 | tslib: 2.8.1
1739 |
1740 | autoprefixer@10.4.20(postcss@8.4.49):
1741 | dependencies:
1742 | browserslist: 4.24.3
1743 | caniuse-lite: 1.0.30001690
1744 | fraction.js: 4.3.7
1745 | normalize-range: 0.1.2
1746 | picocolors: 1.1.1
1747 | postcss: 8.4.49
1748 | postcss-value-parser: 4.2.0
1749 |
1750 | balanced-match@1.0.2: {}
1751 |
1752 | binary-extensions@2.3.0: {}
1753 |
1754 | brace-expansion@2.0.1:
1755 | dependencies:
1756 | balanced-match: 1.0.2
1757 |
1758 | braces@3.0.3:
1759 | dependencies:
1760 | fill-range: 7.1.1
1761 |
1762 | browserslist@4.24.3:
1763 | dependencies:
1764 | caniuse-lite: 1.0.30001690
1765 | electron-to-chromium: 1.5.75
1766 | node-releases: 2.0.19
1767 | update-browserslist-db: 1.1.1(browserslist@4.24.3)
1768 |
1769 | busboy@1.6.0:
1770 | dependencies:
1771 | streamsearch: 1.1.0
1772 |
1773 | camelcase-css@2.0.1: {}
1774 |
1775 | caniuse-lite@1.0.30001690: {}
1776 |
1777 | chokidar@3.6.0:
1778 | dependencies:
1779 | anymatch: 3.1.3
1780 | braces: 3.0.3
1781 | glob-parent: 5.1.2
1782 | is-binary-path: 2.1.0
1783 | is-glob: 4.0.3
1784 | normalize-path: 3.0.0
1785 | readdirp: 3.6.0
1786 | optionalDependencies:
1787 | fsevents: 2.3.3
1788 |
1789 | class-variance-authority@0.7.1:
1790 | dependencies:
1791 | clsx: 2.1.1
1792 |
1793 | client-only@0.0.1: {}
1794 |
1795 | clsx@2.1.1: {}
1796 |
1797 | color-convert@2.0.1:
1798 | dependencies:
1799 | color-name: 1.1.4
1800 |
1801 | color-name@1.1.4: {}
1802 |
1803 | color-string@1.9.1:
1804 | dependencies:
1805 | color-name: 1.1.4
1806 | simple-swizzle: 0.2.4
1807 | optional: true
1808 |
1809 | color@4.2.3:
1810 | dependencies:
1811 | color-convert: 2.0.1
1812 | color-string: 1.9.1
1813 | optional: true
1814 |
1815 | commander@4.1.1: {}
1816 |
1817 | cross-spawn@7.0.6:
1818 | dependencies:
1819 | path-key: 3.1.1
1820 | shebang-command: 2.0.0
1821 | which: 2.0.2
1822 |
1823 | cssesc@3.0.0: {}
1824 |
1825 | csstype@3.1.3: {}
1826 |
1827 | detect-libc@2.1.2:
1828 | optional: true
1829 |
1830 | detect-node-es@1.1.0: {}
1831 |
1832 | didyoumean@1.2.2: {}
1833 |
1834 | dlv@1.1.3: {}
1835 |
1836 | eastasianwidth@0.2.0: {}
1837 |
1838 | electron-to-chromium@1.5.75: {}
1839 |
1840 | emoji-regex@8.0.0: {}
1841 |
1842 | emoji-regex@9.2.2: {}
1843 |
1844 | escalade@3.2.0: {}
1845 |
1846 | fast-glob@3.3.2:
1847 | dependencies:
1848 | '@nodelib/fs.stat': 2.0.5
1849 | '@nodelib/fs.walk': 1.2.8
1850 | glob-parent: 5.1.2
1851 | merge2: 1.4.1
1852 | micromatch: 4.0.8
1853 |
1854 | fastq@1.17.1:
1855 | dependencies:
1856 | reusify: 1.0.4
1857 |
1858 | fill-range@7.1.1:
1859 | dependencies:
1860 | to-regex-range: 5.0.1
1861 |
1862 | foreground-child@3.3.0:
1863 | dependencies:
1864 | cross-spawn: 7.0.6
1865 | signal-exit: 4.1.0
1866 |
1867 | fraction.js@4.3.7: {}
1868 |
1869 | fsevents@2.3.3:
1870 | optional: true
1871 |
1872 | function-bind@1.1.2: {}
1873 |
1874 | get-nonce@1.0.1: {}
1875 |
1876 | glob-parent@5.1.2:
1877 | dependencies:
1878 | is-glob: 4.0.3
1879 |
1880 | glob-parent@6.0.2:
1881 | dependencies:
1882 | is-glob: 4.0.3
1883 |
1884 | glob@10.4.5:
1885 | dependencies:
1886 | foreground-child: 3.3.0
1887 | jackspeak: 3.4.3
1888 | minimatch: 9.0.5
1889 | minipass: 7.1.2
1890 | package-json-from-dist: 1.0.1
1891 | path-scurry: 1.11.1
1892 |
1893 | hasown@2.0.2:
1894 | dependencies:
1895 | function-bind: 1.1.2
1896 |
1897 | is-arrayish@0.3.4:
1898 | optional: true
1899 |
1900 | is-binary-path@2.1.0:
1901 | dependencies:
1902 | binary-extensions: 2.3.0
1903 |
1904 | is-core-module@2.16.1:
1905 | dependencies:
1906 | hasown: 2.0.2
1907 |
1908 | is-extglob@2.1.1: {}
1909 |
1910 | is-fullwidth-code-point@3.0.0: {}
1911 |
1912 | is-glob@4.0.3:
1913 | dependencies:
1914 | is-extglob: 2.1.1
1915 |
1916 | is-number@7.0.0: {}
1917 |
1918 | isexe@2.0.0: {}
1919 |
1920 | jackspeak@3.4.3:
1921 | dependencies:
1922 | '@isaacs/cliui': 8.0.2
1923 | optionalDependencies:
1924 | '@pkgjs/parseargs': 0.11.0
1925 |
1926 | jiti@1.21.7: {}
1927 |
1928 | lilconfig@3.1.3: {}
1929 |
1930 | lines-and-columns@1.2.4: {}
1931 |
1932 | lru-cache@10.4.3: {}
1933 |
1934 | lucide-react@0.469.0(react@19.0.0):
1935 | dependencies:
1936 | react: 19.0.0
1937 |
1938 | merge2@1.4.1: {}
1939 |
1940 | micromatch@4.0.8:
1941 | dependencies:
1942 | braces: 3.0.3
1943 | picomatch: 2.3.1
1944 |
1945 | minimatch@9.0.5:
1946 | dependencies:
1947 | brace-expansion: 2.0.1
1948 |
1949 | minipass@7.1.2: {}
1950 |
1951 | mz@2.7.0:
1952 | dependencies:
1953 | any-promise: 1.3.0
1954 | object-assign: 4.1.1
1955 | thenify-all: 1.6.0
1956 |
1957 | nanoid@3.3.8: {}
1958 |
1959 | next@15.1.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
1960 | dependencies:
1961 | '@next/env': 15.1.11
1962 | '@swc/counter': 0.1.3
1963 | '@swc/helpers': 0.5.15
1964 | busboy: 1.6.0
1965 | caniuse-lite: 1.0.30001690
1966 | postcss: 8.4.31
1967 | react: 19.0.0
1968 | react-dom: 19.0.0(react@19.0.0)
1969 | styled-jsx: 5.1.6(react@19.0.0)
1970 | optionalDependencies:
1971 | '@next/swc-darwin-arm64': 15.1.9
1972 | '@next/swc-darwin-x64': 15.1.9
1973 | '@next/swc-linux-arm64-gnu': 15.1.9
1974 | '@next/swc-linux-arm64-musl': 15.1.9
1975 | '@next/swc-linux-x64-gnu': 15.1.9
1976 | '@next/swc-linux-x64-musl': 15.1.9
1977 | '@next/swc-win32-arm64-msvc': 15.1.9
1978 | '@next/swc-win32-x64-msvc': 15.1.9
1979 | sharp: 0.33.5
1980 | transitivePeerDependencies:
1981 | - '@babel/core'
1982 | - babel-plugin-macros
1983 |
1984 | node-releases@2.0.19: {}
1985 |
1986 | normalize-path@3.0.0: {}
1987 |
1988 | normalize-range@0.1.2: {}
1989 |
1990 | object-assign@4.1.1: {}
1991 |
1992 | object-hash@3.0.0: {}
1993 |
1994 | package-json-from-dist@1.0.1: {}
1995 |
1996 | path-key@3.1.1: {}
1997 |
1998 | path-parse@1.0.7: {}
1999 |
2000 | path-scurry@1.11.1:
2001 | dependencies:
2002 | lru-cache: 10.4.3
2003 | minipass: 7.1.2
2004 |
2005 | picocolors@1.1.1: {}
2006 |
2007 | picomatch@2.3.1: {}
2008 |
2009 | pify@2.3.0: {}
2010 |
2011 | pirates@4.0.6: {}
2012 |
2013 | postcss-import@15.1.0(postcss@8.4.49):
2014 | dependencies:
2015 | postcss: 8.4.49
2016 | postcss-value-parser: 4.2.0
2017 | read-cache: 1.0.0
2018 | resolve: 1.22.10
2019 |
2020 | postcss-js@4.0.1(postcss@8.4.49):
2021 | dependencies:
2022 | camelcase-css: 2.0.1
2023 | postcss: 8.4.49
2024 |
2025 | postcss-load-config@4.0.2(postcss@8.4.49):
2026 | dependencies:
2027 | lilconfig: 3.1.3
2028 | yaml: 2.6.1
2029 | optionalDependencies:
2030 | postcss: 8.4.49
2031 |
2032 | postcss-nested@6.2.0(postcss@8.4.49):
2033 | dependencies:
2034 | postcss: 8.4.49
2035 | postcss-selector-parser: 6.1.2
2036 |
2037 | postcss-selector-parser@6.1.2:
2038 | dependencies:
2039 | cssesc: 3.0.0
2040 | util-deprecate: 1.0.2
2041 |
2042 | postcss-value-parser@4.2.0: {}
2043 |
2044 | postcss@8.4.31:
2045 | dependencies:
2046 | nanoid: 3.3.8
2047 | picocolors: 1.1.1
2048 | source-map-js: 1.2.1
2049 |
2050 | postcss@8.4.49:
2051 | dependencies:
2052 | nanoid: 3.3.8
2053 | picocolors: 1.1.1
2054 | source-map-js: 1.2.1
2055 |
2056 | queue-microtask@1.2.3: {}
2057 |
2058 | react-dom@19.0.0(react@19.0.0):
2059 | dependencies:
2060 | react: 19.0.0
2061 | scheduler: 0.25.0
2062 |
2063 | react-remove-scroll-bar@2.3.8(@types/react@19.0.2)(react@19.0.0):
2064 | dependencies:
2065 | react: 19.0.0
2066 | react-style-singleton: 2.2.3(@types/react@19.0.2)(react@19.0.0)
2067 | tslib: 2.8.1
2068 | optionalDependencies:
2069 | '@types/react': 19.0.2
2070 |
2071 | react-remove-scroll@2.6.2(@types/react@19.0.2)(react@19.0.0):
2072 | dependencies:
2073 | react: 19.0.0
2074 | react-remove-scroll-bar: 2.3.8(@types/react@19.0.2)(react@19.0.0)
2075 | react-style-singleton: 2.2.3(@types/react@19.0.2)(react@19.0.0)
2076 | tslib: 2.8.1
2077 | use-callback-ref: 1.3.3(@types/react@19.0.2)(react@19.0.0)
2078 | use-sidecar: 1.1.3(@types/react@19.0.2)(react@19.0.0)
2079 | optionalDependencies:
2080 | '@types/react': 19.0.2
2081 |
2082 | react-style-singleton@2.2.3(@types/react@19.0.2)(react@19.0.0):
2083 | dependencies:
2084 | get-nonce: 1.0.1
2085 | react: 19.0.0
2086 | tslib: 2.8.1
2087 | optionalDependencies:
2088 | '@types/react': 19.0.2
2089 |
2090 | react@19.0.0: {}
2091 |
2092 | read-cache@1.0.0:
2093 | dependencies:
2094 | pify: 2.3.0
2095 |
2096 | readdirp@3.6.0:
2097 | dependencies:
2098 | picomatch: 2.3.1
2099 |
2100 | resolve@1.22.10:
2101 | dependencies:
2102 | is-core-module: 2.16.1
2103 | path-parse: 1.0.7
2104 | supports-preserve-symlinks-flag: 1.0.0
2105 |
2106 | reusify@1.0.4: {}
2107 |
2108 | run-parallel@1.2.0:
2109 | dependencies:
2110 | queue-microtask: 1.2.3
2111 |
2112 | scheduler@0.25.0: {}
2113 |
2114 | semver@7.7.3:
2115 | optional: true
2116 |
2117 | sharp@0.33.5:
2118 | dependencies:
2119 | color: 4.2.3
2120 | detect-libc: 2.1.2
2121 | semver: 7.7.3
2122 | optionalDependencies:
2123 | '@img/sharp-darwin-arm64': 0.33.5
2124 | '@img/sharp-darwin-x64': 0.33.5
2125 | '@img/sharp-libvips-darwin-arm64': 1.0.4
2126 | '@img/sharp-libvips-darwin-x64': 1.0.4
2127 | '@img/sharp-libvips-linux-arm': 1.0.5
2128 | '@img/sharp-libvips-linux-arm64': 1.0.4
2129 | '@img/sharp-libvips-linux-s390x': 1.0.4
2130 | '@img/sharp-libvips-linux-x64': 1.0.4
2131 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
2132 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
2133 | '@img/sharp-linux-arm': 0.33.5
2134 | '@img/sharp-linux-arm64': 0.33.5
2135 | '@img/sharp-linux-s390x': 0.33.5
2136 | '@img/sharp-linux-x64': 0.33.5
2137 | '@img/sharp-linuxmusl-arm64': 0.33.5
2138 | '@img/sharp-linuxmusl-x64': 0.33.5
2139 | '@img/sharp-wasm32': 0.33.5
2140 | '@img/sharp-win32-ia32': 0.33.5
2141 | '@img/sharp-win32-x64': 0.33.5
2142 | optional: true
2143 |
2144 | shebang-command@2.0.0:
2145 | dependencies:
2146 | shebang-regex: 3.0.0
2147 |
2148 | shebang-regex@3.0.0: {}
2149 |
2150 | signal-exit@4.1.0: {}
2151 |
2152 | simple-swizzle@0.2.4:
2153 | dependencies:
2154 | is-arrayish: 0.3.4
2155 | optional: true
2156 |
2157 | source-map-js@1.2.1: {}
2158 |
2159 | streamsearch@1.1.0: {}
2160 |
2161 | string-width@4.2.3:
2162 | dependencies:
2163 | emoji-regex: 8.0.0
2164 | is-fullwidth-code-point: 3.0.0
2165 | strip-ansi: 6.0.1
2166 |
2167 | string-width@5.1.2:
2168 | dependencies:
2169 | eastasianwidth: 0.2.0
2170 | emoji-regex: 9.2.2
2171 | strip-ansi: 7.1.0
2172 |
2173 | strip-ansi@6.0.1:
2174 | dependencies:
2175 | ansi-regex: 5.0.1
2176 |
2177 | strip-ansi@7.1.0:
2178 | dependencies:
2179 | ansi-regex: 6.1.0
2180 |
2181 | styled-jsx@5.1.6(react@19.0.0):
2182 | dependencies:
2183 | client-only: 0.0.1
2184 | react: 19.0.0
2185 |
2186 | sucrase@3.35.0:
2187 | dependencies:
2188 | '@jridgewell/gen-mapping': 0.3.8
2189 | commander: 4.1.1
2190 | glob: 10.4.5
2191 | lines-and-columns: 1.2.4
2192 | mz: 2.7.0
2193 | pirates: 4.0.6
2194 | ts-interface-checker: 0.1.13
2195 |
2196 | supports-preserve-symlinks-flag@1.0.0: {}
2197 |
2198 | tailwind-merge@2.5.5: {}
2199 |
2200 | tailwindcss-animate@1.0.7(tailwindcss@3.4.17):
2201 | dependencies:
2202 | tailwindcss: 3.4.17
2203 |
2204 | tailwindcss@3.4.17:
2205 | dependencies:
2206 | '@alloc/quick-lru': 5.2.0
2207 | arg: 5.0.2
2208 | chokidar: 3.6.0
2209 | didyoumean: 1.2.2
2210 | dlv: 1.1.3
2211 | fast-glob: 3.3.2
2212 | glob-parent: 6.0.2
2213 | is-glob: 4.0.3
2214 | jiti: 1.21.7
2215 | lilconfig: 3.1.3
2216 | micromatch: 4.0.8
2217 | normalize-path: 3.0.0
2218 | object-hash: 3.0.0
2219 | picocolors: 1.1.1
2220 | postcss: 8.4.49
2221 | postcss-import: 15.1.0(postcss@8.4.49)
2222 | postcss-js: 4.0.1(postcss@8.4.49)
2223 | postcss-load-config: 4.0.2(postcss@8.4.49)
2224 | postcss-nested: 6.2.0(postcss@8.4.49)
2225 | postcss-selector-parser: 6.1.2
2226 | resolve: 1.22.10
2227 | sucrase: 3.35.0
2228 | transitivePeerDependencies:
2229 | - ts-node
2230 |
2231 | thenify-all@1.6.0:
2232 | dependencies:
2233 | thenify: 3.3.1
2234 |
2235 | thenify@3.3.1:
2236 | dependencies:
2237 | any-promise: 1.3.0
2238 |
2239 | to-regex-range@5.0.1:
2240 | dependencies:
2241 | is-number: 7.0.0
2242 |
2243 | ts-interface-checker@0.1.13: {}
2244 |
2245 | tslib@2.8.1: {}
2246 |
2247 | typescript@5.7.2: {}
2248 |
2249 | undici-types@6.20.0: {}
2250 |
2251 | update-browserslist-db@1.1.1(browserslist@4.24.3):
2252 | dependencies:
2253 | browserslist: 4.24.3
2254 | escalade: 3.2.0
2255 | picocolors: 1.1.1
2256 |
2257 | use-callback-ref@1.3.3(@types/react@19.0.2)(react@19.0.0):
2258 | dependencies:
2259 | react: 19.0.0
2260 | tslib: 2.8.1
2261 | optionalDependencies:
2262 | '@types/react': 19.0.2
2263 |
2264 | use-sidecar@1.1.3(@types/react@19.0.2)(react@19.0.0):
2265 | dependencies:
2266 | detect-node-es: 1.1.0
2267 | react: 19.0.0
2268 | tslib: 2.8.1
2269 | optionalDependencies:
2270 | '@types/react': 19.0.2
2271 |
2272 | util-deprecate@1.0.2: {}
2273 |
2274 | which@2.0.2:
2275 | dependencies:
2276 | isexe: 2.0.0
2277 |
2278 | wrap-ansi@7.0.0:
2279 | dependencies:
2280 | ansi-styles: 4.3.0
2281 | string-width: 4.2.3
2282 | strip-ansi: 6.0.1
2283 |
2284 | wrap-ansi@8.1.0:
2285 | dependencies:
2286 | ansi-styles: 6.2.1
2287 | string-width: 5.1.2
2288 | strip-ansi: 7.1.0
2289 |
2290 | yaml@2.6.1: {}
2291 |
--------------------------------------------------------------------------------