├── public
├── apple-icon.png
├── placeholder.jpg
├── icon-dark-32x32.png
├── icon-light-32x32.png
├── placeholder-logo.png
├── placeholder-user.jpg
├── icon.svg
├── placeholder-logo.svg
└── placeholder.svg
├── postcss.config.mjs
├── lib
├── utils.ts
├── i18n
│ ├── config.ts
│ └── translations.ts
└── github.ts
├── next.config.mjs
├── components
├── theme-provider.tsx
├── footer.tsx
├── ui
│ ├── badge.tsx
│ ├── button.tsx
│ ├── card.tsx
│ └── dropdown-menu.tsx
├── project-filter.tsx
├── language-switcher.tsx
├── mobile-nav.tsx
├── project-card.tsx
└── navbar.tsx
├── components.json
├── app
├── page.tsx
├── [lang]
│ ├── layout.tsx
│ ├── projects
│ │ └── [[...type]]
│ │ │ └── page.tsx
│ ├── page.tsx
│ └── contribute
│ │ └── page.tsx
├── layout.tsx
└── globals.css
├── tsconfig.json
├── README.md
├── package.json
├── tailwind.config.ts
├── styles
└── globals.css
└── pnpm-lock.yaml
/public/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/node/v0-bayoss/main/public/apple-icon.png
--------------------------------------------------------------------------------
/public/placeholder.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/node/v0-bayoss/main/public/placeholder.jpg
--------------------------------------------------------------------------------
/public/icon-dark-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/node/v0-bayoss/main/public/icon-dark-32x32.png
--------------------------------------------------------------------------------
/public/icon-light-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/node/v0-bayoss/main/public/icon-light-32x32.png
--------------------------------------------------------------------------------
/public/placeholder-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/node/v0-bayoss/main/public/placeholder-logo.png
--------------------------------------------------------------------------------
/public/placeholder-user.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/node/v0-bayoss/main/public/placeholder-user.jpg
--------------------------------------------------------------------------------
/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('postcss-load-config').Config} */
2 | const config = {
3 | plugins: {
4 | tailwindcss: {},
5 | },
6 | }
7 |
8 | export default config
9 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/next.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | output: 'export',
4 | trailingSlash: true,
5 | eslint: {
6 | ignoreDuringBuilds: true,
7 | },
8 | typescript: {
9 | ignoreBuildErrors: true,
10 | },
11 | images: {
12 | unoptimized: true,
13 | },
14 | };
15 |
16 | export default nextConfig;
17 |
--------------------------------------------------------------------------------
/components/theme-provider.tsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import * as React from 'react'
4 | import {
5 | ThemeProvider as NextThemesProvider,
6 | type ThemeProviderProps,
7 | } from 'next-themes'
8 |
9 | export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
10 | return {children}
11 | }
12 |
--------------------------------------------------------------------------------
/lib/i18n/config.ts:
--------------------------------------------------------------------------------
1 | export const defaultLocale = "zh"
2 | export const locales = ["zh", "en"] as const
3 | export type Locale = (typeof locales)[number]
4 |
5 | export const getLocaleFromPath = (path: string): Locale => {
6 | for (const locale of locales) {
7 | if (path.startsWith(`/${locale}/`) || path === `/${locale}`) {
8 | return locale
9 | }
10 | }
11 | return defaultLocale
12 | }
13 |
--------------------------------------------------------------------------------
/components.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://ui.shadcn.com/schema.json",
3 | "style": "new-york",
4 | "rsc": true,
5 | "tsx": true,
6 | "tailwind": {
7 | "config": "",
8 | "css": "app/globals.css",
9 | "baseColor": "neutral",
10 | "cssVariables": true,
11 | "prefix": ""
12 | },
13 | "aliases": {
14 | "components": "@/components",
15 | "utils": "@/lib/utils",
16 | "ui": "@/components/ui",
17 | "lib": "@/lib",
18 | "hooks": "@/hooks"
19 | },
20 | "iconLibrary": "lucide"
21 | }
22 |
--------------------------------------------------------------------------------
/app/page.tsx:
--------------------------------------------------------------------------------
1 | import { defaultLocale } from "@/lib/i18n/config"
2 |
3 | export default function Home() {
4 | return (
5 |
6 |
7 |
8 |
9 |
10 |
15 |
16 | Redirecting to home page...
17 |
18 |
19 |
20 | )
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["dom", "dom.iterable", "esnext"],
4 | "allowJs": true,
5 | "target": "ES6",
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "plugins": [
17 | {
18 | "name": "next"
19 | }
20 | ],
21 | "paths": {
22 | "@/*": ["./*"]
23 | }
24 | },
25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
26 | "exclude": ["node_modules"]
27 | }
28 |
--------------------------------------------------------------------------------
/app/[lang]/layout.tsx:
--------------------------------------------------------------------------------
1 | import type React from "react"
2 | import { Navbar } from "@/components/navbar"
3 | import { Footer } from "@/components/footer"
4 | import { type Locale, locales } from "@/lib/i18n/config"
5 |
6 | export function generateStaticParams() {
7 | return locales.map((lang) => ({ lang }))
8 | }
9 |
10 | export default function LocaleLayout({
11 | children,
12 | params,
13 | }: {
14 | children: React.ReactNode
15 | params: { lang: Locale }
16 | }) {
17 | // Pass empty pathname since we don't have access to it in static export
18 | const pathname = ""
19 |
20 | return (
21 | <>
22 |
23 | {children}
24 |
25 | >
26 | )
27 | }
28 |
--------------------------------------------------------------------------------
/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type React from "react"
2 | import "./globals.css"
3 | import type { Metadata } from "next"
4 | import { Inter } from "next/font/google"
5 | import { ThemeProvider } from "@/components/theme-provider"
6 | import { defaultLocale } from "@/lib/i18n/config"
7 | import { translations } from "@/lib/i18n/translations"
8 |
9 | const inter = Inter({ subsets: ["latin"] })
10 |
11 | export const metadata: Metadata = {
12 | title: translations[defaultLocale]["site.title"],
13 | description: translations[defaultLocale]["site.description"],
14 | generator: 'v0.app'
15 | }
16 |
17 | export default function RootLayout({
18 | children,
19 | }: Readonly<{
20 | children: React.ReactNode
21 | }>) {
22 | return (
23 |
24 |
25 |
26 | {children}
27 |
28 |
29 |
30 | )
31 | }
32 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Bayoss website rebuild
2 |
3 | *Automatically synced with your [v0.app](https://v0.app) deployments*
4 |
5 | [](https://vercel.com/pecommunity/v0-bayoss)
6 | [](https://v0.app/chat/hDhIpsd38Ce)
7 |
8 | ## Overview
9 |
10 | This repository will stay in sync with your deployed chats on [v0.app](https://v0.app).
11 | Any changes you make to your deployed app will be automatically pushed to this repository from [v0.app](https://v0.app).
12 |
13 | ## Deployment
14 |
15 | Your project is live at:
16 |
17 | **[https://vercel.com/pecommunity/v0-bayoss](https://vercel.com/pecommunity/v0-bayoss)**
18 |
19 | ## Build your app
20 |
21 | Continue building your app on:
22 |
23 | **[https://v0.app/chat/hDhIpsd38Ce](https://v0.app/chat/hDhIpsd38Ce)**
24 |
25 | ## How It Works
26 |
27 | 1. Create and modify your project using [v0.app](https://v0.app)
28 | 2. Deploy your chats from the v0 interface
29 | 3. Changes are automatically pushed to this repository
30 | 4. Vercel deploys the latest version from this repository
--------------------------------------------------------------------------------
/components/footer.tsx:
--------------------------------------------------------------------------------
1 | import Link from "next/link"
2 |
3 | export function Footer() {
4 | return (
5 |
31 | )
32 | }
33 |
--------------------------------------------------------------------------------
/lib/github.ts:
--------------------------------------------------------------------------------
1 | export interface Repository {
2 | id: number
3 | name: string
4 | full_name: string
5 | html_url: string
6 | description: string
7 | stargazers_count: number
8 | forks_count: number
9 | open_issues_count: number
10 | language: string
11 | updated_at: string
12 | fork: boolean
13 | }
14 |
15 | export type RepoType = "all" | "source" | "fork"
16 |
17 | export async function getOrganizationRepos(org = "bayoss", type: RepoType = "all"): Promise {
18 | try {
19 | const response = await fetch(`https://api.github.com/orgs/${org}/repos?type=${type}`, {
20 | headers: {
21 | Accept: "application/vnd.github.v3+json",
22 | },
23 | next: { revalidate: 3600 }, // Revalidate every hour
24 | })
25 |
26 | if (!response.ok) {
27 | throw new Error(`GitHub API responded with status: ${response.status}`)
28 | }
29 |
30 | const repos = await response.json()
31 |
32 | // Filter out non-functional repositories like .github
33 | return repos.filter((repo: Repository) => !["bayoss.github.io", ".github"].includes(repo.name))
34 | } catch (error) {
35 | console.error("Error fetching GitHub repositories:", error)
36 | return []
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/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/icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/project-filter.tsx:
--------------------------------------------------------------------------------
1 | import { Button } from "@/components/ui/button"
2 | import type { Locale } from "@/lib/i18n/config"
3 | import { getTranslation } from "@/lib/i18n/translations"
4 | import type { RepoType } from "@/lib/github"
5 | import Link from "next/link"
6 | import { cn } from "@/lib/utils"
7 |
8 | interface ProjectFilterProps {
9 | currentType: RepoType
10 | locale: Locale
11 | }
12 |
13 | export function ProjectFilter({ currentType, locale }: ProjectFilterProps) {
14 | const t = (key: Parameters[1]) => getTranslation(locale, key)
15 |
16 | const filters: { type: RepoType; label: string }[] = [
17 | { type: "all", label: t("projects.filter.all") },
18 | { type: "source", label: t("projects.filter.source") },
19 | { type: "fork", label: t("projects.filter.fork") },
20 | ]
21 |
22 | return (
23 |
24 | {filters.map((filter) => (
25 |
33 | ))}
34 |
35 | )
36 | }
37 |
--------------------------------------------------------------------------------
/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: 222.2 84% 4.9%;
9 | --card: 0 0% 100%;
10 | --card-foreground: 222.2 84% 4.9%;
11 | --popover: 0 0% 100%;
12 | --popover-foreground: 222.2 84% 4.9%;
13 | --primary: 221.2 83.2% 53.3%;
14 | --primary-foreground: 210 40% 98%;
15 | --secondary: 210 40% 96.1%;
16 | --secondary-foreground: 222.2 47.4% 11.2%;
17 | --muted: 210 40% 96.1%;
18 | --muted-foreground: 215.4 16.3% 46.9%;
19 | --accent: 210 40% 96.1%;
20 | --accent-foreground: 222.2 47.4% 11.2%;
21 | --destructive: 0 84.2% 60.2%;
22 | --destructive-foreground: 210 40% 98%;
23 | --border: 214.3 31.8% 91.4%;
24 | --input: 214.3 31.8% 91.4%;
25 | --ring: 221.2 83.2% 53.3%;
26 | --radius: 0.5rem;
27 | }
28 |
29 | .dark {
30 | --background: 222.2 84% 4.9%;
31 | --foreground: 210 40% 98%;
32 | --card: 222.2 84% 4.9%;
33 | --card-foreground: 210 40% 98%;
34 | --popover: 222.2 84% 4.9%;
35 | --popover-foreground: 210 40% 98%;
36 | --primary: 217.2 91.2% 59.8%;
37 | --primary-foreground: 222.2 47.4% 11.2%;
38 | --secondary: 217.2 32.6% 17.5%;
39 | --secondary-foreground: 210 40% 98%;
40 | --muted: 217.2 32.6% 17.5%;
41 | --muted-foreground: 215 20.2% 65.1%;
42 | --accent: 217.2 32.6% 17.5%;
43 | --accent-foreground: 210 40% 98%;
44 | --destructive: 0 62.8% 30.6%;
45 | --destructive-foreground: 210 40% 98%;
46 | --border: 217.2 32.6% 17.5%;
47 | --input: 217.2 32.6% 17.5%;
48 | --ring: 224.3 76.3% 48%;
49 | }
50 | }
51 |
52 | @layer base {
53 | * {
54 | @apply border-border;
55 | }
56 | body {
57 | @apply bg-background text-foreground;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/components/language-switcher.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import { usePathname, useRouter } from "next/navigation"
4 | import { Button } from "@/components/ui/button"
5 | import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"
6 | import { locales, getLocaleFromPath, type Locale } from "@/lib/i18n/config"
7 | import { Globe } from "lucide-react"
8 |
9 | export function LanguageSwitcher() {
10 | const router = useRouter()
11 | const pathname = usePathname() || ""
12 | const currentLocale = getLocaleFromPath(pathname)
13 |
14 | const switchLanguage = (locale: Locale) => {
15 | if (locale === currentLocale) return
16 |
17 | let newPath = pathname
18 |
19 | // Remove current locale from path if it exists
20 | for (const loc of locales) {
21 | if (pathname.startsWith(`/${loc}/`)) {
22 | newPath = pathname.substring(loc.length + 1)
23 | break
24 | } else if (pathname === `/${loc}`) {
25 | newPath = "/"
26 | break
27 | }
28 | }
29 |
30 | // Add new locale to path
31 | if (newPath === "/") {
32 | newPath = `/${locale}`
33 | } else {
34 | newPath = `/${locale}${newPath}`
35 | }
36 |
37 | router.push(newPath)
38 | }
39 |
40 | return (
41 |
42 |
43 |
47 |
48 |
49 | switchLanguage("zh")}>中文
50 | switchLanguage("en")}>English
51 |
52 |
53 | )
54 | }
55 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/components/ui/card.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 |
3 | import { cn } from '@/lib/utils'
4 |
5 | const Card = React.forwardRef<
6 | HTMLDivElement,
7 | React.HTMLAttributes
8 | >(({ className, ...props }, ref) => (
9 |
17 | ))
18 | Card.displayName = 'Card'
19 |
20 | const CardHeader = React.forwardRef<
21 | HTMLDivElement,
22 | React.HTMLAttributes
23 | >(({ className, ...props }, ref) => (
24 |
29 | ))
30 | CardHeader.displayName = 'CardHeader'
31 |
32 | const CardTitle = React.forwardRef<
33 | HTMLDivElement,
34 | React.HTMLAttributes
35 | >(({ className, ...props }, ref) => (
36 |
44 | ))
45 | CardTitle.displayName = 'CardTitle'
46 |
47 | const CardDescription = React.forwardRef<
48 | HTMLDivElement,
49 | React.HTMLAttributes
50 | >(({ className, ...props }, ref) => (
51 |
56 | ))
57 | CardDescription.displayName = 'CardDescription'
58 |
59 | const CardContent = React.forwardRef<
60 | HTMLDivElement,
61 | React.HTMLAttributes
62 | >(({ className, ...props }, ref) => (
63 |
64 | ))
65 | CardContent.displayName = 'CardContent'
66 |
67 | const CardFooter = React.forwardRef<
68 | HTMLDivElement,
69 | React.HTMLAttributes
70 | >(({ className, ...props }, ref) => (
71 |
76 | ))
77 | CardFooter.displayName = 'CardFooter'
78 |
79 | export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
80 |
--------------------------------------------------------------------------------
/components/mobile-nav.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import Link from "next/link"
4 | import { usePathname } from "next/navigation"
5 | import { cn } from "@/lib/utils"
6 | import { Button } from "@/components/ui/button"
7 | import { Menu, X } from "lucide-react"
8 | import { useState } from "react"
9 | import type { Locale } from "@/lib/i18n/config"
10 |
11 | interface NavItem {
12 | href: string
13 | label: string
14 | }
15 |
16 | interface MobileNavProps {
17 | items: NavItem[]
18 | locale: Locale
19 | }
20 |
21 | export function MobileNav({ items, locale }: MobileNavProps) {
22 | const pathname = usePathname() || ""
23 | const [isMenuOpen, setIsMenuOpen] = useState(false)
24 |
25 | const toggleMenu = () => {
26 | setIsMenuOpen(!isMenuOpen)
27 | }
28 |
29 | const getLocalizedPath = (path: string) => {
30 | if (path === "/") return `/${locale}`
31 | return `/${locale}${path}`
32 | }
33 |
34 | const isActive = (path: string) => {
35 | if (path === "/") {
36 | return pathname === `/${locale}` || pathname === "/"
37 | }
38 | return pathname.startsWith(`/${locale}${path}`)
39 | }
40 |
41 | return (
42 | <>
43 |
47 |
48 | {/* Mobile Navigation */}
49 | {isMenuOpen && (
50 |
51 |
66 |
67 | )}
68 | >
69 | )
70 | }
71 |
--------------------------------------------------------------------------------
/components/project-card.tsx:
--------------------------------------------------------------------------------
1 | import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"
2 | import type { Repository } from "@/lib/github"
3 | import { Button } from "@/components/ui/button"
4 | import { ExternalLink, Star, GitFork, AlertCircle } from "lucide-react"
5 | import { Badge } from "@/components/ui/badge"
6 | import type { Locale } from "@/lib/i18n/config"
7 | import { getTranslation } from "@/lib/i18n/translations"
8 |
9 | interface ProjectCardProps {
10 | project: Repository
11 | locale: Locale
12 | }
13 |
14 | export function ProjectCard({ project, locale }: ProjectCardProps) {
15 | const t = (key: Parameters[1]) => getTranslation(locale, key)
16 |
17 | return (
18 |
19 |
20 | {project.name}
21 | {project.description || "-"}
22 |
23 |
24 |
25 | {project.language && {project.language}}
26 |
27 |
28 |
29 |
30 | {project.stargazers_count}
31 |
32 |
33 |
34 | {project.forks_count}
35 |
36 |
37 |
38 |
{project.open_issues_count}
39 |
40 |
41 |
42 |
43 |
49 |
50 |
51 | )
52 | }
53 |
--------------------------------------------------------------------------------
/app/[lang]/projects/[[...type]]/page.tsx:
--------------------------------------------------------------------------------
1 | import { type Locale, locales } from "@/lib/i18n/config"
2 | import { getTranslation } from "@/lib/i18n/translations"
3 | import { getOrganizationRepos, type RepoType } from "@/lib/github"
4 | import { ProjectCard } from "@/components/project-card"
5 | import { ProjectFilter } from "@/components/project-filter"
6 |
7 | export function generateStaticParams() {
8 | const types: RepoType[] = ["all", "source", "fork"]
9 | const params: Array<{ lang: Locale; type?: string[] }> = []
10 |
11 | for (const lang of locales) {
12 | // Generate params for /[lang]/projects
13 | params.push({ lang, type: undefined })
14 | // Generate params for /[lang]/projects/[type]
15 | for (const typeValue of types) {
16 | params.push({ lang, type: [typeValue] })
17 | }
18 | }
19 |
20 | return params
21 | }
22 |
23 | export interface ProjectsPageProps {
24 | params: { lang: Locale; type?: string[] }
25 | }
26 |
27 | export default async function ProjectsPage({ params }: ProjectsPageProps) {
28 | const t = (key: Parameters[1]) => getTranslation(params.lang, key)
29 |
30 | // Get repo type from dynamic route segment
31 | const repoType: RepoType = (params.type?.[0] as RepoType) || "all"
32 |
33 | // Fetch projects with the selected filter
34 | const projects = await getOrganizationRepos("bayoss", repoType)
35 |
36 | return (
37 |
38 |
39 |
40 |
{t("projects.title")}
41 |
{t("projects.subtitle")}
42 |
43 |
44 | {/* Project Filter */}
45 |
46 |
47 | {projects.length > 0 ? (
48 |
49 | {projects.map((project) => (
50 |
51 | ))}
52 |
53 | ) : (
54 |
55 |
{t("projects.noProjects")}
56 |
57 | )}
58 |
59 |
60 | )
61 | }
62 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "my-v0-project",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "build": "next build",
7 | "dev": "next dev",
8 | "lint": "eslint .",
9 | "start": "next start"
10 | },
11 | "dependencies": {
12 | "@hookform/resolvers": "^3.10.0",
13 | "@radix-ui/react-accordion": "1.2.2",
14 | "@radix-ui/react-alert-dialog": "1.1.4",
15 | "@radix-ui/react-aspect-ratio": "1.1.1",
16 | "@radix-ui/react-avatar": "1.1.2",
17 | "@radix-ui/react-checkbox": "1.1.3",
18 | "@radix-ui/react-collapsible": "1.1.2",
19 | "@radix-ui/react-context-menu": "2.2.4",
20 | "@radix-ui/react-dialog": "1.1.4",
21 | "@radix-ui/react-dropdown-menu": "2.1.4",
22 | "@radix-ui/react-hover-card": "1.1.4",
23 | "@radix-ui/react-label": "2.1.1",
24 | "@radix-ui/react-menubar": "1.1.4",
25 | "@radix-ui/react-navigation-menu": "1.2.3",
26 | "@radix-ui/react-popover": "1.1.4",
27 | "@radix-ui/react-progress": "1.1.1",
28 | "@radix-ui/react-radio-group": "1.2.2",
29 | "@radix-ui/react-scroll-area": "1.2.2",
30 | "@radix-ui/react-select": "2.1.4",
31 | "@radix-ui/react-separator": "1.1.1",
32 | "@radix-ui/react-slider": "1.2.2",
33 | "@radix-ui/react-slot": "1.1.1",
34 | "@radix-ui/react-switch": "1.1.2",
35 | "@radix-ui/react-tabs": "1.1.2",
36 | "@radix-ui/react-toast": "1.2.4",
37 | "@radix-ui/react-toggle": "1.1.1",
38 | "@radix-ui/react-toggle-group": "1.1.1",
39 | "@radix-ui/react-tooltip": "1.1.6",
40 | "@vercel/analytics": "1.3.1",
41 | "autoprefixer": "^10.4.20",
42 | "class-variance-authority": "^0.7.1",
43 | "clsx": "^2.1.1",
44 | "cmdk": "1.0.4",
45 | "date-fns": "4.1.0",
46 | "embla-carousel-react": "8.5.1",
47 | "input-otp": "1.4.1",
48 | "lucide-react": "^0.454.0",
49 | "next": "15.5.9",
50 | "next-themes": "^0.4.6",
51 | "react": "19.2.0",
52 | "react-day-picker": "9.8.0",
53 | "react-dom": "19.2.0",
54 | "react-hook-form": "^7.60.0",
55 | "react-resizable-panels": "^2.1.7",
56 | "recharts": "2.15.4",
57 | "sonner": "^1.7.4",
58 | "tailwind-merge": "^3.3.1",
59 | "tailwindcss-animate": "^1.0.7",
60 | "vaul": "^1.1.2",
61 | "zod": "3.25.76"
62 | },
63 | "devDependencies": {
64 | "@types/node": "^22",
65 | "@types/react": "^19",
66 | "@types/react-dom": "^19",
67 | "postcss": "^8.5",
68 | "tailwindcss": "^3.4.17",
69 | "typescript": "^5"
70 | }
71 | }
--------------------------------------------------------------------------------
/components/navbar.tsx:
--------------------------------------------------------------------------------
1 | import Link from "next/link"
2 | import { cn } from "@/lib/utils"
3 | import { LanguageSwitcher } from "@/components/language-switcher"
4 | import type { Locale } from "@/lib/i18n/config"
5 | import { getTranslation } from "@/lib/i18n/translations"
6 | import { MobileNav } from "./mobile-nav"
7 |
8 | interface NavbarProps {
9 | locale: Locale
10 | pathname?: string
11 | }
12 |
13 | export function Navbar({ locale, pathname = "" }: NavbarProps) {
14 | const t = (key: Parameters[1]) => getTranslation(locale, key)
15 |
16 | const navItems = [
17 | { href: "/", label: t("nav.home") },
18 | { href: "/projects", label: t("nav.projects") },
19 | { href: "/contribute", label: t("nav.contribute") },
20 | ]
21 |
22 | const getLocalizedPath = (path: string) => {
23 | if (path === "/") return `/${locale}`
24 | return `/${locale}${path}`
25 | }
26 |
27 | const isActive = (path: string) => {
28 | if (path === "/") {
29 | return pathname === `/${locale}` || pathname === "/"
30 | }
31 | return pathname.startsWith(`/${locale}${path}`)
32 | }
33 |
34 | return (
35 |
66 | )
67 | }
68 |
--------------------------------------------------------------------------------
/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from "tailwindcss"
2 |
3 | const config = {
4 | darkMode: ["class"],
5 | content: [
6 | "./pages/**/*.{ts,tsx}",
7 | "./components/**/*.{ts,tsx}",
8 | "./app/**/*.{ts,tsx}",
9 | "./src/**/*.{ts,tsx}",
10 | "*.{js,ts,jsx,tsx,mdx}",
11 | ],
12 | prefix: "",
13 | theme: {
14 | container: {
15 | center: true,
16 | padding: "2rem",
17 | screens: {
18 | "2xl": "1400px",
19 | },
20 | },
21 | extend: {
22 | colors: {
23 | border: "hsl(var(--border))",
24 | input: "hsl(var(--input))",
25 | ring: "hsl(var(--ring))",
26 | background: "hsl(var(--background))",
27 | foreground: "hsl(var(--foreground))",
28 | primary: {
29 | DEFAULT: "hsl(var(--primary))",
30 | foreground: "hsl(var(--primary-foreground))",
31 | },
32 | secondary: {
33 | DEFAULT: "hsl(var(--secondary))",
34 | foreground: "hsl(var(--secondary-foreground))",
35 | },
36 | destructive: {
37 | DEFAULT: "hsl(var(--destructive))",
38 | foreground: "hsl(var(--destructive-foreground))",
39 | },
40 | muted: {
41 | DEFAULT: "hsl(var(--muted))",
42 | foreground: "hsl(var(--muted-foreground))",
43 | },
44 | accent: {
45 | DEFAULT: "hsl(var(--accent))",
46 | foreground: "hsl(var(--accent-foreground))",
47 | },
48 | popover: {
49 | DEFAULT: "hsl(var(--popover))",
50 | foreground: "hsl(var(--popover-foreground))",
51 | },
52 | card: {
53 | DEFAULT: "hsl(var(--card))",
54 | foreground: "hsl(var(--card-foreground))",
55 | },
56 | },
57 | borderRadius: {
58 | lg: "var(--radius)",
59 | md: "calc(var(--radius) - 2px)",
60 | sm: "calc(var(--radius) - 4px)",
61 | },
62 | keyframes: {
63 | "accordion-down": {
64 | from: { height: "0" },
65 | to: { height: "var(--radix-accordion-content-height)" },
66 | },
67 | "accordion-up": {
68 | from: { height: "var(--radix-accordion-content-height)" },
69 | to: { height: "0" },
70 | },
71 | },
72 | animation: {
73 | "accordion-down": "accordion-down 0.2s ease-out",
74 | "accordion-up": "accordion-up 0.2s ease-out",
75 | },
76 | },
77 | },
78 | plugins: [require("tailwindcss-animate")],
79 | } satisfies Config
80 |
81 | export default config
82 |
--------------------------------------------------------------------------------
/styles/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer utilities {
6 | .text-balance {
7 | text-wrap: balance;
8 | }
9 | }
10 |
11 | @layer base {
12 | :root {
13 | --font-sans: var(--font-geist-sans);
14 | --font-mono: var(--font-geist-mono);
15 | --background: 0 0% 100%;
16 | --foreground: 0 0% 3.9%;
17 | --card: 0 0% 100%;
18 | --card-foreground: 0 0% 3.9%;
19 | --popover: 0 0% 100%;
20 | --popover-foreground: 0 0% 3.9%;
21 | --primary: 0 0% 9%;
22 | --primary-foreground: 0 0% 98%;
23 | --secondary: 0 0% 96.1%;
24 | --secondary-foreground: 0 0% 9%;
25 | --muted: 0 0% 96.1%;
26 | --muted-foreground: 0 0% 45.1%;
27 | --accent: 0 0% 96.1%;
28 | --accent-foreground: 0 0% 9%;
29 | --destructive: 0 84.2% 60.2%;
30 | --destructive-foreground: 0 0% 98%;
31 | --border: 0 0% 89.8%;
32 | --input: 0 0% 89.8%;
33 | --ring: 0 0% 3.9%;
34 | --chart-1: 12 76% 61%;
35 | --chart-2: 173 58% 39%;
36 | --chart-3: 197 37% 24%;
37 | --chart-4: 43 74% 66%;
38 | --chart-5: 27 87% 67%;
39 | --radius: 0.5rem;
40 | --sidebar-background: 0 0% 98%;
41 | --sidebar-foreground: 240 5.3% 26.1%;
42 | --sidebar-primary: 240 5.9% 10%;
43 | --sidebar-primary-foreground: 0 0% 98%;
44 | --sidebar-accent: 240 4.8% 95.9%;
45 | --sidebar-accent-foreground: 240 5.9% 10%;
46 | --sidebar-border: 220 13% 91%;
47 | --sidebar-ring: 217.2 91.2% 59.8%;
48 | }
49 | .dark {
50 | --background: 0 0% 3.9%;
51 | --foreground: 0 0% 98%;
52 | --card: 0 0% 3.9%;
53 | --card-foreground: 0 0% 98%;
54 | --popover: 0 0% 3.9%;
55 | --popover-foreground: 0 0% 98%;
56 | --primary: 0 0% 98%;
57 | --primary-foreground: 0 0% 9%;
58 | --secondary: 0 0% 14.9%;
59 | --secondary-foreground: 0 0% 98%;
60 | --muted: 0 0% 14.9%;
61 | --muted-foreground: 0 0% 63.9%;
62 | --accent: 0 0% 14.9%;
63 | --accent-foreground: 0 0% 98%;
64 | --destructive: 0 62.8% 30.6%;
65 | --destructive-foreground: 0 0% 98%;
66 | --border: 0 0% 14.9%;
67 | --input: 0 0% 14.9%;
68 | --ring: 0 0% 83.1%;
69 | --chart-1: 220 70% 50%;
70 | --chart-2: 160 60% 45%;
71 | --chart-3: 30 80% 55%;
72 | --chart-4: 280 65% 60%;
73 | --chart-5: 340 75% 55%;
74 | --sidebar-background: 240 5.9% 10%;
75 | --sidebar-foreground: 240 4.8% 95.9%;
76 | --sidebar-primary: 224.3 76.3% 48%;
77 | --sidebar-primary-foreground: 0 0% 100%;
78 | --sidebar-accent: 240 3.7% 15.9%;
79 | --sidebar-accent-foreground: 240 4.8% 95.9%;
80 | --sidebar-border: 240 3.7% 15.9%;
81 | --sidebar-ring: 217.2 91.2% 59.8%;
82 | }
83 | }
84 |
85 | @layer base {
86 | * {
87 | @apply border-border;
88 | }
89 | body {
90 | @apply bg-background text-foreground;
91 | }
92 | }
--------------------------------------------------------------------------------
/public/placeholder-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/placeholder.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/[lang]/page.tsx:
--------------------------------------------------------------------------------
1 | import { Button } from "@/components/ui/button"
2 | import Link from "next/link"
3 | import { type Locale, locales } from "@/lib/i18n/config"
4 | import { getTranslation } from "@/lib/i18n/translations"
5 |
6 | export function generateStaticParams() {
7 | return locales.map((lang) => ({ lang }))
8 | }
9 |
10 | export default function HomePage({ params }: { params: { lang: Locale } }) {
11 | const t = (key: Parameters[1]) => getTranslation(params.lang, key)
12 |
13 | return (
14 |
15 |
16 |
17 |
18 |
19 | {t("home.title")}
20 |
21 |
{t("home.subtitle")}
22 |
23 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
关于 BayOSS
39 |
{t("home.about")}
40 |
41 |
75 |
76 |
77 |
78 |
79 | )
80 | }
81 |
--------------------------------------------------------------------------------
/lib/i18n/translations.ts:
--------------------------------------------------------------------------------
1 | import type { Locale } from "./config"
2 |
3 | type TranslationKey =
4 | | "site.title"
5 | | "site.description"
6 | | "nav.home"
7 | | "nav.projects"
8 | | "nav.contribute"
9 | | "home.title"
10 | | "home.subtitle"
11 | | "home.about"
12 | | "home.join"
13 | | "home.joinButton"
14 | | "projects.title"
15 | | "projects.subtitle"
16 | | "projects.loading"
17 | | "projects.error"
18 | | "projects.viewOnGithub"
19 | | "projects.noProjects"
20 | | "projects.filter.all"
21 | | "projects.filter.source"
22 | | "projects.filter.fork"
23 | | "contribute.title"
24 | | "contribute.subtitle"
25 | | "contribute.guide"
26 | | "contribute.codeOfConduct"
27 | | "contribute.issues"
28 | | "contribute.pullRequests"
29 | | "contribute.discussions"
30 |
31 | type Translations = {
32 | [key in Locale]: {
33 | [k in TranslationKey]: string
34 | }
35 | }
36 |
37 | export const translations: Translations = {
38 | zh: {
39 | "site.title": "BayOSS 湾区开源驿站",
40 | "site.description": "湾区开源驿站是一个致力于推动开源项目发展的社区",
41 | "nav.home": "首页",
42 | "nav.projects": "项目",
43 | "nav.contribute": "贡献",
44 | "home.title": "欢迎来到 BayOSS 湾区开源驿站",
45 | "home.subtitle": "连接湾区开发者,共建开源生态",
46 | "home.about":
47 | "BayOSS 湾区开源驿站是一个由湾区开发者发起的开源社区,致力于推动开源项目的发展,为开发者提供交流、学习和贡献的平台。我们欢迎所有对开源感兴趣的开发者加入我们,一起构建更好的开源生态。",
48 | "home.join": "如何加入我们",
49 | "home.joinButton": "立即加入",
50 | "projects.title": "开源项目",
51 | "projects.subtitle": "探索我们正在进行的开源项目",
52 | "projects.loading": "正在加载项目...",
53 | "projects.error": "加载项目失败,请稍后再试",
54 | "projects.viewOnGithub": "在 GitHub 上查看",
55 | "projects.noProjects": "暂无项目",
56 | "projects.filter.all": "全部",
57 | "projects.filter.source": "原创",
58 | "projects.filter.fork": "复刻",
59 | "contribute.title": "参与贡献",
60 | "contribute.subtitle": "了解如何为社区做出贡献",
61 | "contribute.guide": "贡献指南",
62 | "contribute.codeOfConduct": "行为准则",
63 | "contribute.issues": "提交问题",
64 | "contribute.pullRequests": "提交 PR",
65 | "contribute.discussions": "参与讨论",
66 | },
67 | en: {
68 | "site.title": "BayOSS",
69 | "site.description": "BayOSS is a community dedicated to promoting open source projects",
70 | "nav.home": "Home",
71 | "nav.projects": "Projects",
72 | "nav.contribute": "Contribute",
73 | "home.title": "Welcome to BayOSS",
74 | "home.subtitle": "Connecting Bay Area developers, building open source ecosystem",
75 | "home.about":
76 | "BayOSS is an open source community initiated by Bay Area developers, dedicated to promoting the development of open source projects and providing a platform for developers to communicate, learn and contribute. We welcome all developers interested in open source to join us and build a better open source ecosystem together.",
77 | "home.join": "How to Join Us",
78 | "home.joinButton": "Join Now",
79 | "projects.title": "Open Source Projects",
80 | "projects.subtitle": "Explore our ongoing open source projects",
81 | "projects.loading": "Loading projects...",
82 | "projects.error": "Failed to load projects, please try again later",
83 | "projects.viewOnGithub": "View on GitHub",
84 | "projects.noProjects": "No projects available",
85 | "projects.filter.all": "All",
86 | "projects.filter.source": "Source",
87 | "projects.filter.fork": "Fork",
88 | "contribute.title": "Contribute",
89 | "contribute.subtitle": "Learn how to contribute to the community",
90 | "contribute.guide": "Contribution Guide",
91 | "contribute.codeOfConduct": "Code of Conduct",
92 | "contribute.issues": "Submit Issues",
93 | "contribute.pullRequests": "Submit PRs",
94 | "contribute.discussions": "Join Discussions",
95 | },
96 | }
97 |
98 | export const getTranslation = (locale: Locale, key: TranslationKey): string => {
99 | return translations[locale][key]
100 | }
101 |
--------------------------------------------------------------------------------
/app/[lang]/contribute/page.tsx:
--------------------------------------------------------------------------------
1 | import { type Locale, locales } from "@/lib/i18n/config"
2 | import { getTranslation } from "@/lib/i18n/translations"
3 | import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
4 | import { Button } from "@/components/ui/button"
5 | import { ExternalLink, Github, MessageSquare, GitPullRequest, FileCode } from "lucide-react"
6 |
7 | export function generateStaticParams() {
8 | return locales.map((lang) => ({ lang }))
9 | }
10 |
11 | export default function ContributePage({ params }: { params: { lang: Locale } }) {
12 | const t = (key: Parameters[1]) => getTranslation(params.lang, key)
13 |
14 | return (
15 |
16 |
17 |
18 |
{t("contribute.title")}
19 |
{t("contribute.subtitle")}
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | {t("contribute.guide")}
28 |
29 | 了解如何为 BayOSS 项目做出贡献
30 |
31 |
32 |
33 | 我们欢迎所有形式的贡献,无论是代码、文档、设计还是想法。请查看我们的贡献指南,了解如何开始。
34 |
35 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | {t("contribute.codeOfConduct")}
54 |
55 | 了解我们的社区行为准则
56 |
57 |
58 |
59 | 我们致力于为所有人提供一个友好、安全和包容的环境。请阅读我们的行为准则,了解我们的期望和价值观。
60 |
61 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | {t("contribute.pullRequests")}
80 |
81 | 提交代码贡献
82 |
83 |
84 |
85 | 如果你想为我们的项目贡献代码,可以通过提交 Pull Request
86 | 来实现。请确保你的代码符合我们的代码规范和贡献指南。
87 |
88 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | {t("contribute.discussions")}
107 |
108 | 参与社区讨论
109 |
110 |
111 |
112 | 加入我们的社区讨论,分享你的想法,提出问题,或者与其他社区成员交流。我们欢迎所有形式的参与和反馈。
113 |
114 |
125 |
126 |
127 |
128 |
129 |
130 | )
131 | }
132 |
--------------------------------------------------------------------------------
/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 | '@hookform/resolvers':
12 | specifier: ^3.10.0
13 | version: 3.10.0(react-hook-form@7.60.0(react@19.2.0))
14 | '@radix-ui/react-accordion':
15 | specifier: 1.2.2
16 | version: 1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
17 | '@radix-ui/react-alert-dialog':
18 | specifier: 1.1.4
19 | version: 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
20 | '@radix-ui/react-aspect-ratio':
21 | specifier: 1.1.1
22 | version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
23 | '@radix-ui/react-avatar':
24 | specifier: 1.1.2
25 | version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
26 | '@radix-ui/react-checkbox':
27 | specifier: 1.1.3
28 | version: 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
29 | '@radix-ui/react-collapsible':
30 | specifier: 1.1.2
31 | version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
32 | '@radix-ui/react-context-menu':
33 | specifier: 2.2.4
34 | version: 2.2.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
35 | '@radix-ui/react-dialog':
36 | specifier: 1.1.4
37 | version: 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
38 | '@radix-ui/react-dropdown-menu':
39 | specifier: 2.1.4
40 | version: 2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
41 | '@radix-ui/react-hover-card':
42 | specifier: 1.1.4
43 | version: 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
44 | '@radix-ui/react-label':
45 | specifier: 2.1.1
46 | version: 2.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
47 | '@radix-ui/react-menubar':
48 | specifier: 1.1.4
49 | version: 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
50 | '@radix-ui/react-navigation-menu':
51 | specifier: 1.2.3
52 | version: 1.2.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
53 | '@radix-ui/react-popover':
54 | specifier: 1.1.4
55 | version: 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
56 | '@radix-ui/react-progress':
57 | specifier: 1.1.1
58 | version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
59 | '@radix-ui/react-radio-group':
60 | specifier: 1.2.2
61 | version: 1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
62 | '@radix-ui/react-scroll-area':
63 | specifier: 1.2.2
64 | version: 1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
65 | '@radix-ui/react-select':
66 | specifier: 2.1.4
67 | version: 2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
68 | '@radix-ui/react-separator':
69 | specifier: 1.1.1
70 | version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
71 | '@radix-ui/react-slider':
72 | specifier: 1.2.2
73 | version: 1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
74 | '@radix-ui/react-slot':
75 | specifier: 1.1.1
76 | version: 1.1.1(@types/react@19.0.0)(react@19.2.0)
77 | '@radix-ui/react-switch':
78 | specifier: 1.1.2
79 | version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
80 | '@radix-ui/react-tabs':
81 | specifier: 1.1.2
82 | version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
83 | '@radix-ui/react-toast':
84 | specifier: 1.2.4
85 | version: 1.2.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
86 | '@radix-ui/react-toggle':
87 | specifier: 1.1.1
88 | version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
89 | '@radix-ui/react-toggle-group':
90 | specifier: 1.1.1
91 | version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
92 | '@radix-ui/react-tooltip':
93 | specifier: 1.1.6
94 | version: 1.1.6(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
95 | '@vercel/analytics':
96 | specifier: 1.3.1
97 | version: 1.3.1(next@15.5.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
98 | autoprefixer:
99 | specifier: ^10.4.20
100 | version: 10.4.20(postcss@8.5.0)
101 | class-variance-authority:
102 | specifier: ^0.7.1
103 | version: 0.7.1
104 | clsx:
105 | specifier: ^2.1.1
106 | version: 2.1.1
107 | cmdk:
108 | specifier: 1.0.4
109 | version: 1.0.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
110 | date-fns:
111 | specifier: 4.1.0
112 | version: 4.1.0
113 | embla-carousel-react:
114 | specifier: 8.5.1
115 | version: 8.5.1(react@19.2.0)
116 | input-otp:
117 | specifier: 1.4.1
118 | version: 1.4.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
119 | lucide-react:
120 | specifier: ^0.454.0
121 | version: 0.454.0(react@19.2.0)
122 | next:
123 | specifier: 15.5.9
124 | version: 15.5.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
125 | next-themes:
126 | specifier: ^0.4.6
127 | version: 0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
128 | react:
129 | specifier: 19.2.0
130 | version: 19.2.0
131 | react-day-picker:
132 | specifier: 9.8.0
133 | version: 9.8.0(react@19.2.0)
134 | react-dom:
135 | specifier: 19.2.0
136 | version: 19.2.0(react@19.2.0)
137 | react-hook-form:
138 | specifier: ^7.60.0
139 | version: 7.60.0(react@19.2.0)
140 | react-resizable-panels:
141 | specifier: ^2.1.7
142 | version: 2.1.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
143 | recharts:
144 | specifier: 2.15.4
145 | version: 2.15.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
146 | sonner:
147 | specifier: ^1.7.4
148 | version: 1.7.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
149 | tailwind-merge:
150 | specifier: ^3.3.1
151 | version: 3.3.1
152 | tailwindcss-animate:
153 | specifier: ^1.0.7
154 | version: 1.0.7(tailwindcss@3.4.17)
155 | vaul:
156 | specifier: ^1.1.2
157 | version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
158 | zod:
159 | specifier: 3.25.76
160 | version: 3.25.76
161 | devDependencies:
162 | '@types/node':
163 | specifier: ^22
164 | version: 22.0.0
165 | '@types/react':
166 | specifier: ^19
167 | version: 19.0.0
168 | '@types/react-dom':
169 | specifier: ^19
170 | version: 19.0.0
171 | postcss:
172 | specifier: ^8.5
173 | version: 8.5.0
174 | tailwindcss:
175 | specifier: ^3.4.17
176 | version: 3.4.17
177 | typescript:
178 | specifier: ^5
179 | version: 5.0.2
180 |
181 | packages:
182 |
183 | '@alloc/quick-lru@5.2.0':
184 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
185 | engines: {node: '>=10'}
186 |
187 | '@babel/runtime@7.28.4':
188 | resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
189 | engines: {node: '>=6.9.0'}
190 |
191 | '@date-fns/tz@1.2.0':
192 | resolution: {integrity: sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==}
193 |
194 | '@emnapi/runtime@1.7.1':
195 | resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
196 |
197 | '@floating-ui/core@1.7.3':
198 | resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
199 |
200 | '@floating-ui/dom@1.7.4':
201 | resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==}
202 |
203 | '@floating-ui/react-dom@2.1.6':
204 | resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==}
205 | peerDependencies:
206 | react: '>=16.8.0'
207 | react-dom: '>=16.8.0'
208 |
209 | '@floating-ui/utils@0.2.10':
210 | resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
211 |
212 | '@hookform/resolvers@3.10.0':
213 | resolution: {integrity: sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag==}
214 | peerDependencies:
215 | react-hook-form: ^7.0.0
216 |
217 | '@img/colour@1.0.0':
218 | resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
219 | engines: {node: '>=18'}
220 |
221 | '@img/sharp-darwin-arm64@0.34.5':
222 | resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
223 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
224 | cpu: [arm64]
225 | os: [darwin]
226 |
227 | '@img/sharp-darwin-x64@0.34.5':
228 | resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
229 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
230 | cpu: [x64]
231 | os: [darwin]
232 |
233 | '@img/sharp-libvips-darwin-arm64@1.2.4':
234 | resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
235 | cpu: [arm64]
236 | os: [darwin]
237 |
238 | '@img/sharp-libvips-darwin-x64@1.2.4':
239 | resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
240 | cpu: [x64]
241 | os: [darwin]
242 |
243 | '@img/sharp-libvips-linux-arm64@1.2.4':
244 | resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
245 | cpu: [arm64]
246 | os: [linux]
247 |
248 | '@img/sharp-libvips-linux-arm@1.2.4':
249 | resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
250 | cpu: [arm]
251 | os: [linux]
252 |
253 | '@img/sharp-libvips-linux-ppc64@1.2.4':
254 | resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
255 | cpu: [ppc64]
256 | os: [linux]
257 |
258 | '@img/sharp-libvips-linux-riscv64@1.2.4':
259 | resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
260 | cpu: [riscv64]
261 | os: [linux]
262 |
263 | '@img/sharp-libvips-linux-s390x@1.2.4':
264 | resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
265 | cpu: [s390x]
266 | os: [linux]
267 |
268 | '@img/sharp-libvips-linux-x64@1.2.4':
269 | resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
270 | cpu: [x64]
271 | os: [linux]
272 |
273 | '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
274 | resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
275 | cpu: [arm64]
276 | os: [linux]
277 |
278 | '@img/sharp-libvips-linuxmusl-x64@1.2.4':
279 | resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
280 | cpu: [x64]
281 | os: [linux]
282 |
283 | '@img/sharp-linux-arm64@0.34.5':
284 | resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
285 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
286 | cpu: [arm64]
287 | os: [linux]
288 |
289 | '@img/sharp-linux-arm@0.34.5':
290 | resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
291 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
292 | cpu: [arm]
293 | os: [linux]
294 |
295 | '@img/sharp-linux-ppc64@0.34.5':
296 | resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
297 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
298 | cpu: [ppc64]
299 | os: [linux]
300 |
301 | '@img/sharp-linux-riscv64@0.34.5':
302 | resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
303 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
304 | cpu: [riscv64]
305 | os: [linux]
306 |
307 | '@img/sharp-linux-s390x@0.34.5':
308 | resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
309 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
310 | cpu: [s390x]
311 | os: [linux]
312 |
313 | '@img/sharp-linux-x64@0.34.5':
314 | resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
315 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
316 | cpu: [x64]
317 | os: [linux]
318 |
319 | '@img/sharp-linuxmusl-arm64@0.34.5':
320 | resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
321 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
322 | cpu: [arm64]
323 | os: [linux]
324 |
325 | '@img/sharp-linuxmusl-x64@0.34.5':
326 | resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
327 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
328 | cpu: [x64]
329 | os: [linux]
330 |
331 | '@img/sharp-wasm32@0.34.5':
332 | resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
333 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
334 | cpu: [wasm32]
335 |
336 | '@img/sharp-win32-arm64@0.34.5':
337 | resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
338 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
339 | cpu: [arm64]
340 | os: [win32]
341 |
342 | '@img/sharp-win32-ia32@0.34.5':
343 | resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
344 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
345 | cpu: [ia32]
346 | os: [win32]
347 |
348 | '@img/sharp-win32-x64@0.34.5':
349 | resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
350 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
351 | cpu: [x64]
352 | os: [win32]
353 |
354 | '@jridgewell/gen-mapping@0.3.13':
355 | resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
356 |
357 | '@jridgewell/resolve-uri@3.1.2':
358 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
359 | engines: {node: '>=6.0.0'}
360 |
361 | '@jridgewell/sourcemap-codec@1.5.5':
362 | resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
363 |
364 | '@jridgewell/trace-mapping@0.3.31':
365 | resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
366 |
367 | '@next/env@15.5.9':
368 | resolution: {integrity: sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg==}
369 |
370 | '@next/swc-darwin-arm64@15.5.7':
371 | resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==}
372 | engines: {node: '>= 10'}
373 | cpu: [arm64]
374 | os: [darwin]
375 |
376 | '@next/swc-darwin-x64@15.5.7':
377 | resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==}
378 | engines: {node: '>= 10'}
379 | cpu: [x64]
380 | os: [darwin]
381 |
382 | '@next/swc-linux-arm64-gnu@15.5.7':
383 | resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==}
384 | engines: {node: '>= 10'}
385 | cpu: [arm64]
386 | os: [linux]
387 |
388 | '@next/swc-linux-arm64-musl@15.5.7':
389 | resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==}
390 | engines: {node: '>= 10'}
391 | cpu: [arm64]
392 | os: [linux]
393 |
394 | '@next/swc-linux-x64-gnu@15.5.7':
395 | resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==}
396 | engines: {node: '>= 10'}
397 | cpu: [x64]
398 | os: [linux]
399 |
400 | '@next/swc-linux-x64-musl@15.5.7':
401 | resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==}
402 | engines: {node: '>= 10'}
403 | cpu: [x64]
404 | os: [linux]
405 |
406 | '@next/swc-win32-arm64-msvc@15.5.7':
407 | resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==}
408 | engines: {node: '>= 10'}
409 | cpu: [arm64]
410 | os: [win32]
411 |
412 | '@next/swc-win32-x64-msvc@15.5.7':
413 | resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==}
414 | engines: {node: '>= 10'}
415 | cpu: [x64]
416 | os: [win32]
417 |
418 | '@nodelib/fs.scandir@2.1.5':
419 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
420 | engines: {node: '>= 8'}
421 |
422 | '@nodelib/fs.stat@2.0.5':
423 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
424 | engines: {node: '>= 8'}
425 |
426 | '@nodelib/fs.walk@1.2.8':
427 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
428 | engines: {node: '>= 8'}
429 |
430 | '@radix-ui/number@1.1.0':
431 | resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
432 |
433 | '@radix-ui/primitive@1.1.1':
434 | resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
435 |
436 | '@radix-ui/react-accordion@1.2.2':
437 | resolution: {integrity: sha512-b1oh54x4DMCdGsB4/7ahiSrViXxaBwRPotiZNnYXjLha9vfuURSAZErki6qjDoSIV0eXx5v57XnTGVtGwnfp2g==}
438 | peerDependencies:
439 | '@types/react': '*'
440 | '@types/react-dom': '*'
441 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
442 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
443 | peerDependenciesMeta:
444 | '@types/react':
445 | optional: true
446 | '@types/react-dom':
447 | optional: true
448 |
449 | '@radix-ui/react-alert-dialog@1.1.4':
450 | resolution: {integrity: sha512-A6Kh23qZDLy3PSU4bh2UJZznOrUdHImIXqF8YtUa6CN73f8EOO9XlXSCd9IHyPvIquTaa/kwaSWzZTtUvgXVGw==}
451 | peerDependencies:
452 | '@types/react': '*'
453 | '@types/react-dom': '*'
454 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
455 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
456 | peerDependenciesMeta:
457 | '@types/react':
458 | optional: true
459 | '@types/react-dom':
460 | optional: true
461 |
462 | '@radix-ui/react-arrow@1.1.1':
463 | resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==}
464 | peerDependencies:
465 | '@types/react': '*'
466 | '@types/react-dom': '*'
467 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
468 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
469 | peerDependenciesMeta:
470 | '@types/react':
471 | optional: true
472 | '@types/react-dom':
473 | optional: true
474 |
475 | '@radix-ui/react-aspect-ratio@1.1.1':
476 | resolution: {integrity: sha512-kNU4FIpcFMBLkOUcgeIteH06/8JLBcYY6Le1iKenDGCYNYFX3TQqCZjzkOsz37h7r94/99GTb7YhEr98ZBJibw==}
477 | peerDependencies:
478 | '@types/react': '*'
479 | '@types/react-dom': '*'
480 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
481 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
482 | peerDependenciesMeta:
483 | '@types/react':
484 | optional: true
485 | '@types/react-dom':
486 | optional: true
487 |
488 | '@radix-ui/react-avatar@1.1.2':
489 | resolution: {integrity: sha512-GaC7bXQZ5VgZvVvsJ5mu/AEbjYLnhhkoidOboC50Z6FFlLA03wG2ianUoH+zgDQ31/9gCF59bE4+2bBgTyMiig==}
490 | peerDependencies:
491 | '@types/react': '*'
492 | '@types/react-dom': '*'
493 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
494 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
495 | peerDependenciesMeta:
496 | '@types/react':
497 | optional: true
498 | '@types/react-dom':
499 | optional: true
500 |
501 | '@radix-ui/react-checkbox@1.1.3':
502 | resolution: {integrity: sha512-HD7/ocp8f1B3e6OHygH0n7ZKjONkhciy1Nh0yuBgObqThc3oyx+vuMfFHKAknXRHHWVE9XvXStxJFyjUmB8PIw==}
503 | peerDependencies:
504 | '@types/react': '*'
505 | '@types/react-dom': '*'
506 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
507 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
508 | peerDependenciesMeta:
509 | '@types/react':
510 | optional: true
511 | '@types/react-dom':
512 | optional: true
513 |
514 | '@radix-ui/react-collapsible@1.1.2':
515 | resolution: {integrity: sha512-PliMB63vxz7vggcyq0IxNYk8vGDrLXVWw4+W4B8YnwI1s18x7YZYqlG9PLX7XxAJUi0g2DxP4XKJMFHh/iVh9A==}
516 | peerDependencies:
517 | '@types/react': '*'
518 | '@types/react-dom': '*'
519 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
520 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
521 | peerDependenciesMeta:
522 | '@types/react':
523 | optional: true
524 | '@types/react-dom':
525 | optional: true
526 |
527 | '@radix-ui/react-collection@1.1.1':
528 | resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==}
529 | peerDependencies:
530 | '@types/react': '*'
531 | '@types/react-dom': '*'
532 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
533 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
534 | peerDependenciesMeta:
535 | '@types/react':
536 | optional: true
537 | '@types/react-dom':
538 | optional: true
539 |
540 | '@radix-ui/react-compose-refs@1.1.1':
541 | resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
542 | peerDependencies:
543 | '@types/react': '*'
544 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
545 | peerDependenciesMeta:
546 | '@types/react':
547 | optional: true
548 |
549 | '@radix-ui/react-compose-refs@1.1.2':
550 | resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
551 | peerDependencies:
552 | '@types/react': '*'
553 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
554 | peerDependenciesMeta:
555 | '@types/react':
556 | optional: true
557 |
558 | '@radix-ui/react-context-menu@2.2.4':
559 | resolution: {integrity: sha512-ap4wdGwK52rJxGkwukU1NrnEodsUFQIooANKu+ey7d6raQ2biTcEf8za1zr0mgFHieevRTB2nK4dJeN8pTAZGQ==}
560 | peerDependencies:
561 | '@types/react': '*'
562 | '@types/react-dom': '*'
563 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
564 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
565 | peerDependenciesMeta:
566 | '@types/react':
567 | optional: true
568 | '@types/react-dom':
569 | optional: true
570 |
571 | '@radix-ui/react-context@1.1.1':
572 | resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
573 | peerDependencies:
574 | '@types/react': '*'
575 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
576 | peerDependenciesMeta:
577 | '@types/react':
578 | optional: true
579 |
580 | '@radix-ui/react-dialog@1.1.4':
581 | resolution: {integrity: sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==}
582 | peerDependencies:
583 | '@types/react': '*'
584 | '@types/react-dom': '*'
585 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
586 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
587 | peerDependenciesMeta:
588 | '@types/react':
589 | optional: true
590 | '@types/react-dom':
591 | optional: true
592 |
593 | '@radix-ui/react-direction@1.1.0':
594 | resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==}
595 | peerDependencies:
596 | '@types/react': '*'
597 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
598 | peerDependenciesMeta:
599 | '@types/react':
600 | optional: true
601 |
602 | '@radix-ui/react-dismissable-layer@1.1.3':
603 | resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==}
604 | peerDependencies:
605 | '@types/react': '*'
606 | '@types/react-dom': '*'
607 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
608 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
609 | peerDependenciesMeta:
610 | '@types/react':
611 | optional: true
612 | '@types/react-dom':
613 | optional: true
614 |
615 | '@radix-ui/react-dropdown-menu@2.1.4':
616 | resolution: {integrity: sha512-iXU1Ab5ecM+yEepGAWK8ZhMyKX4ubFdCNtol4sT9D0OVErG9PNElfx3TQhjw7n7BC5nFVz68/5//clWy+8TXzA==}
617 | peerDependencies:
618 | '@types/react': '*'
619 | '@types/react-dom': '*'
620 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
621 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
622 | peerDependenciesMeta:
623 | '@types/react':
624 | optional: true
625 | '@types/react-dom':
626 | optional: true
627 |
628 | '@radix-ui/react-focus-guards@1.1.1':
629 | resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==}
630 | peerDependencies:
631 | '@types/react': '*'
632 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
633 | peerDependenciesMeta:
634 | '@types/react':
635 | optional: true
636 |
637 | '@radix-ui/react-focus-scope@1.1.1':
638 | resolution: {integrity: sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==}
639 | peerDependencies:
640 | '@types/react': '*'
641 | '@types/react-dom': '*'
642 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
643 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
644 | peerDependenciesMeta:
645 | '@types/react':
646 | optional: true
647 | '@types/react-dom':
648 | optional: true
649 |
650 | '@radix-ui/react-hover-card@1.1.4':
651 | resolution: {integrity: sha512-QSUUnRA3PQ2UhvoCv3eYvMnCAgGQW+sTu86QPuNb+ZMi+ZENd6UWpiXbcWDQ4AEaKF9KKpCHBeaJz9Rw6lRlaQ==}
652 | peerDependencies:
653 | '@types/react': '*'
654 | '@types/react-dom': '*'
655 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
656 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
657 | peerDependenciesMeta:
658 | '@types/react':
659 | optional: true
660 | '@types/react-dom':
661 | optional: true
662 |
663 | '@radix-ui/react-id@1.1.0':
664 | resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
665 | peerDependencies:
666 | '@types/react': '*'
667 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
668 | peerDependenciesMeta:
669 | '@types/react':
670 | optional: true
671 |
672 | '@radix-ui/react-id@1.1.1':
673 | resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==}
674 | peerDependencies:
675 | '@types/react': '*'
676 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
677 | peerDependenciesMeta:
678 | '@types/react':
679 | optional: true
680 |
681 | '@radix-ui/react-label@2.1.1':
682 | resolution: {integrity: sha512-UUw5E4e/2+4kFMH7+YxORXGWggtY6sM8WIwh5RZchhLuUg2H1hc98Py+pr8HMz6rdaYrK2t296ZEjYLOCO5uUw==}
683 | peerDependencies:
684 | '@types/react': '*'
685 | '@types/react-dom': '*'
686 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
687 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
688 | peerDependenciesMeta:
689 | '@types/react':
690 | optional: true
691 | '@types/react-dom':
692 | optional: true
693 |
694 | '@radix-ui/react-menu@2.1.4':
695 | resolution: {integrity: sha512-BnOgVoL6YYdHAG6DtXONaR29Eq4nvbi8rutrV/xlr3RQCMMb3yqP85Qiw/3NReozrSW+4dfLkK+rc1hb4wPU/A==}
696 | peerDependencies:
697 | '@types/react': '*'
698 | '@types/react-dom': '*'
699 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
700 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
701 | peerDependenciesMeta:
702 | '@types/react':
703 | optional: true
704 | '@types/react-dom':
705 | optional: true
706 |
707 | '@radix-ui/react-menubar@1.1.4':
708 | resolution: {integrity: sha512-+KMpi7VAZuB46+1LD7a30zb5IxyzLgC8m8j42gk3N4TUCcViNQdX8FhoH1HDvYiA8quuqcek4R4bYpPn/SY1GA==}
709 | peerDependencies:
710 | '@types/react': '*'
711 | '@types/react-dom': '*'
712 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
713 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
714 | peerDependenciesMeta:
715 | '@types/react':
716 | optional: true
717 | '@types/react-dom':
718 | optional: true
719 |
720 | '@radix-ui/react-navigation-menu@1.2.3':
721 | resolution: {integrity: sha512-IQWAsQ7dsLIYDrn0WqPU+cdM7MONTv9nqrLVYoie3BPiabSfUVDe6Fr+oEt0Cofsr9ONDcDe9xhmJbL1Uq1yKg==}
722 | peerDependencies:
723 | '@types/react': '*'
724 | '@types/react-dom': '*'
725 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
726 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
727 | peerDependenciesMeta:
728 | '@types/react':
729 | optional: true
730 | '@types/react-dom':
731 | optional: true
732 |
733 | '@radix-ui/react-popover@1.1.4':
734 | resolution: {integrity: sha512-aUACAkXx8LaFymDma+HQVji7WhvEhpFJ7+qPz17Nf4lLZqtreGOFRiNQWQmhzp7kEWg9cOyyQJpdIMUMPc/CPw==}
735 | peerDependencies:
736 | '@types/react': '*'
737 | '@types/react-dom': '*'
738 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
739 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
740 | peerDependenciesMeta:
741 | '@types/react':
742 | optional: true
743 | '@types/react-dom':
744 | optional: true
745 |
746 | '@radix-ui/react-popper@1.2.1':
747 | resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==}
748 | peerDependencies:
749 | '@types/react': '*'
750 | '@types/react-dom': '*'
751 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
752 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
753 | peerDependenciesMeta:
754 | '@types/react':
755 | optional: true
756 | '@types/react-dom':
757 | optional: true
758 |
759 | '@radix-ui/react-portal@1.1.3':
760 | resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==}
761 | peerDependencies:
762 | '@types/react': '*'
763 | '@types/react-dom': '*'
764 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
765 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
766 | peerDependenciesMeta:
767 | '@types/react':
768 | optional: true
769 | '@types/react-dom':
770 | optional: true
771 |
772 | '@radix-ui/react-presence@1.1.2':
773 | resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
774 | peerDependencies:
775 | '@types/react': '*'
776 | '@types/react-dom': '*'
777 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
778 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
779 | peerDependenciesMeta:
780 | '@types/react':
781 | optional: true
782 | '@types/react-dom':
783 | optional: true
784 |
785 | '@radix-ui/react-primitive@2.0.1':
786 | resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==}
787 | peerDependencies:
788 | '@types/react': '*'
789 | '@types/react-dom': '*'
790 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
791 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
792 | peerDependenciesMeta:
793 | '@types/react':
794 | optional: true
795 | '@types/react-dom':
796 | optional: true
797 |
798 | '@radix-ui/react-primitive@2.1.3':
799 | resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==}
800 | peerDependencies:
801 | '@types/react': '*'
802 | '@types/react-dom': '*'
803 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
804 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
805 | peerDependenciesMeta:
806 | '@types/react':
807 | optional: true
808 | '@types/react-dom':
809 | optional: true
810 |
811 | '@radix-ui/react-progress@1.1.1':
812 | resolution: {integrity: sha512-6diOawA84f/eMxFHcWut0aE1C2kyE9dOyCTQOMRR2C/qPiXz/X0SaiA/RLbapQaXUCmy0/hLMf9meSccD1N0pA==}
813 | peerDependencies:
814 | '@types/react': '*'
815 | '@types/react-dom': '*'
816 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
817 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
818 | peerDependenciesMeta:
819 | '@types/react':
820 | optional: true
821 | '@types/react-dom':
822 | optional: true
823 |
824 | '@radix-ui/react-radio-group@1.2.2':
825 | resolution: {integrity: sha512-E0MLLGfOP0l8P/NxgVzfXJ8w3Ch8cdO6UDzJfDChu4EJDy+/WdO5LqpdY8PYnCErkmZH3gZhDL1K7kQ41fAHuQ==}
826 | peerDependencies:
827 | '@types/react': '*'
828 | '@types/react-dom': '*'
829 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
830 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
831 | peerDependenciesMeta:
832 | '@types/react':
833 | optional: true
834 | '@types/react-dom':
835 | optional: true
836 |
837 | '@radix-ui/react-roving-focus@1.1.1':
838 | resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==}
839 | peerDependencies:
840 | '@types/react': '*'
841 | '@types/react-dom': '*'
842 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
843 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
844 | peerDependenciesMeta:
845 | '@types/react':
846 | optional: true
847 | '@types/react-dom':
848 | optional: true
849 |
850 | '@radix-ui/react-scroll-area@1.2.2':
851 | resolution: {integrity: sha512-EFI1N/S3YxZEW/lJ/H1jY3njlvTd8tBmgKEn4GHi51+aMm94i6NmAJstsm5cu3yJwYqYc93gpCPm21FeAbFk6g==}
852 | peerDependencies:
853 | '@types/react': '*'
854 | '@types/react-dom': '*'
855 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
856 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
857 | peerDependenciesMeta:
858 | '@types/react':
859 | optional: true
860 | '@types/react-dom':
861 | optional: true
862 |
863 | '@radix-ui/react-select@2.1.4':
864 | resolution: {integrity: sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ==}
865 | peerDependencies:
866 | '@types/react': '*'
867 | '@types/react-dom': '*'
868 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
869 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
870 | peerDependenciesMeta:
871 | '@types/react':
872 | optional: true
873 | '@types/react-dom':
874 | optional: true
875 |
876 | '@radix-ui/react-separator@1.1.1':
877 | resolution: {integrity: sha512-RRiNRSrD8iUiXriq/Y5n4/3iE8HzqgLHsusUSg5jVpU2+3tqcUFPJXHDymwEypunc2sWxDUS3UC+rkZRlHedsw==}
878 | peerDependencies:
879 | '@types/react': '*'
880 | '@types/react-dom': '*'
881 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
882 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
883 | peerDependenciesMeta:
884 | '@types/react':
885 | optional: true
886 | '@types/react-dom':
887 | optional: true
888 |
889 | '@radix-ui/react-slider@1.2.2':
890 | resolution: {integrity: sha512-sNlU06ii1/ZcbHf8I9En54ZPW0Vil/yPVg4vQMcFNjrIx51jsHbFl1HYHQvCIWJSr1q0ZmA+iIs/ZTv8h7HHSA==}
891 | peerDependencies:
892 | '@types/react': '*'
893 | '@types/react-dom': '*'
894 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
895 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
896 | peerDependenciesMeta:
897 | '@types/react':
898 | optional: true
899 | '@types/react-dom':
900 | optional: true
901 |
902 | '@radix-ui/react-slot@1.1.1':
903 | resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==}
904 | peerDependencies:
905 | '@types/react': '*'
906 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
907 | peerDependenciesMeta:
908 | '@types/react':
909 | optional: true
910 |
911 | '@radix-ui/react-slot@1.2.3':
912 | resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==}
913 | peerDependencies:
914 | '@types/react': '*'
915 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
916 | peerDependenciesMeta:
917 | '@types/react':
918 | optional: true
919 |
920 | '@radix-ui/react-switch@1.1.2':
921 | resolution: {integrity: sha512-zGukiWHjEdBCRyXvKR6iXAQG6qXm2esuAD6kDOi9Cn+1X6ev3ASo4+CsYaD6Fov9r/AQFekqnD/7+V0Cs6/98g==}
922 | peerDependencies:
923 | '@types/react': '*'
924 | '@types/react-dom': '*'
925 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
926 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
927 | peerDependenciesMeta:
928 | '@types/react':
929 | optional: true
930 | '@types/react-dom':
931 | optional: true
932 |
933 | '@radix-ui/react-tabs@1.1.2':
934 | resolution: {integrity: sha512-9u/tQJMcC2aGq7KXpGivMm1mgq7oRJKXphDwdypPd/j21j/2znamPU8WkXgnhUaTrSFNIt8XhOyCAupg8/GbwQ==}
935 | peerDependencies:
936 | '@types/react': '*'
937 | '@types/react-dom': '*'
938 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
939 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
940 | peerDependenciesMeta:
941 | '@types/react':
942 | optional: true
943 | '@types/react-dom':
944 | optional: true
945 |
946 | '@radix-ui/react-toast@1.2.4':
947 | resolution: {integrity: sha512-Sch9idFJHJTMH9YNpxxESqABcAFweJG4tKv+0zo0m5XBvUSL8FM5xKcJLFLXononpePs8IclyX1KieL5SDUNgA==}
948 | peerDependencies:
949 | '@types/react': '*'
950 | '@types/react-dom': '*'
951 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
952 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
953 | peerDependenciesMeta:
954 | '@types/react':
955 | optional: true
956 | '@types/react-dom':
957 | optional: true
958 |
959 | '@radix-ui/react-toggle-group@1.1.1':
960 | resolution: {integrity: sha512-OgDLZEA30Ylyz8YSXvnGqIHtERqnUt1KUYTKdw/y8u7Ci6zGiJfXc02jahmcSNK3YcErqioj/9flWC9S1ihfwg==}
961 | peerDependencies:
962 | '@types/react': '*'
963 | '@types/react-dom': '*'
964 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
965 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
966 | peerDependenciesMeta:
967 | '@types/react':
968 | optional: true
969 | '@types/react-dom':
970 | optional: true
971 |
972 | '@radix-ui/react-toggle@1.1.1':
973 | resolution: {integrity: sha512-i77tcgObYr743IonC1hrsnnPmszDRn8p+EGUsUt+5a/JFn28fxaM88Py6V2mc8J5kELMWishI0rLnuGLFD/nnQ==}
974 | peerDependencies:
975 | '@types/react': '*'
976 | '@types/react-dom': '*'
977 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
978 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
979 | peerDependenciesMeta:
980 | '@types/react':
981 | optional: true
982 | '@types/react-dom':
983 | optional: true
984 |
985 | '@radix-ui/react-tooltip@1.1.6':
986 | resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==}
987 | peerDependencies:
988 | '@types/react': '*'
989 | '@types/react-dom': '*'
990 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
991 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
992 | peerDependenciesMeta:
993 | '@types/react':
994 | optional: true
995 | '@types/react-dom':
996 | optional: true
997 |
998 | '@radix-ui/react-use-callback-ref@1.1.0':
999 | resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
1000 | peerDependencies:
1001 | '@types/react': '*'
1002 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1003 | peerDependenciesMeta:
1004 | '@types/react':
1005 | optional: true
1006 |
1007 | '@radix-ui/react-use-controllable-state@1.1.0':
1008 | resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
1009 | peerDependencies:
1010 | '@types/react': '*'
1011 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1012 | peerDependenciesMeta:
1013 | '@types/react':
1014 | optional: true
1015 |
1016 | '@radix-ui/react-use-escape-keydown@1.1.0':
1017 | resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
1018 | peerDependencies:
1019 | '@types/react': '*'
1020 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1021 | peerDependenciesMeta:
1022 | '@types/react':
1023 | optional: true
1024 |
1025 | '@radix-ui/react-use-layout-effect@1.1.0':
1026 | resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
1027 | peerDependencies:
1028 | '@types/react': '*'
1029 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1030 | peerDependenciesMeta:
1031 | '@types/react':
1032 | optional: true
1033 |
1034 | '@radix-ui/react-use-layout-effect@1.1.1':
1035 | resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==}
1036 | peerDependencies:
1037 | '@types/react': '*'
1038 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1039 | peerDependenciesMeta:
1040 | '@types/react':
1041 | optional: true
1042 |
1043 | '@radix-ui/react-use-previous@1.1.0':
1044 | resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==}
1045 | peerDependencies:
1046 | '@types/react': '*'
1047 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1048 | peerDependenciesMeta:
1049 | '@types/react':
1050 | optional: true
1051 |
1052 | '@radix-ui/react-use-rect@1.1.0':
1053 | resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
1054 | peerDependencies:
1055 | '@types/react': '*'
1056 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1057 | peerDependenciesMeta:
1058 | '@types/react':
1059 | optional: true
1060 |
1061 | '@radix-ui/react-use-size@1.1.0':
1062 | resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
1063 | peerDependencies:
1064 | '@types/react': '*'
1065 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1066 | peerDependenciesMeta:
1067 | '@types/react':
1068 | optional: true
1069 |
1070 | '@radix-ui/react-visually-hidden@1.1.1':
1071 | resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==}
1072 | peerDependencies:
1073 | '@types/react': '*'
1074 | '@types/react-dom': '*'
1075 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1076 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1077 | peerDependenciesMeta:
1078 | '@types/react':
1079 | optional: true
1080 | '@types/react-dom':
1081 | optional: true
1082 |
1083 | '@radix-ui/rect@1.1.0':
1084 | resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
1085 |
1086 | '@swc/helpers@0.5.15':
1087 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
1088 |
1089 | '@types/d3-array@3.2.2':
1090 | resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
1091 |
1092 | '@types/d3-color@3.1.3':
1093 | resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
1094 |
1095 | '@types/d3-ease@3.0.2':
1096 | resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
1097 |
1098 | '@types/d3-interpolate@3.0.4':
1099 | resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
1100 |
1101 | '@types/d3-path@3.1.1':
1102 | resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
1103 |
1104 | '@types/d3-scale@4.0.9':
1105 | resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
1106 |
1107 | '@types/d3-shape@3.1.7':
1108 | resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
1109 |
1110 | '@types/d3-time@3.0.4':
1111 | resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
1112 |
1113 | '@types/d3-timer@3.0.2':
1114 | resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
1115 |
1116 | '@types/node@22.0.0':
1117 | resolution: {integrity: sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==}
1118 |
1119 | '@types/react-dom@19.0.0':
1120 | resolution: {integrity: sha512-1KfiQKsH1o00p9m5ag12axHQSb3FOU9H20UTrujVSkNhuCrRHiQWFqgEnTNK5ZNfnzZv8UWrnXVqCmCF9fgY3w==}
1121 |
1122 | '@types/react@19.0.0':
1123 | resolution: {integrity: sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==}
1124 |
1125 | '@vercel/analytics@1.3.1':
1126 | resolution: {integrity: sha512-xhSlYgAuJ6Q4WQGkzYTLmXwhYl39sWjoMA3nHxfkvG+WdBT25c563a7QhwwKivEOZtPJXifYHR1m2ihoisbWyA==}
1127 | peerDependencies:
1128 | next: '>= 13'
1129 | react: ^18 || ^19
1130 | peerDependenciesMeta:
1131 | next:
1132 | optional: true
1133 | react:
1134 | optional: true
1135 |
1136 | any-promise@1.3.0:
1137 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
1138 |
1139 | anymatch@3.1.3:
1140 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
1141 | engines: {node: '>= 8'}
1142 |
1143 | arg@5.0.2:
1144 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
1145 |
1146 | aria-hidden@1.2.6:
1147 | resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
1148 | engines: {node: '>=10'}
1149 |
1150 | autoprefixer@10.4.20:
1151 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
1152 | engines: {node: ^10 || ^12 || >=14}
1153 | hasBin: true
1154 | peerDependencies:
1155 | postcss: ^8.1.0
1156 |
1157 | baseline-browser-mapping@2.8.23:
1158 | resolution: {integrity: sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ==}
1159 | hasBin: true
1160 |
1161 | binary-extensions@2.3.0:
1162 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
1163 | engines: {node: '>=8'}
1164 |
1165 | braces@3.0.3:
1166 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
1167 | engines: {node: '>=8'}
1168 |
1169 | browserslist@4.27.0:
1170 | resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==}
1171 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1172 | hasBin: true
1173 |
1174 | camelcase-css@2.0.1:
1175 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
1176 | engines: {node: '>= 6'}
1177 |
1178 | caniuse-lite@1.0.30001753:
1179 | resolution: {integrity: sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw==}
1180 |
1181 | chokidar@3.6.0:
1182 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
1183 | engines: {node: '>= 8.10.0'}
1184 |
1185 | class-variance-authority@0.7.1:
1186 | resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
1187 |
1188 | client-only@0.0.1:
1189 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
1190 |
1191 | clsx@2.1.1:
1192 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
1193 | engines: {node: '>=6'}
1194 |
1195 | cmdk@1.0.4:
1196 | resolution: {integrity: sha512-AnsjfHyHpQ/EFeAnG216WY7A5LiYCoZzCSygiLvfXC3H3LFGCprErteUcszaVluGOhuOTbJS3jWHrSDYPBBygg==}
1197 | peerDependencies:
1198 | react: ^18 || ^19 || ^19.0.0-rc
1199 | react-dom: ^18 || ^19 || ^19.0.0-rc
1200 |
1201 | commander@4.1.1:
1202 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1203 | engines: {node: '>= 6'}
1204 |
1205 | cssesc@3.0.0:
1206 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1207 | engines: {node: '>=4'}
1208 | hasBin: true
1209 |
1210 | csstype@3.1.3:
1211 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
1212 |
1213 | d3-array@3.2.4:
1214 | resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
1215 | engines: {node: '>=12'}
1216 |
1217 | d3-color@3.1.0:
1218 | resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
1219 | engines: {node: '>=12'}
1220 |
1221 | d3-ease@3.0.1:
1222 | resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
1223 | engines: {node: '>=12'}
1224 |
1225 | d3-format@3.1.0:
1226 | resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
1227 | engines: {node: '>=12'}
1228 |
1229 | d3-interpolate@3.0.1:
1230 | resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
1231 | engines: {node: '>=12'}
1232 |
1233 | d3-path@3.1.0:
1234 | resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
1235 | engines: {node: '>=12'}
1236 |
1237 | d3-scale@4.0.2:
1238 | resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
1239 | engines: {node: '>=12'}
1240 |
1241 | d3-shape@3.2.0:
1242 | resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
1243 | engines: {node: '>=12'}
1244 |
1245 | d3-time-format@4.1.0:
1246 | resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
1247 | engines: {node: '>=12'}
1248 |
1249 | d3-time@3.1.0:
1250 | resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
1251 | engines: {node: '>=12'}
1252 |
1253 | d3-timer@3.0.1:
1254 | resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
1255 | engines: {node: '>=12'}
1256 |
1257 | date-fns-jalali@4.1.0-0:
1258 | resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==}
1259 |
1260 | date-fns@4.1.0:
1261 | resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
1262 |
1263 | decimal.js-light@2.5.1:
1264 | resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==}
1265 |
1266 | detect-libc@2.1.2:
1267 | resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
1268 | engines: {node: '>=8'}
1269 |
1270 | detect-node-es@1.1.0:
1271 | resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
1272 |
1273 | didyoumean@1.2.2:
1274 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
1275 |
1276 | dlv@1.1.3:
1277 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
1278 |
1279 | dom-helpers@5.2.1:
1280 | resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
1281 |
1282 | electron-to-chromium@1.5.244:
1283 | resolution: {integrity: sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==}
1284 |
1285 | embla-carousel-react@8.5.1:
1286 | resolution: {integrity: sha512-z9Y0K84BJvhChXgqn2CFYbfEi6AwEr+FFVVKm/MqbTQ2zIzO1VQri6w67LcfpVF0AjbhwVMywDZqY4alYkjW5w==}
1287 | peerDependencies:
1288 | react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1289 |
1290 | embla-carousel-reactive-utils@8.5.1:
1291 | resolution: {integrity: sha512-n7VSoGIiiDIc4MfXF3ZRTO59KDp820QDuyBDGlt5/65+lumPHxX2JLz0EZ23hZ4eg4vZGUXwMkYv02fw2JVo/A==}
1292 | peerDependencies:
1293 | embla-carousel: 8.5.1
1294 |
1295 | embla-carousel@8.5.1:
1296 | resolution: {integrity: sha512-JUb5+FOHobSiWQ2EJNaueCNT/cQU9L6XWBbWmorWPQT9bkbk+fhsuLr8wWrzXKagO3oWszBO7MSx+GfaRk4E6A==}
1297 |
1298 | escalade@3.2.0:
1299 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
1300 | engines: {node: '>=6'}
1301 |
1302 | eventemitter3@4.0.7:
1303 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
1304 |
1305 | fast-equals@5.3.2:
1306 | resolution: {integrity: sha512-6rxyATwPCkaFIL3JLqw8qXqMpIZ942pTX/tbQFkRsDGblS8tNGtlUauA/+mt6RUfqn/4MoEr+WDkYoIQbibWuQ==}
1307 | engines: {node: '>=6.0.0'}
1308 |
1309 | fast-glob@3.3.3:
1310 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
1311 | engines: {node: '>=8.6.0'}
1312 |
1313 | fastq@1.19.1:
1314 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
1315 |
1316 | fdir@6.5.0:
1317 | resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
1318 | engines: {node: '>=12.0.0'}
1319 | peerDependencies:
1320 | picomatch: ^3 || ^4
1321 | peerDependenciesMeta:
1322 | picomatch:
1323 | optional: true
1324 |
1325 | fill-range@7.1.1:
1326 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1327 | engines: {node: '>=8'}
1328 |
1329 | fraction.js@4.3.7:
1330 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1331 |
1332 | fsevents@2.3.3:
1333 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1334 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1335 | os: [darwin]
1336 |
1337 | function-bind@1.1.2:
1338 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1339 |
1340 | get-nonce@1.0.1:
1341 | resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
1342 | engines: {node: '>=6'}
1343 |
1344 | glob-parent@5.1.2:
1345 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1346 | engines: {node: '>= 6'}
1347 |
1348 | glob-parent@6.0.2:
1349 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1350 | engines: {node: '>=10.13.0'}
1351 |
1352 | hasown@2.0.2:
1353 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1354 | engines: {node: '>= 0.4'}
1355 |
1356 | input-otp@1.4.1:
1357 | resolution: {integrity: sha512-+yvpmKYKHi9jIGngxagY9oWiiblPB7+nEO75F2l2o4vs+6vpPZZmUl4tBNYuTCvQjhvEIbdNeJu70bhfYP2nbw==}
1358 | peerDependencies:
1359 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
1360 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
1361 |
1362 | internmap@2.0.3:
1363 | resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
1364 | engines: {node: '>=12'}
1365 |
1366 | is-binary-path@2.1.0:
1367 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1368 | engines: {node: '>=8'}
1369 |
1370 | is-core-module@2.16.1:
1371 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1372 | engines: {node: '>= 0.4'}
1373 |
1374 | is-extglob@2.1.1:
1375 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1376 | engines: {node: '>=0.10.0'}
1377 |
1378 | is-glob@4.0.3:
1379 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1380 | engines: {node: '>=0.10.0'}
1381 |
1382 | is-number@7.0.0:
1383 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1384 | engines: {node: '>=0.12.0'}
1385 |
1386 | jiti@1.21.7:
1387 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
1388 | hasBin: true
1389 |
1390 | js-tokens@4.0.0:
1391 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1392 |
1393 | lilconfig@3.1.3:
1394 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
1395 | engines: {node: '>=14'}
1396 |
1397 | lines-and-columns@1.2.4:
1398 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1399 |
1400 | lodash@4.17.21:
1401 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1402 |
1403 | loose-envify@1.4.0:
1404 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1405 | hasBin: true
1406 |
1407 | lucide-react@0.454.0:
1408 | resolution: {integrity: sha512-hw7zMDwykCLnEzgncEEjHeA6+45aeEzRYuKHuyRSOPkhko+J3ySGjGIzu+mmMfDFG1vazHepMaYFYHbTFAZAAQ==}
1409 | peerDependencies:
1410 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
1411 |
1412 | merge2@1.4.1:
1413 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1414 | engines: {node: '>= 8'}
1415 |
1416 | micromatch@4.0.8:
1417 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1418 | engines: {node: '>=8.6'}
1419 |
1420 | mz@2.7.0:
1421 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1422 |
1423 | nanoid@3.3.11:
1424 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1425 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1426 | hasBin: true
1427 |
1428 | next-themes@0.4.6:
1429 | resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
1430 | peerDependencies:
1431 | react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
1432 | react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
1433 |
1434 | next@15.5.9:
1435 | resolution: {integrity: sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg==}
1436 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
1437 | hasBin: true
1438 | peerDependencies:
1439 | '@opentelemetry/api': ^1.1.0
1440 | '@playwright/test': ^1.51.1
1441 | babel-plugin-react-compiler: '*'
1442 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1443 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1444 | sass: ^1.3.0
1445 | peerDependenciesMeta:
1446 | '@opentelemetry/api':
1447 | optional: true
1448 | '@playwright/test':
1449 | optional: true
1450 | babel-plugin-react-compiler:
1451 | optional: true
1452 | sass:
1453 | optional: true
1454 |
1455 | node-releases@2.0.27:
1456 | resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
1457 |
1458 | normalize-path@3.0.0:
1459 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1460 | engines: {node: '>=0.10.0'}
1461 |
1462 | normalize-range@0.1.2:
1463 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1464 | engines: {node: '>=0.10.0'}
1465 |
1466 | object-assign@4.1.1:
1467 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1468 | engines: {node: '>=0.10.0'}
1469 |
1470 | object-hash@3.0.0:
1471 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1472 | engines: {node: '>= 6'}
1473 |
1474 | path-parse@1.0.7:
1475 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1476 |
1477 | picocolors@1.1.1:
1478 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1479 |
1480 | picomatch@2.3.1:
1481 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1482 | engines: {node: '>=8.6'}
1483 |
1484 | picomatch@4.0.3:
1485 | resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
1486 | engines: {node: '>=12'}
1487 |
1488 | pify@2.3.0:
1489 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1490 | engines: {node: '>=0.10.0'}
1491 |
1492 | pirates@4.0.7:
1493 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
1494 | engines: {node: '>= 6'}
1495 |
1496 | postcss-import@15.1.0:
1497 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1498 | engines: {node: '>=14.0.0'}
1499 | peerDependencies:
1500 | postcss: ^8.0.0
1501 |
1502 | postcss-js@4.1.0:
1503 | resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==}
1504 | engines: {node: ^12 || ^14 || >= 16}
1505 | peerDependencies:
1506 | postcss: ^8.4.21
1507 |
1508 | postcss-load-config@4.0.2:
1509 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
1510 | engines: {node: '>= 14'}
1511 | peerDependencies:
1512 | postcss: '>=8.0.9'
1513 | ts-node: '>=9.0.0'
1514 | peerDependenciesMeta:
1515 | postcss:
1516 | optional: true
1517 | ts-node:
1518 | optional: true
1519 |
1520 | postcss-nested@6.2.0:
1521 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
1522 | engines: {node: '>=12.0'}
1523 | peerDependencies:
1524 | postcss: ^8.2.14
1525 |
1526 | postcss-selector-parser@6.1.2:
1527 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
1528 | engines: {node: '>=4'}
1529 |
1530 | postcss-value-parser@4.2.0:
1531 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1532 |
1533 | postcss@8.4.31:
1534 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1535 | engines: {node: ^10 || ^12 || >=14}
1536 |
1537 | postcss@8.5.0:
1538 | resolution: {integrity: sha512-27VKOqrYfPncKA2NrFOVhP5MGAfHKLYn/Q0mz9cNQyRAKYi3VNHwYU2qKKqPCqgBmeeJ0uAFB56NumXZ5ZReXg==}
1539 | engines: {node: ^10 || ^12 || >=14}
1540 |
1541 | prop-types@15.8.1:
1542 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1543 |
1544 | queue-microtask@1.2.3:
1545 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1546 |
1547 | react-day-picker@9.8.0:
1548 | resolution: {integrity: sha512-E0yhhg7R+pdgbl/2toTb0xBhsEAtmAx1l7qjIWYfcxOy8w4rTSVfbtBoSzVVhPwKP/5E9iL38LivzoE3AQDhCQ==}
1549 | engines: {node: '>=18'}
1550 | peerDependencies:
1551 | react: '>=16.8.0'
1552 |
1553 | react-dom@19.2.0:
1554 | resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==}
1555 | peerDependencies:
1556 | react: ^19.2.0
1557 |
1558 | react-hook-form@7.60.0:
1559 | resolution: {integrity: sha512-SBrYOvMbDB7cV8ZfNpaiLcgjH/a1c7aK0lK+aNigpf4xWLO8q+o4tcvVurv3c4EOyzn/3dCsYt4GKD42VvJ/+A==}
1560 | engines: {node: '>=18.0.0'}
1561 | peerDependencies:
1562 | react: ^16.8.0 || ^17 || ^18 || ^19
1563 |
1564 | react-is@16.13.1:
1565 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1566 |
1567 | react-is@18.3.1:
1568 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
1569 |
1570 | react-remove-scroll-bar@2.3.8:
1571 | resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
1572 | engines: {node: '>=10'}
1573 | peerDependencies:
1574 | '@types/react': '*'
1575 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1576 | peerDependenciesMeta:
1577 | '@types/react':
1578 | optional: true
1579 |
1580 | react-remove-scroll@2.7.1:
1581 | resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==}
1582 | engines: {node: '>=10'}
1583 | peerDependencies:
1584 | '@types/react': '*'
1585 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1586 | peerDependenciesMeta:
1587 | '@types/react':
1588 | optional: true
1589 |
1590 | react-resizable-panels@2.1.7:
1591 | resolution: {integrity: sha512-JtT6gI+nURzhMYQYsx8DKkx6bSoOGFp7A3CwMrOb8y5jFHFyqwo9m68UhmXRw57fRVJksFn1TSlm3ywEQ9vMgA==}
1592 | peerDependencies:
1593 | react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1594 | react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1595 |
1596 | react-smooth@4.0.4:
1597 | resolution: {integrity: sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==}
1598 | peerDependencies:
1599 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1600 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1601 |
1602 | react-style-singleton@2.2.3:
1603 | resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
1604 | engines: {node: '>=10'}
1605 | peerDependencies:
1606 | '@types/react': '*'
1607 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1608 | peerDependenciesMeta:
1609 | '@types/react':
1610 | optional: true
1611 |
1612 | react-transition-group@4.4.5:
1613 | resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
1614 | peerDependencies:
1615 | react: '>=16.6.0'
1616 | react-dom: '>=16.6.0'
1617 |
1618 | react@19.2.0:
1619 | resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==}
1620 | engines: {node: '>=0.10.0'}
1621 |
1622 | read-cache@1.0.0:
1623 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1624 |
1625 | readdirp@3.6.0:
1626 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1627 | engines: {node: '>=8.10.0'}
1628 |
1629 | recharts-scale@0.4.5:
1630 | resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==}
1631 |
1632 | recharts@2.15.4:
1633 | resolution: {integrity: sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==}
1634 | engines: {node: '>=14'}
1635 | peerDependencies:
1636 | react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1637 | react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1638 |
1639 | resolve@1.22.11:
1640 | resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
1641 | engines: {node: '>= 0.4'}
1642 | hasBin: true
1643 |
1644 | reusify@1.1.0:
1645 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
1646 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1647 |
1648 | run-parallel@1.2.0:
1649 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1650 |
1651 | scheduler@0.27.0:
1652 | resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
1653 |
1654 | semver@7.7.3:
1655 | resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
1656 | engines: {node: '>=10'}
1657 | hasBin: true
1658 |
1659 | server-only@0.0.1:
1660 | resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
1661 |
1662 | sharp@0.34.5:
1663 | resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
1664 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1665 |
1666 | sonner@1.7.4:
1667 | resolution: {integrity: sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==}
1668 | peerDependencies:
1669 | react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1670 | react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1671 |
1672 | source-map-js@1.2.1:
1673 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1674 | engines: {node: '>=0.10.0'}
1675 |
1676 | styled-jsx@5.1.6:
1677 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
1678 | engines: {node: '>= 12.0.0'}
1679 | peerDependencies:
1680 | '@babel/core': '*'
1681 | babel-plugin-macros: '*'
1682 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
1683 | peerDependenciesMeta:
1684 | '@babel/core':
1685 | optional: true
1686 | babel-plugin-macros:
1687 | optional: true
1688 |
1689 | sucrase@3.35.1:
1690 | resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==}
1691 | engines: {node: '>=16 || 14 >=14.17'}
1692 | hasBin: true
1693 |
1694 | supports-preserve-symlinks-flag@1.0.0:
1695 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1696 | engines: {node: '>= 0.4'}
1697 |
1698 | tailwind-merge@3.3.1:
1699 | resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==}
1700 |
1701 | tailwindcss-animate@1.0.7:
1702 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
1703 | peerDependencies:
1704 | tailwindcss: '>=3.0.0 || insiders'
1705 |
1706 | tailwindcss@3.4.17:
1707 | resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
1708 | engines: {node: '>=14.0.0'}
1709 | hasBin: true
1710 |
1711 | thenify-all@1.6.0:
1712 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1713 | engines: {node: '>=0.8'}
1714 |
1715 | thenify@3.3.1:
1716 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1717 |
1718 | tiny-invariant@1.3.3:
1719 | resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
1720 |
1721 | tinyglobby@0.2.15:
1722 | resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
1723 | engines: {node: '>=12.0.0'}
1724 |
1725 | to-regex-range@5.0.1:
1726 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1727 | engines: {node: '>=8.0'}
1728 |
1729 | ts-interface-checker@0.1.13:
1730 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1731 |
1732 | tslib@2.8.1:
1733 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1734 |
1735 | typescript@5.0.2:
1736 | resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==}
1737 | engines: {node: '>=12.20'}
1738 | hasBin: true
1739 |
1740 | undici-types@6.11.1:
1741 | resolution: {integrity: sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==}
1742 |
1743 | update-browserslist-db@1.1.4:
1744 | resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==}
1745 | hasBin: true
1746 | peerDependencies:
1747 | browserslist: '>= 4.21.0'
1748 |
1749 | use-callback-ref@1.3.3:
1750 | resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
1751 | engines: {node: '>=10'}
1752 | peerDependencies:
1753 | '@types/react': '*'
1754 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1755 | peerDependenciesMeta:
1756 | '@types/react':
1757 | optional: true
1758 |
1759 | use-sidecar@1.1.3:
1760 | resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
1761 | engines: {node: '>=10'}
1762 | peerDependencies:
1763 | '@types/react': '*'
1764 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
1765 | peerDependenciesMeta:
1766 | '@types/react':
1767 | optional: true
1768 |
1769 | use-sync-external-store@1.6.0:
1770 | resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
1771 | peerDependencies:
1772 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1773 |
1774 | util-deprecate@1.0.2:
1775 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1776 |
1777 | vaul@1.1.2:
1778 | resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==}
1779 | peerDependencies:
1780 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
1781 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
1782 |
1783 | victory-vendor@36.9.2:
1784 | resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==}
1785 |
1786 | yaml@2.8.2:
1787 | resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
1788 | engines: {node: '>= 14.6'}
1789 | hasBin: true
1790 |
1791 | zod@3.25.76:
1792 | resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
1793 |
1794 | snapshots:
1795 |
1796 | '@alloc/quick-lru@5.2.0': {}
1797 |
1798 | '@babel/runtime@7.28.4': {}
1799 |
1800 | '@date-fns/tz@1.2.0': {}
1801 |
1802 | '@emnapi/runtime@1.7.1':
1803 | dependencies:
1804 | tslib: 2.8.1
1805 | optional: true
1806 |
1807 | '@floating-ui/core@1.7.3':
1808 | dependencies:
1809 | '@floating-ui/utils': 0.2.10
1810 |
1811 | '@floating-ui/dom@1.7.4':
1812 | dependencies:
1813 | '@floating-ui/core': 1.7.3
1814 | '@floating-ui/utils': 0.2.10
1815 |
1816 | '@floating-ui/react-dom@2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
1817 | dependencies:
1818 | '@floating-ui/dom': 1.7.4
1819 | react: 19.2.0
1820 | react-dom: 19.2.0(react@19.2.0)
1821 |
1822 | '@floating-ui/utils@0.2.10': {}
1823 |
1824 | '@hookform/resolvers@3.10.0(react-hook-form@7.60.0(react@19.2.0))':
1825 | dependencies:
1826 | react-hook-form: 7.60.0(react@19.2.0)
1827 |
1828 | '@img/colour@1.0.0':
1829 | optional: true
1830 |
1831 | '@img/sharp-darwin-arm64@0.34.5':
1832 | optionalDependencies:
1833 | '@img/sharp-libvips-darwin-arm64': 1.2.4
1834 | optional: true
1835 |
1836 | '@img/sharp-darwin-x64@0.34.5':
1837 | optionalDependencies:
1838 | '@img/sharp-libvips-darwin-x64': 1.2.4
1839 | optional: true
1840 |
1841 | '@img/sharp-libvips-darwin-arm64@1.2.4':
1842 | optional: true
1843 |
1844 | '@img/sharp-libvips-darwin-x64@1.2.4':
1845 | optional: true
1846 |
1847 | '@img/sharp-libvips-linux-arm64@1.2.4':
1848 | optional: true
1849 |
1850 | '@img/sharp-libvips-linux-arm@1.2.4':
1851 | optional: true
1852 |
1853 | '@img/sharp-libvips-linux-ppc64@1.2.4':
1854 | optional: true
1855 |
1856 | '@img/sharp-libvips-linux-riscv64@1.2.4':
1857 | optional: true
1858 |
1859 | '@img/sharp-libvips-linux-s390x@1.2.4':
1860 | optional: true
1861 |
1862 | '@img/sharp-libvips-linux-x64@1.2.4':
1863 | optional: true
1864 |
1865 | '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
1866 | optional: true
1867 |
1868 | '@img/sharp-libvips-linuxmusl-x64@1.2.4':
1869 | optional: true
1870 |
1871 | '@img/sharp-linux-arm64@0.34.5':
1872 | optionalDependencies:
1873 | '@img/sharp-libvips-linux-arm64': 1.2.4
1874 | optional: true
1875 |
1876 | '@img/sharp-linux-arm@0.34.5':
1877 | optionalDependencies:
1878 | '@img/sharp-libvips-linux-arm': 1.2.4
1879 | optional: true
1880 |
1881 | '@img/sharp-linux-ppc64@0.34.5':
1882 | optionalDependencies:
1883 | '@img/sharp-libvips-linux-ppc64': 1.2.4
1884 | optional: true
1885 |
1886 | '@img/sharp-linux-riscv64@0.34.5':
1887 | optionalDependencies:
1888 | '@img/sharp-libvips-linux-riscv64': 1.2.4
1889 | optional: true
1890 |
1891 | '@img/sharp-linux-s390x@0.34.5':
1892 | optionalDependencies:
1893 | '@img/sharp-libvips-linux-s390x': 1.2.4
1894 | optional: true
1895 |
1896 | '@img/sharp-linux-x64@0.34.5':
1897 | optionalDependencies:
1898 | '@img/sharp-libvips-linux-x64': 1.2.4
1899 | optional: true
1900 |
1901 | '@img/sharp-linuxmusl-arm64@0.34.5':
1902 | optionalDependencies:
1903 | '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
1904 | optional: true
1905 |
1906 | '@img/sharp-linuxmusl-x64@0.34.5':
1907 | optionalDependencies:
1908 | '@img/sharp-libvips-linuxmusl-x64': 1.2.4
1909 | optional: true
1910 |
1911 | '@img/sharp-wasm32@0.34.5':
1912 | dependencies:
1913 | '@emnapi/runtime': 1.7.1
1914 | optional: true
1915 |
1916 | '@img/sharp-win32-arm64@0.34.5':
1917 | optional: true
1918 |
1919 | '@img/sharp-win32-ia32@0.34.5':
1920 | optional: true
1921 |
1922 | '@img/sharp-win32-x64@0.34.5':
1923 | optional: true
1924 |
1925 | '@jridgewell/gen-mapping@0.3.13':
1926 | dependencies:
1927 | '@jridgewell/sourcemap-codec': 1.5.5
1928 | '@jridgewell/trace-mapping': 0.3.31
1929 |
1930 | '@jridgewell/resolve-uri@3.1.2': {}
1931 |
1932 | '@jridgewell/sourcemap-codec@1.5.5': {}
1933 |
1934 | '@jridgewell/trace-mapping@0.3.31':
1935 | dependencies:
1936 | '@jridgewell/resolve-uri': 3.1.2
1937 | '@jridgewell/sourcemap-codec': 1.5.5
1938 |
1939 | '@next/env@15.5.9': {}
1940 |
1941 | '@next/swc-darwin-arm64@15.5.7':
1942 | optional: true
1943 |
1944 | '@next/swc-darwin-x64@15.5.7':
1945 | optional: true
1946 |
1947 | '@next/swc-linux-arm64-gnu@15.5.7':
1948 | optional: true
1949 |
1950 | '@next/swc-linux-arm64-musl@15.5.7':
1951 | optional: true
1952 |
1953 | '@next/swc-linux-x64-gnu@15.5.7':
1954 | optional: true
1955 |
1956 | '@next/swc-linux-x64-musl@15.5.7':
1957 | optional: true
1958 |
1959 | '@next/swc-win32-arm64-msvc@15.5.7':
1960 | optional: true
1961 |
1962 | '@next/swc-win32-x64-msvc@15.5.7':
1963 | optional: true
1964 |
1965 | '@nodelib/fs.scandir@2.1.5':
1966 | dependencies:
1967 | '@nodelib/fs.stat': 2.0.5
1968 | run-parallel: 1.2.0
1969 |
1970 | '@nodelib/fs.stat@2.0.5': {}
1971 |
1972 | '@nodelib/fs.walk@1.2.8':
1973 | dependencies:
1974 | '@nodelib/fs.scandir': 2.1.5
1975 | fastq: 1.19.1
1976 |
1977 | '@radix-ui/number@1.1.0': {}
1978 |
1979 | '@radix-ui/primitive@1.1.1': {}
1980 |
1981 | '@radix-ui/react-accordion@1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
1982 | dependencies:
1983 | '@radix-ui/primitive': 1.1.1
1984 | '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
1985 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
1986 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
1987 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
1988 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
1989 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
1990 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
1991 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
1992 | react: 19.2.0
1993 | react-dom: 19.2.0(react@19.2.0)
1994 | optionalDependencies:
1995 | '@types/react': 19.0.0
1996 | '@types/react-dom': 19.0.0
1997 |
1998 | '@radix-ui/react-alert-dialog@1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
1999 | dependencies:
2000 | '@radix-ui/primitive': 1.1.1
2001 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2002 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2003 | '@radix-ui/react-dialog': 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2004 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2005 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2006 | react: 19.2.0
2007 | react-dom: 19.2.0(react@19.2.0)
2008 | optionalDependencies:
2009 | '@types/react': 19.0.0
2010 | '@types/react-dom': 19.0.0
2011 |
2012 | '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2013 | dependencies:
2014 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2015 | react: 19.2.0
2016 | react-dom: 19.2.0(react@19.2.0)
2017 | optionalDependencies:
2018 | '@types/react': 19.0.0
2019 | '@types/react-dom': 19.0.0
2020 |
2021 | '@radix-ui/react-aspect-ratio@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2022 | dependencies:
2023 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2024 | react: 19.2.0
2025 | react-dom: 19.2.0(react@19.2.0)
2026 | optionalDependencies:
2027 | '@types/react': 19.0.0
2028 | '@types/react-dom': 19.0.0
2029 |
2030 | '@radix-ui/react-avatar@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2031 | dependencies:
2032 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2033 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2034 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2035 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2036 | react: 19.2.0
2037 | react-dom: 19.2.0(react@19.2.0)
2038 | optionalDependencies:
2039 | '@types/react': 19.0.0
2040 | '@types/react-dom': 19.0.0
2041 |
2042 | '@radix-ui/react-checkbox@1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2043 | dependencies:
2044 | '@radix-ui/primitive': 1.1.1
2045 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2046 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2047 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2048 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2049 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2050 | '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2051 | '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2052 | react: 19.2.0
2053 | react-dom: 19.2.0(react@19.2.0)
2054 | optionalDependencies:
2055 | '@types/react': 19.0.0
2056 | '@types/react-dom': 19.0.0
2057 |
2058 | '@radix-ui/react-collapsible@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2059 | dependencies:
2060 | '@radix-ui/primitive': 1.1.1
2061 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2062 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2063 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2064 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2065 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2066 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2067 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2068 | react: 19.2.0
2069 | react-dom: 19.2.0(react@19.2.0)
2070 | optionalDependencies:
2071 | '@types/react': 19.0.0
2072 | '@types/react-dom': 19.0.0
2073 |
2074 | '@radix-ui/react-collection@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2075 | dependencies:
2076 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2077 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2078 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2079 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2080 | react: 19.2.0
2081 | react-dom: 19.2.0(react@19.2.0)
2082 | optionalDependencies:
2083 | '@types/react': 19.0.0
2084 | '@types/react-dom': 19.0.0
2085 |
2086 | '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.0)(react@19.2.0)':
2087 | dependencies:
2088 | react: 19.2.0
2089 | optionalDependencies:
2090 | '@types/react': 19.0.0
2091 |
2092 | '@radix-ui/react-compose-refs@1.1.2(@types/react@19.0.0)(react@19.2.0)':
2093 | dependencies:
2094 | react: 19.2.0
2095 | optionalDependencies:
2096 | '@types/react': 19.0.0
2097 |
2098 | '@radix-ui/react-context-menu@2.2.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2099 | dependencies:
2100 | '@radix-ui/primitive': 1.1.1
2101 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2102 | '@radix-ui/react-menu': 2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2103 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2104 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2105 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2106 | react: 19.2.0
2107 | react-dom: 19.2.0(react@19.2.0)
2108 | optionalDependencies:
2109 | '@types/react': 19.0.0
2110 | '@types/react-dom': 19.0.0
2111 |
2112 | '@radix-ui/react-context@1.1.1(@types/react@19.0.0)(react@19.2.0)':
2113 | dependencies:
2114 | react: 19.2.0
2115 | optionalDependencies:
2116 | '@types/react': 19.0.0
2117 |
2118 | '@radix-ui/react-dialog@1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2119 | dependencies:
2120 | '@radix-ui/primitive': 1.1.1
2121 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2122 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2123 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2124 | '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2125 | '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2126 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2127 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2128 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2129 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2130 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2131 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2132 | aria-hidden: 1.2.6
2133 | react: 19.2.0
2134 | react-dom: 19.2.0(react@19.2.0)
2135 | react-remove-scroll: 2.7.1(@types/react@19.0.0)(react@19.2.0)
2136 | optionalDependencies:
2137 | '@types/react': 19.0.0
2138 | '@types/react-dom': 19.0.0
2139 |
2140 | '@radix-ui/react-direction@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2141 | dependencies:
2142 | react: 19.2.0
2143 | optionalDependencies:
2144 | '@types/react': 19.0.0
2145 |
2146 | '@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2147 | dependencies:
2148 | '@radix-ui/primitive': 1.1.1
2149 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2150 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2151 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2152 | '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2153 | react: 19.2.0
2154 | react-dom: 19.2.0(react@19.2.0)
2155 | optionalDependencies:
2156 | '@types/react': 19.0.0
2157 | '@types/react-dom': 19.0.0
2158 |
2159 | '@radix-ui/react-dropdown-menu@2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2160 | dependencies:
2161 | '@radix-ui/primitive': 1.1.1
2162 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2163 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2164 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2165 | '@radix-ui/react-menu': 2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2166 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2167 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2168 | react: 19.2.0
2169 | react-dom: 19.2.0(react@19.2.0)
2170 | optionalDependencies:
2171 | '@types/react': 19.0.0
2172 | '@types/react-dom': 19.0.0
2173 |
2174 | '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.0)(react@19.2.0)':
2175 | dependencies:
2176 | react: 19.2.0
2177 | optionalDependencies:
2178 | '@types/react': 19.0.0
2179 |
2180 | '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2181 | dependencies:
2182 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2183 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2184 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2185 | react: 19.2.0
2186 | react-dom: 19.2.0(react@19.2.0)
2187 | optionalDependencies:
2188 | '@types/react': 19.0.0
2189 | '@types/react-dom': 19.0.0
2190 |
2191 | '@radix-ui/react-hover-card@1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2192 | dependencies:
2193 | '@radix-ui/primitive': 1.1.1
2194 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2195 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2196 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2197 | '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2198 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2199 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2200 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2201 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2202 | react: 19.2.0
2203 | react-dom: 19.2.0(react@19.2.0)
2204 | optionalDependencies:
2205 | '@types/react': 19.0.0
2206 | '@types/react-dom': 19.0.0
2207 |
2208 | '@radix-ui/react-id@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2209 | dependencies:
2210 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2211 | react: 19.2.0
2212 | optionalDependencies:
2213 | '@types/react': 19.0.0
2214 |
2215 | '@radix-ui/react-id@1.1.1(@types/react@19.0.0)(react@19.2.0)':
2216 | dependencies:
2217 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2218 | react: 19.2.0
2219 | optionalDependencies:
2220 | '@types/react': 19.0.0
2221 |
2222 | '@radix-ui/react-label@2.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2223 | dependencies:
2224 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2225 | react: 19.2.0
2226 | react-dom: 19.2.0(react@19.2.0)
2227 | optionalDependencies:
2228 | '@types/react': 19.0.0
2229 | '@types/react-dom': 19.0.0
2230 |
2231 | '@radix-ui/react-menu@2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2232 | dependencies:
2233 | '@radix-ui/primitive': 1.1.1
2234 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2235 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2236 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2237 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2238 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2239 | '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2240 | '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2241 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2242 | '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2243 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2244 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2245 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2246 | '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2247 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2248 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2249 | aria-hidden: 1.2.6
2250 | react: 19.2.0
2251 | react-dom: 19.2.0(react@19.2.0)
2252 | react-remove-scroll: 2.7.1(@types/react@19.0.0)(react@19.2.0)
2253 | optionalDependencies:
2254 | '@types/react': 19.0.0
2255 | '@types/react-dom': 19.0.0
2256 |
2257 | '@radix-ui/react-menubar@1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2258 | dependencies:
2259 | '@radix-ui/primitive': 1.1.1
2260 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2261 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2262 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2263 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2264 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2265 | '@radix-ui/react-menu': 2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2266 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2267 | '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2268 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2269 | react: 19.2.0
2270 | react-dom: 19.2.0(react@19.2.0)
2271 | optionalDependencies:
2272 | '@types/react': 19.0.0
2273 | '@types/react-dom': 19.0.0
2274 |
2275 | '@radix-ui/react-navigation-menu@1.2.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2276 | dependencies:
2277 | '@radix-ui/primitive': 1.1.1
2278 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2279 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2280 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2281 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2282 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2283 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2284 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2285 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2286 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2287 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2288 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2289 | '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2290 | '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2291 | react: 19.2.0
2292 | react-dom: 19.2.0(react@19.2.0)
2293 | optionalDependencies:
2294 | '@types/react': 19.0.0
2295 | '@types/react-dom': 19.0.0
2296 |
2297 | '@radix-ui/react-popover@1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2298 | dependencies:
2299 | '@radix-ui/primitive': 1.1.1
2300 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2301 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2302 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2303 | '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2304 | '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2305 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2306 | '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2307 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2308 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2309 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2310 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2311 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2312 | aria-hidden: 1.2.6
2313 | react: 19.2.0
2314 | react-dom: 19.2.0(react@19.2.0)
2315 | react-remove-scroll: 2.7.1(@types/react@19.0.0)(react@19.2.0)
2316 | optionalDependencies:
2317 | '@types/react': 19.0.0
2318 | '@types/react-dom': 19.0.0
2319 |
2320 | '@radix-ui/react-popper@1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2321 | dependencies:
2322 | '@floating-ui/react-dom': 2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2323 | '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2324 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2325 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2326 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2327 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2328 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2329 | '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2330 | '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2331 | '@radix-ui/rect': 1.1.0
2332 | react: 19.2.0
2333 | react-dom: 19.2.0(react@19.2.0)
2334 | optionalDependencies:
2335 | '@types/react': 19.0.0
2336 | '@types/react-dom': 19.0.0
2337 |
2338 | '@radix-ui/react-portal@1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2339 | dependencies:
2340 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2341 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2342 | react: 19.2.0
2343 | react-dom: 19.2.0(react@19.2.0)
2344 | optionalDependencies:
2345 | '@types/react': 19.0.0
2346 | '@types/react-dom': 19.0.0
2347 |
2348 | '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2349 | dependencies:
2350 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2351 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2352 | react: 19.2.0
2353 | react-dom: 19.2.0(react@19.2.0)
2354 | optionalDependencies:
2355 | '@types/react': 19.0.0
2356 | '@types/react-dom': 19.0.0
2357 |
2358 | '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2359 | dependencies:
2360 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2361 | react: 19.2.0
2362 | react-dom: 19.2.0(react@19.2.0)
2363 | optionalDependencies:
2364 | '@types/react': 19.0.0
2365 | '@types/react-dom': 19.0.0
2366 |
2367 | '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2368 | dependencies:
2369 | '@radix-ui/react-slot': 1.2.3(@types/react@19.0.0)(react@19.2.0)
2370 | react: 19.2.0
2371 | react-dom: 19.2.0(react@19.2.0)
2372 | optionalDependencies:
2373 | '@types/react': 19.0.0
2374 | '@types/react-dom': 19.0.0
2375 |
2376 | '@radix-ui/react-progress@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2377 | dependencies:
2378 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2379 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2380 | react: 19.2.0
2381 | react-dom: 19.2.0(react@19.2.0)
2382 | optionalDependencies:
2383 | '@types/react': 19.0.0
2384 | '@types/react-dom': 19.0.0
2385 |
2386 | '@radix-ui/react-radio-group@1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2387 | dependencies:
2388 | '@radix-ui/primitive': 1.1.1
2389 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2390 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2391 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2392 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2393 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2394 | '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2395 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2396 | '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2397 | '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2398 | react: 19.2.0
2399 | react-dom: 19.2.0(react@19.2.0)
2400 | optionalDependencies:
2401 | '@types/react': 19.0.0
2402 | '@types/react-dom': 19.0.0
2403 |
2404 | '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2405 | dependencies:
2406 | '@radix-ui/primitive': 1.1.1
2407 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2408 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2409 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2410 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2411 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2412 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2413 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2414 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2415 | react: 19.2.0
2416 | react-dom: 19.2.0(react@19.2.0)
2417 | optionalDependencies:
2418 | '@types/react': 19.0.0
2419 | '@types/react-dom': 19.0.0
2420 |
2421 | '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2422 | dependencies:
2423 | '@radix-ui/number': 1.1.0
2424 | '@radix-ui/primitive': 1.1.1
2425 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2426 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2427 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2428 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2429 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2430 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2431 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2432 | react: 19.2.0
2433 | react-dom: 19.2.0(react@19.2.0)
2434 | optionalDependencies:
2435 | '@types/react': 19.0.0
2436 | '@types/react-dom': 19.0.0
2437 |
2438 | '@radix-ui/react-select@2.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2439 | dependencies:
2440 | '@radix-ui/number': 1.1.0
2441 | '@radix-ui/primitive': 1.1.1
2442 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2443 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2444 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2445 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2446 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2447 | '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2448 | '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2449 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2450 | '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2451 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2452 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2453 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2454 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2455 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2456 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2457 | '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2458 | '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2459 | aria-hidden: 1.2.6
2460 | react: 19.2.0
2461 | react-dom: 19.2.0(react@19.2.0)
2462 | react-remove-scroll: 2.7.1(@types/react@19.0.0)(react@19.2.0)
2463 | optionalDependencies:
2464 | '@types/react': 19.0.0
2465 | '@types/react-dom': 19.0.0
2466 |
2467 | '@radix-ui/react-separator@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2468 | dependencies:
2469 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2470 | react: 19.2.0
2471 | react-dom: 19.2.0(react@19.2.0)
2472 | optionalDependencies:
2473 | '@types/react': 19.0.0
2474 | '@types/react-dom': 19.0.0
2475 |
2476 | '@radix-ui/react-slider@1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2477 | dependencies:
2478 | '@radix-ui/number': 1.1.0
2479 | '@radix-ui/primitive': 1.1.1
2480 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2481 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2482 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2483 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2484 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2485 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2486 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2487 | '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2488 | '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2489 | react: 19.2.0
2490 | react-dom: 19.2.0(react@19.2.0)
2491 | optionalDependencies:
2492 | '@types/react': 19.0.0
2493 | '@types/react-dom': 19.0.0
2494 |
2495 | '@radix-ui/react-slot@1.1.1(@types/react@19.0.0)(react@19.2.0)':
2496 | dependencies:
2497 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2498 | react: 19.2.0
2499 | optionalDependencies:
2500 | '@types/react': 19.0.0
2501 |
2502 | '@radix-ui/react-slot@1.2.3(@types/react@19.0.0)(react@19.2.0)':
2503 | dependencies:
2504 | '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.0)(react@19.2.0)
2505 | react: 19.2.0
2506 | optionalDependencies:
2507 | '@types/react': 19.0.0
2508 |
2509 | '@radix-ui/react-switch@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2510 | dependencies:
2511 | '@radix-ui/primitive': 1.1.1
2512 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2513 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2514 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2515 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2516 | '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2517 | '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2518 | react: 19.2.0
2519 | react-dom: 19.2.0(react@19.2.0)
2520 | optionalDependencies:
2521 | '@types/react': 19.0.0
2522 | '@types/react-dom': 19.0.0
2523 |
2524 | '@radix-ui/react-tabs@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2525 | dependencies:
2526 | '@radix-ui/primitive': 1.1.1
2527 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2528 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2529 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2530 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2531 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2532 | '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2533 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2534 | react: 19.2.0
2535 | react-dom: 19.2.0(react@19.2.0)
2536 | optionalDependencies:
2537 | '@types/react': 19.0.0
2538 | '@types/react-dom': 19.0.0
2539 |
2540 | '@radix-ui/react-toast@1.2.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2541 | dependencies:
2542 | '@radix-ui/primitive': 1.1.1
2543 | '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2544 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2545 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2546 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2547 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2548 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2549 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2550 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2551 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2552 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2553 | '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2554 | react: 19.2.0
2555 | react-dom: 19.2.0(react@19.2.0)
2556 | optionalDependencies:
2557 | '@types/react': 19.0.0
2558 | '@types/react-dom': 19.0.0
2559 |
2560 | '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2561 | dependencies:
2562 | '@radix-ui/primitive': 1.1.1
2563 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2564 | '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2565 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2566 | '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2567 | '@radix-ui/react-toggle': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2568 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2569 | react: 19.2.0
2570 | react-dom: 19.2.0(react@19.2.0)
2571 | optionalDependencies:
2572 | '@types/react': 19.0.0
2573 | '@types/react-dom': 19.0.0
2574 |
2575 | '@radix-ui/react-toggle@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2576 | dependencies:
2577 | '@radix-ui/primitive': 1.1.1
2578 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2579 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2580 | react: 19.2.0
2581 | react-dom: 19.2.0(react@19.2.0)
2582 | optionalDependencies:
2583 | '@types/react': 19.0.0
2584 | '@types/react-dom': 19.0.0
2585 |
2586 | '@radix-ui/react-tooltip@1.1.6(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2587 | dependencies:
2588 | '@radix-ui/primitive': 1.1.1
2589 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2590 | '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2591 | '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2592 | '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2593 | '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2594 | '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2595 | '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2596 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2597 | '@radix-ui/react-slot': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2598 | '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2599 | '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2600 | react: 19.2.0
2601 | react-dom: 19.2.0(react@19.2.0)
2602 | optionalDependencies:
2603 | '@types/react': 19.0.0
2604 | '@types/react-dom': 19.0.0
2605 |
2606 | '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2607 | dependencies:
2608 | react: 19.2.0
2609 | optionalDependencies:
2610 | '@types/react': 19.0.0
2611 |
2612 | '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2613 | dependencies:
2614 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2615 | react: 19.2.0
2616 | optionalDependencies:
2617 | '@types/react': 19.0.0
2618 |
2619 | '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2620 | dependencies:
2621 | '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2622 | react: 19.2.0
2623 | optionalDependencies:
2624 | '@types/react': 19.0.0
2625 |
2626 | '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2627 | dependencies:
2628 | react: 19.2.0
2629 | optionalDependencies:
2630 | '@types/react': 19.0.0
2631 |
2632 | '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.0.0)(react@19.2.0)':
2633 | dependencies:
2634 | react: 19.2.0
2635 | optionalDependencies:
2636 | '@types/react': 19.0.0
2637 |
2638 | '@radix-ui/react-use-previous@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2639 | dependencies:
2640 | react: 19.2.0
2641 | optionalDependencies:
2642 | '@types/react': 19.0.0
2643 |
2644 | '@radix-ui/react-use-rect@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2645 | dependencies:
2646 | '@radix-ui/rect': 1.1.0
2647 | react: 19.2.0
2648 | optionalDependencies:
2649 | '@types/react': 19.0.0
2650 |
2651 | '@radix-ui/react-use-size@1.1.0(@types/react@19.0.0)(react@19.2.0)':
2652 | dependencies:
2653 | '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.2.0)
2654 | react: 19.2.0
2655 | optionalDependencies:
2656 | '@types/react': 19.0.0
2657 |
2658 | '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
2659 | dependencies:
2660 | '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2661 | react: 19.2.0
2662 | react-dom: 19.2.0(react@19.2.0)
2663 | optionalDependencies:
2664 | '@types/react': 19.0.0
2665 | '@types/react-dom': 19.0.0
2666 |
2667 | '@radix-ui/rect@1.1.0': {}
2668 |
2669 | '@swc/helpers@0.5.15':
2670 | dependencies:
2671 | tslib: 2.8.1
2672 |
2673 | '@types/d3-array@3.2.2': {}
2674 |
2675 | '@types/d3-color@3.1.3': {}
2676 |
2677 | '@types/d3-ease@3.0.2': {}
2678 |
2679 | '@types/d3-interpolate@3.0.4':
2680 | dependencies:
2681 | '@types/d3-color': 3.1.3
2682 |
2683 | '@types/d3-path@3.1.1': {}
2684 |
2685 | '@types/d3-scale@4.0.9':
2686 | dependencies:
2687 | '@types/d3-time': 3.0.4
2688 |
2689 | '@types/d3-shape@3.1.7':
2690 | dependencies:
2691 | '@types/d3-path': 3.1.1
2692 |
2693 | '@types/d3-time@3.0.4': {}
2694 |
2695 | '@types/d3-timer@3.0.2': {}
2696 |
2697 | '@types/node@22.0.0':
2698 | dependencies:
2699 | undici-types: 6.11.1
2700 |
2701 | '@types/react-dom@19.0.0':
2702 | dependencies:
2703 | '@types/react': 19.0.0
2704 |
2705 | '@types/react@19.0.0':
2706 | dependencies:
2707 | csstype: 3.1.3
2708 |
2709 | '@vercel/analytics@1.3.1(next@15.5.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)':
2710 | dependencies:
2711 | server-only: 0.0.1
2712 | optionalDependencies:
2713 | next: 15.5.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2714 | react: 19.2.0
2715 |
2716 | any-promise@1.3.0: {}
2717 |
2718 | anymatch@3.1.3:
2719 | dependencies:
2720 | normalize-path: 3.0.0
2721 | picomatch: 2.3.1
2722 |
2723 | arg@5.0.2: {}
2724 |
2725 | aria-hidden@1.2.6:
2726 | dependencies:
2727 | tslib: 2.8.1
2728 |
2729 | autoprefixer@10.4.20(postcss@8.5.0):
2730 | dependencies:
2731 | browserslist: 4.27.0
2732 | caniuse-lite: 1.0.30001753
2733 | fraction.js: 4.3.7
2734 | normalize-range: 0.1.2
2735 | picocolors: 1.1.1
2736 | postcss: 8.5.0
2737 | postcss-value-parser: 4.2.0
2738 |
2739 | baseline-browser-mapping@2.8.23: {}
2740 |
2741 | binary-extensions@2.3.0: {}
2742 |
2743 | braces@3.0.3:
2744 | dependencies:
2745 | fill-range: 7.1.1
2746 |
2747 | browserslist@4.27.0:
2748 | dependencies:
2749 | baseline-browser-mapping: 2.8.23
2750 | caniuse-lite: 1.0.30001753
2751 | electron-to-chromium: 1.5.244
2752 | node-releases: 2.0.27
2753 | update-browserslist-db: 1.1.4(browserslist@4.27.0)
2754 |
2755 | camelcase-css@2.0.1: {}
2756 |
2757 | caniuse-lite@1.0.30001753: {}
2758 |
2759 | chokidar@3.6.0:
2760 | dependencies:
2761 | anymatch: 3.1.3
2762 | braces: 3.0.3
2763 | glob-parent: 5.1.2
2764 | is-binary-path: 2.1.0
2765 | is-glob: 4.0.3
2766 | normalize-path: 3.0.0
2767 | readdirp: 3.6.0
2768 | optionalDependencies:
2769 | fsevents: 2.3.3
2770 |
2771 | class-variance-authority@0.7.1:
2772 | dependencies:
2773 | clsx: 2.1.1
2774 |
2775 | client-only@0.0.1: {}
2776 |
2777 | clsx@2.1.1: {}
2778 |
2779 | cmdk@1.0.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
2780 | dependencies:
2781 | '@radix-ui/react-dialog': 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2782 | '@radix-ui/react-id': 1.1.1(@types/react@19.0.0)(react@19.2.0)
2783 | '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
2784 | react: 19.2.0
2785 | react-dom: 19.2.0(react@19.2.0)
2786 | use-sync-external-store: 1.6.0(react@19.2.0)
2787 | transitivePeerDependencies:
2788 | - '@types/react'
2789 | - '@types/react-dom'
2790 |
2791 | commander@4.1.1: {}
2792 |
2793 | cssesc@3.0.0: {}
2794 |
2795 | csstype@3.1.3: {}
2796 |
2797 | d3-array@3.2.4:
2798 | dependencies:
2799 | internmap: 2.0.3
2800 |
2801 | d3-color@3.1.0: {}
2802 |
2803 | d3-ease@3.0.1: {}
2804 |
2805 | d3-format@3.1.0: {}
2806 |
2807 | d3-interpolate@3.0.1:
2808 | dependencies:
2809 | d3-color: 3.1.0
2810 |
2811 | d3-path@3.1.0: {}
2812 |
2813 | d3-scale@4.0.2:
2814 | dependencies:
2815 | d3-array: 3.2.4
2816 | d3-format: 3.1.0
2817 | d3-interpolate: 3.0.1
2818 | d3-time: 3.1.0
2819 | d3-time-format: 4.1.0
2820 |
2821 | d3-shape@3.2.0:
2822 | dependencies:
2823 | d3-path: 3.1.0
2824 |
2825 | d3-time-format@4.1.0:
2826 | dependencies:
2827 | d3-time: 3.1.0
2828 |
2829 | d3-time@3.1.0:
2830 | dependencies:
2831 | d3-array: 3.2.4
2832 |
2833 | d3-timer@3.0.1: {}
2834 |
2835 | date-fns-jalali@4.1.0-0: {}
2836 |
2837 | date-fns@4.1.0: {}
2838 |
2839 | decimal.js-light@2.5.1: {}
2840 |
2841 | detect-libc@2.1.2:
2842 | optional: true
2843 |
2844 | detect-node-es@1.1.0: {}
2845 |
2846 | didyoumean@1.2.2: {}
2847 |
2848 | dlv@1.1.3: {}
2849 |
2850 | dom-helpers@5.2.1:
2851 | dependencies:
2852 | '@babel/runtime': 7.28.4
2853 | csstype: 3.1.3
2854 |
2855 | electron-to-chromium@1.5.244: {}
2856 |
2857 | embla-carousel-react@8.5.1(react@19.2.0):
2858 | dependencies:
2859 | embla-carousel: 8.5.1
2860 | embla-carousel-reactive-utils: 8.5.1(embla-carousel@8.5.1)
2861 | react: 19.2.0
2862 |
2863 | embla-carousel-reactive-utils@8.5.1(embla-carousel@8.5.1):
2864 | dependencies:
2865 | embla-carousel: 8.5.1
2866 |
2867 | embla-carousel@8.5.1: {}
2868 |
2869 | escalade@3.2.0: {}
2870 |
2871 | eventemitter3@4.0.7: {}
2872 |
2873 | fast-equals@5.3.2: {}
2874 |
2875 | fast-glob@3.3.3:
2876 | dependencies:
2877 | '@nodelib/fs.stat': 2.0.5
2878 | '@nodelib/fs.walk': 1.2.8
2879 | glob-parent: 5.1.2
2880 | merge2: 1.4.1
2881 | micromatch: 4.0.8
2882 |
2883 | fastq@1.19.1:
2884 | dependencies:
2885 | reusify: 1.1.0
2886 |
2887 | fdir@6.5.0(picomatch@4.0.3):
2888 | optionalDependencies:
2889 | picomatch: 4.0.3
2890 |
2891 | fill-range@7.1.1:
2892 | dependencies:
2893 | to-regex-range: 5.0.1
2894 |
2895 | fraction.js@4.3.7: {}
2896 |
2897 | fsevents@2.3.3:
2898 | optional: true
2899 |
2900 | function-bind@1.1.2: {}
2901 |
2902 | get-nonce@1.0.1: {}
2903 |
2904 | glob-parent@5.1.2:
2905 | dependencies:
2906 | is-glob: 4.0.3
2907 |
2908 | glob-parent@6.0.2:
2909 | dependencies:
2910 | is-glob: 4.0.3
2911 |
2912 | hasown@2.0.2:
2913 | dependencies:
2914 | function-bind: 1.1.2
2915 |
2916 | input-otp@1.4.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
2917 | dependencies:
2918 | react: 19.2.0
2919 | react-dom: 19.2.0(react@19.2.0)
2920 |
2921 | internmap@2.0.3: {}
2922 |
2923 | is-binary-path@2.1.0:
2924 | dependencies:
2925 | binary-extensions: 2.3.0
2926 |
2927 | is-core-module@2.16.1:
2928 | dependencies:
2929 | hasown: 2.0.2
2930 |
2931 | is-extglob@2.1.1: {}
2932 |
2933 | is-glob@4.0.3:
2934 | dependencies:
2935 | is-extglob: 2.1.1
2936 |
2937 | is-number@7.0.0: {}
2938 |
2939 | jiti@1.21.7: {}
2940 |
2941 | js-tokens@4.0.0: {}
2942 |
2943 | lilconfig@3.1.3: {}
2944 |
2945 | lines-and-columns@1.2.4: {}
2946 |
2947 | lodash@4.17.21: {}
2948 |
2949 | loose-envify@1.4.0:
2950 | dependencies:
2951 | js-tokens: 4.0.0
2952 |
2953 | lucide-react@0.454.0(react@19.2.0):
2954 | dependencies:
2955 | react: 19.2.0
2956 |
2957 | merge2@1.4.1: {}
2958 |
2959 | micromatch@4.0.8:
2960 | dependencies:
2961 | braces: 3.0.3
2962 | picomatch: 2.3.1
2963 |
2964 | mz@2.7.0:
2965 | dependencies:
2966 | any-promise: 1.3.0
2967 | object-assign: 4.1.1
2968 | thenify-all: 1.6.0
2969 |
2970 | nanoid@3.3.11: {}
2971 |
2972 | next-themes@0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
2973 | dependencies:
2974 | react: 19.2.0
2975 | react-dom: 19.2.0(react@19.2.0)
2976 |
2977 | next@15.5.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
2978 | dependencies:
2979 | '@next/env': 15.5.9
2980 | '@swc/helpers': 0.5.15
2981 | caniuse-lite: 1.0.30001753
2982 | postcss: 8.4.31
2983 | react: 19.2.0
2984 | react-dom: 19.2.0(react@19.2.0)
2985 | styled-jsx: 5.1.6(react@19.2.0)
2986 | optionalDependencies:
2987 | '@next/swc-darwin-arm64': 15.5.7
2988 | '@next/swc-darwin-x64': 15.5.7
2989 | '@next/swc-linux-arm64-gnu': 15.5.7
2990 | '@next/swc-linux-arm64-musl': 15.5.7
2991 | '@next/swc-linux-x64-gnu': 15.5.7
2992 | '@next/swc-linux-x64-musl': 15.5.7
2993 | '@next/swc-win32-arm64-msvc': 15.5.7
2994 | '@next/swc-win32-x64-msvc': 15.5.7
2995 | sharp: 0.34.5
2996 | transitivePeerDependencies:
2997 | - '@babel/core'
2998 | - babel-plugin-macros
2999 |
3000 | node-releases@2.0.27: {}
3001 |
3002 | normalize-path@3.0.0: {}
3003 |
3004 | normalize-range@0.1.2: {}
3005 |
3006 | object-assign@4.1.1: {}
3007 |
3008 | object-hash@3.0.0: {}
3009 |
3010 | path-parse@1.0.7: {}
3011 |
3012 | picocolors@1.1.1: {}
3013 |
3014 | picomatch@2.3.1: {}
3015 |
3016 | picomatch@4.0.3: {}
3017 |
3018 | pify@2.3.0: {}
3019 |
3020 | pirates@4.0.7: {}
3021 |
3022 | postcss-import@15.1.0(postcss@8.5.0):
3023 | dependencies:
3024 | postcss: 8.5.0
3025 | postcss-value-parser: 4.2.0
3026 | read-cache: 1.0.0
3027 | resolve: 1.22.11
3028 |
3029 | postcss-js@4.1.0(postcss@8.5.0):
3030 | dependencies:
3031 | camelcase-css: 2.0.1
3032 | postcss: 8.5.0
3033 |
3034 | postcss-load-config@4.0.2(postcss@8.5.0):
3035 | dependencies:
3036 | lilconfig: 3.1.3
3037 | yaml: 2.8.2
3038 | optionalDependencies:
3039 | postcss: 8.5.0
3040 |
3041 | postcss-nested@6.2.0(postcss@8.5.0):
3042 | dependencies:
3043 | postcss: 8.5.0
3044 | postcss-selector-parser: 6.1.2
3045 |
3046 | postcss-selector-parser@6.1.2:
3047 | dependencies:
3048 | cssesc: 3.0.0
3049 | util-deprecate: 1.0.2
3050 |
3051 | postcss-value-parser@4.2.0: {}
3052 |
3053 | postcss@8.4.31:
3054 | dependencies:
3055 | nanoid: 3.3.11
3056 | picocolors: 1.1.1
3057 | source-map-js: 1.2.1
3058 |
3059 | postcss@8.5.0:
3060 | dependencies:
3061 | nanoid: 3.3.11
3062 | picocolors: 1.1.1
3063 | source-map-js: 1.2.1
3064 |
3065 | prop-types@15.8.1:
3066 | dependencies:
3067 | loose-envify: 1.4.0
3068 | object-assign: 4.1.1
3069 | react-is: 16.13.1
3070 |
3071 | queue-microtask@1.2.3: {}
3072 |
3073 | react-day-picker@9.8.0(react@19.2.0):
3074 | dependencies:
3075 | '@date-fns/tz': 1.2.0
3076 | date-fns: 4.1.0
3077 | date-fns-jalali: 4.1.0-0
3078 | react: 19.2.0
3079 |
3080 | react-dom@19.2.0(react@19.2.0):
3081 | dependencies:
3082 | react: 19.2.0
3083 | scheduler: 0.27.0
3084 |
3085 | react-hook-form@7.60.0(react@19.2.0):
3086 | dependencies:
3087 | react: 19.2.0
3088 |
3089 | react-is@16.13.1: {}
3090 |
3091 | react-is@18.3.1: {}
3092 |
3093 | react-remove-scroll-bar@2.3.8(@types/react@19.0.0)(react@19.2.0):
3094 | dependencies:
3095 | react: 19.2.0
3096 | react-style-singleton: 2.2.3(@types/react@19.0.0)(react@19.2.0)
3097 | tslib: 2.8.1
3098 | optionalDependencies:
3099 | '@types/react': 19.0.0
3100 |
3101 | react-remove-scroll@2.7.1(@types/react@19.0.0)(react@19.2.0):
3102 | dependencies:
3103 | react: 19.2.0
3104 | react-remove-scroll-bar: 2.3.8(@types/react@19.0.0)(react@19.2.0)
3105 | react-style-singleton: 2.2.3(@types/react@19.0.0)(react@19.2.0)
3106 | tslib: 2.8.1
3107 | use-callback-ref: 1.3.3(@types/react@19.0.0)(react@19.2.0)
3108 | use-sidecar: 1.1.3(@types/react@19.0.0)(react@19.2.0)
3109 | optionalDependencies:
3110 | '@types/react': 19.0.0
3111 |
3112 | react-resizable-panels@2.1.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
3113 | dependencies:
3114 | react: 19.2.0
3115 | react-dom: 19.2.0(react@19.2.0)
3116 |
3117 | react-smooth@4.0.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
3118 | dependencies:
3119 | fast-equals: 5.3.2
3120 | prop-types: 15.8.1
3121 | react: 19.2.0
3122 | react-dom: 19.2.0(react@19.2.0)
3123 | react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
3124 |
3125 | react-style-singleton@2.2.3(@types/react@19.0.0)(react@19.2.0):
3126 | dependencies:
3127 | get-nonce: 1.0.1
3128 | react: 19.2.0
3129 | tslib: 2.8.1
3130 | optionalDependencies:
3131 | '@types/react': 19.0.0
3132 |
3133 | react-transition-group@4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
3134 | dependencies:
3135 | '@babel/runtime': 7.28.4
3136 | dom-helpers: 5.2.1
3137 | loose-envify: 1.4.0
3138 | prop-types: 15.8.1
3139 | react: 19.2.0
3140 | react-dom: 19.2.0(react@19.2.0)
3141 |
3142 | react@19.2.0: {}
3143 |
3144 | read-cache@1.0.0:
3145 | dependencies:
3146 | pify: 2.3.0
3147 |
3148 | readdirp@3.6.0:
3149 | dependencies:
3150 | picomatch: 2.3.1
3151 |
3152 | recharts-scale@0.4.5:
3153 | dependencies:
3154 | decimal.js-light: 2.5.1
3155 |
3156 | recharts@2.15.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
3157 | dependencies:
3158 | clsx: 2.1.1
3159 | eventemitter3: 4.0.7
3160 | lodash: 4.17.21
3161 | react: 19.2.0
3162 | react-dom: 19.2.0(react@19.2.0)
3163 | react-is: 18.3.1
3164 | react-smooth: 4.0.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
3165 | recharts-scale: 0.4.5
3166 | tiny-invariant: 1.3.3
3167 | victory-vendor: 36.9.2
3168 |
3169 | resolve@1.22.11:
3170 | dependencies:
3171 | is-core-module: 2.16.1
3172 | path-parse: 1.0.7
3173 | supports-preserve-symlinks-flag: 1.0.0
3174 |
3175 | reusify@1.1.0: {}
3176 |
3177 | run-parallel@1.2.0:
3178 | dependencies:
3179 | queue-microtask: 1.2.3
3180 |
3181 | scheduler@0.27.0: {}
3182 |
3183 | semver@7.7.3:
3184 | optional: true
3185 |
3186 | server-only@0.0.1: {}
3187 |
3188 | sharp@0.34.5:
3189 | dependencies:
3190 | '@img/colour': 1.0.0
3191 | detect-libc: 2.1.2
3192 | semver: 7.7.3
3193 | optionalDependencies:
3194 | '@img/sharp-darwin-arm64': 0.34.5
3195 | '@img/sharp-darwin-x64': 0.34.5
3196 | '@img/sharp-libvips-darwin-arm64': 1.2.4
3197 | '@img/sharp-libvips-darwin-x64': 1.2.4
3198 | '@img/sharp-libvips-linux-arm': 1.2.4
3199 | '@img/sharp-libvips-linux-arm64': 1.2.4
3200 | '@img/sharp-libvips-linux-ppc64': 1.2.4
3201 | '@img/sharp-libvips-linux-riscv64': 1.2.4
3202 | '@img/sharp-libvips-linux-s390x': 1.2.4
3203 | '@img/sharp-libvips-linux-x64': 1.2.4
3204 | '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
3205 | '@img/sharp-libvips-linuxmusl-x64': 1.2.4
3206 | '@img/sharp-linux-arm': 0.34.5
3207 | '@img/sharp-linux-arm64': 0.34.5
3208 | '@img/sharp-linux-ppc64': 0.34.5
3209 | '@img/sharp-linux-riscv64': 0.34.5
3210 | '@img/sharp-linux-s390x': 0.34.5
3211 | '@img/sharp-linux-x64': 0.34.5
3212 | '@img/sharp-linuxmusl-arm64': 0.34.5
3213 | '@img/sharp-linuxmusl-x64': 0.34.5
3214 | '@img/sharp-wasm32': 0.34.5
3215 | '@img/sharp-win32-arm64': 0.34.5
3216 | '@img/sharp-win32-ia32': 0.34.5
3217 | '@img/sharp-win32-x64': 0.34.5
3218 | optional: true
3219 |
3220 | sonner@1.7.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
3221 | dependencies:
3222 | react: 19.2.0
3223 | react-dom: 19.2.0(react@19.2.0)
3224 |
3225 | source-map-js@1.2.1: {}
3226 |
3227 | styled-jsx@5.1.6(react@19.2.0):
3228 | dependencies:
3229 | client-only: 0.0.1
3230 | react: 19.2.0
3231 |
3232 | sucrase@3.35.1:
3233 | dependencies:
3234 | '@jridgewell/gen-mapping': 0.3.13
3235 | commander: 4.1.1
3236 | lines-and-columns: 1.2.4
3237 | mz: 2.7.0
3238 | pirates: 4.0.7
3239 | tinyglobby: 0.2.15
3240 | ts-interface-checker: 0.1.13
3241 |
3242 | supports-preserve-symlinks-flag@1.0.0: {}
3243 |
3244 | tailwind-merge@3.3.1: {}
3245 |
3246 | tailwindcss-animate@1.0.7(tailwindcss@3.4.17):
3247 | dependencies:
3248 | tailwindcss: 3.4.17
3249 |
3250 | tailwindcss@3.4.17:
3251 | dependencies:
3252 | '@alloc/quick-lru': 5.2.0
3253 | arg: 5.0.2
3254 | chokidar: 3.6.0
3255 | didyoumean: 1.2.2
3256 | dlv: 1.1.3
3257 | fast-glob: 3.3.3
3258 | glob-parent: 6.0.2
3259 | is-glob: 4.0.3
3260 | jiti: 1.21.7
3261 | lilconfig: 3.1.3
3262 | micromatch: 4.0.8
3263 | normalize-path: 3.0.0
3264 | object-hash: 3.0.0
3265 | picocolors: 1.1.1
3266 | postcss: 8.5.0
3267 | postcss-import: 15.1.0(postcss@8.5.0)
3268 | postcss-js: 4.1.0(postcss@8.5.0)
3269 | postcss-load-config: 4.0.2(postcss@8.5.0)
3270 | postcss-nested: 6.2.0(postcss@8.5.0)
3271 | postcss-selector-parser: 6.1.2
3272 | resolve: 1.22.11
3273 | sucrase: 3.35.1
3274 | transitivePeerDependencies:
3275 | - ts-node
3276 |
3277 | thenify-all@1.6.0:
3278 | dependencies:
3279 | thenify: 3.3.1
3280 |
3281 | thenify@3.3.1:
3282 | dependencies:
3283 | any-promise: 1.3.0
3284 |
3285 | tiny-invariant@1.3.3: {}
3286 |
3287 | tinyglobby@0.2.15:
3288 | dependencies:
3289 | fdir: 6.5.0(picomatch@4.0.3)
3290 | picomatch: 4.0.3
3291 |
3292 | to-regex-range@5.0.1:
3293 | dependencies:
3294 | is-number: 7.0.0
3295 |
3296 | ts-interface-checker@0.1.13: {}
3297 |
3298 | tslib@2.8.1: {}
3299 |
3300 | typescript@5.0.2: {}
3301 |
3302 | undici-types@6.11.1: {}
3303 |
3304 | update-browserslist-db@1.1.4(browserslist@4.27.0):
3305 | dependencies:
3306 | browserslist: 4.27.0
3307 | escalade: 3.2.0
3308 | picocolors: 1.1.1
3309 |
3310 | use-callback-ref@1.3.3(@types/react@19.0.0)(react@19.2.0):
3311 | dependencies:
3312 | react: 19.2.0
3313 | tslib: 2.8.1
3314 | optionalDependencies:
3315 | '@types/react': 19.0.0
3316 |
3317 | use-sidecar@1.1.3(@types/react@19.0.0)(react@19.2.0):
3318 | dependencies:
3319 | detect-node-es: 1.1.0
3320 | react: 19.2.0
3321 | tslib: 2.8.1
3322 | optionalDependencies:
3323 | '@types/react': 19.0.0
3324 |
3325 | use-sync-external-store@1.6.0(react@19.2.0):
3326 | dependencies:
3327 | react: 19.2.0
3328 |
3329 | util-deprecate@1.0.2: {}
3330 |
3331 | vaul@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
3332 | dependencies:
3333 | '@radix-ui/react-dialog': 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
3334 | react: 19.2.0
3335 | react-dom: 19.2.0(react@19.2.0)
3336 | transitivePeerDependencies:
3337 | - '@types/react'
3338 | - '@types/react-dom'
3339 |
3340 | victory-vendor@36.9.2:
3341 | dependencies:
3342 | '@types/d3-array': 3.2.2
3343 | '@types/d3-ease': 3.0.2
3344 | '@types/d3-interpolate': 3.0.4
3345 | '@types/d3-scale': 4.0.9
3346 | '@types/d3-shape': 3.1.7
3347 | '@types/d3-time': 3.0.4
3348 | '@types/d3-timer': 3.0.2
3349 | d3-array: 3.2.4
3350 | d3-ease: 3.0.1
3351 | d3-interpolate: 3.0.1
3352 | d3-scale: 4.0.2
3353 | d3-shape: 3.2.0
3354 | d3-time: 3.1.0
3355 | d3-timer: 3.0.1
3356 |
3357 | yaml@2.8.2: {}
3358 |
3359 | zod@3.25.76: {}
3360 |
--------------------------------------------------------------------------------