From 34fc94dd19479f9298c2e14a2a0cebe566ecf0e5 Mon Sep 17 00:00:00 2001 From: headlessdev Date: Fri, 11 Apr 2025 12:27:44 +0200 Subject: [PATCH] Init & Login UI --- .gitignore | 41 + README.md | 36 + app/favicon.ico | Bin 0 -> 10970 bytes app/globals.css | 120 +++ app/layout.tsx | 42 + app/page.tsx | 50 + components.json | 21 + components/theme-provider.tsx | 11 + components/ui/button.tsx | 59 ++ components/ui/card.tsx | 92 ++ components/ui/input.tsx | 21 + components/ui/label.tsx | 24 + lib/utils.ts | 6 + next.config.ts | 7 + package-lock.json | 1673 +++++++++++++++++++++++++++++++++ package.json | 32 + postcss.config.mjs | 5 + public/logo.png | Bin 0 -> 24845 bytes tsconfig.json | 27 + 19 files changed, 2267 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app/favicon.ico create mode 100644 app/globals.css create mode 100644 app/layout.tsx create mode 100644 app/page.tsx create mode 100644 components.json create mode 100644 components/theme-provider.tsx create mode 100644 components/ui/button.tsx create mode 100644 components/ui/card.tsx create mode 100644 components/ui/input.tsx create mode 100644 components/ui/label.tsx create mode 100644 lib/utils.ts create mode 100644 next.config.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.mjs create mode 100644 public/logo.png create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/README.md b/README.md new file mode 100644 index 0000000..e215bc4 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..97126012e3bca04243cb8f3c780e4cc2946a296a GIT binary patch literal 10970 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�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 { + return ( + + + + {children} + + + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..5bb7c05 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,50 @@ +import { cn } from "@/lib/utils" +import { Button } from "@/components/ui/button" +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card" +import { Input } from "@/components/ui/input" +import { Label } from "@/components/ui/label" + +export default function Home() { + return ( +
+ + + Login + + Enter your Login data of the compose.yml file below to access + + + +
+
+
+ + +
+
+
+ +
+ +
+ +
+
+
+
+
+ ) +} diff --git a/components.json b/components.json new file mode 100644 index 0000000..2883c94 --- /dev/null +++ b/components.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "", + "css": "app/globals.css", + "baseColor": "stone", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "iconLibrary": "lucide" +} \ No newline at end of file diff --git a/components/theme-provider.tsx b/components/theme-provider.tsx new file mode 100644 index 0000000..6a1ffe4 --- /dev/null +++ b/components/theme-provider.tsx @@ -0,0 +1,11 @@ +"use client" + +import * as React from "react" +import { ThemeProvider as NextThemesProvider } from "next-themes" + +export function ThemeProvider({ + children, + ...props +}: React.ComponentProps) { + return {children} +} diff --git a/components/ui/button.tsx b/components/ui/button.tsx new file mode 100644 index 0000000..a2df8dc --- /dev/null +++ b/components/ui/button.tsx @@ -0,0 +1,59 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + { + variants: { + variant: { + default: + "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", + destructive: + "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", + outline: + "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", + secondary: + "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", + ghost: + "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2 has-[>svg]:px-3", + sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5", + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + icon: "size-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Button({ + className, + variant, + size, + asChild = false, + ...props +}: React.ComponentProps<"button"> & + VariantProps & { + asChild?: boolean + }) { + const Comp = asChild ? Slot : "button" + + return ( + + ) +} + +export { Button, buttonVariants } diff --git a/components/ui/card.tsx b/components/ui/card.tsx new file mode 100644 index 0000000..d05bbc6 --- /dev/null +++ b/components/ui/card.tsx @@ -0,0 +1,92 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Card({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardDescription({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardAction({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { + Card, + CardHeader, + CardFooter, + CardTitle, + CardAction, + CardDescription, + CardContent, +} diff --git a/components/ui/input.tsx b/components/ui/input.tsx new file mode 100644 index 0000000..03295ca --- /dev/null +++ b/components/ui/input.tsx @@ -0,0 +1,21 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Input({ className, type, ...props }: React.ComponentProps<"input">) { + return ( + + ) +} + +export { Input } diff --git a/components/ui/label.tsx b/components/ui/label.tsx new file mode 100644 index 0000000..fb5fbc3 --- /dev/null +++ b/components/ui/label.tsx @@ -0,0 +1,24 @@ +"use client" + +import * as React from "react" +import * as LabelPrimitive from "@radix-ui/react-label" + +import { cn } from "@/lib/utils" + +function Label({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Label } diff --git a/lib/utils.ts b/lib/utils.ts new file mode 100644 index 0000000..bd0c391 --- /dev/null +++ b/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..e9ffa30 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..67fca07 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1673 @@ +{ + "name": "corecontrol", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "corecontrol", + "version": "0.1.0", + "dependencies": { + "@radix-ui/react-label": "^2.1.3", + "@radix-ui/react-slot": "^1.2.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.487.0", + "next": "15.3.0", + "next-themes": "^0.4.6", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.2.0", + "tw-animate-css": "^1.2.5" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "tailwindcss": "^4", + "typescript": "^5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.0.tgz", + "integrity": "sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.1.tgz", + "integrity": "sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.1.0" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.1.tgz", + "integrity": "sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.1.0" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz", + "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz", + "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz", + "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz", + "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz", + "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz", + "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz", + "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz", + "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz", + "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.1.tgz", + "integrity": "sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.1.0" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.1.tgz", + "integrity": "sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.1.0" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.1.tgz", + "integrity": "sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.1.0" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.1.tgz", + "integrity": "sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.1.0" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.1.tgz", + "integrity": "sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.1.0" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.1.tgz", + "integrity": "sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.1.0" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.1.tgz", + "integrity": "sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.4.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.1.tgz", + "integrity": "sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.1.tgz", + "integrity": "sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@next/env": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.3.0.tgz", + "integrity": "sha512-6mDmHX24nWlHOlbwUiAOmMyY7KELimmi+ed8qWcJYjqXeC+G6JzPZ3QosOAfjNwgMIzwhXBiRiCgdh8axTTdTA==", + "license": "MIT" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.3.0.tgz", + "integrity": "sha512-PDQcByT0ZfF2q7QR9d+PNj3wlNN4K6Q8JoHMwFyk252gWo4gKt7BF8Y2+KBgDjTFBETXZ/TkBEUY7NIIY7A/Kw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.3.0.tgz", + "integrity": "sha512-m+eO21yg80En8HJ5c49AOQpFDq+nP51nu88ZOMCorvw3g//8g1JSUsEiPSiFpJo1KCTQ+jm9H0hwXK49H/RmXg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.3.0.tgz", + "integrity": "sha512-H0Kk04ZNzb6Aq/G6e0un4B3HekPnyy6D+eUBYPJv9Abx8KDYgNMWzKt4Qhj57HXV3sTTjsfc1Trc1SxuhQB+Tg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.3.0.tgz", + "integrity": "sha512-k8GVkdMrh/+J9uIv/GpnHakzgDQhrprJ/FbGQvwWmstaeFG06nnAoZCJV+wO/bb603iKV1BXt4gHG+s2buJqZA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.3.0.tgz", + "integrity": "sha512-ZMQ9yzDEts/vkpFLRAqfYO1wSpIJGlQNK9gZ09PgyjBJUmg8F/bb8fw2EXKgEaHbCc4gmqMpDfh+T07qUphp9A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.3.0.tgz", + "integrity": "sha512-RFwq5VKYTw9TMr4T3e5HRP6T4RiAzfDJ6XsxH8j/ZeYq2aLsBqCkFzwMI0FmnSsLaUbOb46Uov0VvN3UciHX5A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.3.0.tgz", + "integrity": "sha512-a7kUbqa/k09xPjfCl0RSVAvEjAkYBYxUzSVAzk2ptXiNEL+4bDBo9wNC43G/osLA/EOGzG4CuNRFnQyIHfkRgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.0.tgz", + "integrity": "sha512-vHUQS4YVGJPmpjn7r5lEZuMhK5UQBNBRSB+iGDvJjaNk649pTIcRluDWNb9siunyLLiu/LDPHfvxBtNamyuLTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.3.tgz", + "integrity": "sha512-zwSQ1NzSKG95yA0tvBMgv6XPHoqapJCcg9nsUBaQQ66iRBhZNhlpaQG2ERYYX4O4stkYFK5rxj5NsWfO9CS+Hg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.3.tgz", + "integrity": "sha512-Pf/t/GkndH7CQ8wE2hbkXA+WyZ83fhQQn5DDmwDiDo6AwN/fhaH8oqZ0jRjMrO2iaMhDi6P1HRx6AZwyMinY1g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.0.tgz", + "integrity": "sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.3.tgz", + "integrity": "sha512-H/6r6IPFJkCfBJZ2dKZiPJ7Ueb2wbL592+9bQEl2r73qbX6yGnmQVIfiUvDRB2YI0a3PWDrzUwkvQx1XW1bNkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.29.2", + "tailwindcss": "4.1.3" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.3.tgz", + "integrity": "sha512-t16lpHCU7LBxDe/8dCj9ntyNpXaSTAgxWm1u2XQP5NiIu4KGSyrDJJRlK9hJ4U9yJxx0UKCVI67MJWFNll5mOQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.3", + "@tailwindcss/oxide-darwin-arm64": "4.1.3", + "@tailwindcss/oxide-darwin-x64": "4.1.3", + "@tailwindcss/oxide-freebsd-x64": "4.1.3", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.3", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.3", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.3", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.3", + "@tailwindcss/oxide-linux-x64-musl": "4.1.3", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.3", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.3" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.3.tgz", + "integrity": "sha512-cxklKjtNLwFl3mDYw4XpEfBY+G8ssSg9ADL4Wm6//5woi3XGqlxFsnV5Zb6v07dxw1NvEX2uoqsxO/zWQsgR+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.3.tgz", + "integrity": "sha512-mqkf2tLR5VCrjBvuRDwzKNShRu99gCAVMkVsaEOFvv6cCjlEKXRecPu9DEnxp6STk5z+Vlbh1M5zY3nQCXMXhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.3.tgz", + "integrity": "sha512-7sGraGaWzXvCLyxrc7d+CCpUN3fYnkkcso3rCzwUmo/LteAl2ZGCDlGvDD8Y/1D3ngxT8KgDj1DSwOnNewKhmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.3.tgz", + "integrity": "sha512-E2+PbcbzIReaAYZe997wb9rId246yDkCwAakllAWSGqe6VTg9hHle67hfH6ExjpV2LSK/siRzBUs5wVff3RW9w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.3.tgz", + "integrity": "sha512-GvfbJ8wjSSjbLFFE3UYz4Eh8i4L6GiEYqCtA8j2Zd2oXriPuom/Ah/64pg/szWycQpzRnbDiJozoxFU2oJZyfg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.3.tgz", + "integrity": "sha512-35UkuCWQTeG9BHcBQXndDOrpsnt3Pj9NVIB4CgNiKmpG8GnCNXeMczkUpOoqcOhO6Cc/mM2W7kaQ/MTEENDDXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.3.tgz", + "integrity": "sha512-dm18aQiML5QCj9DQo7wMbt1Z2tl3Giht54uVR87a84X8qRtuXxUqnKQkRDK5B4bCOmcZ580lF9YcoMkbDYTXHQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.3.tgz", + "integrity": "sha512-LMdTmGe/NPtGOaOfV2HuO7w07jI3cflPrVq5CXl+2O93DCewADK0uW1ORNAcfu2YxDUS035eY2W38TxrsqngxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.3.tgz", + "integrity": "sha512-aalNWwIi54bbFEizwl1/XpmdDrOaCjRFQRgtbv9slWjmNPuJJTIKPHf5/XXDARc9CneW9FkSTqTbyvNecYAEGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.3.tgz", + "integrity": "sha512-PEj7XR4OGTGoboTIAdXicKuWl4EQIjKHKuR+bFy9oYN7CFZo0eu74+70O4XuERX4yjqVZGAkCdglBODlgqcCXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.3.tgz", + "integrity": "sha512-T8gfxECWDBENotpw3HR9SmNiHC9AOJdxs+woasRZ8Q/J4VHN0OMs7F+4yVNZ9EVN26Wv6mZbK0jv7eHYuLJLwA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.3.tgz", + "integrity": "sha512-6s5nJODm98F++QT49qn8xJKHQRamhYHfMi3X7/ltxiSQ9dyRsaFSfFkfaMsanWzf+TMYQtbk8mt5f6cCVXJwfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.3", + "@tailwindcss/oxide": "4.1.3", + "postcss": "^8.4.41", + "tailwindcss": "4.1.3" + } + }, + "node_modules/@types/node": { + "version": "20.17.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.30.tgz", + "integrity": "sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz", + "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.2.tgz", + "integrity": "sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001713", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz", + "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "optional": true + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT", + "optional": true + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/lightningcss": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", + "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.2", + "lightningcss-darwin-x64": "1.29.2", + "lightningcss-freebsd-x64": "1.29.2", + "lightningcss-linux-arm-gnueabihf": "1.29.2", + "lightningcss-linux-arm64-gnu": "1.29.2", + "lightningcss-linux-arm64-musl": "1.29.2", + "lightningcss-linux-x64-gnu": "1.29.2", + "lightningcss-linux-x64-musl": "1.29.2", + "lightningcss-win32-arm64-msvc": "1.29.2", + "lightningcss-win32-x64-msvc": "1.29.2" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", + "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", + "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", + "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", + "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", + "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", + "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", + "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", + "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", + "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", + "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lucide-react": { + "version": "0.487.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.487.0.tgz", + "integrity": "sha512-aKqhOQ+YmFnwq8dWgGjOuLc8V1R9/c/yOd+zDY4+ohsR2Jo05lSGc3WsstYPIzcTpeosN7LoCkLReUUITvaIvw==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/next": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/next/-/next-15.3.0.tgz", + "integrity": "sha512-k0MgP6BsK8cZ73wRjMazl2y2UcXj49ZXLDEgx6BikWuby/CN+nh81qFFI16edgd7xYpe/jj2OZEIwCoqnzz0bQ==", + "license": "MIT", + "dependencies": { + "@next/env": "15.3.0", + "@swc/counter": "0.1.3", + "@swc/helpers": "0.5.15", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "15.3.0", + "@next/swc-darwin-x64": "15.3.0", + "@next/swc-linux-arm64-gnu": "15.3.0", + "@next/swc-linux-arm64-musl": "15.3.0", + "@next/swc-linux-x64-gnu": "15.3.0", + "@next/swc-linux-x64-musl": "15.3.0", + "@next/swc-win32-arm64-msvc": "15.3.0", + "@next/swc-win32-x64-msvc": "15.3.0", + "sharp": "^0.34.1" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-themes": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.1.tgz", + "integrity": "sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.7.1" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.1", + "@img/sharp-darwin-x64": "0.34.1", + "@img/sharp-libvips-darwin-arm64": "1.1.0", + "@img/sharp-libvips-darwin-x64": "1.1.0", + "@img/sharp-libvips-linux-arm": "1.1.0", + "@img/sharp-libvips-linux-arm64": "1.1.0", + "@img/sharp-libvips-linux-ppc64": "1.1.0", + "@img/sharp-libvips-linux-s390x": "1.1.0", + "@img/sharp-libvips-linux-x64": "1.1.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.1.0", + "@img/sharp-libvips-linuxmusl-x64": "1.1.0", + "@img/sharp-linux-arm": "0.34.1", + "@img/sharp-linux-arm64": "0.34.1", + "@img/sharp-linux-s390x": "0.34.1", + "@img/sharp-linux-x64": "0.34.1", + "@img/sharp-linuxmusl-arm64": "0.34.1", + "@img/sharp-linuxmusl-x64": "0.34.1", + "@img/sharp-wasm32": "0.34.1", + "@img/sharp-win32-ia32": "0.34.1", + "@img/sharp-win32-x64": "0.34.1" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/tailwind-merge": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.2.0.tgz", + "integrity": "sha512-FQT/OVqCD+7edmmJpsgCsY820RTD5AkBryuG5IUqR5YQZSdj5xlH5nLgH7YPths7WsLPSpSBNneJdM8aS8aeFA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.3.tgz", + "integrity": "sha512-2Q+rw9vy1WFXu5cIxlvsabCwhU2qUwodGq03ODhLJ0jW4ek5BUtoCsnLB0qG+m8AHgEsSJcJGDSDe06FXlP74g==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tw-animate-css": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.2.5.tgz", + "integrity": "sha512-ABzjfgVo+fDbhRREGL4KQZUqqdPgvc5zVrLyeW9/6mVqvaDepXc7EvedA+pYmMnIOsUAQMwcWzNvom26J2qYvQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8cbd8c2 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "corecontrol", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --turbopack", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@radix-ui/react-label": "^2.1.3", + "@radix-ui/react-slot": "^1.2.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.487.0", + "next": "15.3.0", + "next-themes": "^0.4.6", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.2.0", + "tw-animate-css": "^1.2.5" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "tailwindcss": "^4", + "typescript": "^5" + } +} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 0000000..c7bcb4b --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,5 @@ +const config = { + plugins: ["@tailwindcss/postcss"], +}; + +export default config; diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..934cd5d0df67bcbbbacad458786143d8ff799fe4 GIT binary patch literal 24845 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 UHx^XMA1rv&C&0VHbL+nU0$c`dga7~l literal 0 HcmV?d00001 diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d8b9323 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +}