UNPKG

@decidrcn/ui

Version:

Decidr UI - A comprehensive React component library built with shadcn/ui and Radix UI. Supports React, Next.js, Rails, and works with npm, yarn, and pnpm.

181 lines (166 loc) 6.67 kB
@tailwind base; @tailwind components; @tailwind utilities; @layer base { /* Typography System - Decidr Theme */ :root { /* Font Families */ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; --font-mono: 'JetBrains Mono', 'Fira Code', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace; /* Font Sizes */ --text-xs: 0.75rem; /* 12px */ --text-sm: 0.875rem; /* 14px */ --text-base: 1rem; /* 16px */ --text-lg: 1.125rem; /* 18px */ --text-xl: 1.25rem; /* 20px */ --text-2xl: 1.5rem; /* 24px */ --text-3xl: 1.875rem; /* 30px */ --text-4xl: 2.25rem; /* 36px */ --text-5xl: 3rem; /* 48px */ --text-6xl: 3.75rem; /* 60px */ /* Font Weights */ --font-thin: 100; --font-extralight: 200; --font-light: 300; --font-normal: 400; --font-medium: 500; --font-semibold: 600; --font-bold: 700; --font-extrabold: 800; --font-black: 900; /* Line Heights */ --leading-none: 1; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; /* Letter Spacing */ --tracking-tighter: -0.05em; --tracking-tight: -0.025em; --tracking-normal: 0em; --tracking-wide: 0.025em; --tracking-wider: 0.05em; --tracking-widest: 0.1em; /* Color System - Light Theme */ --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; --card: 0 0% 100%; --card-foreground: 222.2 84% 4.9%; --popover: 0 0% 100%; --popover-foreground: 222.2 84% 4.9%; --primary: 222.2 47.4% 11.2%; --primary-foreground: 210 40% 98%; --secondary: 210 40% 96%; --secondary-foreground: 222.2 84% 4.9%; --muted: 210 40% 96%; --muted-foreground: 215.4 16.3% 46.9%; --accent: 210 40% 96%; --accent-foreground: 222.2 84% 4.9%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 210 40% 98%; --border: 214.3 31.8% 91.4%; --input: 214.3 31.8% 91.4%; --ring: 222.2 84% 4.9%; --radius: 0.5rem; } .dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; --card: 222.2 84% 4.9%; --card-foreground: 210 40% 98%; --popover: 222.2 84% 4.9%; --popover-foreground: 210 40% 98%; --primary: 210 40% 98%; --primary-foreground: 222.2 47.4% 11.2%; --secondary: 217.2 32.6% 17.5%; --secondary-foreground: 210 40% 98%; --muted: 217.2 32.6% 17.5%; --muted-foreground: 215 20.2% 65.1%; --accent: 217.2 32.6% 17.5%; --accent-foreground: 210 40% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 210 40% 98%; --border: 217.2 32.6% 17.5%; --input: 217.2 32.6% 17.5%; --ring: 212.7 26.8% 83.9%; } /* Widget-specific scoped styles */ .decidr-widget { --dsw-background: 0 0% 100%; --dsw-foreground: 222.2 84% 4.9%; --dsw-card: 0 0% 100%; --dsw-card-foreground: 222.2 84% 4.9%; --dsw-popover: 0 0% 100%; --dsw-popover-foreground: 222.2 84% 4.9%; --dsw-primary: 222.2 47.4% 11.2%; --dsw-primary-foreground: 210 40% 98%; --dsw-secondary: 210 40% 96%; --dsw-secondary-foreground: 222.2 84% 4.9%; --dsw-muted: 210 40% 96%; --dsw-muted-foreground: 215.4 16.3% 46.9%; --dsw-accent: 210 40% 96%; --dsw-accent-foreground: 222.2 84% 4.9%; --dsw-destructive: 0 84.2% 60.2%; --dsw-destructive-foreground: 210 40% 98%; --dsw-border: 214.3 31.8% 91.4%; --dsw-input: 214.3 31.8% 91.4%; --dsw-ring: 222.2 84% 4.9%; --dsw-radius: 0.5rem; } .decidr-widget.dark { --dsw-background: 222.2 84% 4.9%; --dsw-foreground: 210 40% 98%; --dsw-card: 222.2 84% 4.9%; --dsw-card-foreground: 210 40% 98%; --dsw-popover: 222.2 84% 4.9%; --dsw-popover-foreground: 210 40% 98%; --dsw-primary: 210 40% 98%; --dsw-primary-foreground: 222.2 47.4% 11.2%; --dsw-secondary: 217.2 32.6% 17.5%; --dsw-secondary-foreground: 210 40% 98%; --dsw-muted: 217.2 32.6% 17.5%; --dsw-muted-foreground: 215 20.2% 65.1%; --dsw-accent: 217.2 32.6% 17.5%; --dsw-accent-foreground: 210 40% 98%; --dsw-destructive: 0 62.8% 30.6%; --dsw-destructive-foreground: 210 40% 98%; --dsw-border: 217.2 32.6% 17.5%; --dsw-input: 217.2 32.6% 17.5%; --dsw-ring: 212.7 26.8% 83.9%; } /* Scoped utility classes for widget isolation */ .decidr-widget .dsw-bg-background { background-color: hsl(var(--dsw-background)); } .decidr-widget .dsw-bg-foreground { background-color: hsl(var(--dsw-foreground)); } .decidr-widget .dsw-bg-primary { background-color: hsl(var(--dsw-primary)); } .decidr-widget .dsw-bg-secondary { background-color: hsl(var(--dsw-secondary)); } .decidr-widget .dsw-bg-muted { background-color: hsl(var(--dsw-muted)); } .decidr-widget .dsw-bg-accent { background-color: hsl(var(--dsw-accent)); } .decidr-widget .dsw-bg-destructive { background-color: hsl(var(--dsw-destructive)); } .decidr-widget .dsw-text-background { color: hsl(var(--dsw-background)); } .decidr-widget .dsw-text-foreground { color: hsl(var(--dsw-foreground)); } .decidr-widget .dsw-text-primary { color: hsl(var(--dsw-primary)); } .decidr-widget .dsw-text-secondary { color: hsl(var(--dsw-secondary)); } .decidr-widget .dsw-text-muted { color: hsl(var(--dsw-muted)); } .decidr-widget .dsw-text-accent { color: hsl(var(--dsw-accent)); } .decidr-widget .dsw-text-destructive { color: hsl(var(--dsw-destructive)); } .decidr-widget .dsw-border-border { border-color: hsl(var(--dsw-border)); } .decidr-widget .dsw-border-input { border-color: hsl(var(--dsw-input)); } /* Standard utility classes (for non-widget use) */ .bg-background { background-color: hsl(var(--background)); } .bg-foreground { background-color: hsl(var(--foreground)); } .bg-primary { background-color: hsl(var(--primary)); } .bg-secondary { background-color: hsl(var(--secondary)); } .bg-muted { background-color: hsl(var(--muted)); } .bg-accent { background-color: hsl(var(--accent)); } .bg-destructive { background-color: hsl(var(--destructive)); } .text-background { color: hsl(var(--background)); } .text-foreground { color: hsl(var(--foreground)); } .text-primary { color: hsl(var(--primary)); } .text-secondary { color: hsl(var(--secondary)); } .text-muted { color: hsl(var(--muted)); } .text-accent { color: hsl(var(--accent)); } .text-destructive { color: hsl(var(--destructive)); } .border-border { border-color: hsl(var(--border)); } .border-input { border-color: hsl(var(--input)); } }