From d30979f5cda35b5d675cf2c980bd80094103ea30 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Wed, 7 Jan 2026 11:21:28 +0700 Subject: [PATCH] feat: add figma-make style --- src/figma-make/styles/theme.css | 249 ++++++++++++++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 src/figma-make/styles/theme.css diff --git a/src/figma-make/styles/theme.css b/src/figma-make/styles/theme.css new file mode 100644 index 00000000..e8a943c2 --- /dev/null +++ b/src/figma-make/styles/theme.css @@ -0,0 +1,249 @@ +@custom-variant dark (&:is(.dark *)); + +:root { + --font-size: 16px; + /* Commented out to avoid conflict with DaisyUI - Core Colors & Radius + --background: #ffffff; + --foreground: #111827; + */ + --card: #ffffff; + --card-foreground: #111827; + --popover: #ffffff; + --popover-foreground: #111827; + /* + --primary: #2563eb; + --primary-foreground: #ffffff; + --secondary: #f3f4f6; + --secondary-foreground: #111827; + */ + --muted: #f9fafb; + --muted-foreground: #6b7280; + /* + --accent: #eff6ff; + --accent-foreground: #2563eb; + --destructive: #dc2626; + --destructive-foreground: #ffffff; + --border: #e5e7eb; + --input: transparent; + --input-background: #f9fafb; + --switch-background: #d1d5db; + --font-weight-medium: 500; + --font-weight-normal: 400; + --ring: #2563eb; + */ + --chart-1: #2563eb; + --chart-2: #10b981; + --chart-3: #f59e0b; + --chart-4: #8b5cf6; + --chart-5: #ef4444; + /* --radius: 0.5rem; */ + --radius: 0.5rem; /* Kept for compatibility if needed, but watch multiple sources */ + --sidebar: #ffffff; + --sidebar-foreground: #111827; + --sidebar-primary: #2563eb; + --sidebar-primary-foreground: #ffffff; + --sidebar-accent: #eff6ff; + --sidebar-accent-foreground: #2563eb; + --sidebar-border: #e5e7eb; + --sidebar-ring: #2563eb; +} + +.dark { + /* + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + */ + --card: oklch(0.145 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.145 0 0); + --popover-foreground: oklch(0.985 0 0); + /* + --primary: oklch(0.985 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + */ + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + /* + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.396 0.141 25.723); + --destructive-foreground: oklch(0.637 0.237 25.331); + --border: oklch(0.269 0 0); + --input: oklch(0.269 0 0); + --ring: oklch(0.439 0 0); + --font-weight-medium: 500; + --font-weight-normal: 400; + */ + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(0.269 0 0); + --sidebar-ring: oklch(0.439 0 0); +} + +@theme inline { + /* + --color-background: var(--background); + --color-foreground: var(--foreground); + */ + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + /* + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + */ + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + /* + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + --color-border: var(--border); + --color-input: var(--input); + --color-input-background: var(--input-background); + --color-switch-background: var(--switch-background); + --color-ring: var(--ring); + */ + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + /* + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + */ + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); +} + +@layer base { + /* Commented out to avoid conflict with DaisyUI + * { + @apply border-border outline-ring/50; + } + + body { + @apply bg-background text-foreground; + } + + /** + * Default typography styles for HTML elements (h1-h4, p, label, button, input). + * These are in @layer base, so Tailwind utility classes (like text-sm, text-lg) automatically override them. + * + html { + font-size: var(--font-size); + } + + h1 { + font-size: var(--text-2xl); + font-weight: var(--font-weight-medium); + line-height: 1.5; + } + + h2 { + font-size: var(--text-xl); + font-weight: var(--font-weight-medium); + line-height: 1.5; + } + + h3 { + font-size: var(--text-lg); + font-weight: var(--font-weight-medium); + line-height: 1.5; + } + + h4 { + font-size: var(--text-base); + font-weight: var(--font-weight-medium); + line-height: 1.5; + } + + label { + font-size: var(--text-base); + font-weight: var(--font-weight-medium); + line-height: 1.5; + } + + button { + font-size: var(--text-base); + font-weight: var(--font-weight-medium); + line-height: 1.5; + } + + input { + font-size: var(--text-base); + font-weight: var(--font-weight-normal); + line-height: 1.5; + } + */ + + /* Custom Checkbox Styling - Clean ERP Style */ + input[type='checkbox'].checkbox-clean { + appearance: none; + -webkit-appearance: none; + width: 16px; + height: 16px; + border: 1.5px solid #d1d5db; + border-radius: 4px; + background-color: #ffffff; + cursor: pointer; + position: relative; + transition: all 150ms ease-in-out; + flex-shrink: 0; + } + + input[type='checkbox'].checkbox-clean:hover:not(:disabled) { + border-color: #9ca3af; + } + + input[type='checkbox'].checkbox-clean:checked { + background-color: #0069e0; + border-color: #0069e0; + } + + input[type='checkbox'].checkbox-clean:checked::after { + content: ''; + position: absolute; + left: 4px; + top: 1px; + width: 5px; + height: 9px; + border: solid #ffffff; + border-width: 0 2px 2px 0; + transform: rotate(45deg); + } + + input[type='checkbox'].checkbox-clean:focus { + outline: none; + box-shadow: 0 0 0 2px rgba(0, 105, 224, 0.25); + } + + input[type='checkbox'].checkbox-clean:disabled { + opacity: 0.5; + cursor: not-allowed; + } +}