rowboat/apps/rowboat/tailwind.config.ts
2025-04-14 14:00:06 +05:30

108 lines
3.2 KiB
TypeScript

import { heroui } from "@heroui/theme";
import type { Config } from "tailwindcss";
const config: Config = {
darkMode: ["class"],
content: [
"./pages/**/*.{js,ts,jsx,tsx,mdx}",
"./components/**/*.{js,ts,jsx,tsx,mdx}",
"./app/**/*.{js,ts,jsx,tsx,mdx}",
"./node_modules/@heroui/theme/dist/components/[object Object].js",
"./node_modules/@heroui/theme/dist/**/*.{js,ts,jsx,tsx}",
],
theme: {
extend: {
keyframes: {
shine: {
'100%': { transform: 'translateX(200%)' }
},
'pulse-subtle': {
'0%, 100%': { opacity: '1' },
'50%': { opacity: '0.85' }
},
gradient: {
'0%': { backgroundPosition: '0% 50%' },
'50%': { backgroundPosition: '100% 50%' },
'100%': { backgroundPosition: '0% 50%' }
},
'sparkle-fade': {
'0%': { opacity: '0.2', transform: 'scale(0.9)' },
'50%': { opacity: '0.5', transform: 'scale(1.1)' },
'100%': { opacity: '0.2', transform: 'scale(0.9)' }
},
typing: {
'0%, 5%': { width: '0%' },
'45%, 55%': { width: '100%' },
'95%, 100%': { width: '0%' }
},
blink: {
'50%': { borderColor: 'transparent' }
}
},
animation: {
shine: 'shine 2s infinite',
'pulse-subtle': 'pulse-subtle 2s infinite',
'gradient': 'gradient var(--gradient-animation-duration, 15s) ease infinite',
'sparkle': 'sparkle-fade 4s cubic-bezier(0.4, 0, 0.6, 1) infinite',
'typing': 'typing 8s cubic-bezier(0.4, 0, 0.2, 1) infinite',
'cursor': 'blink .75s step-end infinite'
},
backgroundImage: {
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))'
},
borderRadius: {
lg: 'var(--radius)',
md: 'calc(var(--radius) - 2px)',
sm: 'calc(var(--radius) - 4px)'
},
colors: {
background: 'hsl(var(--background))',
foreground: 'hsl(var(--foreground))',
card: {
DEFAULT: 'hsl(var(--card))',
foreground: 'hsl(var(--card-foreground))'
},
popover: {
DEFAULT: 'hsl(var(--popover))',
foreground: 'hsl(var(--popover-foreground))'
},
primary: {
DEFAULT: 'hsl(var(--primary))',
foreground: 'hsl(var(--primary-foreground))'
},
secondary: {
DEFAULT: 'hsl(var(--secondary))',
foreground: 'hsl(var(--secondary-foreground))'
},
muted: {
DEFAULT: 'hsl(var(--muted))',
foreground: 'hsl(var(--muted-foreground))'
},
accent: {
DEFAULT: 'hsl(var(--accent))',
foreground: 'hsl(var(--accent-foreground))'
},
destructive: {
DEFAULT: 'hsl(var(--destructive))',
foreground: 'hsl(var(--destructive-foreground))'
},
border: 'hsl(var(--border))',
input: 'hsl(var(--input))',
ring: 'hsl(var(--ring))',
chart: {
'1': 'hsl(var(--chart-1))',
'2': 'hsl(var(--chart-2))',
'3': 'hsl(var(--chart-3))',
'4': 'hsl(var(--chart-4))',
'5': 'hsl(var(--chart-5))'
}
}
}
},
plugins: [
heroui(),
require("tailwindcss-animate")
],
};
export default config;