162 lines
6.9 KiB
TypeScript
162 lines
6.9 KiB
TypeScript
import type { Config } from "tailwindcss";
|
|
|
|
export default {
|
|
darkMode: ["class"],
|
|
content: ["./pages/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}", "./app/**/*.{ts,tsx}", "./src/**/*.{ts,tsx}"],
|
|
prefix: "",
|
|
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))" },
|
|
sidebar: {
|
|
DEFAULT: "hsl(var(--sidebar-background))",
|
|
foreground: "hsl(var(--sidebar-foreground))",
|
|
primary: "hsl(var(--sidebar-primary))",
|
|
"primary-foreground": "hsl(var(--sidebar-primary-foreground))",
|
|
accent: "hsl(var(--sidebar-accent))",
|
|
"accent-foreground": "hsl(var(--sidebar-accent-foreground))",
|
|
border: "hsl(var(--sidebar-border))",
|
|
ring: "hsl(var(--sidebar-ring))",
|
|
},
|
|
/* ── Hive DS: Status colors ──────────────────────────────────── */
|
|
status: {
|
|
healthy: "var(--status-healthy)",
|
|
warning: "var(--status-warning)",
|
|
error: "var(--status-error)",
|
|
info: "var(--status-info)",
|
|
ai: "var(--status-ai)",
|
|
},
|
|
/* ── Hive DS: Honey scale ────────────────────────────────────── */
|
|
honey: {
|
|
DEFAULT: "var(--honey-text)",
|
|
50: "var(--honey-50)",
|
|
100: "var(--honey-100)",
|
|
200: "var(--honey-200)",
|
|
300: "var(--honey-300)",
|
|
400: "var(--honey-400)",
|
|
500: "var(--honey-500)",
|
|
600: "var(--honey-600)",
|
|
},
|
|
/* ── Hive DS: Hive grays ─────────────────────────────────────── */
|
|
hive: {
|
|
50: "var(--hive-50)",
|
|
100: "var(--hive-100)",
|
|
200: "var(--hive-200)",
|
|
300: "var(--hive-300)",
|
|
400: "var(--hive-400)",
|
|
500: "var(--hive-500)",
|
|
600: "var(--hive-600)",
|
|
700: "var(--hive-700)",
|
|
800: "var(--hive-800)",
|
|
850: "var(--hive-850)",
|
|
900: "var(--hive-900)",
|
|
950: "var(--hive-950)",
|
|
},
|
|
},
|
|
/* ── Hive DS: Type Scale ──────────────────────────────────────── */
|
|
fontSize: {
|
|
'micro': 'var(--text-micro)',
|
|
'caption': 'var(--text-caption)',
|
|
'body-sm': 'var(--text-body-sm)',
|
|
'body': 'var(--text-body)',
|
|
'title': 'var(--text-title)',
|
|
'heading': 'var(--text-heading)',
|
|
'display': 'var(--text-display)',
|
|
},
|
|
borderRadius: {
|
|
xl: "var(--r-xl)",
|
|
lg: "var(--radius)",
|
|
md: "calc(var(--radius) - 2px)",
|
|
sm: "calc(var(--radius) - 4px)",
|
|
},
|
|
fontFamily: {
|
|
sans: ["Hanken Grotesk", "Inter", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"],
|
|
display: ["Hanken Grotesk", "Inter", "sans-serif"],
|
|
mono: ["JetBrains Mono", "Cascadia Code", "Fira Code", "ui-monospace", "monospace"],
|
|
},
|
|
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" } },
|
|
"dock-bounce": {
|
|
"0%, 100%": { transform: "translateY(0)" },
|
|
"50%": { transform: "translateY(-8px)" },
|
|
},
|
|
"window-open": {
|
|
"0%": { opacity: "0", transform: "scale(0.9) translateY(20px)" },
|
|
"100%": { opacity: "1", transform: "scale(1) translateY(0)" },
|
|
},
|
|
"fade-up": {
|
|
"0%": { opacity: "0", transform: "translateY(10px)" },
|
|
"100%": { opacity: "1", transform: "translateY(0)" },
|
|
},
|
|
/* ── Hive DS Animations ─────────────────────────────────────── */
|
|
"honey-pulse": {
|
|
"0%, 100%": { boxShadow: "0 0 0 0 rgba(233, 165, 44, 0)" },
|
|
"50%": { boxShadow: "0 0 12px 4px rgba(233, 165, 44, 0.3)" },
|
|
},
|
|
"breathe": {
|
|
"0%, 100%": { opacity: "1", transform: "scale(1)" },
|
|
"50%": { opacity: "0.55", transform: "scale(0.82)" },
|
|
},
|
|
"heartbeat": {
|
|
"0%, 100%": { opacity: "1", transform: "scale(1)" },
|
|
"50%": { opacity: "0.7", transform: "scale(0.9)" },
|
|
},
|
|
"float": {
|
|
"0%, 100%": { transform: "translateY(0)" },
|
|
"50%": { transform: "translateY(-3px)" },
|
|
},
|
|
"hex-spin": {
|
|
from: { transform: "rotate(0deg)" },
|
|
to: { transform: "rotate(360deg)" },
|
|
},
|
|
"card-enter": {
|
|
from: { opacity: "0", transform: "translateY(8px)" },
|
|
to: { opacity: "1", transform: "translateY(0)" },
|
|
},
|
|
"token-fade": {
|
|
from: { opacity: "0" },
|
|
to: { opacity: "1" },
|
|
},
|
|
"send-flash": {
|
|
"0%": { borderColor: "var(--honey-500)" },
|
|
"100%": { borderColor: "var(--hive-700)" },
|
|
},
|
|
},
|
|
animation: {
|
|
"accordion-down": "accordion-down 0.2s ease-out",
|
|
"accordion-up": "accordion-up 0.2s ease-out",
|
|
"dock-bounce": "dock-bounce 0.4s ease-in-out",
|
|
"window-open": "window-open 0.3s ease-out",
|
|
"fade-up": "fade-up 0.4s ease-out",
|
|
/* ── Hive DS Animations ─────────────────────────────────────── */
|
|
"honey-pulse": "honey-pulse 0.6s ease-in-out",
|
|
"breathe": "breathe 2.4s ease-in-out infinite",
|
|
"heartbeat": "heartbeat 2s ease-in-out infinite",
|
|
"float": "float 3s ease-in-out infinite",
|
|
"hex-spin": "hex-spin 2s linear infinite",
|
|
"card-enter": "card-enter 0.2s ease-out",
|
|
"token-fade": "token-fade 0.04s ease-in forwards",
|
|
"send-flash": "send-flash 0.3s ease-out",
|
|
},
|
|
},
|
|
},
|
|
plugins: [require("tailwindcss-animate")],
|
|
} satisfies Config;
|