flnxi-Wu/tailwind.config.ts
WuYongJie d1c6efc79d
Some checks failed
CI Check / check (push) Has been cancelled
feat: NAS 部署与 Harbor 推送流程
2025-12-03 14:39:06 +08:00

91 lines
2.7 KiB
TypeScript

import type { Config } from 'tailwindcss'
const config: Config = {
content: [
'./pages/**/*.{js,ts,jsx,tsx,mdx}',
'./components/**/*.{js,ts,jsx,tsx,mdx}',
'./app/**/*.{js,ts,jsx,tsx,mdx}',
],
darkMode: 'class',
theme: {
extend: {
colors: {
primary: {
50: '#f0f9ff',
100: '#e0f2fe',
200: '#bae6fd',
300: '#7dd3fc',
400: '#38bdf8',
500: '#0ea5e9',
600: '#0284c7',
700: '#0369a1',
800: '#075985',
900: '#0c4a6e',
},
},
borderRadius: {
'apple': '12px',
'card': '16px', // 标准卡片圆角
'card-lg': '24px', // 大卡片圆角
},
boxShadow: {
'apple': '0 4px 12px rgba(0, 0, 0, 0.08)',
'apple-lg': '0 8px 24px rgba(0, 0, 0, 0.12)',
'card': '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
'card-hover': '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',
'card-lg': '0 25px 50px -12px rgba(0, 0, 0, 0.15)',
},
spacing: {
'card': '24px', // 标准卡片内边距
'section': '32px', // 区块间距
},
animation: {
'spin-slow': 'spin 3s linear infinite',
'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
'shimmer': 'shimmer 2s infinite',
'glow': 'glow 2s ease-in-out infinite alternate',
'float': 'float 3s ease-in-out infinite',
'gradient': 'gradient 8s ease infinite',
'fadeInSlideDown': 'fadeInSlideDown 0.3s ease-out forwards',
'slide-in-from-top-2': 'slide-in-from-top-2 0.2s cubic-bezier(0.16, 1, 0.3, 1)',
},
keyframes: {
shimmer: {
'0%': { transform: 'translateX(-100%)' },
'100%': { transform: 'translateX(100%)' },
},
glow: {
'0%': { opacity: '0.5', transform: 'scale(1)' },
'100%': { opacity: '1', transform: 'scale(1.05)' },
},
float: {
'0%, 100%': { transform: 'translateY(0px)' },
'50%': { transform: 'translateY(-10px)' },
},
gradient: {
'0%, 100%': { backgroundPosition: '0% 50%' },
'50%': { backgroundPosition: '100% 50%' },
},
fadeInSlideDown: {
'0%': { opacity: '0', transform: 'translateY(-8px)' },
'100%': { opacity: '1', transform: 'translateY(0)' },
},
'slide-in-from-top-2': {
'0%': {
opacity: '0',
transform: 'translateY(-8px) scale(0.95)'
},
'100%': {
opacity: '1',
transform: 'translateY(0) scale(1)'
},
},
},
},
},
plugins: [],
}
export default config