ppanel-web/packages/shadcn/tailwind.config.ts
2024-11-14 01:22:43 +07:00

255 lines
7.4 KiB
TypeScript

import type { Config } from 'tailwindcss';
import Animate from 'tailwindcss-animate';
const config = {
darkMode: ['class'],
content: [
'./pages/**/*.{ts,tsx}',
'./components/**/*.{ts,tsx}',
'./app/**/*.{ts,tsx}',
'../../packages/shadcn/src/components/**/*.{ts,tsx}',
'../../packages/ui/src/**/*.{ts,tsx}',
],
theme: {
container: {
center: true,
padding: {
'DEFAULT': '1rem',
'sm': '2rem',
'lg': '4rem',
'xl': '5rem',
'2xl': '6rem',
},
screens: {
'sm': '640px',
'md': '768px',
'lg': '1024px',
'xl': '1280px',
'2xl': '1536px',
},
},
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))',
},
'color-1': 'hsl(var(--color-1))',
'color-2': 'hsl(var(--color-2))',
'color-3': 'hsl(var(--color-3))',
'color-4': 'hsl(var(--color-4))',
'color-5': 'hsl(var(--color-5))',
},
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',
},
},
'background-position-spin': {
'0%': {
backgroundPosition: 'top center',
},
'100%': {
backgroundPosition: 'bottom center',
},
},
'meteor': {
'0%': {
transform: 'rotate(215deg) translateX(0)',
opacity: '1',
},
'70%': {
opacity: '1',
},
'100%': {
transform: 'rotate(215deg) translateX(-500px)',
opacity: '0',
},
},
'marquee': {
from: {
transform: 'translateX(0)',
},
to: {
transform: 'translateX(calc(-100% - var(--gap)))',
},
},
'marquee-vertical': {
from: {
transform: 'translateY(0)',
},
to: {
transform: 'translateY(calc(-100% - var(--gap)))',
},
},
'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)',
},
},
'ripple': {
'0%, 100%': {
transform: 'translate(-50%, -50%) scale(1)',
},
'50%': {
transform: 'translate(-50%, -50%) scale(0.9)',
},
},
'grid': {
'0%': {
transform: 'translateY(-50%)',
},
'100%': {
transform: 'translateY(0)',
},
},
'shiny-text': {
'0%, 90%, 100%': {
'background-position': 'calc(-100% - var(--shiny-width)) 0',
},
'30%, 60%': {
'background-position': 'calc(100% + var(--shiny-width)) 0',
},
},
'border-beam': {
'100%': {
'offset-distance': '100%',
},
},
'gradient': {
to: {
backgroundPosition: 'var(--bg-size) 0',
},
},
'orbit': {
'0%': {
transform: 'rotate(0deg) translateY(calc(var(--radius) * 1px)) rotate(0deg)',
},
'100%': {
transform: 'rotate(360deg) translateY(calc(var(--radius) * 1px)) rotate(-360deg)',
},
},
'shine': {
'0%': {
'background-position': '0% 0%',
},
'50%': {
'background-position': '100% 100%',
},
'to': {
'background-position': '0% 0%',
},
},
'pulse': {
'0%, 100%': {
boxShadow: '0 0 0 0 var(--pulse-color)',
},
'50%': {
boxShadow: '0 0 0 8px var(--pulse-color)',
},
},
'rainbow': {
'0%': {
'background-position': '0%',
},
'100%': {
'background-position': '200%',
},
},
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out',
'background-position-spin': 'background-position-spin 3000ms infinite alternate',
'meteor': 'meteor 5s linear infinite',
'marquee': 'marquee var(--duration) infinite linear',
'marquee-vertical': 'marquee-vertical var(--duration) linear infinite',
'shimmer-slide': 'shimmer-slide var(--speed) ease-in-out infinite alternate',
'spin-around': 'spin-around calc(var(--speed) * 2) infinite linear',
'ripple': 'ripple var(--duration,2s) ease calc(var(--i, 0)*.2s) infinite',
'grid': 'grid 15s linear infinite',
'shiny-text': 'shiny-text 8s infinite',
'border-beam': 'border-beam calc(var(--duration)*1s) infinite linear',
'gradient': 'gradient 8s linear infinite',
'orbit': 'orbit calc(var(--duration)*1s) linear infinite',
'shine': 'shine var(--duration) infinite linear',
'pulse': 'pulse var(--duration) ease-out infinite',
'rainbow': 'rainbow var(--speed, 2s) infinite linear',
},
},
},
plugins: [Animate],
} satisfies Config;
export default config;