kofi-stack-template-generator 2.1.60 → 2.1.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +6 -6
- package/dist/index.js +588 -8
- package/package.json +2 -2
- package/src/templates.generated.ts +11 -10
- package/templates/admin/src/app/globals.css.hbs +1 -2
- package/templates/design-system/src/app/globals.css.hbs +1 -2
- package/templates/marketing/nextjs/package.json.hbs +2 -1
- package/templates/marketing/nextjs/src/app/globals.css.hbs +3 -445
- package/templates/packages/ui/components.json.hbs +27 -0
- package/templates/packages/ui/package.json.hbs +5 -4
- package/templates/packages/ui/src/globals.css.hbs +568 -0
- package/templates/web/components.json.hbs +6 -0
- package/templates/web/src/app/globals.css.hbs +11 -0
- package/templates/packages/ui/src/styles.css.hbs +0 -121
package/dist/index.js
CHANGED
|
@@ -284,7 +284,7 @@ export default function AnalyticsPage() {
|
|
|
284
284
|
)
|
|
285
285
|
}
|
|
286
286
|
`,
|
|
287
|
-
"admin/src/app/globals.css.hbs": '@import "
|
|
287
|
+
"admin/src/app/globals.css.hbs": '@import "@repo/ui/globals.css";\n',
|
|
288
288
|
"admin/src/app/layout.tsx.hbs": `import type { Metadata } from 'next'
|
|
289
289
|
import { ThemeProvider } from 'next-themes'
|
|
290
290
|
import { AdminSidebar } from '@/components/admin-sidebar'
|
|
@@ -956,7 +956,7 @@ export default function ComponentsPage() {
|
|
|
956
956
|
)
|
|
957
957
|
}
|
|
958
958
|
`,
|
|
959
|
-
"design-system/src/app/globals.css.hbs": '@import "
|
|
959
|
+
"design-system/src/app/globals.css.hbs": '@import "@repo/ui/globals.css";\n',
|
|
960
960
|
"design-system/src/app/layout.tsx.hbs": `import type { Metadata } from 'next'
|
|
961
961
|
import { ThemeProvider } from 'next-themes'
|
|
962
962
|
import './globals.css'
|
|
@@ -2669,7 +2669,7 @@ import FinalCTA from "../components/blocks/FinalCTA.astro"
|
|
|
2669
2669
|
"marketing/astro/tsconfig.json.hbs": '{\n "extends": "astro/tsconfigs/strict",\n "compilerOptions": {\n "baseUrl": ".",\n "paths": {\n "@/*": ["./src/*"]\n }\n },\n "include": ["src/**/*", ".astro/types.d.ts"],\n "exclude": ["node_modules", "dist"]\n}\n',
|
|
2670
2670
|
"marketing/nextjs/components.json.hbs": '{\n "$schema": "https://ui.shadcn.com/schema.json",\n{{#if (eq shadcn.style "nova")}}\n "style": "new-york",\n{{else if (eq shadcn.style "vega")}}\n "style": "default",\n{{else if (eq shadcn.style "maia")}}\n "style": "new-york",\n{{else if (eq shadcn.style "lyra")}}\n "style": "new-york",\n{{else if (eq shadcn.style "mira")}}\n "style": "default",\n{{else}}\n "style": "new-york",\n{{/if}}\n "rsc": true,\n "tsx": true,\n "tailwind": {\n "config": "",\n "css": "src/app/globals.css",\n "baseColor": "{{shadcn.baseColor}}",\n "cssVariables": true,\n "prefix": ""\n },\n{{#if (eq shadcn.iconLibrary "lucide")}}\n "iconLibrary": "lucide",\n{{else if (eq shadcn.iconLibrary "hugeicons")}}\n "iconLibrary": "lucide",\n{{else if (eq shadcn.iconLibrary "tabler")}}\n "iconLibrary": "lucide",\n{{else if (eq shadcn.iconLibrary "phosphor")}}\n "iconLibrary": "lucide",\n{{else}}\n "iconLibrary": "lucide",\n{{/if}}\n "aliases": {\n "components": "@/components",\n "utils": "@/lib/utils",\n "ui": "@/components/ui",\n "lib": "@/lib",\n "hooks": "@/hooks"\n },\n "registries": {}\n}\n',
|
|
2671
2671
|
"marketing/nextjs/next.config.ts.hbs": "import type { NextConfig } from 'next'\n\nconst nextConfig: NextConfig = {\n transpilePackages: ['@repo/ui'],\n}\n\nexport default nextConfig\n",
|
|
2672
|
-
"marketing/nextjs/package.json.hbs": '{\n "name": "@repo/marketing",\n "version": "0.1.0",\n "private": true,\n "scripts": {\n "dev": "next dev --turbopack --port 3000",\n "build": "next build",\n "start": "next start",\n "lint": "biome check .",\n "lint:fix": "biome check --write .",\n "typecheck": "tsc --noEmit"\n },\n "dependencies": {\n "next": "^16.0.0",\n "react": "^19.0.0",\n "react-dom": "^19.0.0",\n "@repo/ui": "workspace:*",\n "lucide-react": "^0.468.0",\n "next-themes": "^0.4.4",\n "clsx": "^2.1.1",\n "tailwind-merge": "^2.6.0",\n "class-variance-authority": "^0.7.1"\n },\n "devDependencies": {\n "@repo/config-typescript": "workspace:*",\n "@types/node": "^20.0.0",\n "@types/react": "^19.0.0",\n "@types/react-dom": "^19.0.0",\n "tailwindcss": "^4.0.0",\n "@tailwindcss/postcss": "^4.0.0",\n "postcss": "^8.4.0",\n "typescript": "^5.0.0"\n }\n}\n',
|
|
2672
|
+
"marketing/nextjs/package.json.hbs": '{\n "name": "@repo/marketing",\n "version": "0.1.0",\n "private": true,\n "scripts": {\n "dev": "next dev --turbopack --port 3000",\n "build": "next build",\n "start": "next start",\n "lint": "biome check .",\n "lint:fix": "biome check --write .",\n "typecheck": "tsc --noEmit"\n },\n "dependencies": {\n "next": "^16.0.0",\n "react": "^19.0.0",\n "react-dom": "^19.0.0",\n "@repo/ui": "workspace:*",\n "lucide-react": "^0.468.0",\n "next-themes": "^0.4.4",\n "clsx": "^2.1.1",\n "tailwind-merge": "^2.6.0",\n "class-variance-authority": "^0.7.1",\n "tw-animate-css": "^1.3.0"\n },\n "devDependencies": {\n "@repo/config-typescript": "workspace:*",\n "@types/node": "^20.0.0",\n "@types/react": "^19.0.0",\n "@types/react-dom": "^19.0.0",\n "tailwindcss": "^4.0.0",\n "@tailwindcss/postcss": "^4.0.0",\n "postcss": "^8.4.0",\n "typescript": "^5.0.0"\n }\n}\n',
|
|
2673
2673
|
"marketing/nextjs/postcss.config.mjs.hbs": "export default {\n plugins: {\n '@tailwindcss/postcss': {},\n },\n}\n",
|
|
2674
2674
|
"marketing/nextjs/src/app/about/page.tsx": `import { Header } from "@/components/Header"
|
|
2675
2675
|
import { Footer } from "@/components/Footer"
|
|
@@ -3438,7 +3438,7 @@ export default function SecurityPage() {
|
|
|
3438
3438
|
}
|
|
3439
3439
|
`,
|
|
3440
3440
|
"marketing/nextjs/src/app/features/workflows/page.tsx": 'import { Header } from "@/components/Header"\nimport { Footer } from "@/components/Footer"\nimport { FinalCTA } from "@/components/blocks"\nimport { Workflow, Users, FileText, CheckSquare, Kanban, Calendar } from "lucide-react"\n\nconst features = [\n {\n icon: <Workflow className="h-6 w-6" />,\n title: "Custom Workflows",\n description:\n "Design workflows that match how your team actually works. Fully customizable stages and transitions.",\n },\n {\n icon: <Users className="h-6 w-6" />,\n title: "Team Collaboration",\n description:\n "Assign tasks, leave comments, and collaborate in real-time. Everyone stays in sync.",\n },\n {\n icon: <FileText className="h-6 w-6" />,\n title: "Templates Library",\n description:\n "Start fast with pre-built templates for common workflows. Customize as needed.",\n },\n {\n icon: <CheckSquare className="h-6 w-6" />,\n title: "Task Dependencies",\n description:\n "Link tasks together with dependencies. See the critical path at a glance.",\n },\n {\n icon: <Kanban className="h-6 w-6" />,\n title: "Kanban Boards",\n description:\n "Visualize your workflow with drag-and-drop kanban boards. Track progress instantly.",\n },\n {\n icon: <Calendar className="h-6 w-6" />,\n title: "Timeline View",\n description:\n "See your workflow on a timeline. Plan sprints and manage deadlines visually.",\n },\n]\n\nexport default function WorkflowsPage() {\n return (\n <div className="min-h-screen flex flex-col">\n <Header />\n\n <main className="flex-1">\n {/* Hero */}\n <section className="py-16 md:py-24">\n <div className="container mx-auto px-4">\n <div className="max-w-3xl mx-auto text-center">\n <div className="inline-block px-4 py-1 rounded-full bg-primary/10 text-primary text-sm font-medium mb-6">\n Workflows\n </div>\n <h1 className="text-4xl md:text-5xl font-bold tracking-tight mb-6">\n Build workflows that match how you work\n </h1>\n <p className="text-xl text-muted-foreground mb-8">\n Design custom workflows with kanban boards, timelines, and task dependencies. Keep your team aligned and projects on track.\n </p>\n <div className="flex flex-wrap gap-4 justify-center">\n <a\n href="/sign-up"\n className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors"\n >\n Start free trial\n </a>\n <a\n href="/demo"\n className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md border border-border bg-background hover:bg-muted transition-colors"\n >\n Watch demo\n </a>\n </div>\n </div>\n </div>\n </section>\n\n {/* Workflow Preview */}\n <section className="pb-16 md:pb-24">\n <div className="container mx-auto px-4">\n <div className="max-w-5xl mx-auto">\n <div className="aspect-video bg-gradient-to-br from-primary/20 to-primary/5 rounded-lg border border-border flex items-center justify-center">\n <div className="text-center text-muted-foreground">\n <Kanban className="h-16 w-16 mx-auto mb-4 opacity-50" />\n <p>Workflow Preview</p>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n {/* Features Grid */}\n <section className="py-16 md:py-24 bg-muted/30">\n <div className="container mx-auto px-4">\n <div className="text-center mb-12 md:mb-16">\n <h2 className="text-3xl md:text-4xl font-bold tracking-tight mb-4">\n Everything you need to manage work\n </h2>\n <p className="text-lg text-muted-foreground max-w-2xl mx-auto">\n Powerful features that adapt to any team or project type.\n </p>\n </div>\n\n <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-5xl mx-auto">\n {features.map((feature) => (\n <div\n key={feature.title}\n className="bg-card rounded-lg border border-border p-6"\n >\n <div className="w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4">\n {feature.icon}\n </div>\n <h3 className="text-lg font-semibold mb-2">{feature.title}</h3>\n <p className="text-muted-foreground text-sm">{feature.description}</p>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n {/* Final CTA */}\n <FinalCTA\n headline="Ready to streamline your workflow?"\n subheading="Start your free trial and build your first workflow in minutes."\n style="dark"\n links={[\n { label: "Start free trial", href: "/sign-up", variant: "outline" },\n { label: "Explore templates", href: "#", variant: "default" },\n ]}\n />\n </main>\n\n <Footer />\n </div>\n )\n}\n',
|
|
3441
|
-
"marketing/nextjs/src/app/globals.css.hbs": '@import "tailwindcss";\n@import "tw-animate-css";\n\n@custom-variant dark (&:is(.dark *));\n\n@theme inline {\n /* Colors */\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n\n --color-card: var(--card);\n --color-card-foreground: var(--card-foreground);\n\n --color-popover: var(--popover);\n --color-popover-foreground: var(--popover-foreground);\n\n --color-primary: var(--primary);\n --color-primary-foreground: var(--primary-foreground);\n\n --color-secondary: var(--secondary);\n --color-secondary-foreground: var(--secondary-foreground);\n\n --color-muted: var(--muted);\n --color-muted-foreground: var(--muted-foreground);\n\n --color-accent: var(--accent);\n --color-accent-foreground: var(--accent-foreground);\n\n --color-destructive: var(--destructive);\n\n --color-border: var(--border);\n --color-input: var(--input);\n --color-ring: var(--ring);\n\n --color-chart-1: var(--chart-1);\n --color-chart-2: var(--chart-2);\n --color-chart-3: var(--chart-3);\n --color-chart-4: var(--chart-4);\n --color-chart-5: var(--chart-5);\n\n /* Border radius */\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: calc(var(--radius) + 4px);\n\n /* Fonts */\n --font-sans: var(--font-geist-sans), system-ui, sans-serif;\n --font-mono: var(--font-geist-mono), monospace;\n\n /* Container */\n --container-sm: 40rem;\n --container-md: 48rem;\n --container-lg: 64rem;\n --container-xl: 80rem;\n --container-2xl: 96rem;\n\n /* Animations */\n --animate-accordion-down: accordion-down 0.2s ease-out;\n --animate-accordion-up: accordion-up 0.2s ease-out;\n}\n\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n\n/* ========================================\n THEME COLOR VARIABLES\n ======================================== */\n\n:root {\n --radius: 0.625rem;\n --background: oklch(1 0 0);\n --foreground: oklch(0.145 0 0);\n --card: oklch(1 0 0);\n --card-foreground: oklch(0.145 0 0);\n --popover: oklch(1 0 0);\n --popover-foreground: oklch(0.145 0 0);\n --secondary: oklch(0.97 0 0);\n --secondary-foreground: oklch(0.205 0 0);\n --muted: oklch(0.97 0 0);\n --muted-foreground: oklch(0.556 0 0);\n --accent: oklch(0.97 0 0);\n --accent-foreground: oklch(0.205 0 0);\n --destructive: oklch(0.577 0.245 27.325);\n --border: oklch(0.922 0 0);\n --input: oklch(0.922 0 0);\n\n{{#if (eq shadcn.themeColor "neutral")}}\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "blue")}}\n --primary: oklch(0.546 0.245 262.881);\n --primary-foreground: oklch(0.985 0.002 247.858);\n --ring: oklch(0.546 0.245 262.881);\n --chart-1: oklch(0.546 0.245 262.881);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "green")}}\n --primary: oklch(0.596 0.145 163.225);\n --primary-foreground: oklch(0.982 0.018 155.826);\n --ring: oklch(0.596 0.145 163.225);\n --chart-1: oklch(0.596 0.145 163.225);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "purple")}}\n --primary: oklch(0.627 0.265 303.9);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.627 0.265 303.9);\n --chart-1: oklch(0.627 0.265 303.9);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "red")}}\n --primary: oklch(0.637 0.237 25.331);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.637 0.237 25.331);\n --chart-1: oklch(0.637 0.237 25.331);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "orange")}}\n --primary: oklch(0.705 0.191 47.604);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.705 0.191 47.604);\n --chart-1: oklch(0.705 0.191 47.604);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "amber")}}\n --primary: oklch(0.769 0.188 70.08);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.769 0.188 70.08);\n --chart-1: oklch(0.769 0.188 70.08);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.646 0.222 41.116);\n{{else if (eq shadcn.themeColor "cyan")}}\n --primary: oklch(0.715 0.143 215.221);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.715 0.143 215.221);\n --chart-1: oklch(0.715 0.143 215.221);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "emerald")}}\n --primary: oklch(0.696 0.17 162.48);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.696 0.17 162.48);\n --chart-1: oklch(0.696 0.17 162.48);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "fuchsia")}}\n --primary: oklch(0.667 0.295 322.15);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.667 0.295 322.15);\n --chart-1: oklch(0.667 0.295 322.15);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "indigo")}}\n --primary: oklch(0.585 0.233 277.117);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.585 0.233 277.117);\n --chart-1: oklch(0.585 0.233 277.117);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "lime")}}\n --primary: oklch(0.768 0.233 130.85);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.768 0.233 130.85);\n --chart-1: oklch(0.768 0.233 130.85);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "pink")}}\n --primary: oklch(0.718 0.202 349.761);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.718 0.202 349.761);\n --chart-1: oklch(0.718 0.202 349.761);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "rose")}}\n --primary: oklch(0.645 0.246 16.439);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.645 0.246 16.439);\n --chart-1: oklch(0.645 0.246 16.439);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "sky")}}\n --primary: oklch(0.685 0.169 237.323);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.685 0.169 237.323);\n --chart-1: oklch(0.685 0.169 237.323);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "teal")}}\n --primary: oklch(0.704 0.14 182.503);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.704 0.14 182.503);\n --chart-1: oklch(0.704 0.14 182.503);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "violet")}}\n --primary: oklch(0.606 0.25 292.717);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.606 0.25 292.717);\n --chart-1: oklch(0.606 0.25 292.717);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "yellow")}}\n --primary: oklch(0.795 0.184 86.047);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.795 0.184 86.047);\n --chart-1: oklch(0.795 0.184 86.047);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.646 0.222 41.116);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else}}\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{/if}}\n}\n\n.dark {\n --background: oklch(0.145 0 0);\n --foreground: oklch(0.985 0 0);\n --card: oklch(0.205 0 0);\n --card-foreground: oklch(0.985 0 0);\n --popover: oklch(0.269 0 0);\n --popover-foreground: oklch(0.985 0 0);\n --secondary: oklch(0.269 0 0);\n --secondary-foreground: oklch(0.985 0 0);\n --muted: oklch(0.269 0 0);\n --muted-foreground: oklch(0.708 0 0);\n --accent: oklch(0.371 0 0);\n --accent-foreground: oklch(0.985 0 0);\n --destructive: oklch(0.704 0.191 22.216);\n --border: oklch(1 0 0 / 10%);\n --input: oklch(1 0 0 / 15%);\n\n{{#if (eq shadcn.themeColor "neutral")}}\n --primary: oklch(0.922 0 0);\n --primary-foreground: oklch(0.205 0 0);\n --ring: oklch(0.556 0 0);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "blue")}}\n --primary: oklch(0.623 0.214 262.881);\n --primary-foreground: oklch(0.273 0.033 256.848);\n --ring: oklch(0.623 0.214 262.881);\n --chart-1: oklch(0.623 0.214 262.881);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "green")}}\n --primary: oklch(0.696 0.17 162.48);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.696 0.17 162.48);\n --chart-1: oklch(0.696 0.17 162.48);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "purple")}}\n --primary: oklch(0.714 0.203 305.504);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.714 0.203 305.504);\n --chart-1: oklch(0.714 0.203 305.504);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "red")}}\n --primary: oklch(0.704 0.191 22.216);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.704 0.191 22.216);\n --chart-1: oklch(0.704 0.191 22.216);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "orange")}}\n --primary: oklch(0.792 0.17 52.615);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.792 0.17 52.615);\n --chart-1: oklch(0.792 0.17 52.615);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "amber")}}\n --primary: oklch(0.828 0.189 84.429);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.828 0.189 84.429);\n --chart-1: oklch(0.828 0.189 84.429);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.488 0.243 264.376);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "cyan")}}\n --primary: oklch(0.789 0.154 211.53);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.789 0.154 211.53);\n --chart-1: oklch(0.789 0.154 211.53);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "emerald")}}\n --primary: oklch(0.765 0.166 160.391);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.765 0.166 160.391);\n --chart-1: oklch(0.765 0.166 160.391);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "fuchsia")}}\n --primary: oklch(0.74 0.238 322.16);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.74 0.238 322.16);\n --chart-1: oklch(0.74 0.238 322.16);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "indigo")}}\n --primary: oklch(0.673 0.182 276.935);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.673 0.182 276.935);\n --chart-1: oklch(0.673 0.182 276.935);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "lime")}}\n --primary: oklch(0.841 0.238 128.85);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.841 0.238 128.85);\n --chart-1: oklch(0.841 0.238 128.85);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "pink")}}\n --primary: oklch(0.775 0.181 349.761);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.775 0.181 349.761);\n --chart-1: oklch(0.775 0.181 349.761);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "rose")}}\n --primary: oklch(0.712 0.194 13.428);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.712 0.194 13.428);\n --chart-1: oklch(0.712 0.194 13.428);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "sky")}}\n --primary: oklch(0.756 0.143 232.661);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.756 0.143 232.661);\n --chart-1: oklch(0.756 0.143 232.661);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "teal")}}\n --primary: oklch(0.777 0.152 181.912);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.777 0.152 181.912);\n --chart-1: oklch(0.777 0.152 181.912);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "violet")}}\n --primary: oklch(0.702 0.183 293.541);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.702 0.183 293.541);\n --chart-1: oklch(0.702 0.183 293.541);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "yellow")}}\n --primary: oklch(0.852 0.199 91.936);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.852 0.199 91.936);\n --chart-1: oklch(0.852 0.199 91.936);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.488 0.243 264.376);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else}}\n --primary: oklch(0.922 0 0);\n --primary-foreground: oklch(0.205 0 0);\n --ring: oklch(0.556 0 0);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{/if}}\n}\n\n/* ========================================\n BASE STYLES\n ======================================== */\n\n@layer base {\n * {\n @apply border-border outline-ring/50;\n }\n body {\n @apply bg-background text-foreground;\n }\n}\n\n/* Container utility */\n.container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: 1rem;\n padding-right: 1rem;\n max-width: 96rem;\n}\n\n@media (min-width: 640px) {\n .container {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n}\n\n@media (min-width: 1024px) {\n .container {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n\n/* ========================================\n HERO TYPOGRAPHY\n ======================================== */\n\n.hero-content h1 {\n font-size: 2.25rem !important;\n line-height: 2.5rem !important;\n font-weight: 700 !important;\n letter-spacing: -0.025em !important;\n margin-bottom: 1.5rem !important;\n color: var(--color-foreground) !important;\n}\n\n.hero-content p {\n font-size: 1.25rem !important;\n line-height: 1.75rem !important;\n color: var(--color-muted-foreground) !important;\n max-width: 42rem;\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 2rem !important;\n}\n\n.hero-content--dark h1 {\n color: white !important;\n}\n\n.hero-content--dark p {\n color: rgba(255, 255, 255, 0.8) !important;\n}\n\n@media (min-width: 768px) {\n .hero-content h1 {\n font-size: 3.75rem !important;\n line-height: 1 !important;\n }\n}\n\n/* Left-aligned hero content */\n.hero-content--left h1 {\n text-align: left !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.hero-content--left p {\n text-align: left !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n/* ========================================\n PRODUCT SHOWCASE HERO STYLES\n ======================================== */\n\n.hero-showcase {\n position: relative;\n border-radius: 1rem;\n overflow: hidden;\n height: 25rem;\n width: 100%;\n background: linear-gradient(135deg, var(--primary) 0%, color-mix(in oklch, var(--primary) 70%, black) 100%);\n}\n\n@media (min-width: 768px) {\n .hero-showcase {\n height: 31.25rem;\n }\n}\n\n@media (min-width: 1024px) {\n .hero-showcase {\n height: 37.5rem;\n }\n}\n\n.hero-bg-image {\n position: absolute;\n inset: 0;\n z-index: 0;\n opacity: 0.1;\n}\n\n.hero-bg-image img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n\n.hero-mockup-centered {\n position: relative;\n z-index: 10;\n padding: 2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n}\n\n@media (min-width: 768px) {\n .hero-mockup-centered {\n padding: 3rem;\n }\n}\n\n.mockup-wrapper {\n background: var(--color-background);\n border-radius: 12px;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 12px 24px -8px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);\n overflow: hidden;\n animation: mockup-entrance 0.8s ease-out;\n width: 100%;\n}\n\n.mockup-wrapper img {\n width: 100%;\n height: auto;\n display: block;\n}\n\n@keyframes mockup-entrance {\n from {\n opacity: 0;\n transform: translateY(30px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Browser chrome */\n.mockup-chrome {\n display: flex;\n align-items: center;\n padding: 12px 16px;\n background: var(--color-muted);\n border-bottom: 1px solid var(--color-border);\n}\n\n.mockup-chrome-dots {\n display: flex;\n gap: 6px;\n}\n\n.mockup-chrome-dots .dot {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n}\n\n.mockup-chrome-dots .dot-red {\n background: #ff5f56;\n}\n.mockup-chrome-dots .dot-yellow {\n background: #ffbd2e;\n}\n.mockup-chrome-dots .dot-green {\n background: #27ca40;\n}\n\n.mockup-chrome-title {\n flex: 1;\n text-align: center;\n font-size: 13px;\n font-weight: 500;\n color: var(--color-muted-foreground);\n}\n\n.mockup-chrome-actions {\n width: 60px;\n}\n\n/* App content layout */\n.mockup-content {\n display: flex;\n min-height: 400px;\n}\n\n.mockup-sidebar {\n width: 220px;\n background: var(--color-card);\n border-right: 1px solid var(--color-border);\n flex-shrink: 0;\n}\n\n.sidebar-header {\n padding: 16px;\n border-bottom: 1px solid var(--color-border);\n}\n\n.sidebar-logo {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.logo-icon {\n width: 28px;\n height: 28px;\n background: var(--color-primary);\n color: white;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 700;\n font-size: 14px;\n}\n\n.logo-text {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-foreground);\n}\n\n.sidebar-nav {\n padding: 8px;\n}\n\n.sidebar-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 6px;\n font-size: 13px;\n color: var(--color-muted-foreground);\n transition: all 0.15s ease;\n cursor: pointer;\n}\n\n.sidebar-item:hover {\n background: var(--color-accent);\n color: var(--color-accent-foreground);\n}\n\n.sidebar-item--active {\n background: oklch(from var(--color-primary) l c h / 0.12);\n color: var(--color-primary);\n}\n\n.sidebar-icon {\n font-size: 16px;\n}\n\n.sidebar-label {\n flex: 1;\n}\n\n.sidebar-badge {\n background: var(--color-primary);\n color: var(--color-primary-foreground);\n font-size: 11px;\n padding: 2px 6px;\n border-radius: 10px;\n font-weight: 500;\n}\n\n/* Main content area */\n.mockup-main {\n flex: 1;\n display: flex;\n flex-direction: column;\n background: var(--color-background);\n}\n\n.main-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--color-border);\n}\n\n.header-title {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.header-title h2 {\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n color: var(--color-foreground);\n}\n\n.header-breadcrumb {\n font-size: 12px;\n color: var(--color-muted-foreground);\n}\n\n.header-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.action-btn {\n padding: 8px 16px;\n background: var(--color-primary);\n color: var(--color-primary-foreground);\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.action-btn--success {\n background: #27ca40;\n}\n\n.action-btn--featured {\n background: var(--color-primary);\n}\n\n/* Split view */\n.main-split {\n display: flex;\n flex: 1;\n}\n\n.editor-panel {\n flex: 1;\n padding: 20px;\n border-right: 1px solid var(--color-border);\n}\n\n.editor-section {\n margin-bottom: 20px;\n}\n\n.editor-label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: var(--color-muted-foreground);\n margin-bottom: 6px;\n}\n\n.editor-input {\n background: var(--color-muted);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--color-foreground);\n display: flex;\n align-items: center;\n}\n\n.input-text {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.input-cursor {\n width: 2px;\n height: 18px;\n background: var(--color-primary);\n animation: blink 1s infinite;\n margin-left: 2px;\n}\n\n@keyframes blink {\n 0%,\n 50% {\n opacity: 1;\n }\n 51%,\n 100% {\n opacity: 0;\n }\n}\n\n.editor-select {\n background: var(--color-muted);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--color-foreground);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.select-arrow {\n font-size: 10px;\n color: var(--color-muted-foreground);\n}\n\n.editor-textarea {\n background: var(--color-muted);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--color-foreground);\n min-height: 80px;\n}\n\n.textarea-text {\n transition: all 0.5s ease;\n}\n\n.textarea-text--complete {\n color: var(--color-foreground);\n}\n\n/* Preview panel */\n.preview-panel {\n width: 320px;\n padding: 20px;\n background: oklch(from var(--color-muted) l c h / 0.5);\n}\n\n.preview-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n}\n\n.preview-label {\n font-size: 12px;\n font-weight: 500;\n color: var(--color-muted-foreground);\n}\n\n.preview-url {\n font-size: 11px;\n color: var(--color-muted-foreground);\n font-family: monospace;\n}\n\n.preview-card {\n background: var(--color-card);\n border: 1px solid var(--color-border);\n border-radius: 10px;\n overflow: hidden;\n position: relative;\n transition: all 0.3s ease;\n}\n\n.preview-badge {\n position: absolute;\n top: 10px;\n right: 10px;\n background: var(--color-primary);\n color: white;\n font-size: 11px;\n padding: 4px 8px;\n border-radius: 4px;\n font-weight: 500;\n animation: badge-pop 0.3s ease;\n}\n\n@keyframes badge-pop {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.preview-image {\n height: 120px;\n background: linear-gradient(135deg, var(--color-muted) 0%, var(--color-accent) 100%);\n}\n\n.preview-image-placeholder {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 40px;\n}\n\n.preview-content {\n padding: 16px;\n}\n\n.preview-category-tag {\n display: inline-block;\n font-size: 11px;\n color: var(--color-primary);\n font-weight: 500;\n margin-bottom: 8px;\n}\n\n.preview-title {\n font-size: 16px;\n font-weight: 600;\n margin: 0 0 8px;\n color: var(--color-foreground);\n}\n\n.preview-description {\n font-size: 13px;\n color: var(--color-muted-foreground);\n line-height: 1.5;\n margin: 0 0 12px;\n}\n\n.preview-meta {\n display: flex;\n gap: 8px;\n font-size: 12px;\n}\n\n.meta-rating {\n color: #ffc24a;\n}\n\n.meta-reviews {\n color: var(--color-muted-foreground);\n}\n\n/* State indicators */\n.mockup-indicators {\n display: flex;\n justify-content: center;\n gap: 24px;\n padding: 16px;\n border-top: 1px solid var(--color-border);\n}\n\n.indicator {\n display: flex;\n align-items: center;\n gap: 8px;\n background: none;\n border: none;\n cursor: pointer;\n padding: 6px 12px;\n border-radius: 20px;\n transition: all 0.2s ease;\n}\n\n.indicator:hover {\n background: var(--color-accent);\n}\n\n.indicator--active {\n background: oklch(from var(--color-primary) l c h / 0.12);\n}\n\n.indicator-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(--color-muted-foreground);\n transition: all 0.2s ease;\n}\n\n.indicator--active .indicator-dot {\n background: var(--color-primary);\n box-shadow: 0 0 0 3px oklch(from var(--color-primary) l c h / 0.2);\n}\n\n.indicator-label {\n font-size: 12px;\n color: var(--color-muted-foreground);\n}\n\n.indicator--active .indicator-label {\n color: var(--color-foreground);\n font-weight: 500;\n}\n\n/* ========================================\n LOGO BANNER STYLES\n ======================================== */\n\n.logo-scroll-container {\n overflow: hidden;\n mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n}\n\n.logo-scroll-track {\n display: flex;\n animation: logo-scroll 30s linear infinite;\n}\n\n.logo-scroll-track:hover {\n animation-play-state: paused;\n}\n\n@keyframes logo-scroll {\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(-50%);\n }\n}\n\n.logo-item {\n flex-shrink: 0;\n min-width: 150px;\n}\n\n/* ========================================\n RESPONSIVE ADJUSTMENTS\n ======================================== */\n\n@media (max-width: 768px) {\n .mockup-content {\n flex-direction: column;\n }\n\n .mockup-sidebar {\n width: 100%;\n border-right: none;\n border-bottom: 1px solid var(--color-border);\n }\n\n .sidebar-nav {\n display: flex;\n overflow-x: auto;\n padding: 8px;\n gap: 4px;\n }\n\n .sidebar-item {\n white-space: nowrap;\n }\n\n .main-split {\n flex-direction: column;\n }\n\n .editor-panel {\n border-right: none;\n border-bottom: 1px solid var(--color-border);\n }\n\n .preview-panel {\n width: 100%;\n }\n\n .mockup-indicators {\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .indicator-label {\n display: none;\n }\n}\n\n/* ========================================\n ANIMATION STYLES\n ======================================== */\n\n/* Industry Tabs Animation */\n.industry-tab-content {\n animation: tab-fade-in 0.3s ease-out;\n}\n\n@keyframes tab-fade-in {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Feature Showcase Entrance Animation */\n@keyframes feature-slide-in {\n from {\n opacity: 0;\n transform: translateX(-20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n.feature-showcase-content {\n animation: feature-slide-in 0.5s ease-out;\n}\n\n/* Testimonial Card Hover Effects */\n.testimonial-card {\n transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.testimonial-card:hover {\n transform: translateY(-4px);\n box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.15);\n}\n\n/* Stat Number Animation */\n@keyframes stat-count-up {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.stat-number {\n animation: stat-count-up 0.6s ease-out;\n}\n\n/* Trust Column Icon Animation */\n.trust-icon {\n transition: transform 0.2s ease, background-color 0.2s ease;\n}\n\n.trust-icon:hover {\n transform: scale(1.1);\n}\n\n/* Final CTA Background Animation */\n@keyframes subtle-float {\n 0%,\n 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-10px);\n }\n}\n\n.cta-decorative {\n animation: subtle-float 6s ease-in-out infinite;\n}\n\n/* Feature Grid Card Entrance */\n@keyframes card-entrance {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.feature-card {\n animation: card-entrance 0.4s ease-out;\n animation-fill-mode: both;\n}\n\n.feature-card:nth-child(1) {\n animation-delay: 0.1s;\n}\n.feature-card:nth-child(2) {\n animation-delay: 0.2s;\n}\n.feature-card:nth-child(3) {\n animation-delay: 0.3s;\n}\n.feature-card:nth-child(4) {\n animation-delay: 0.4s;\n}\n.feature-card:nth-child(5) {\n animation-delay: 0.5s;\n}\n.feature-card:nth-child(6) {\n animation-delay: 0.6s;\n}\n\n/* Smooth Section Transitions */\nsection {\n scroll-margin-top: 80px;\n}\n\n/* Button Hover Enhancement */\n.cta-button {\n position: relative;\n overflow: hidden;\n}\n\n.cta-button::after {\n content: "";\n position: absolute;\n inset: 0;\n background: linear-gradient(rgba(255, 255, 255, 0.1), transparent);\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.cta-button:hover::after {\n opacity: 1;\n}\n\n/* Responsive Image Container */\n.feature-image-container {\n position: relative;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);\n transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.feature-image-container:hover {\n transform: translateY(-4px);\n box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.2);\n}\n',
|
|
3441
|
+
"marketing/nextjs/src/app/globals.css.hbs": '/* Import shared design tokens from @repo/ui */\n@import "@repo/ui/globals.css";\n\n/* Marketing app specific overrides */\n@theme inline {\n --font-sans: var(--font-geist-sans), system-ui, sans-serif;\n --font-mono: var(--font-geist-mono), monospace;\n\n /* Container */\n --container-sm: 40rem;\n --container-md: 48rem;\n --container-lg: 64rem;\n --container-xl: 80rem;\n --container-2xl: 96rem;\n\n /* Animations */\n --animate-accordion-down: accordion-down 0.2s ease-out;\n --animate-accordion-up: accordion-up 0.2s ease-out;\n}\n\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n\n/* Container utility */\n.container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: 1rem;\n padding-right: 1rem;\n max-width: 96rem;\n}\n\n@media (min-width: 640px) {\n .container {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n}\n\n@media (min-width: 1024px) {\n .container {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n\n/* ========================================\n HERO TYPOGRAPHY\n ======================================== */\n\n.hero-content h1 {\n font-size: 2.25rem !important;\n line-height: 2.5rem !important;\n font-weight: 700 !important;\n letter-spacing: -0.025em !important;\n margin-bottom: 1.5rem !important;\n color: var(--color-foreground) !important;\n}\n\n.hero-content p {\n font-size: 1.25rem !important;\n line-height: 1.75rem !important;\n color: var(--color-muted-foreground) !important;\n max-width: 42rem;\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 2rem !important;\n}\n\n.hero-content--dark h1 {\n color: white !important;\n}\n\n.hero-content--dark p {\n color: rgba(255, 255, 255, 0.8) !important;\n}\n\n@media (min-width: 768px) {\n .hero-content h1 {\n font-size: 3.75rem !important;\n line-height: 1 !important;\n }\n}\n\n/* Left-aligned hero content */\n.hero-content--left h1 {\n text-align: left !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.hero-content--left p {\n text-align: left !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n/* ========================================\n PRODUCT SHOWCASE HERO STYLES\n ======================================== */\n\n.hero-showcase {\n position: relative;\n border-radius: 1rem;\n overflow: hidden;\n height: 25rem;\n width: 100%;\n background: linear-gradient(135deg, var(--primary) 0%, color-mix(in oklch, var(--primary) 70%, black) 100%);\n}\n\n@media (min-width: 768px) {\n .hero-showcase {\n height: 31.25rem;\n }\n}\n\n@media (min-width: 1024px) {\n .hero-showcase {\n height: 37.5rem;\n }\n}\n\n.hero-bg-image {\n position: absolute;\n inset: 0;\n z-index: 0;\n opacity: 0.1;\n}\n\n.hero-bg-image img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n\n.hero-mockup-centered {\n position: relative;\n z-index: 10;\n padding: 2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n}\n\n@media (min-width: 768px) {\n .hero-mockup-centered {\n padding: 3rem;\n }\n}\n\n.mockup-wrapper {\n background: var(--color-background);\n border-radius: 12px;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 12px 24px -8px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);\n overflow: hidden;\n animation: mockup-entrance 0.8s ease-out;\n width: 100%;\n}\n\n.mockup-wrapper img {\n width: 100%;\n height: auto;\n display: block;\n}\n\n@keyframes mockup-entrance {\n from {\n opacity: 0;\n transform: translateY(30px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Browser chrome */\n.mockup-chrome {\n display: flex;\n align-items: center;\n padding: 12px 16px;\n background: var(--color-muted);\n border-bottom: 1px solid var(--color-border);\n}\n\n.mockup-chrome-dots {\n display: flex;\n gap: 6px;\n}\n\n.mockup-chrome-dots .dot {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n}\n\n.mockup-chrome-dots .dot-red {\n background: #ff5f56;\n}\n.mockup-chrome-dots .dot-yellow {\n background: #ffbd2e;\n}\n.mockup-chrome-dots .dot-green {\n background: #27ca40;\n}\n\n.mockup-chrome-title {\n flex: 1;\n text-align: center;\n font-size: 13px;\n font-weight: 500;\n color: var(--color-muted-foreground);\n}\n\n.mockup-chrome-actions {\n width: 60px;\n}\n\n/* App content layout */\n.mockup-content {\n display: flex;\n min-height: 400px;\n}\n\n.mockup-sidebar {\n width: 220px;\n background: var(--color-card);\n border-right: 1px solid var(--color-border);\n flex-shrink: 0;\n}\n\n.sidebar-header {\n padding: 16px;\n border-bottom: 1px solid var(--color-border);\n}\n\n.sidebar-logo {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.logo-icon {\n width: 28px;\n height: 28px;\n background: var(--color-primary);\n color: white;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 700;\n font-size: 14px;\n}\n\n.logo-text {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-foreground);\n}\n\n.sidebar-nav {\n padding: 8px;\n}\n\n.sidebar-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 6px;\n font-size: 13px;\n color: var(--color-muted-foreground);\n transition: all 0.15s ease;\n cursor: pointer;\n}\n\n.sidebar-item:hover {\n background: var(--color-accent);\n color: var(--color-accent-foreground);\n}\n\n.sidebar-item--active {\n background: oklch(from var(--color-primary) l c h / 0.12);\n color: var(--color-primary);\n}\n\n.sidebar-icon {\n font-size: 16px;\n}\n\n.sidebar-label {\n flex: 1;\n}\n\n.sidebar-badge {\n background: var(--color-primary);\n color: var(--color-primary-foreground);\n font-size: 11px;\n padding: 2px 6px;\n border-radius: 10px;\n font-weight: 500;\n}\n\n/* Main content area */\n.mockup-main {\n flex: 1;\n display: flex;\n flex-direction: column;\n background: var(--color-background);\n}\n\n.main-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--color-border);\n}\n\n.header-title {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.header-title h2 {\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n color: var(--color-foreground);\n}\n\n.header-breadcrumb {\n font-size: 12px;\n color: var(--color-muted-foreground);\n}\n\n.header-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.action-btn {\n padding: 8px 16px;\n background: var(--color-primary);\n color: var(--color-primary-foreground);\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.action-btn--success {\n background: #27ca40;\n}\n\n.action-btn--featured {\n background: var(--color-primary);\n}\n\n/* Split view */\n.main-split {\n display: flex;\n flex: 1;\n}\n\n.editor-panel {\n flex: 1;\n padding: 20px;\n border-right: 1px solid var(--color-border);\n}\n\n.editor-section {\n margin-bottom: 20px;\n}\n\n.editor-label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: var(--color-muted-foreground);\n margin-bottom: 6px;\n}\n\n.editor-input {\n background: var(--color-muted);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--color-foreground);\n display: flex;\n align-items: center;\n}\n\n.input-text {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.input-cursor {\n width: 2px;\n height: 18px;\n background: var(--color-primary);\n animation: blink 1s infinite;\n margin-left: 2px;\n}\n\n@keyframes blink {\n 0%,\n 50% {\n opacity: 1;\n }\n 51%,\n 100% {\n opacity: 0;\n }\n}\n\n.editor-select {\n background: var(--color-muted);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--color-foreground);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.select-arrow {\n font-size: 10px;\n color: var(--color-muted-foreground);\n}\n\n.editor-textarea {\n background: var(--color-muted);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: 10px 12px;\n font-size: 14px;\n color: var(--color-foreground);\n min-height: 80px;\n}\n\n.textarea-text {\n transition: all 0.5s ease;\n}\n\n.textarea-text--complete {\n color: var(--color-foreground);\n}\n\n/* Preview panel */\n.preview-panel {\n width: 320px;\n padding: 20px;\n background: oklch(from var(--color-muted) l c h / 0.5);\n}\n\n.preview-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n}\n\n.preview-label {\n font-size: 12px;\n font-weight: 500;\n color: var(--color-muted-foreground);\n}\n\n.preview-url {\n font-size: 11px;\n color: var(--color-muted-foreground);\n font-family: monospace;\n}\n\n.preview-card {\n background: var(--color-card);\n border: 1px solid var(--color-border);\n border-radius: 10px;\n overflow: hidden;\n position: relative;\n transition: all 0.3s ease;\n}\n\n.preview-badge {\n position: absolute;\n top: 10px;\n right: 10px;\n background: var(--color-primary);\n color: white;\n font-size: 11px;\n padding: 4px 8px;\n border-radius: 4px;\n font-weight: 500;\n animation: badge-pop 0.3s ease;\n}\n\n@keyframes badge-pop {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.preview-image {\n height: 120px;\n background: linear-gradient(135deg, var(--color-muted) 0%, var(--color-accent) 100%);\n}\n\n.preview-image-placeholder {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 40px;\n}\n\n.preview-content {\n padding: 16px;\n}\n\n.preview-category-tag {\n display: inline-block;\n font-size: 11px;\n color: var(--color-primary);\n font-weight: 500;\n margin-bottom: 8px;\n}\n\n.preview-title {\n font-size: 16px;\n font-weight: 600;\n margin: 0 0 8px;\n color: var(--color-foreground);\n}\n\n.preview-description {\n font-size: 13px;\n color: var(--color-muted-foreground);\n line-height: 1.5;\n margin: 0 0 12px;\n}\n\n.preview-meta {\n display: flex;\n gap: 8px;\n font-size: 12px;\n}\n\n.meta-rating {\n color: #ffc24a;\n}\n\n.meta-reviews {\n color: var(--color-muted-foreground);\n}\n\n/* State indicators */\n.mockup-indicators {\n display: flex;\n justify-content: center;\n gap: 24px;\n padding: 16px;\n border-top: 1px solid var(--color-border);\n}\n\n.indicator {\n display: flex;\n align-items: center;\n gap: 8px;\n background: none;\n border: none;\n cursor: pointer;\n padding: 6px 12px;\n border-radius: 20px;\n transition: all 0.2s ease;\n}\n\n.indicator:hover {\n background: var(--color-accent);\n}\n\n.indicator--active {\n background: oklch(from var(--color-primary) l c h / 0.12);\n}\n\n.indicator-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(--color-muted-foreground);\n transition: all 0.2s ease;\n}\n\n.indicator--active .indicator-dot {\n background: var(--color-primary);\n box-shadow: 0 0 0 3px oklch(from var(--color-primary) l c h / 0.2);\n}\n\n.indicator-label {\n font-size: 12px;\n color: var(--color-muted-foreground);\n}\n\n.indicator--active .indicator-label {\n color: var(--color-foreground);\n font-weight: 500;\n}\n\n/* ========================================\n LOGO BANNER STYLES\n ======================================== */\n\n.logo-scroll-container {\n overflow: hidden;\n mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n}\n\n.logo-scroll-track {\n display: flex;\n animation: logo-scroll 30s linear infinite;\n}\n\n.logo-scroll-track:hover {\n animation-play-state: paused;\n}\n\n@keyframes logo-scroll {\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(-50%);\n }\n}\n\n.logo-item {\n flex-shrink: 0;\n min-width: 150px;\n}\n\n/* ========================================\n RESPONSIVE ADJUSTMENTS\n ======================================== */\n\n@media (max-width: 768px) {\n .mockup-content {\n flex-direction: column;\n }\n\n .mockup-sidebar {\n width: 100%;\n border-right: none;\n border-bottom: 1px solid var(--color-border);\n }\n\n .sidebar-nav {\n display: flex;\n overflow-x: auto;\n padding: 8px;\n gap: 4px;\n }\n\n .sidebar-item {\n white-space: nowrap;\n }\n\n .main-split {\n flex-direction: column;\n }\n\n .editor-panel {\n border-right: none;\n border-bottom: 1px solid var(--color-border);\n }\n\n .preview-panel {\n width: 100%;\n }\n\n .mockup-indicators {\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .indicator-label {\n display: none;\n }\n}\n\n/* ========================================\n ANIMATION STYLES\n ======================================== */\n\n/* Industry Tabs Animation */\n.industry-tab-content {\n animation: tab-fade-in 0.3s ease-out;\n}\n\n@keyframes tab-fade-in {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Feature Showcase Entrance Animation */\n@keyframes feature-slide-in {\n from {\n opacity: 0;\n transform: translateX(-20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n.feature-showcase-content {\n animation: feature-slide-in 0.5s ease-out;\n}\n\n/* Testimonial Card Hover Effects */\n.testimonial-card {\n transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.testimonial-card:hover {\n transform: translateY(-4px);\n box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.15);\n}\n\n/* Stat Number Animation */\n@keyframes stat-count-up {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.stat-number {\n animation: stat-count-up 0.6s ease-out;\n}\n\n/* Trust Column Icon Animation */\n.trust-icon {\n transition: transform 0.2s ease, background-color 0.2s ease;\n}\n\n.trust-icon:hover {\n transform: scale(1.1);\n}\n\n/* Final CTA Background Animation */\n@keyframes subtle-float {\n 0%,\n 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-10px);\n }\n}\n\n.cta-decorative {\n animation: subtle-float 6s ease-in-out infinite;\n}\n\n/* Feature Grid Card Entrance */\n@keyframes card-entrance {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.feature-card {\n animation: card-entrance 0.4s ease-out;\n animation-fill-mode: both;\n}\n\n.feature-card:nth-child(1) {\n animation-delay: 0.1s;\n}\n.feature-card:nth-child(2) {\n animation-delay: 0.2s;\n}\n.feature-card:nth-child(3) {\n animation-delay: 0.3s;\n}\n.feature-card:nth-child(4) {\n animation-delay: 0.4s;\n}\n.feature-card:nth-child(5) {\n animation-delay: 0.5s;\n}\n.feature-card:nth-child(6) {\n animation-delay: 0.6s;\n}\n\n/* Smooth Section Transitions */\nsection {\n scroll-margin-top: 80px;\n}\n\n/* Button Hover Enhancement */\n.cta-button {\n position: relative;\n overflow: hidden;\n}\n\n.cta-button::after {\n content: "";\n position: absolute;\n inset: 0;\n background: linear-gradient(rgba(255, 255, 255, 0.1), transparent);\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.cta-button:hover::after {\n opacity: 1;\n}\n\n/* Responsive Image Container */\n.feature-image-container {\n position: relative;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);\n transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.feature-image-container:hover {\n transform: translateY(-4px);\n box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.2);\n}\n',
|
|
3442
3442
|
"marketing/nextjs/src/app/layout.tsx.hbs": `import type { Metadata } from 'next'
|
|
3443
3443
|
import { Geist, Geist_Mono } from 'next/font/google'
|
|
3444
3444
|
import { ThemeProvider } from '@/components/ThemeProvider'
|
|
@@ -12697,16 +12697,17 @@ export default function Index() {
|
|
|
12697
12697
|
"packages/config-typescript/base.json.hbs": '{\n "compilerOptions": {\n "target": "ES2020",\n "lib": ["dom", "dom.iterable", "esnext"],\n "allowJs": true,\n "skipLibCheck": true,\n "strict": true,\n "noEmit": true,\n "esModuleInterop": true,\n "module": "esnext",\n "moduleResolution": "bundler",\n "resolveJsonModule": true,\n "isolatedModules": true,\n "incremental": true\n },\n "exclude": ["node_modules"]\n}\n',
|
|
12698
12698
|
"packages/config-typescript/nextjs.json.hbs": '{\n "extends": "./base.json",\n "compilerOptions": {\n "jsx": "react-jsx",\n "plugins": [{ "name": "next" }]\n }\n}\n',
|
|
12699
12699
|
"packages/config-typescript/package.json.hbs": '{\n "name": "@repo/config-typescript",\n "version": "0.1.0",\n "private": true,\n "exports": {\n "./base.json": "./base.json",\n "./nextjs.json": "./nextjs.json"\n },\n "files": ["base.json", "nextjs.json"]\n}\n',
|
|
12700
|
-
"packages/ui/
|
|
12700
|
+
"packages/ui/components.json.hbs": '{\n "$schema": "https://ui.shadcn.com/schema.json",\n{{#if (eq shadcn.style "nova")}}\n "style": "new-york",\n{{else if (eq shadcn.style "vega")}}\n "style": "default",\n{{else}}\n "style": "new-york",\n{{/if}}\n "rsc": true,\n "tsx": true,\n "tailwind": {\n "config": "",\n "css": "src/globals.css",\n "baseColor": "{{shadcn.baseColor}}",\n "cssVariables": true,\n "prefix": ""\n },\n "aliases": {\n "components": "@/components",\n "utils": "@/lib/utils",\n "ui": "@/components/ui",\n "lib": "@/lib",\n "hooks": "@/hooks"\n },\n "iconLibrary": "{{shadcn.iconLibrary}}"\n}\n',
|
|
12701
|
+
"packages/ui/package.json.hbs": '{\n "name": "@repo/ui",\n "version": "0.1.0",\n "private": true,\n "main": "./src/index.ts",\n "types": "./src/index.ts",\n "exports": {\n ".": "./src/index.ts",\n "./globals.css": {\n "style": "./src/globals.css",\n "default": "./src/globals.css"\n },\n "./components/*": "./src/components/*.tsx",\n "./lib/*": "./src/lib/*.ts"\n },\n "scripts": {\n "lint": "biome check .",\n "lint:fix": "biome check --write .",\n "typecheck": "tsc --noEmit"\n },\n "dependencies": {\n {{#if (eq shadcn.iconLibrary "hugeicons")}}"@hugeicons/react": "^0.3.0",{{/if}}\n {{#if (eq shadcn.iconLibrary "lucide")}}"lucide-react": "^0.469.0",{{/if}}\n {{#if (eq shadcn.iconLibrary "tabler")}}"@tabler/icons-react": "^3.31.0",{{/if}}\n {{#if (eq shadcn.iconLibrary "phosphor")}}"@phosphor-icons/react": "^2.1.7",{{/if}}\n "class-variance-authority": "^0.7.0",\n "clsx": "^2.1.0",\n "tailwind-merge": "^2.5.0",\n "tw-animate-css": "^1.3.0"\n },\n "devDependencies": {\n "@repo/config-typescript": "workspace:*",\n "@types/react": "^19.0.0",\n "@types/react-dom": "^19.0.0",\n "react": "^19.0.0",\n "tailwindcss": "^4.0.0",\n "typescript": "^5.0.0"\n },\n "peerDependencies": {\n "react": "^19.0.0"\n }\n}\n',
|
|
12701
12702
|
"packages/ui/src/components/button.tsx.hbs": 'import * as React from "react"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../lib/utils"\n\nconst buttonVariants = cva(\n "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",\n {\n variants: {\n variant: {\n default:\n "bg-primary text-primary-foreground shadow hover:bg-primary/90",\n destructive:\n "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",\n outline:\n "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",\n secondary:\n "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",\n ghost: "hover:bg-accent hover:text-accent-foreground",\n link: "text-primary underline-offset-4 hover:underline",\n },\n size: {\n default: "h-9 px-4 py-2",\n sm: "h-8 rounded-md px-3 text-xs",\n lg: "h-10 rounded-md px-8",\n icon: "h-9 w-9",\n },\n },\n defaultVariants: {\n variant: "default",\n size: "default",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, ...props }, ref) => {\n return (\n <button\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = "Button"\n\nexport { Button, buttonVariants }\n',
|
|
12702
12703
|
"packages/ui/src/components/card.tsx.hbs": 'import * as React from "react"\n\nimport { cn } from "../lib/utils"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n "rounded-xl border bg-card text-card-foreground shadow",\n className\n )}\n {...props}\n />\n))\nCard.displayName = "Card"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("flex flex-col space-y-1.5 p-6", className)}\n {...props}\n />\n))\nCardHeader.displayName = "CardHeader"\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("font-semibold leading-none tracking-tight", className)}\n {...props}\n />\n))\nCardTitle.displayName = "CardTitle"\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("text-sm text-muted-foreground", className)}\n {...props}\n />\n))\nCardDescription.displayName = "CardDescription"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />\n))\nCardContent.displayName = "CardContent"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("flex items-center p-6 pt-0", className)}\n {...props}\n />\n))\nCardFooter.displayName = "CardFooter"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n',
|
|
12703
12704
|
"packages/ui/src/components/separator.tsx.hbs": 'import * as React from "react"\n\nimport { cn } from "../lib/utils"\n\ninterface SeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: "horizontal" | "vertical"\n}\n\nconst Separator = React.forwardRef<HTMLDivElement, SeparatorProps>(\n ({ className, orientation = "horizontal", ...props }, ref) => (\n <div\n ref={ref}\n role="separator"\n aria-orientation={orientation}\n className={cn(\n "shrink-0 bg-border",\n orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = "Separator"\n\nexport { Separator }\n',
|
|
12705
|
+
"packages/ui/src/globals.css.hbs": '@import "tailwindcss";\n@import "tw-animate-css";\n\n@custom-variant dark (&:is(.dark *));\n\n@theme inline {\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --font-sans: var(--font-geist-sans);\n --font-mono: var(--font-geist-mono);\n --color-sidebar-ring: var(--sidebar-ring);\n --color-sidebar-border: var(--sidebar-border);\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n --color-sidebar-accent: var(--sidebar-accent);\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n --color-sidebar-primary: var(--sidebar-primary);\n --color-sidebar-foreground: var(--sidebar-foreground);\n --color-sidebar: var(--sidebar);\n --color-chart-5: var(--chart-5);\n --color-chart-4: var(--chart-4);\n --color-chart-3: var(--chart-3);\n --color-chart-2: var(--chart-2);\n --color-chart-1: var(--chart-1);\n --color-ring: var(--ring);\n --color-input: var(--input);\n --color-border: var(--border);\n --color-destructive: var(--destructive);\n --color-accent-foreground: var(--accent-foreground);\n --color-accent: var(--accent);\n --color-muted-foreground: var(--muted-foreground);\n --color-muted: var(--muted);\n --color-secondary-foreground: var(--secondary-foreground);\n --color-secondary: var(--secondary);\n --color-primary-foreground: var(--primary-foreground);\n --color-primary: var(--primary);\n --color-popover-foreground: var(--popover-foreground);\n --color-popover: var(--popover);\n --color-card-foreground: var(--card-foreground);\n --color-card: var(--card);\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: calc(var(--radius) + 4px);\n}\n\n/* ========================================\n THEME COLOR VARIABLES - LIGHT MODE\n ======================================== */\n\n:root {\n --radius: 0.625rem;\n --background: oklch(1 0 0);\n --foreground: oklch(0.145 0 0);\n --card: oklch(1 0 0);\n --card-foreground: oklch(0.145 0 0);\n --popover: oklch(1 0 0);\n --popover-foreground: oklch(0.145 0 0);\n --secondary: oklch(0.97 0 0);\n --secondary-foreground: oklch(0.205 0 0);\n --muted: oklch(0.97 0 0);\n --muted-foreground: oklch(0.556 0 0);\n --accent: oklch(0.97 0 0);\n --accent-foreground: oklch(0.205 0 0);\n --destructive: oklch(0.577 0.245 27.325);\n --border: oklch(0.922 0 0);\n --input: oklch(0.922 0 0);\n --sidebar: oklch(0.985 0 0);\n --sidebar-foreground: oklch(0.145 0 0);\n --sidebar-accent: oklch(0.97 0 0);\n --sidebar-accent-foreground: oklch(0.205 0 0);\n --sidebar-border: oklch(0.922 0 0);\n\n{{#if (eq shadcn.themeColor "neutral")}}\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.708 0 0);\n --sidebar-primary: oklch(0.205 0 0);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "blue")}}\n --primary: oklch(0.546 0.245 262.881);\n --primary-foreground: oklch(0.985 0.002 247.858);\n --ring: oklch(0.546 0.245 262.881);\n --sidebar-primary: oklch(0.546 0.245 262.881);\n --sidebar-primary-foreground: oklch(0.985 0.002 247.858);\n --sidebar-ring: oklch(0.546 0.245 262.881);\n --chart-1: oklch(0.546 0.245 262.881);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "green")}}\n --primary: oklch(0.596 0.145 163.225);\n --primary-foreground: oklch(0.982 0.018 155.826);\n --ring: oklch(0.596 0.145 163.225);\n --sidebar-primary: oklch(0.596 0.145 163.225);\n --sidebar-primary-foreground: oklch(0.982 0.018 155.826);\n --sidebar-ring: oklch(0.596 0.145 163.225);\n --chart-1: oklch(0.596 0.145 163.225);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "purple")}}\n --primary: oklch(0.627 0.265 303.9);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.627 0.265 303.9);\n --sidebar-primary: oklch(0.627 0.265 303.9);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.627 0.265 303.9);\n --chart-1: oklch(0.627 0.265 303.9);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "red")}}\n --primary: oklch(0.637 0.237 25.331);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.637 0.237 25.331);\n --sidebar-primary: oklch(0.637 0.237 25.331);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.637 0.237 25.331);\n --chart-1: oklch(0.637 0.237 25.331);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "orange")}}\n --primary: oklch(0.705 0.191 47.604);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.705 0.191 47.604);\n --sidebar-primary: oklch(0.705 0.191 47.604);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.705 0.191 47.604);\n --chart-1: oklch(0.705 0.191 47.604);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "amber")}}\n --primary: oklch(0.769 0.188 70.08);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.769 0.188 70.08);\n --sidebar-primary: oklch(0.769 0.188 70.08);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.769 0.188 70.08);\n --chart-1: oklch(0.769 0.188 70.08);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.646 0.222 41.116);\n{{else if (eq shadcn.themeColor "cyan")}}\n --primary: oklch(0.715 0.143 215.221);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.715 0.143 215.221);\n --sidebar-primary: oklch(0.715 0.143 215.221);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.715 0.143 215.221);\n --chart-1: oklch(0.715 0.143 215.221);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "emerald")}}\n --primary: oklch(0.696 0.17 162.48);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.696 0.17 162.48);\n --sidebar-primary: oklch(0.696 0.17 162.48);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.696 0.17 162.48);\n --chart-1: oklch(0.696 0.17 162.48);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "fuchsia")}}\n --primary: oklch(0.667 0.295 322.15);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.667 0.295 322.15);\n --sidebar-primary: oklch(0.667 0.295 322.15);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.667 0.295 322.15);\n --chart-1: oklch(0.667 0.295 322.15);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "indigo")}}\n --primary: oklch(0.585 0.233 277.117);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.585 0.233 277.117);\n --sidebar-primary: oklch(0.585 0.233 277.117);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.585 0.233 277.117);\n --chart-1: oklch(0.585 0.233 277.117);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "lime")}}\n --primary: oklch(0.768 0.233 130.85);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.768 0.233 130.85);\n --sidebar-primary: oklch(0.768 0.233 130.85);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.768 0.233 130.85);\n --chart-1: oklch(0.768 0.233 130.85);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "pink")}}\n --primary: oklch(0.718 0.202 349.761);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.718 0.202 349.761);\n --sidebar-primary: oklch(0.718 0.202 349.761);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.718 0.202 349.761);\n --chart-1: oklch(0.718 0.202 349.761);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "rose")}}\n --primary: oklch(0.645 0.246 16.439);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.645 0.246 16.439);\n --sidebar-primary: oklch(0.645 0.246 16.439);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.645 0.246 16.439);\n --chart-1: oklch(0.645 0.246 16.439);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "sky")}}\n --primary: oklch(0.685 0.169 237.323);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.685 0.169 237.323);\n --sidebar-primary: oklch(0.685 0.169 237.323);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.685 0.169 237.323);\n --chart-1: oklch(0.685 0.169 237.323);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "teal")}}\n --primary: oklch(0.704 0.14 182.503);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.704 0.14 182.503);\n --sidebar-primary: oklch(0.704 0.14 182.503);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.704 0.14 182.503);\n --chart-1: oklch(0.704 0.14 182.503);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "violet")}}\n --primary: oklch(0.606 0.25 292.717);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.606 0.25 292.717);\n --sidebar-primary: oklch(0.606 0.25 292.717);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.606 0.25 292.717);\n --chart-1: oklch(0.606 0.25 292.717);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "yellow")}}\n --primary: oklch(0.795 0.184 86.047);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.795 0.184 86.047);\n --sidebar-primary: oklch(0.795 0.184 86.047);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.795 0.184 86.047);\n --chart-1: oklch(0.795 0.184 86.047);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.646 0.222 41.116);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else}}\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.708 0 0);\n --sidebar-primary: oklch(0.205 0 0);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{/if}}\n}\n\n/* ========================================\n THEME COLOR VARIABLES - DARK MODE\n ======================================== */\n\n.dark {\n --background: oklch(0.145 0 0);\n --foreground: oklch(0.985 0 0);\n --card: oklch(0.205 0 0);\n --card-foreground: oklch(0.985 0 0);\n --popover: oklch(0.205 0 0);\n --popover-foreground: oklch(0.985 0 0);\n --secondary: oklch(0.269 0 0);\n --secondary-foreground: oklch(0.985 0 0);\n --muted: oklch(0.269 0 0);\n --muted-foreground: oklch(0.708 0 0);\n --accent: oklch(0.269 0 0);\n --accent-foreground: oklch(0.985 0 0);\n --destructive: oklch(0.704 0.191 22.216);\n --border: oklch(1 0 0 / 10%);\n --input: oklch(1 0 0 / 15%);\n --sidebar: oklch(0.205 0 0);\n --sidebar-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.269 0 0);\n --sidebar-accent-foreground: oklch(0.985 0 0);\n --sidebar-border: oklch(1 0 0 / 10%);\n\n{{#if (eq shadcn.themeColor "neutral")}}\n --primary: oklch(0.922 0 0);\n --primary-foreground: oklch(0.205 0 0);\n --ring: oklch(0.556 0 0);\n --sidebar-primary: oklch(0.488 0.243 264.376);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.556 0 0);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "blue")}}\n --primary: oklch(0.623 0.214 262.881);\n --primary-foreground: oklch(0.273 0.033 256.848);\n --ring: oklch(0.623 0.214 262.881);\n --sidebar-primary: oklch(0.623 0.214 262.881);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.623 0.214 262.881);\n --chart-1: oklch(0.623 0.214 262.881);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "green")}}\n --primary: oklch(0.696 0.17 162.48);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.696 0.17 162.48);\n --sidebar-primary: oklch(0.696 0.17 162.48);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.696 0.17 162.48);\n --chart-1: oklch(0.696 0.17 162.48);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "purple")}}\n --primary: oklch(0.714 0.203 305.504);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.714 0.203 305.504);\n --sidebar-primary: oklch(0.714 0.203 305.504);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.714 0.203 305.504);\n --chart-1: oklch(0.714 0.203 305.504);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "red")}}\n --primary: oklch(0.704 0.191 22.216);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.704 0.191 22.216);\n --sidebar-primary: oklch(0.704 0.191 22.216);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.704 0.191 22.216);\n --chart-1: oklch(0.704 0.191 22.216);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "orange")}}\n --primary: oklch(0.792 0.17 52.615);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.792 0.17 52.615);\n --sidebar-primary: oklch(0.792 0.17 52.615);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.792 0.17 52.615);\n --chart-1: oklch(0.792 0.17 52.615);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "amber")}}\n --primary: oklch(0.828 0.189 84.429);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.828 0.189 84.429);\n --sidebar-primary: oklch(0.828 0.189 84.429);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.828 0.189 84.429);\n --chart-1: oklch(0.828 0.189 84.429);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.488 0.243 264.376);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "cyan")}}\n --primary: oklch(0.789 0.154 211.53);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.789 0.154 211.53);\n --sidebar-primary: oklch(0.789 0.154 211.53);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.789 0.154 211.53);\n --chart-1: oklch(0.789 0.154 211.53);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "emerald")}}\n --primary: oklch(0.765 0.166 160.391);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.765 0.166 160.391);\n --sidebar-primary: oklch(0.765 0.166 160.391);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.765 0.166 160.391);\n --chart-1: oklch(0.765 0.166 160.391);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "fuchsia")}}\n --primary: oklch(0.74 0.238 322.16);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.74 0.238 322.16);\n --sidebar-primary: oklch(0.74 0.238 322.16);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.74 0.238 322.16);\n --chart-1: oklch(0.74 0.238 322.16);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "indigo")}}\n --primary: oklch(0.673 0.182 276.935);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.673 0.182 276.935);\n --sidebar-primary: oklch(0.673 0.182 276.935);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.673 0.182 276.935);\n --chart-1: oklch(0.673 0.182 276.935);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "lime")}}\n --primary: oklch(0.841 0.238 128.85);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.841 0.238 128.85);\n --sidebar-primary: oklch(0.841 0.238 128.85);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.841 0.238 128.85);\n --chart-1: oklch(0.841 0.238 128.85);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "pink")}}\n --primary: oklch(0.775 0.181 349.761);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.775 0.181 349.761);\n --sidebar-primary: oklch(0.775 0.181 349.761);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.775 0.181 349.761);\n --chart-1: oklch(0.775 0.181 349.761);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "rose")}}\n --primary: oklch(0.712 0.194 13.428);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.712 0.194 13.428);\n --sidebar-primary: oklch(0.712 0.194 13.428);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.712 0.194 13.428);\n --chart-1: oklch(0.712 0.194 13.428);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "sky")}}\n --primary: oklch(0.756 0.143 232.661);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.756 0.143 232.661);\n --sidebar-primary: oklch(0.756 0.143 232.661);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.756 0.143 232.661);\n --chart-1: oklch(0.756 0.143 232.661);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "teal")}}\n --primary: oklch(0.777 0.152 181.912);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.777 0.152 181.912);\n --sidebar-primary: oklch(0.777 0.152 181.912);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.777 0.152 181.912);\n --chart-1: oklch(0.777 0.152 181.912);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "violet")}}\n --primary: oklch(0.702 0.183 293.541);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.702 0.183 293.541);\n --sidebar-primary: oklch(0.702 0.183 293.541);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.702 0.183 293.541);\n --chart-1: oklch(0.702 0.183 293.541);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "yellow")}}\n --primary: oklch(0.852 0.199 91.936);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.852 0.199 91.936);\n --sidebar-primary: oklch(0.852 0.199 91.936);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.852 0.199 91.936);\n --chart-1: oklch(0.852 0.199 91.936);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.488 0.243 264.376);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else}}\n --primary: oklch(0.922 0 0);\n --primary-foreground: oklch(0.205 0 0);\n --ring: oklch(0.556 0 0);\n --sidebar-primary: oklch(0.488 0.243 264.376);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.556 0 0);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{/if}}\n}\n\n@layer base {\n * {\n @apply border-border outline-ring/50;\n }\n body {\n @apply bg-background text-foreground;\n }\n}\n',
|
|
12704
12706
|
"packages/ui/src/index.ts.hbs": "export { cn } from './lib/utils'\n// Export components as they are added\n// export * from './components/ui/button'\n",
|
|
12705
12707
|
"packages/ui/src/lib/utils.ts.hbs": "import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n",
|
|
12706
|
-
"packages/ui/src/styles.css.hbs": '@import "tailwindcss";\n\n@custom-variant dark (&:is(.dark *));\n\n@theme inline {\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --font-sans: var(--font-geist-sans);\n --font-mono: var(--font-geist-mono);\n --color-sidebar-ring: var(--sidebar-ring);\n --color-sidebar-border: var(--sidebar-border);\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n --color-sidebar-accent: var(--sidebar-accent);\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n --color-sidebar-primary: var(--sidebar-primary);\n --color-sidebar-foreground: var(--sidebar-foreground);\n --color-sidebar: var(--sidebar);\n --color-chart-5: var(--chart-5);\n --color-chart-4: var(--chart-4);\n --color-chart-3: var(--chart-3);\n --color-chart-2: var(--chart-2);\n --color-chart-1: var(--chart-1);\n --color-ring: var(--ring);\n --color-input: var(--input);\n --color-border: var(--border);\n --color-destructive: var(--destructive);\n --color-accent-foreground: var(--accent-foreground);\n --color-accent: var(--accent);\n --color-muted-foreground: var(--muted-foreground);\n --color-muted: var(--muted);\n --color-secondary-foreground: var(--secondary-foreground);\n --color-secondary: var(--secondary);\n --color-primary-foreground: var(--primary-foreground);\n --color-primary: var(--primary);\n --color-popover-foreground: var(--popover-foreground);\n --color-popover: var(--popover);\n --color-card-foreground: var(--card-foreground);\n --color-card: var(--card);\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: calc(var(--radius) + 4px);\n}\n\n:root {\n --radius: 0.625rem;\n --background: oklch(1 0 0);\n --foreground: oklch(0.145 0 0);\n --card: oklch(1 0 0);\n --card-foreground: oklch(0.145 0 0);\n --popover: oklch(1 0 0);\n --popover-foreground: oklch(0.145 0 0);\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --secondary: oklch(0.97 0 0);\n --secondary-foreground: oklch(0.205 0 0);\n --muted: oklch(0.97 0 0);\n --muted-foreground: oklch(0.556 0 0);\n --accent: oklch(0.97 0 0);\n --accent-foreground: oklch(0.205 0 0);\n --destructive: oklch(0.577 0.245 27.325);\n --border: oklch(0.922 0 0);\n --input: oklch(0.922 0 0);\n --ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n --sidebar: oklch(0.985 0 0);\n --sidebar-foreground: oklch(0.145 0 0);\n --sidebar-primary: oklch(0.205 0 0);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.97 0 0);\n --sidebar-accent-foreground: oklch(0.205 0 0);\n --sidebar-border: oklch(0.922 0 0);\n --sidebar-ring: oklch(0.708 0 0);\n}\n\n.dark {\n --background: oklch(0.145 0 0);\n --foreground: oklch(0.985 0 0);\n --card: oklch(0.205 0 0);\n --card-foreground: oklch(0.985 0 0);\n --popover: oklch(0.205 0 0);\n --popover-foreground: oklch(0.985 0 0);\n --primary: oklch(0.922 0 0);\n --primary-foreground: oklch(0.205 0 0);\n --secondary: oklch(0.269 0 0);\n --secondary-foreground: oklch(0.985 0 0);\n --muted: oklch(0.269 0 0);\n --muted-foreground: oklch(0.708 0 0);\n --accent: oklch(0.269 0 0);\n --accent-foreground: oklch(0.985 0 0);\n --destructive: oklch(0.704 0.191 22.216);\n --border: oklch(1 0 0 / 10%);\n --input: oklch(1 0 0 / 15%);\n --ring: oklch(0.556 0 0);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n --sidebar: oklch(0.205 0 0);\n --sidebar-foreground: oklch(0.985 0 0);\n --sidebar-primary: oklch(0.488 0.243 264.376);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.269 0 0);\n --sidebar-accent-foreground: oklch(0.985 0 0);\n --sidebar-border: oklch(1 0 0 / 10%);\n --sidebar-ring: oklch(0.556 0 0);\n}\n\n@layer base {\n * {\n @apply border-border outline-ring/50;\n }\n body {\n @apply bg-background text-foreground;\n }\n}\n',
|
|
12707
12708
|
"packages/ui/tsconfig.json.hbs": '{\n "compilerOptions": {\n "target": "ES2020",\n "lib": ["dom", "dom.iterable", "esnext"],\n "allowJs": true,\n "skipLibCheck": true,\n "strict": true,\n "noEmit": true,\n "esModuleInterop": true,\n "module": "esnext",\n "moduleResolution": "bundler",\n "resolveJsonModule": true,\n "isolatedModules": true,\n "jsx": "react-jsx",\n "incremental": true,\n "paths": {\n "@/*": ["./src/*"]\n }\n },\n "include": ["src/**/*"],\n "exclude": ["node_modules"]\n}\n',
|
|
12708
12709
|
"web/_env.local.hbs": "# Convex - These values are synced from packages/backend/.env.local after running convex dev\n# NEXT_PUBLIC_CONVEX_URL and NEXT_PUBLIC_CONVEX_SITE_URL are auto-synced by dev script\nNEXT_PUBLIC_CONVEX_URL=\nNEXT_PUBLIC_CONVEX_SITE_URL=\n\n# Site URL for auth (your frontend URL)\nNEXT_PUBLIC_SITE_URL=http://localhost:3000\n{{#if (eq integrations.analytics 'posthog')}}\n\n# PostHog\nNEXT_PUBLIC_POSTHOG_KEY=\nNEXT_PUBLIC_POSTHOG_HOST=https://app.posthog.com\n{{/if}}\n{{#if (eq integrations.payments 'stripe')}}\n\n# Stripe\nNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=\n{{/if}}\n",
|
|
12709
|
-
"web/components.json.hbs": '{\n "$schema": "https://ui.shadcn.com/schema.json",\n "style": "new-york",\n "rsc": true,\n "tsx": true,\n "tailwind": {\n "config": "",\n "css": "src/app/globals.css",\n "baseColor": "{{shadcn.baseColor}}",\n "cssVariables": true,\n "prefix": ""\n },\n "aliases": {\n "components": "@/components",\n "utils": "@/lib/utils",\n "ui": "@/components/ui",\n "lib": "@/lib",\n "hooks": "@/hooks"\n },\n "iconLibrary": "{{shadcn.iconLibrary}}"\n}\n',
|
|
12710
|
+
"web/components.json.hbs": '{\n "$schema": "https://ui.shadcn.com/schema.json",\n{{#if (eq shadcn.style "nova")}}\n "style": "new-york",\n{{else if (eq shadcn.style "vega")}}\n "style": "default",\n{{else}}\n "style": "new-york",\n{{/if}}\n "rsc": true,\n "tsx": true,\n "tailwind": {\n "config": "",\n "css": "src/app/globals.css",\n "baseColor": "{{shadcn.baseColor}}",\n "cssVariables": true,\n "prefix": ""\n },\n "aliases": {\n "components": "@/components",\n "utils": "@/lib/utils",\n "ui": "@/components/ui",\n "lib": "@/lib",\n "hooks": "@/hooks"\n },\n "iconLibrary": "{{shadcn.iconLibrary}}"\n}\n',
|
|
12710
12711
|
"web/next.config.ts.hbs": "import type { NextConfig } from 'next'\n\nconst nextConfig: NextConfig = {\n{{#if (eq structure 'monorepo')}}\n transpilePackages: ['@repo/ui', '@repo/backend'],\n{{/if}}\n}\n\nexport default nextConfig\n",
|
|
12711
12712
|
"web/package.json.hbs": `{
|
|
12712
12713
|
"name": "{{#if (eq structure 'monorepo')}}@repo/web{{else}}{{projectName}}{{/if}}",
|
|
@@ -12781,7 +12782,586 @@ export default function Index() {
|
|
|
12781
12782
|
"web/src/app/(auth)/sign-in/page.tsx.hbs": "import { SignInForm } from '@/components/auth/sign-in-form'\n\nexport default function SignInPage() {\n return <SignInForm />\n}\n",
|
|
12782
12783
|
"web/src/app/(auth)/sign-up/page.tsx.hbs": "import { SignUpForm } from '@/components/auth/sign-up-form'\n\nexport default function SignUpPage() {\n return <SignUpForm />\n}\n",
|
|
12783
12784
|
"web/src/app/api/auth/[...all]/route.ts.hbs": "import { handler } from '@/lib/auth-server'\n\nexport const { GET, POST } = handler\n",
|
|
12784
|
-
"web/src/app/globals.css.hbs": '@import "tailwindcss";\n@import "tw-animate-css";\n\n@custom-variant dark (&:is(.dark *));\n\n@theme inline {\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --font-sans: var(--font-geist-sans);\n --font-mono: var(--font-geist-mono);\n --color-sidebar-ring: var(--sidebar-ring);\n --color-sidebar-border: var(--sidebar-border);\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n --color-sidebar-accent: var(--sidebar-accent);\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n --color-sidebar-primary: var(--sidebar-primary);\n --color-sidebar-foreground: var(--sidebar-foreground);\n --color-sidebar: var(--sidebar);\n --color-chart-5: var(--chart-5);\n --color-chart-4: var(--chart-4);\n --color-chart-3: var(--chart-3);\n --color-chart-2: var(--chart-2);\n --color-chart-1: var(--chart-1);\n --color-ring: var(--ring);\n --color-input: var(--input);\n --color-border: var(--border);\n --color-destructive: var(--destructive);\n --color-accent-foreground: var(--accent-foreground);\n --color-accent: var(--accent);\n --color-muted-foreground: var(--muted-foreground);\n --color-muted: var(--muted);\n --color-secondary-foreground: var(--secondary-foreground);\n --color-secondary: var(--secondary);\n --color-primary-foreground: var(--primary-foreground);\n --color-primary: var(--primary);\n --color-popover-foreground: var(--popover-foreground);\n --color-popover: var(--popover);\n --color-card-foreground: var(--card-foreground);\n --color-card: var(--card);\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: calc(var(--radius) + 4px);\n}\n\n/* ========================================\n THEME COLOR VARIABLES - LIGHT MODE\n ======================================== */\n\n:root {\n --radius: 0.625rem;\n --background: oklch(1 0 0);\n --foreground: oklch(0.145 0 0);\n --card: oklch(1 0 0);\n --card-foreground: oklch(0.145 0 0);\n --popover: oklch(1 0 0);\n --popover-foreground: oklch(0.145 0 0);\n --secondary: oklch(0.97 0 0);\n --secondary-foreground: oklch(0.205 0 0);\n --muted: oklch(0.97 0 0);\n --muted-foreground: oklch(0.556 0 0);\n --accent: oklch(0.97 0 0);\n --accent-foreground: oklch(0.205 0 0);\n --destructive: oklch(0.577 0.245 27.325);\n --border: oklch(0.922 0 0);\n --input: oklch(0.922 0 0);\n --sidebar: oklch(0.985 0 0);\n --sidebar-foreground: oklch(0.145 0 0);\n --sidebar-accent: oklch(0.97 0 0);\n --sidebar-accent-foreground: oklch(0.205 0 0);\n --sidebar-border: oklch(0.922 0 0);\n\n{{#if (eq shadcn.themeColor "neutral")}}\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.708 0 0);\n --sidebar-primary: oklch(0.205 0 0);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "blue")}}\n --primary: oklch(0.546 0.245 262.881);\n --primary-foreground: oklch(0.985 0.002 247.858);\n --ring: oklch(0.546 0.245 262.881);\n --sidebar-primary: oklch(0.546 0.245 262.881);\n --sidebar-primary-foreground: oklch(0.985 0.002 247.858);\n --sidebar-ring: oklch(0.546 0.245 262.881);\n --chart-1: oklch(0.546 0.245 262.881);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "green")}}\n --primary: oklch(0.596 0.145 163.225);\n --primary-foreground: oklch(0.982 0.018 155.826);\n --ring: oklch(0.596 0.145 163.225);\n --sidebar-primary: oklch(0.596 0.145 163.225);\n --sidebar-primary-foreground: oklch(0.982 0.018 155.826);\n --sidebar-ring: oklch(0.596 0.145 163.225);\n --chart-1: oklch(0.596 0.145 163.225);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "purple")}}\n --primary: oklch(0.627 0.265 303.9);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.627 0.265 303.9);\n --sidebar-primary: oklch(0.627 0.265 303.9);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.627 0.265 303.9);\n --chart-1: oklch(0.627 0.265 303.9);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "red")}}\n --primary: oklch(0.637 0.237 25.331);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.637 0.237 25.331);\n --sidebar-primary: oklch(0.637 0.237 25.331);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.637 0.237 25.331);\n --chart-1: oklch(0.637 0.237 25.331);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "orange")}}\n --primary: oklch(0.705 0.191 47.604);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.705 0.191 47.604);\n --sidebar-primary: oklch(0.705 0.191 47.604);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.705 0.191 47.604);\n --chart-1: oklch(0.705 0.191 47.604);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "amber")}}\n --primary: oklch(0.769 0.188 70.08);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.769 0.188 70.08);\n --sidebar-primary: oklch(0.769 0.188 70.08);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.769 0.188 70.08);\n --chart-1: oklch(0.769 0.188 70.08);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.646 0.222 41.116);\n{{else if (eq shadcn.themeColor "cyan")}}\n --primary: oklch(0.715 0.143 215.221);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.715 0.143 215.221);\n --sidebar-primary: oklch(0.715 0.143 215.221);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.715 0.143 215.221);\n --chart-1: oklch(0.715 0.143 215.221);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "emerald")}}\n --primary: oklch(0.696 0.17 162.48);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.696 0.17 162.48);\n --sidebar-primary: oklch(0.696 0.17 162.48);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.696 0.17 162.48);\n --chart-1: oklch(0.696 0.17 162.48);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "fuchsia")}}\n --primary: oklch(0.667 0.295 322.15);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.667 0.295 322.15);\n --sidebar-primary: oklch(0.667 0.295 322.15);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.667 0.295 322.15);\n --chart-1: oklch(0.667 0.295 322.15);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "indigo")}}\n --primary: oklch(0.585 0.233 277.117);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.585 0.233 277.117);\n --sidebar-primary: oklch(0.585 0.233 277.117);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.585 0.233 277.117);\n --chart-1: oklch(0.585 0.233 277.117);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "lime")}}\n --primary: oklch(0.768 0.233 130.85);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.768 0.233 130.85);\n --sidebar-primary: oklch(0.768 0.233 130.85);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.768 0.233 130.85);\n --chart-1: oklch(0.768 0.233 130.85);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "pink")}}\n --primary: oklch(0.718 0.202 349.761);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.718 0.202 349.761);\n --sidebar-primary: oklch(0.718 0.202 349.761);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.718 0.202 349.761);\n --chart-1: oklch(0.718 0.202 349.761);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "rose")}}\n --primary: oklch(0.645 0.246 16.439);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.645 0.246 16.439);\n --sidebar-primary: oklch(0.645 0.246 16.439);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.645 0.246 16.439);\n --chart-1: oklch(0.645 0.246 16.439);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "sky")}}\n --primary: oklch(0.685 0.169 237.323);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.685 0.169 237.323);\n --sidebar-primary: oklch(0.685 0.169 237.323);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.685 0.169 237.323);\n --chart-1: oklch(0.685 0.169 237.323);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "teal")}}\n --primary: oklch(0.704 0.14 182.503);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.704 0.14 182.503);\n --sidebar-primary: oklch(0.704 0.14 182.503);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.704 0.14 182.503);\n --chart-1: oklch(0.704 0.14 182.503);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "violet")}}\n --primary: oklch(0.606 0.25 292.717);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.606 0.25 292.717);\n --sidebar-primary: oklch(0.606 0.25 292.717);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.606 0.25 292.717);\n --chart-1: oklch(0.606 0.25 292.717);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else if (eq shadcn.themeColor "yellow")}}\n --primary: oklch(0.795 0.184 86.047);\n --primary-foreground: oklch(0.216 0.006 56.043);\n --ring: oklch(0.795 0.184 86.047);\n --sidebar-primary: oklch(0.795 0.184 86.047);\n --sidebar-primary-foreground: oklch(0.216 0.006 56.043);\n --sidebar-ring: oklch(0.795 0.184 86.047);\n --chart-1: oklch(0.795 0.184 86.047);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.646 0.222 41.116);\n --chart-5: oklch(0.769 0.188 70.08);\n{{else}}\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.708 0 0);\n --sidebar-primary: oklch(0.205 0 0);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n{{/if}}\n}\n\n/* ========================================\n THEME COLOR VARIABLES - DARK MODE\n ======================================== */\n\n.dark {\n --background: oklch(0.145 0 0);\n --foreground: oklch(0.985 0 0);\n --card: oklch(0.205 0 0);\n --card-foreground: oklch(0.985 0 0);\n --popover: oklch(0.205 0 0);\n --popover-foreground: oklch(0.985 0 0);\n --secondary: oklch(0.269 0 0);\n --secondary-foreground: oklch(0.985 0 0);\n --muted: oklch(0.269 0 0);\n --muted-foreground: oklch(0.708 0 0);\n --accent: oklch(0.269 0 0);\n --accent-foreground: oklch(0.985 0 0);\n --destructive: oklch(0.704 0.191 22.216);\n --border: oklch(1 0 0 / 10%);\n --input: oklch(1 0 0 / 15%);\n --sidebar: oklch(0.205 0 0);\n --sidebar-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.269 0 0);\n --sidebar-accent-foreground: oklch(0.985 0 0);\n --sidebar-border: oklch(1 0 0 / 10%);\n\n{{#if (eq shadcn.themeColor "neutral")}}\n --primary: oklch(0.922 0 0);\n --primary-foreground: oklch(0.205 0 0);\n --ring: oklch(0.556 0 0);\n --sidebar-primary: oklch(0.488 0.243 264.376);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.556 0 0);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "blue")}}\n --primary: oklch(0.623 0.214 262.881);\n --primary-foreground: oklch(0.273 0.033 256.848);\n --ring: oklch(0.623 0.214 262.881);\n --sidebar-primary: oklch(0.623 0.214 262.881);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.623 0.214 262.881);\n --chart-1: oklch(0.623 0.214 262.881);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "green")}}\n --primary: oklch(0.696 0.17 162.48);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.696 0.17 162.48);\n --sidebar-primary: oklch(0.696 0.17 162.48);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.696 0.17 162.48);\n --chart-1: oklch(0.696 0.17 162.48);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "purple")}}\n --primary: oklch(0.714 0.203 305.504);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.714 0.203 305.504);\n --sidebar-primary: oklch(0.714 0.203 305.504);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.714 0.203 305.504);\n --chart-1: oklch(0.714 0.203 305.504);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "red")}}\n --primary: oklch(0.704 0.191 22.216);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.704 0.191 22.216);\n --sidebar-primary: oklch(0.704 0.191 22.216);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.704 0.191 22.216);\n --chart-1: oklch(0.704 0.191 22.216);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "orange")}}\n --primary: oklch(0.792 0.17 52.615);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.792 0.17 52.615);\n --sidebar-primary: oklch(0.792 0.17 52.615);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.792 0.17 52.615);\n --chart-1: oklch(0.792 0.17 52.615);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "amber")}}\n --primary: oklch(0.828 0.189 84.429);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.828 0.189 84.429);\n --sidebar-primary: oklch(0.828 0.189 84.429);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.828 0.189 84.429);\n --chart-1: oklch(0.828 0.189 84.429);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.488 0.243 264.376);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "cyan")}}\n --primary: oklch(0.789 0.154 211.53);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.789 0.154 211.53);\n --sidebar-primary: oklch(0.789 0.154 211.53);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.789 0.154 211.53);\n --chart-1: oklch(0.789 0.154 211.53);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "emerald")}}\n --primary: oklch(0.765 0.166 160.391);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.765 0.166 160.391);\n --sidebar-primary: oklch(0.765 0.166 160.391);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.765 0.166 160.391);\n --chart-1: oklch(0.765 0.166 160.391);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "fuchsia")}}\n --primary: oklch(0.74 0.238 322.16);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.74 0.238 322.16);\n --sidebar-primary: oklch(0.74 0.238 322.16);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.74 0.238 322.16);\n --chart-1: oklch(0.74 0.238 322.16);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "indigo")}}\n --primary: oklch(0.673 0.182 276.935);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.673 0.182 276.935);\n --sidebar-primary: oklch(0.673 0.182 276.935);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.673 0.182 276.935);\n --chart-1: oklch(0.673 0.182 276.935);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "lime")}}\n --primary: oklch(0.841 0.238 128.85);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.841 0.238 128.85);\n --sidebar-primary: oklch(0.841 0.238 128.85);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.841 0.238 128.85);\n --chart-1: oklch(0.841 0.238 128.85);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "pink")}}\n --primary: oklch(0.775 0.181 349.761);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.775 0.181 349.761);\n --sidebar-primary: oklch(0.775 0.181 349.761);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.775 0.181 349.761);\n --chart-1: oklch(0.775 0.181 349.761);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "rose")}}\n --primary: oklch(0.712 0.194 13.428);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.712 0.194 13.428);\n --sidebar-primary: oklch(0.712 0.194 13.428);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.712 0.194 13.428);\n --chart-1: oklch(0.712 0.194 13.428);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.488 0.243 264.376);\n{{else if (eq shadcn.themeColor "sky")}}\n --primary: oklch(0.756 0.143 232.661);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.756 0.143 232.661);\n --sidebar-primary: oklch(0.756 0.143 232.661);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.756 0.143 232.661);\n --chart-1: oklch(0.756 0.143 232.661);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "teal")}}\n --primary: oklch(0.777 0.152 181.912);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.777 0.152 181.912);\n --sidebar-primary: oklch(0.777 0.152 181.912);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.777 0.152 181.912);\n --chart-1: oklch(0.777 0.152 181.912);\n --chart-2: oklch(0.488 0.243 264.376);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "violet")}}\n --primary: oklch(0.702 0.183 293.541);\n --primary-foreground: oklch(0.985 0 0);\n --ring: oklch(0.702 0.183 293.541);\n --sidebar-primary: oklch(0.702 0.183 293.541);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.702 0.183 293.541);\n --chart-1: oklch(0.702 0.183 293.541);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.488 0.243 264.376);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else if (eq shadcn.themeColor "yellow")}}\n --primary: oklch(0.852 0.199 91.936);\n --primary-foreground: oklch(0.15 0 0);\n --ring: oklch(0.852 0.199 91.936);\n --sidebar-primary: oklch(0.852 0.199 91.936);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.852 0.199 91.936);\n --chart-1: oklch(0.852 0.199 91.936);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.488 0.243 264.376);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{else}}\n --primary: oklch(0.922 0 0);\n --primary-foreground: oklch(0.205 0 0);\n --ring: oklch(0.556 0 0);\n --sidebar-primary: oklch(0.488 0.243 264.376);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-ring: oklch(0.556 0 0);\n --chart-1: oklch(0.488 0.243 264.376);\n --chart-2: oklch(0.696 0.17 162.48);\n --chart-3: oklch(0.769 0.188 70.08);\n --chart-4: oklch(0.627 0.265 303.9);\n --chart-5: oklch(0.645 0.246 16.439);\n{{/if}}\n}\n\n@layer base {\n * {\n @apply border-border outline-ring/50;\n }\n body {\n @apply bg-background text-foreground;\n }\n}\n',
|
|
12785
|
+
"web/src/app/globals.css.hbs": `{{#if (eq structure 'monorepo')}}
|
|
12786
|
+
/* Import shared design tokens from @repo/ui */
|
|
12787
|
+
@import "@repo/ui/globals.css";
|
|
12788
|
+
|
|
12789
|
+
/* Web app specific overrides */
|
|
12790
|
+
@theme inline {
|
|
12791
|
+
--font-sans: var(--font-geist-sans);
|
|
12792
|
+
--font-mono: var(--font-geist-mono);
|
|
12793
|
+
}
|
|
12794
|
+
{{else}}
|
|
12795
|
+
@import "tailwindcss";
|
|
12796
|
+
@import "tw-animate-css";
|
|
12797
|
+
|
|
12798
|
+
@custom-variant dark (&:is(.dark *));
|
|
12799
|
+
|
|
12800
|
+
@theme inline {
|
|
12801
|
+
--color-background: var(--background);
|
|
12802
|
+
--color-foreground: var(--foreground);
|
|
12803
|
+
--font-sans: var(--font-geist-sans);
|
|
12804
|
+
--font-mono: var(--font-geist-mono);
|
|
12805
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
12806
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
12807
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
12808
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
12809
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
12810
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
12811
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
12812
|
+
--color-sidebar: var(--sidebar);
|
|
12813
|
+
--color-chart-5: var(--chart-5);
|
|
12814
|
+
--color-chart-4: var(--chart-4);
|
|
12815
|
+
--color-chart-3: var(--chart-3);
|
|
12816
|
+
--color-chart-2: var(--chart-2);
|
|
12817
|
+
--color-chart-1: var(--chart-1);
|
|
12818
|
+
--color-ring: var(--ring);
|
|
12819
|
+
--color-input: var(--input);
|
|
12820
|
+
--color-border: var(--border);
|
|
12821
|
+
--color-destructive: var(--destructive);
|
|
12822
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
12823
|
+
--color-accent: var(--accent);
|
|
12824
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
12825
|
+
--color-muted: var(--muted);
|
|
12826
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
12827
|
+
--color-secondary: var(--secondary);
|
|
12828
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
12829
|
+
--color-primary: var(--primary);
|
|
12830
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
12831
|
+
--color-popover: var(--popover);
|
|
12832
|
+
--color-card-foreground: var(--card-foreground);
|
|
12833
|
+
--color-card: var(--card);
|
|
12834
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
12835
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
12836
|
+
--radius-lg: var(--radius);
|
|
12837
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
12838
|
+
}
|
|
12839
|
+
|
|
12840
|
+
/* ========================================
|
|
12841
|
+
THEME COLOR VARIABLES - LIGHT MODE
|
|
12842
|
+
======================================== */
|
|
12843
|
+
|
|
12844
|
+
:root {
|
|
12845
|
+
--radius: 0.625rem;
|
|
12846
|
+
--background: oklch(1 0 0);
|
|
12847
|
+
--foreground: oklch(0.145 0 0);
|
|
12848
|
+
--card: oklch(1 0 0);
|
|
12849
|
+
--card-foreground: oklch(0.145 0 0);
|
|
12850
|
+
--popover: oklch(1 0 0);
|
|
12851
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
12852
|
+
--secondary: oklch(0.97 0 0);
|
|
12853
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
12854
|
+
--muted: oklch(0.97 0 0);
|
|
12855
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
12856
|
+
--accent: oklch(0.97 0 0);
|
|
12857
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
12858
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
12859
|
+
--border: oklch(0.922 0 0);
|
|
12860
|
+
--input: oklch(0.922 0 0);
|
|
12861
|
+
--sidebar: oklch(0.985 0 0);
|
|
12862
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
12863
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
12864
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
12865
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
12866
|
+
|
|
12867
|
+
{{#if (eq shadcn.themeColor "neutral")}}
|
|
12868
|
+
--primary: oklch(0.205 0 0);
|
|
12869
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
12870
|
+
--ring: oklch(0.708 0 0);
|
|
12871
|
+
--sidebar-primary: oklch(0.205 0 0);
|
|
12872
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
12873
|
+
--sidebar-ring: oklch(0.708 0 0);
|
|
12874
|
+
--chart-1: oklch(0.646 0.222 41.116);
|
|
12875
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12876
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12877
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12878
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12879
|
+
{{else if (eq shadcn.themeColor "blue")}}
|
|
12880
|
+
--primary: oklch(0.546 0.245 262.881);
|
|
12881
|
+
--primary-foreground: oklch(0.985 0.002 247.858);
|
|
12882
|
+
--ring: oklch(0.546 0.245 262.881);
|
|
12883
|
+
--sidebar-primary: oklch(0.546 0.245 262.881);
|
|
12884
|
+
--sidebar-primary-foreground: oklch(0.985 0.002 247.858);
|
|
12885
|
+
--sidebar-ring: oklch(0.546 0.245 262.881);
|
|
12886
|
+
--chart-1: oklch(0.546 0.245 262.881);
|
|
12887
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12888
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12889
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12890
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12891
|
+
{{else if (eq shadcn.themeColor "green")}}
|
|
12892
|
+
--primary: oklch(0.596 0.145 163.225);
|
|
12893
|
+
--primary-foreground: oklch(0.982 0.018 155.826);
|
|
12894
|
+
--ring: oklch(0.596 0.145 163.225);
|
|
12895
|
+
--sidebar-primary: oklch(0.596 0.145 163.225);
|
|
12896
|
+
--sidebar-primary-foreground: oklch(0.982 0.018 155.826);
|
|
12897
|
+
--sidebar-ring: oklch(0.596 0.145 163.225);
|
|
12898
|
+
--chart-1: oklch(0.596 0.145 163.225);
|
|
12899
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12900
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12901
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12902
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12903
|
+
{{else if (eq shadcn.themeColor "purple")}}
|
|
12904
|
+
--primary: oklch(0.627 0.265 303.9);
|
|
12905
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
12906
|
+
--ring: oklch(0.627 0.265 303.9);
|
|
12907
|
+
--sidebar-primary: oklch(0.627 0.265 303.9);
|
|
12908
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
12909
|
+
--sidebar-ring: oklch(0.627 0.265 303.9);
|
|
12910
|
+
--chart-1: oklch(0.627 0.265 303.9);
|
|
12911
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12912
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12913
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12914
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12915
|
+
{{else if (eq shadcn.themeColor "red")}}
|
|
12916
|
+
--primary: oklch(0.637 0.237 25.331);
|
|
12917
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
12918
|
+
--ring: oklch(0.637 0.237 25.331);
|
|
12919
|
+
--sidebar-primary: oklch(0.637 0.237 25.331);
|
|
12920
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
12921
|
+
--sidebar-ring: oklch(0.637 0.237 25.331);
|
|
12922
|
+
--chart-1: oklch(0.637 0.237 25.331);
|
|
12923
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12924
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12925
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12926
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12927
|
+
{{else if (eq shadcn.themeColor "orange")}}
|
|
12928
|
+
--primary: oklch(0.705 0.191 47.604);
|
|
12929
|
+
--primary-foreground: oklch(0.216 0.006 56.043);
|
|
12930
|
+
--ring: oklch(0.705 0.191 47.604);
|
|
12931
|
+
--sidebar-primary: oklch(0.705 0.191 47.604);
|
|
12932
|
+
--sidebar-primary-foreground: oklch(0.216 0.006 56.043);
|
|
12933
|
+
--sidebar-ring: oklch(0.705 0.191 47.604);
|
|
12934
|
+
--chart-1: oklch(0.705 0.191 47.604);
|
|
12935
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12936
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12937
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12938
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12939
|
+
{{else if (eq shadcn.themeColor "amber")}}
|
|
12940
|
+
--primary: oklch(0.769 0.188 70.08);
|
|
12941
|
+
--primary-foreground: oklch(0.216 0.006 56.043);
|
|
12942
|
+
--ring: oklch(0.769 0.188 70.08);
|
|
12943
|
+
--sidebar-primary: oklch(0.769 0.188 70.08);
|
|
12944
|
+
--sidebar-primary-foreground: oklch(0.216 0.006 56.043);
|
|
12945
|
+
--sidebar-ring: oklch(0.769 0.188 70.08);
|
|
12946
|
+
--chart-1: oklch(0.769 0.188 70.08);
|
|
12947
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12948
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12949
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12950
|
+
--chart-5: oklch(0.646 0.222 41.116);
|
|
12951
|
+
{{else if (eq shadcn.themeColor "cyan")}}
|
|
12952
|
+
--primary: oklch(0.715 0.143 215.221);
|
|
12953
|
+
--primary-foreground: oklch(0.216 0.006 56.043);
|
|
12954
|
+
--ring: oklch(0.715 0.143 215.221);
|
|
12955
|
+
--sidebar-primary: oklch(0.715 0.143 215.221);
|
|
12956
|
+
--sidebar-primary-foreground: oklch(0.216 0.006 56.043);
|
|
12957
|
+
--sidebar-ring: oklch(0.715 0.143 215.221);
|
|
12958
|
+
--chart-1: oklch(0.715 0.143 215.221);
|
|
12959
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12960
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12961
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12962
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12963
|
+
{{else if (eq shadcn.themeColor "emerald")}}
|
|
12964
|
+
--primary: oklch(0.696 0.17 162.48);
|
|
12965
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
12966
|
+
--ring: oklch(0.696 0.17 162.48);
|
|
12967
|
+
--sidebar-primary: oklch(0.696 0.17 162.48);
|
|
12968
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
12969
|
+
--sidebar-ring: oklch(0.696 0.17 162.48);
|
|
12970
|
+
--chart-1: oklch(0.696 0.17 162.48);
|
|
12971
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12972
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12973
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12974
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12975
|
+
{{else if (eq shadcn.themeColor "fuchsia")}}
|
|
12976
|
+
--primary: oklch(0.667 0.295 322.15);
|
|
12977
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
12978
|
+
--ring: oklch(0.667 0.295 322.15);
|
|
12979
|
+
--sidebar-primary: oklch(0.667 0.295 322.15);
|
|
12980
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
12981
|
+
--sidebar-ring: oklch(0.667 0.295 322.15);
|
|
12982
|
+
--chart-1: oklch(0.667 0.295 322.15);
|
|
12983
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12984
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12985
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12986
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12987
|
+
{{else if (eq shadcn.themeColor "indigo")}}
|
|
12988
|
+
--primary: oklch(0.585 0.233 277.117);
|
|
12989
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
12990
|
+
--ring: oklch(0.585 0.233 277.117);
|
|
12991
|
+
--sidebar-primary: oklch(0.585 0.233 277.117);
|
|
12992
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
12993
|
+
--sidebar-ring: oklch(0.585 0.233 277.117);
|
|
12994
|
+
--chart-1: oklch(0.585 0.233 277.117);
|
|
12995
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
12996
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
12997
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
12998
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
12999
|
+
{{else if (eq shadcn.themeColor "lime")}}
|
|
13000
|
+
--primary: oklch(0.768 0.233 130.85);
|
|
13001
|
+
--primary-foreground: oklch(0.216 0.006 56.043);
|
|
13002
|
+
--ring: oklch(0.768 0.233 130.85);
|
|
13003
|
+
--sidebar-primary: oklch(0.768 0.233 130.85);
|
|
13004
|
+
--sidebar-primary-foreground: oklch(0.216 0.006 56.043);
|
|
13005
|
+
--sidebar-ring: oklch(0.768 0.233 130.85);
|
|
13006
|
+
--chart-1: oklch(0.768 0.233 130.85);
|
|
13007
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13008
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13009
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
13010
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13011
|
+
{{else if (eq shadcn.themeColor "pink")}}
|
|
13012
|
+
--primary: oklch(0.718 0.202 349.761);
|
|
13013
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13014
|
+
--ring: oklch(0.718 0.202 349.761);
|
|
13015
|
+
--sidebar-primary: oklch(0.718 0.202 349.761);
|
|
13016
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13017
|
+
--sidebar-ring: oklch(0.718 0.202 349.761);
|
|
13018
|
+
--chart-1: oklch(0.718 0.202 349.761);
|
|
13019
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13020
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13021
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
13022
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13023
|
+
{{else if (eq shadcn.themeColor "rose")}}
|
|
13024
|
+
--primary: oklch(0.645 0.246 16.439);
|
|
13025
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13026
|
+
--ring: oklch(0.645 0.246 16.439);
|
|
13027
|
+
--sidebar-primary: oklch(0.645 0.246 16.439);
|
|
13028
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13029
|
+
--sidebar-ring: oklch(0.645 0.246 16.439);
|
|
13030
|
+
--chart-1: oklch(0.645 0.246 16.439);
|
|
13031
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13032
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13033
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
13034
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13035
|
+
{{else if (eq shadcn.themeColor "sky")}}
|
|
13036
|
+
--primary: oklch(0.685 0.169 237.323);
|
|
13037
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13038
|
+
--ring: oklch(0.685 0.169 237.323);
|
|
13039
|
+
--sidebar-primary: oklch(0.685 0.169 237.323);
|
|
13040
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13041
|
+
--sidebar-ring: oklch(0.685 0.169 237.323);
|
|
13042
|
+
--chart-1: oklch(0.685 0.169 237.323);
|
|
13043
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13044
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13045
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
13046
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13047
|
+
{{else if (eq shadcn.themeColor "teal")}}
|
|
13048
|
+
--primary: oklch(0.704 0.14 182.503);
|
|
13049
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13050
|
+
--ring: oklch(0.704 0.14 182.503);
|
|
13051
|
+
--sidebar-primary: oklch(0.704 0.14 182.503);
|
|
13052
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13053
|
+
--sidebar-ring: oklch(0.704 0.14 182.503);
|
|
13054
|
+
--chart-1: oklch(0.704 0.14 182.503);
|
|
13055
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13056
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13057
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
13058
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13059
|
+
{{else if (eq shadcn.themeColor "violet")}}
|
|
13060
|
+
--primary: oklch(0.606 0.25 292.717);
|
|
13061
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13062
|
+
--ring: oklch(0.606 0.25 292.717);
|
|
13063
|
+
--sidebar-primary: oklch(0.606 0.25 292.717);
|
|
13064
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13065
|
+
--sidebar-ring: oklch(0.606 0.25 292.717);
|
|
13066
|
+
--chart-1: oklch(0.606 0.25 292.717);
|
|
13067
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13068
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13069
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
13070
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13071
|
+
{{else if (eq shadcn.themeColor "yellow")}}
|
|
13072
|
+
--primary: oklch(0.795 0.184 86.047);
|
|
13073
|
+
--primary-foreground: oklch(0.216 0.006 56.043);
|
|
13074
|
+
--ring: oklch(0.795 0.184 86.047);
|
|
13075
|
+
--sidebar-primary: oklch(0.795 0.184 86.047);
|
|
13076
|
+
--sidebar-primary-foreground: oklch(0.216 0.006 56.043);
|
|
13077
|
+
--sidebar-ring: oklch(0.795 0.184 86.047);
|
|
13078
|
+
--chart-1: oklch(0.795 0.184 86.047);
|
|
13079
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13080
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13081
|
+
--chart-4: oklch(0.646 0.222 41.116);
|
|
13082
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13083
|
+
{{else}}
|
|
13084
|
+
--primary: oklch(0.205 0 0);
|
|
13085
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13086
|
+
--ring: oklch(0.708 0 0);
|
|
13087
|
+
--sidebar-primary: oklch(0.205 0 0);
|
|
13088
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13089
|
+
--sidebar-ring: oklch(0.708 0 0);
|
|
13090
|
+
--chart-1: oklch(0.646 0.222 41.116);
|
|
13091
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
13092
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
13093
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
13094
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
13095
|
+
{{/if}}
|
|
13096
|
+
}
|
|
13097
|
+
|
|
13098
|
+
/* ========================================
|
|
13099
|
+
THEME COLOR VARIABLES - DARK MODE
|
|
13100
|
+
======================================== */
|
|
13101
|
+
|
|
13102
|
+
.dark {
|
|
13103
|
+
--background: oklch(0.145 0 0);
|
|
13104
|
+
--foreground: oklch(0.985 0 0);
|
|
13105
|
+
--card: oklch(0.205 0 0);
|
|
13106
|
+
--card-foreground: oklch(0.985 0 0);
|
|
13107
|
+
--popover: oklch(0.205 0 0);
|
|
13108
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
13109
|
+
--secondary: oklch(0.269 0 0);
|
|
13110
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
13111
|
+
--muted: oklch(0.269 0 0);
|
|
13112
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
13113
|
+
--accent: oklch(0.269 0 0);
|
|
13114
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
13115
|
+
--destructive: oklch(0.704 0.191 22.216);
|
|
13116
|
+
--border: oklch(1 0 0 / 10%);
|
|
13117
|
+
--input: oklch(1 0 0 / 15%);
|
|
13118
|
+
--sidebar: oklch(0.205 0 0);
|
|
13119
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
13120
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
13121
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
13122
|
+
--sidebar-border: oklch(1 0 0 / 10%);
|
|
13123
|
+
|
|
13124
|
+
{{#if (eq shadcn.themeColor "neutral")}}
|
|
13125
|
+
--primary: oklch(0.922 0 0);
|
|
13126
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
13127
|
+
--ring: oklch(0.556 0 0);
|
|
13128
|
+
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
13129
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13130
|
+
--sidebar-ring: oklch(0.556 0 0);
|
|
13131
|
+
--chart-1: oklch(0.488 0.243 264.376);
|
|
13132
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13133
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13134
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13135
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13136
|
+
{{else if (eq shadcn.themeColor "blue")}}
|
|
13137
|
+
--primary: oklch(0.623 0.214 262.881);
|
|
13138
|
+
--primary-foreground: oklch(0.273 0.033 256.848);
|
|
13139
|
+
--ring: oklch(0.623 0.214 262.881);
|
|
13140
|
+
--sidebar-primary: oklch(0.623 0.214 262.881);
|
|
13141
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13142
|
+
--sidebar-ring: oklch(0.623 0.214 262.881);
|
|
13143
|
+
--chart-1: oklch(0.623 0.214 262.881);
|
|
13144
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13145
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13146
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13147
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13148
|
+
{{else if (eq shadcn.themeColor "green")}}
|
|
13149
|
+
--primary: oklch(0.696 0.17 162.48);
|
|
13150
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13151
|
+
--ring: oklch(0.696 0.17 162.48);
|
|
13152
|
+
--sidebar-primary: oklch(0.696 0.17 162.48);
|
|
13153
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13154
|
+
--sidebar-ring: oklch(0.696 0.17 162.48);
|
|
13155
|
+
--chart-1: oklch(0.696 0.17 162.48);
|
|
13156
|
+
--chart-2: oklch(0.488 0.243 264.376);
|
|
13157
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13158
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13159
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13160
|
+
{{else if (eq shadcn.themeColor "purple")}}
|
|
13161
|
+
--primary: oklch(0.714 0.203 305.504);
|
|
13162
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13163
|
+
--ring: oklch(0.714 0.203 305.504);
|
|
13164
|
+
--sidebar-primary: oklch(0.714 0.203 305.504);
|
|
13165
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13166
|
+
--sidebar-ring: oklch(0.714 0.203 305.504);
|
|
13167
|
+
--chart-1: oklch(0.714 0.203 305.504);
|
|
13168
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13169
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13170
|
+
--chart-4: oklch(0.488 0.243 264.376);
|
|
13171
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13172
|
+
{{else if (eq shadcn.themeColor "red")}}
|
|
13173
|
+
--primary: oklch(0.704 0.191 22.216);
|
|
13174
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13175
|
+
--ring: oklch(0.704 0.191 22.216);
|
|
13176
|
+
--sidebar-primary: oklch(0.704 0.191 22.216);
|
|
13177
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13178
|
+
--sidebar-ring: oklch(0.704 0.191 22.216);
|
|
13179
|
+
--chart-1: oklch(0.704 0.191 22.216);
|
|
13180
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13181
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13182
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13183
|
+
--chart-5: oklch(0.488 0.243 264.376);
|
|
13184
|
+
{{else if (eq shadcn.themeColor "orange")}}
|
|
13185
|
+
--primary: oklch(0.792 0.17 52.615);
|
|
13186
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13187
|
+
--ring: oklch(0.792 0.17 52.615);
|
|
13188
|
+
--sidebar-primary: oklch(0.792 0.17 52.615);
|
|
13189
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13190
|
+
--sidebar-ring: oklch(0.792 0.17 52.615);
|
|
13191
|
+
--chart-1: oklch(0.792 0.17 52.615);
|
|
13192
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13193
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13194
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13195
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13196
|
+
{{else if (eq shadcn.themeColor "amber")}}
|
|
13197
|
+
--primary: oklch(0.828 0.189 84.429);
|
|
13198
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13199
|
+
--ring: oklch(0.828 0.189 84.429);
|
|
13200
|
+
--sidebar-primary: oklch(0.828 0.189 84.429);
|
|
13201
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13202
|
+
--sidebar-ring: oklch(0.828 0.189 84.429);
|
|
13203
|
+
--chart-1: oklch(0.828 0.189 84.429);
|
|
13204
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13205
|
+
--chart-3: oklch(0.488 0.243 264.376);
|
|
13206
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13207
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13208
|
+
{{else if (eq shadcn.themeColor "cyan")}}
|
|
13209
|
+
--primary: oklch(0.789 0.154 211.53);
|
|
13210
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13211
|
+
--ring: oklch(0.789 0.154 211.53);
|
|
13212
|
+
--sidebar-primary: oklch(0.789 0.154 211.53);
|
|
13213
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13214
|
+
--sidebar-ring: oklch(0.789 0.154 211.53);
|
|
13215
|
+
--chart-1: oklch(0.789 0.154 211.53);
|
|
13216
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13217
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13218
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13219
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13220
|
+
{{else if (eq shadcn.themeColor "emerald")}}
|
|
13221
|
+
--primary: oklch(0.765 0.166 160.391);
|
|
13222
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13223
|
+
--ring: oklch(0.765 0.166 160.391);
|
|
13224
|
+
--sidebar-primary: oklch(0.765 0.166 160.391);
|
|
13225
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13226
|
+
--sidebar-ring: oklch(0.765 0.166 160.391);
|
|
13227
|
+
--chart-1: oklch(0.765 0.166 160.391);
|
|
13228
|
+
--chart-2: oklch(0.488 0.243 264.376);
|
|
13229
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13230
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13231
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13232
|
+
{{else if (eq shadcn.themeColor "fuchsia")}}
|
|
13233
|
+
--primary: oklch(0.74 0.238 322.16);
|
|
13234
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13235
|
+
--ring: oklch(0.74 0.238 322.16);
|
|
13236
|
+
--sidebar-primary: oklch(0.74 0.238 322.16);
|
|
13237
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13238
|
+
--sidebar-ring: oklch(0.74 0.238 322.16);
|
|
13239
|
+
--chart-1: oklch(0.74 0.238 322.16);
|
|
13240
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13241
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13242
|
+
--chart-4: oklch(0.488 0.243 264.376);
|
|
13243
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13244
|
+
{{else if (eq shadcn.themeColor "indigo")}}
|
|
13245
|
+
--primary: oklch(0.673 0.182 276.935);
|
|
13246
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13247
|
+
--ring: oklch(0.673 0.182 276.935);
|
|
13248
|
+
--sidebar-primary: oklch(0.673 0.182 276.935);
|
|
13249
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13250
|
+
--sidebar-ring: oklch(0.673 0.182 276.935);
|
|
13251
|
+
--chart-1: oklch(0.673 0.182 276.935);
|
|
13252
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13253
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13254
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13255
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13256
|
+
{{else if (eq shadcn.themeColor "lime")}}
|
|
13257
|
+
--primary: oklch(0.841 0.238 128.85);
|
|
13258
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13259
|
+
--ring: oklch(0.841 0.238 128.85);
|
|
13260
|
+
--sidebar-primary: oklch(0.841 0.238 128.85);
|
|
13261
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13262
|
+
--sidebar-ring: oklch(0.841 0.238 128.85);
|
|
13263
|
+
--chart-1: oklch(0.841 0.238 128.85);
|
|
13264
|
+
--chart-2: oklch(0.488 0.243 264.376);
|
|
13265
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13266
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13267
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13268
|
+
{{else if (eq shadcn.themeColor "pink")}}
|
|
13269
|
+
--primary: oklch(0.775 0.181 349.761);
|
|
13270
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13271
|
+
--ring: oklch(0.775 0.181 349.761);
|
|
13272
|
+
--sidebar-primary: oklch(0.775 0.181 349.761);
|
|
13273
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13274
|
+
--sidebar-ring: oklch(0.775 0.181 349.761);
|
|
13275
|
+
--chart-1: oklch(0.775 0.181 349.761);
|
|
13276
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13277
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13278
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13279
|
+
--chart-5: oklch(0.488 0.243 264.376);
|
|
13280
|
+
{{else if (eq shadcn.themeColor "rose")}}
|
|
13281
|
+
--primary: oklch(0.712 0.194 13.428);
|
|
13282
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13283
|
+
--ring: oklch(0.712 0.194 13.428);
|
|
13284
|
+
--sidebar-primary: oklch(0.712 0.194 13.428);
|
|
13285
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13286
|
+
--sidebar-ring: oklch(0.712 0.194 13.428);
|
|
13287
|
+
--chart-1: oklch(0.712 0.194 13.428);
|
|
13288
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13289
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13290
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13291
|
+
--chart-5: oklch(0.488 0.243 264.376);
|
|
13292
|
+
{{else if (eq shadcn.themeColor "sky")}}
|
|
13293
|
+
--primary: oklch(0.756 0.143 232.661);
|
|
13294
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13295
|
+
--ring: oklch(0.756 0.143 232.661);
|
|
13296
|
+
--sidebar-primary: oklch(0.756 0.143 232.661);
|
|
13297
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13298
|
+
--sidebar-ring: oklch(0.756 0.143 232.661);
|
|
13299
|
+
--chart-1: oklch(0.756 0.143 232.661);
|
|
13300
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13301
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13302
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13303
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13304
|
+
{{else if (eq shadcn.themeColor "teal")}}
|
|
13305
|
+
--primary: oklch(0.777 0.152 181.912);
|
|
13306
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13307
|
+
--ring: oklch(0.777 0.152 181.912);
|
|
13308
|
+
--sidebar-primary: oklch(0.777 0.152 181.912);
|
|
13309
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13310
|
+
--sidebar-ring: oklch(0.777 0.152 181.912);
|
|
13311
|
+
--chart-1: oklch(0.777 0.152 181.912);
|
|
13312
|
+
--chart-2: oklch(0.488 0.243 264.376);
|
|
13313
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13314
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13315
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13316
|
+
{{else if (eq shadcn.themeColor "violet")}}
|
|
13317
|
+
--primary: oklch(0.702 0.183 293.541);
|
|
13318
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
13319
|
+
--ring: oklch(0.702 0.183 293.541);
|
|
13320
|
+
--sidebar-primary: oklch(0.702 0.183 293.541);
|
|
13321
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13322
|
+
--sidebar-ring: oklch(0.702 0.183 293.541);
|
|
13323
|
+
--chart-1: oklch(0.702 0.183 293.541);
|
|
13324
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13325
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13326
|
+
--chart-4: oklch(0.488 0.243 264.376);
|
|
13327
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13328
|
+
{{else if (eq shadcn.themeColor "yellow")}}
|
|
13329
|
+
--primary: oklch(0.852 0.199 91.936);
|
|
13330
|
+
--primary-foreground: oklch(0.15 0 0);
|
|
13331
|
+
--ring: oklch(0.852 0.199 91.936);
|
|
13332
|
+
--sidebar-primary: oklch(0.852 0.199 91.936);
|
|
13333
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13334
|
+
--sidebar-ring: oklch(0.852 0.199 91.936);
|
|
13335
|
+
--chart-1: oklch(0.852 0.199 91.936);
|
|
13336
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13337
|
+
--chart-3: oklch(0.488 0.243 264.376);
|
|
13338
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13339
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13340
|
+
{{else}}
|
|
13341
|
+
--primary: oklch(0.922 0 0);
|
|
13342
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
13343
|
+
--ring: oklch(0.556 0 0);
|
|
13344
|
+
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
13345
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
13346
|
+
--sidebar-ring: oklch(0.556 0 0);
|
|
13347
|
+
--chart-1: oklch(0.488 0.243 264.376);
|
|
13348
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
13349
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
13350
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
13351
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
13352
|
+
{{/if}}
|
|
13353
|
+
}
|
|
13354
|
+
|
|
13355
|
+
@layer base {
|
|
13356
|
+
* {
|
|
13357
|
+
@apply border-border outline-ring/50;
|
|
13358
|
+
}
|
|
13359
|
+
body {
|
|
13360
|
+
@apply bg-background text-foreground;
|
|
13361
|
+
}
|
|
13362
|
+
}
|
|
13363
|
+
{{/if}}
|
|
13364
|
+
`,
|
|
12785
13365
|
"web/src/app/layout.tsx.hbs": "import type { Metadata } from 'next'\nimport { Geist, Geist_Mono } from 'next/font/google'\nimport { ConvexClientProvider } from '@/components/providers/convex-provider'\n{{#if (eq integrations.analytics 'posthog')}}\nimport { PostHogProvider } from '@/components/providers/posthog-provider'\n{{/if}}\n{{#if (eq integrations.analytics 'vercel')}}\nimport { Analytics } from '@vercel/analytics/react'\nimport { SpeedInsights } from '@vercel/speed-insights/next'\n{{/if}}\nimport './globals.css'\n\nconst geistSans = Geist({\n variable: '--font-geist-sans',\n subsets: ['latin'],\n})\n\nconst geistMono = Geist_Mono({\n variable: '--font-geist-mono',\n subsets: ['latin'],\n})\n\nexport const metadata: Metadata = {\n title: '{{projectName}}',\n description: 'Built with create-kofi-stack',\n}\n\nexport default function RootLayout({\n children,\n}: {\n children: React.ReactNode\n}) {\n return (\n <html lang=\"en\" suppressHydrationWarning>\n <body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>\n <ConvexClientProvider>\n {{#if (eq integrations.analytics 'posthog')}}\n <PostHogProvider>\n {children}\n </PostHogProvider>\n {{else}}\n {children}\n {{/if}}\n </ConvexClientProvider>\n {{#if (eq integrations.analytics 'vercel')}}\n <Analytics />\n <SpeedInsights />\n {{/if}}\n </body>\n </html>\n )\n}\n",
|
|
12786
13366
|
"web/src/app/page.tsx.hbs": `'use client'
|
|
12787
13367
|
|