Spaces:
Running
Running
import type { Config } from "tailwindcss"; | |
import tailwindcssAnimate from "tailwindcss-animate"; | |
const config: Config = { | |
darkMode: ["class"], | |
content: ["./src/**/*.{js,ts,jsx,tsx,mdx}", "./index.html"], | |
theme: { | |
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))", | |
}, | |
"accent-cyan": "hsl(var(--accent-cyan))", | |
}, | |
fontFamily: { | |
sans: ["Geist", "sans-serif"], | |
mono: ["Geist Mono", "monospace"], | |
}, | |
backgroundImage: { | |
"grid-pattern": | |
"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='rgb(255 255 255 / 0.05)'%3e%3cpath d='M0 .5H31.5V32'/%3e%3c/svg%3e\")", | |
"hex-pattern": | |
"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3e%3chexagon stroke='rgb(255 255 255 / 0.05)'/%3e%3c/svg%3e\")", | |
}, | |
borderRadius: { | |
lg: "var(--radius)", | |
md: "calc(var(--radius) - 2px)", | |
sm: "calc(var(--radius) - 4px)", | |
}, | |
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", | |
}, | |
}, | |
scanline: { | |
"0%": { transform: "translateY(0)" }, | |
"100%": { transform: "translateY(100%)" }, | |
}, | |
"text-glitch": { | |
"0%": { transform: "translate(0)" }, | |
"20%": { transform: "translate(-2px, 2px)" }, | |
"40%": { transform: "translate(-2px, -2px)" }, | |
"60%": { transform: "translate(2px, 2px)" }, | |
"80%": { transform: "translate(2px, -2px)" }, | |
"100%": { transform: "translate(0)" }, | |
}, | |
}, | |
animation: { | |
"pulse-slow": "pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite", | |
"accordion-down": "accordion-down 0.2s ease-out", | |
"accordion-up": "accordion-up 0.2s ease-out", | |
scanline: "scanline 10s linear infinite", | |
"text-glitch": "text-glitch 0.3s linear infinite alternate-reverse", | |
}, | |
}, | |
}, | |
plugins: [tailwindcssAnimate], | |
}; | |
export default config; | |