Files
iistwin/tailwind.config.ts
Ильяс Султанов 8b607e7156 feat(skins): улучшен Twenty-скин по референсу twentyhq/twenty
- Обновлены цвета Twenty light/dark ближе к оригиналу (display-p3 → sRGB).
- Темная тема: фон #101010, карточки #141414, границы #1c1c1c, primary #3c63de.
- Добавлены токены: backgroundQuaternary, прозрачные фоны danger/blue/orange/success,
  overlay-фоны, blur-эффекты, box-shadow underline/super-heavy.
- Добавлены радиусы: xxl, pill, rounded, smRound, mdRound.
- Добавлены line-height токены.
- Все встроенные скины (iistwin, omegaprom) приведены к новой схеме токенов.
- Tailwind config расширен новыми utility-классами.
- Перегенерирован generated-skins.css.
2026-07-17 18:41:23 +03:00

171 lines
5.7 KiB
TypeScript

import type { Config } from "tailwindcss";
export default {
darkMode: ["class"],
content: ["./client/index.html", "./client/src/**/*.{js,jsx,ts,tsx}"],
theme: {
extend: {
borderRadius: {
lg: "var(--radius)",
md: "calc(var(--radius) - 2px)",
sm: "calc(var(--radius) - 4px)",
"tw-xs": "var(--tw-border-radius-xs)",
"tw-sm": "var(--tw-border-radius-sm)",
"tw-md": "var(--tw-border-radius-md)",
"tw-lg": "var(--tw-border-radius-lg)",
"tw-xl": "var(--tw-border-radius-xl)",
"tw-xxl": "var(--tw-border-radius-xxl)",
"tw-pill": "var(--tw-border-radius-pill)",
"tw-rounded": "var(--tw-border-radius-rounded)",
"tw-sm-round": "var(--tw-border-radius-sm-round)",
"tw-md-round": "var(--tw-border-radius-md-round)",
},
colors: {
background: "var(--background)",
foreground: "var(--foreground)",
card: {
DEFAULT: "var(--card)",
foreground: "var(--card-foreground)",
},
popover: {
DEFAULT: "var(--popover)",
foreground: "var(--popover-foreground)",
},
primary: {
DEFAULT: "var(--primary)",
foreground: "var(--primary-foreground)",
},
secondary: {
DEFAULT: "var(--secondary)",
foreground: "var(--secondary-foreground)",
},
muted: {
DEFAULT: "var(--muted)",
foreground: "var(--muted-foreground)",
},
accent: {
DEFAULT: "var(--accent)",
foreground: "var(--accent-foreground)",
},
destructive: {
DEFAULT: "var(--destructive)",
foreground: "var(--destructive-foreground)",
},
border: "var(--border)",
input: "var(--input)",
ring: "var(--ring)",
chart: {
"1": "var(--chart-1)",
"2": "var(--chart-2)",
"3": "var(--chart-3)",
"4": "var(--chart-4)",
"5": "var(--chart-5)",
},
sidebar: {
DEFAULT: "var(--sidebar)",
foreground: "var(--sidebar-foreground)",
primary: "var(--sidebar-primary)",
"primary-foreground": "var(--sidebar-primary-foreground)",
accent: "var(--sidebar-accent)",
"accent-foreground": "var(--sidebar-accent-foreground)",
border: "var(--sidebar-border)",
ring: "var(--sidebar-ring)",
},
status: {
done: "var(--status-done)",
progress: "var(--status-progress)",
overdue: "var(--status-overdue)",
paused: "var(--status-paused)",
},
// Twenty-style extended tokens
"tw-background": {
DEFAULT: "var(--background)",
secondary: "var(--tw-background-secondary)",
tertiary: "var(--tw-background-tertiary)",
quaternary: "var(--tw-background-quaternary)",
transparent: {
primary: "var(--tw-background-transparent-primary)",
secondary: "var(--tw-background-transparent-secondary)",
tertiary: "var(--tw-background-transparent-tertiary)",
medium: "var(--tw-background-transparent-medium)",
light: "var(--tw-background-transparent-light)",
lighter: "var(--tw-background-transparent-lighter)",
strong: "var(--tw-background-transparent-strong)",
danger: "var(--tw-background-transparent-danger)",
blue: "var(--tw-background-transparent-blue)",
orange: "var(--tw-background-transparent-orange)",
success: "var(--tw-background-transparent-success)",
},
overlay: {
primary: "var(--tw-background-overlay-primary)",
secondary: "var(--tw-background-overlay-secondary)",
tertiary: "var(--tw-background-overlay-tertiary)",
},
},
"tw-blur": {
light: "var(--tw-blur-light)",
medium: "var(--tw-blur-medium)",
strong: "var(--tw-blur-strong)",
},
"tw-shadow": {
color: "var(--tw-box-shadow-color)",
underline: "var(--tw-box-shadow-underline)",
"super-heavy": "var(--tw-box-shadow-super-heavy)",
},
"tw-font": {
DEFAULT: "var(--foreground)",
primary: "var(--tw-font-primary)",
secondary: "var(--tw-font-secondary)",
tertiary: "var(--tw-font-tertiary)",
light: "var(--tw-font-light)",
},
"tw-border": {
DEFAULT: "var(--border)",
light: "var(--tw-border-light)",
medium: "var(--tw-border-medium)",
strong: "var(--tw-border-strong)",
},
},
fontSize: {
"tw-xs": "var(--tw-font-size-xs)",
"tw-sm": "var(--tw-font-size-sm)",
"tw-md": "var(--tw-font-size-md)",
"tw-lg": "var(--tw-font-size-lg)",
"tw-xl": "var(--tw-font-size-xl)",
},
lineHeight: {
"tw-md": "var(--tw-line-height-md)",
"tw-lg": "var(--tw-line-height-lg)",
},
fontFamily: {
sans: ["var(--font-sans)"],
serif: ["var(--font-serif)"],
mono: ["var(--font-mono)"],
},
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",
},
},
},
animation: {
"accordion-down": "accordion-down 0.2s ease-out",
"accordion-up": "accordion-up 0.2s ease-out",
},
},
},
plugins: [require("tailwindcss-animate"), require("@tailwindcss/typography")],
} satisfies Config;