UNPKG

pixie-design-system-phase3

Version:

A comprehensive React component library for dental practice management applications

194 lines (191 loc) 5.75 kB
import tailwindcssAnimate from 'tailwindcss-animate'; /** @type {import('tailwindcss').Config} */ export default { darkMode: ['selector', '[data-color-theme="dark"]'], content: [ "./index.html", "./src/**/*.{js,ts,jsx,tsx}", "./stories/**/*.{js,ts,jsx,tsx}", ], theme: { container: { center: true, padding: "2rem", screens: { "2xl": "1400px", }, }, extend: { colors: { border: "hsl(var(--border))", input: "hsl(var(--input))", ring: "hsl(var(--ring))", background: "hsl(var(--background))", foreground: "hsl(var(--foreground))", primary: { DEFAULT: "hsl(var(--primary))", foreground: "hsl(var(--primary-foreground))", }, secondary: { DEFAULT: "hsl(var(--secondary))", foreground: "hsl(var(--secondary-foreground))", }, destructive: { DEFAULT: "hsl(var(--destructive))", foreground: "hsl(var(--destructive-foreground))", }, muted: { DEFAULT: "hsl(var(--muted))", foreground: "hsl(var(--muted-foreground))", }, accent: { DEFAULT: "hsl(var(--accent))", foreground: "hsl(var(--accent-foreground))", }, popover: { DEFAULT: "hsl(var(--popover))", foreground: "hsl(var(--popover-foreground))", }, card: { DEFAULT: "hsl(var(--card))", foreground: "hsl(var(--card-foreground))", }, // Extended palette (you can adjust hex values to match your Figma) gray: { 50: "#f9fafb", 100: "#f3f4f6", 200: "#e5e7eb", 300: "#d1d5db", 400: "#9ca3af", 500: "#6b7280", 600: "#4b5563", 700: "#374151", 800: "#1f2937", 900: "#111827", }, sky: { 50: "#f0f9ff", 100: "#e0f2fe", 200: "#bae6fd", 300: "#7dd3fc", 400: "#38bdf8", 500: "#0ea5e9", 600: "#0284c7", 700: "#0369a1", 800: "#075985", 900: "#0c4a6e", }, violet: { 50: "#f5f3ff", 100: "#ede9fe", 200: "#ddd6fe", 300: "#c4b5fd", 400: "#a78bfa", 500: "#8b5cf6", 600: "#7c3aed", 700: "#6d28d9", 800: "#5b21b6", 900: "#4c1d95", }, purple: { 50: "#f5f3ff", 100: "#ede9fe", 200: "#ddd6fe", 300: "#c4b5fd", 400: "#a78bfa", 500: "#8b5cf6", 600: "#7c3aed", 700: "#6d28d9", 800: "#5b21b6", 900: "#4c1d95", }, emerald: { 50: "#ecfdf5", 100: "#d1fae5", 200: "#a7f3d0", 300: "#6ee7b7", 400: "#34d399", 500: "#10b981", 600: "#059669", 700: "#047857", 800: "#065f46", 900: "#064e3b", }, orange: { 50: "#fff7ed", 100: "#ffedd5", 200: "#fed7aa", 300: "#fdba74", 400: "#fb923c", 500: "#f97316", 600: "#ea580c", 700: "#c2410c", 800: "#9a3412", 900: "#7c2d12", }, rose: { 50: "#fff1f2", 100: "#ffe4e6", 200: "#fecdd3", 300: "#fda4af", 400: "#fb7185", 500: "#f43f5e", 600: "#e11d48", 700: "#be123c", 800: "#9f1239", 900: "#881337", }, }, borderRadius: { lg: "var(--radius)", md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)", }, boxShadow: { toast: '4px 20px 40px 0px rgba(0,0,0,0.03)', }, fontFamily: { 'roboto-condensed': ['"Roboto Condensed"', 'sans-serif'], 'sans': ['"Roboto Condensed"', 'sans-serif'], // Default to Roboto Condensed 'serif': ['serif'], // Fallback serif }, fontWeight: { thin: '100', // Roboto Condensed Thin light: '300', // Roboto Condensed Light normal: '400', // Roboto Condensed Regular medium: '500', // Roboto Condensed Medium semibold: '600', // Roboto Condensed SemiBold bold: '700', // Roboto Condensed Bold }, fontSize: { // Typography scale based on design system 'title': ['2.5rem', { lineHeight: '1.2', fontWeight: '700' }], // Page Title 'lead': ['1.25rem', { lineHeight: '1.6', fontWeight: '400' }], // Lead paragraph 'paragraph': ['1rem', { lineHeight: '1.6', fontWeight: '300' }], // Body text 'quote': ['1.125rem', { lineHeight: '1.5', fontWeight: '400' }], // Quote text 'link': ['1rem', { lineHeight: '1.5', fontWeight: '400' }], // Link text 'button': ['0.875rem', { lineHeight: '1.25', fontWeight: '500' }], // Button text 'caption': ['0.75rem', { lineHeight: '1.4', fontWeight: '300' }], // Small text }, keyframes: { "accordion-down": { from: { height: "0" }, to: { height: "var(--radix-accordion-content-height)" }, }, "accordion-up": { from: { height: "var(--radix-accordion-content-height)" }, to: { height: "0" }, }, pulse: { "50%": { opacity: 0.5 }, }, }, animation: { "accordion-down": "accordion-down 0.2s ease-out", "accordion-up": "accordion-up 0.2s ease-out", pulse: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite", }, }, }, plugins: [tailwindcssAnimate], };