136 lines
3.1 KiB
JavaScript
136 lines
3.1 KiB
JavaScript
const colors = [
|
|
'#2563EB',
|
|
'#ff7557',
|
|
'#7fe1d8',
|
|
'#f8bc3c',
|
|
'#b3596e',
|
|
'#72bef4',
|
|
'#ffb27a',
|
|
'#0f7ea0',
|
|
'#3ba974',
|
|
'#febbb2',
|
|
'#cb80dc',
|
|
'#5cb7af',
|
|
'#7856ff',
|
|
];
|
|
|
|
const twColors = [
|
|
'rose',
|
|
'pink',
|
|
'fuchsia',
|
|
'purple',
|
|
'violet',
|
|
'indigo',
|
|
'blue',
|
|
'sky',
|
|
'cyan',
|
|
'teal',
|
|
'emerald',
|
|
'green',
|
|
'lime',
|
|
'yellow',
|
|
'amber',
|
|
'orange',
|
|
'red',
|
|
'stone',
|
|
'neutral',
|
|
'zinc',
|
|
'grey',
|
|
'slate',
|
|
];
|
|
const twColorVariants = ['50', '100', '200', '700'];
|
|
|
|
/** @type {import('tailwindcss').Config} */
|
|
const config = {
|
|
safelist: [
|
|
...colors.flatMap((color) =>
|
|
['text', 'bg'].map((prefix) => `${prefix}-chart-${color}`)
|
|
),
|
|
...twColors.flatMap((color) => {
|
|
return twColorVariants.flatMap((variant) => {
|
|
return [
|
|
`text-${color}-${variant}`,
|
|
`bg-${color}-${variant}`,
|
|
`border-${color}-${variant}`,
|
|
];
|
|
});
|
|
}),
|
|
],
|
|
content: [
|
|
'./pages/**/*.{ts,tsx}',
|
|
'./components/**/*.{ts,tsx}',
|
|
'./app/**/*.{ts,tsx}',
|
|
'./src/**/*.{ts,tsx}',
|
|
],
|
|
theme: {
|
|
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))',
|
|
},
|
|
...colors.reduce((acc, color, index) => {
|
|
return {
|
|
...acc,
|
|
[`chart-${index}`]: color,
|
|
};
|
|
}, {}),
|
|
},
|
|
borderRadius: {
|
|
lg: 'var(--radius)',
|
|
md: 'calc(var(--radius) - 2px)',
|
|
sm: 'calc(var(--radius) - 4px)',
|
|
},
|
|
boxShadow: {
|
|
DEFAULT: '0 5px 10px rgb(0 0 0 / 5%)',
|
|
},
|
|
keyframes: {
|
|
'accordion-down': {
|
|
from: { height: '0px' },
|
|
to: { height: 'var(--radix-accordion-content-height)' },
|
|
},
|
|
'accordion-up': {
|
|
from: { height: 'var(--radix-accordion-content-height)' },
|
|
to: { height: '0px' },
|
|
},
|
|
},
|
|
animation: {
|
|
'accordion-down': 'accordion-down 0.2s ease-out',
|
|
'accordion-up': 'accordion-up 0.2s ease-out',
|
|
},
|
|
},
|
|
},
|
|
plugins: [require('tailwindcss-animate')],
|
|
};
|
|
|
|
export default config;
|