chatterbox-voice-studio / web /tailwind.config.ts
techfreakworm's picture
chore(web): tailwind keyframe + animation for progress stripe
5eaf65c unverified
import type { Config } from "tailwindcss";
const config: Config = {
content: ["./index.html", "./src/**/*.{ts,tsx}"],
darkMode: "class",
theme: {
extend: {
colors: {
background: "hsl(var(--background))",
foreground: "hsl(var(--foreground))",
muted: "hsl(var(--muted))",
"muted-foreground": "hsl(var(--muted-foreground))",
border: "hsl(var(--border))",
ring: "hsl(var(--ring))",
paper: "hsl(var(--paper))",
ink: "hsl(var(--ink))",
primary: {
DEFAULT: "hsl(var(--primary))",
foreground: "hsl(var(--primary-foreground))",
},
accent: {
DEFAULT: "hsl(var(--accent))",
foreground: "hsl(var(--accent-foreground))",
},
ember: "hsl(var(--ember))",
},
borderRadius: {
lg: "var(--radius)",
md: "calc(var(--radius) - 2px)",
sm: "calc(var(--radius) - 4px)",
},
fontFamily: {
display: ['"Fraunces"', "ui-serif", "Georgia", "serif"],
sans: ['"IBM Plex Sans"', "ui-sans-serif", "system-ui"],
mono: ['"IBM Plex Mono"', "ui-monospace", "SFMono-Regular", "monospace"],
},
letterSpacing: {
widest2: "0.18em",
},
keyframes: {
"fade-up": {
"0%": { opacity: "0", transform: "translateY(6px)" },
"100%": { opacity: "1", transform: "translateY(0)" },
},
pulse_dot: {
"0%,100%": { opacity: "1" },
"50%": { opacity: "0.4" },
},
"progress-stripe": {
"0%": { transform: "translateX(-100%)" },
"100%": { transform: "translateX(300%)" },
},
},
animation: {
"fade-up": "fade-up 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both",
"pulse-dot": "pulse_dot 1.6s ease-in-out infinite",
"progress-stripe": "progress-stripe 1.2s linear infinite",
},
},
},
plugins: [require("tailwindcss-animate")],
};
export default config;