89 lines
2.7 KiB
TypeScript
89 lines
2.7 KiB
TypeScript
import type { Config } from "tailwindcss";
|
|
|
|
const config: Config = {
|
|
darkMode: ["class", '[data-theme="dark"]'],
|
|
content: [
|
|
"./app/**/*.{ts,tsx}",
|
|
"../../packages/ui/src/**/*.{ts,tsx}",
|
|
],
|
|
theme: {
|
|
container: {
|
|
center: true,
|
|
padding: "1.5rem",
|
|
},
|
|
extend: {
|
|
colors: {
|
|
app: "var(--bg-app)",
|
|
surface: "var(--bg-surface)",
|
|
"surface-elevated": "var(--bg-surface-elevated)",
|
|
"surface-hover": "var(--bg-surface-hover)",
|
|
|
|
"txt-primary": "var(--text-primary)",
|
|
"txt-secondary": "var(--text-secondary)",
|
|
"txt-muted": "var(--text-muted)",
|
|
"txt-inverse": "var(--text-inverse)",
|
|
|
|
"border-subtle": "var(--border-subtle)",
|
|
"border-active": "var(--border-active)",
|
|
"border-accent": "var(--border-accent)",
|
|
|
|
"accent-primary": "var(--accent-primary)",
|
|
"accent-hover": "var(--accent-hover)",
|
|
"accent-soft": "var(--accent-soft)",
|
|
"accent-glow": "var(--accent-glow)",
|
|
|
|
"status-danger": "var(--status-danger)",
|
|
"status-danger-bg": "var(--status-danger-bg)",
|
|
"status-warning": "var(--status-warning)",
|
|
"status-warning-bg": "var(--status-warning-bg)",
|
|
"status-success": "var(--status-success)",
|
|
"status-success-bg": "var(--status-success-bg)",
|
|
},
|
|
boxShadow: {
|
|
surface: "var(--shadow-surface)",
|
|
elevated: "var(--shadow-elevated)",
|
|
},
|
|
borderRadius: {
|
|
lg: "0.75rem",
|
|
md: "0.5rem",
|
|
sm: "0.25rem",
|
|
xl: "1rem",
|
|
"2xl": "1.5rem",
|
|
"3xl": "2rem",
|
|
},
|
|
keyframes: {
|
|
"bounce-dot": {
|
|
"0%, 60%, 100%": { transform: "translateY(0)", opacity: "0.5" },
|
|
"30%": { transform: "translateY(-0.25rem)", opacity: "1" },
|
|
},
|
|
"slide-up": {
|
|
"0%": { transform: "translateY(12px)", opacity: "0" },
|
|
"100%": { transform: "translateY(0)", opacity: "1" },
|
|
},
|
|
"fade-in": {
|
|
"0%": { opacity: "0" },
|
|
"100%": { opacity: "1" },
|
|
},
|
|
"scale-in": {
|
|
"0%": { transform: "scale(0.97)", opacity: "0" },
|
|
"100%": { transform: "scale(1)", opacity: "1" },
|
|
},
|
|
"pulse-beam": {
|
|
"0%, 100%": { opacity: "0.4" },
|
|
"50%": { opacity: "1" },
|
|
},
|
|
},
|
|
animation: {
|
|
"bounce-dot": "bounce-dot 1.2s infinite ease-in-out",
|
|
"slide-up": "slide-up 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards",
|
|
"fade-in": "fade-in 0.25s ease-out forwards",
|
|
"scale-in": "scale-in 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards",
|
|
"pulse-beam": "pulse-beam 2s infinite ease-in-out",
|
|
},
|
|
},
|
|
},
|
|
plugins: [require("tailwindcss-animate")],
|
|
};
|
|
|
|
export default config;
|