import type { Config } from 'tailwindcss'; import { PluginCreator } from 'tailwindcss/types/config'; import { fontFamily } from 'tailwindcss/defaultTheme'; const plugin: PluginCreator = (api) => { api.addUtilities({ '.text-gradient': { background: 'linear-gradient(270deg, #00E725 -33.33%, #0799B9 17.93%, #940DFF 105.3%)', backgroundClip: 'text', color: 'transparent', }, }); }; export default { darkMode: ['class', '[data-theme="dark"]'], corePlugins: { preflight: false, }, content: ['./src/**/*.{html,tsx}'], 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))', }, }, borderRadius: { lg: 'var(--radius)', md: 'calc(var(--radius) - 2px)', sm: 'calc(var(--radius) - 4px)', }, fontFamily: { sans: ['var(--font-sans)', ...fontFamily.sans], }, 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', }, }, 'shimmer-slide': { to: { transform: 'translate(calc(100cqw - 100%), 0)', }, }, 'spin-around': { '0%': { transform: 'translateZ(0) rotate(0)', }, '15%, 35%': { transform: 'translateZ(0) rotate(90deg)', }, '65%, 85%': { transform: 'translateZ(0) rotate(270deg)', }, '100%': { transform: 'translateZ(0) rotate(360deg)', }, }, shine: { '0%': { 'background-position': '0% 0%', }, '50%': { 'background-position': '100% 100%', }, to: { 'background-position': '0% 0%', }, }, 'border-beam': { '100%': { 'offset-distance': '100%', }, }, }, animation: { 'accordion-down': 'accordion-down 0.2s ease-out', 'accordion-up': 'accordion-up 0.2s ease-out', 'shimmer-slide': 'shimmer-slide var(--speed) ease-in-out infinite alternate', 'spin-around': 'spin-around calc(var(--speed) * 2) infinite linear', shine: 'shine var(--duration) infinite linear', 'border-beam': 'border-beam calc(var(--duration)*1s) infinite linear', }, }, }, plugins: [plugin, require('tailwindcss-animate')], } satisfies Config;