Skip to content
F Fastry
astro-rocket дизайн-система tailwind кастомизация руководство

Как работает дизайн-система Fastry — токены, цвета и тёмный режим

Fastry использует трёхуровневую архитектуру токенов с цветами OKLCH. Измените одно значение, и весь сайт обновится. Вот как это работает и как настроить под себя.

A

Almaz

2 мин. чтения

Большинство тем дают вам таблицу стилей с жёстко заданными значениями. Измените брендовый цвет, и вы вынуждены искать по десяткам файлов. Fastry работает иначе — одно изменение распространяется мгновенно везде, включая светлый и тёмный режим.

Причина — трёхуровневая архитектура токенов. Понимание её занимает десять минут. Использование делает каждую настройку быстрее и согласованнее.

Трёхуровневая архитектура

Уровень 1 — Референсные токены

Референсные токены — это сырые значения: конкретные цвета, размеры, радиусы. У них нет семантического значения — они просто определяют палитру.

--color-lime-500: oklch(0.768 0.233 130.85);
--color-lime-600: oklch(0.702 0.213 130.85);

Уровень 2 — Семантические токены

Семантические токены связывают намерение с референсными значениями. --color-brand-500 не знает, какое hex-значение содержит — он знает, какую роль играет.

:root {
  --color-brand-500: var(--color-lime-500);
  --color-brand-600: var(--color-lime-600);
}

Уровень 3 — Компонентные токены

Компонентные токены ограничены конкретными элементами UI. Кнопка не обращается к --color-brand-500 напрямую — она использует --btn-primary-bg, который указывает на --color-brand-500.

--btn-primary-bg: var(--color-brand-500);

Почему OKLCH

Fastry использует OKLCH для всех цветовых значений вместо hex или HSL.

OKLCH описывает цвет в трёх измерениях: светлота (L), хрома (C) и оттенок (H). Ключевое преимущество — перцептивная равномерность: два цвета с одинаковым значением L выглядят одинаково яркими для человеческого глаза.

Тёмный режим через токены

Тёмный режим в Fastry — это не отдельная таблица стилей. Это та же система токенов с другими значениями, применяемыми под селектором .dark.

.dark {
  --color-background: oklch(0.10 0.02 265);
  --color-foreground: oklch(0.95 0 0);
}

Когда класс dark переключается на <html>, каждый семантический токен переназначается одновременно. Без JavaScript. Без каскада пересчёта стилей.

Изменение брендового цвета

Базовая шкала брендового цвета находится в src/styles/tokens/primitives.css. Чтобы переключиться с lime на violet:

1. Добавьте или проверьте референсные токены:

--color-violet-500: oklch(0.606 0.258 292.72);

2. Переназначьте семантические токены бренда:

:root {
  --color-brand-500: var(--color-violet-500);
}

Это полное изменение. Каждая кнопка, ссылка, бейдж и выделенный текст по всему сайту теперь использует фиолетовый — в светлом и тёмном режиме — без изменения единого файла компонента.

Связь с Tailwind

Fastry использует Tailwind CSS v4, который читает CSS-кастомные свойства напрямую. Utility-класс text-brand-500 сопоставляется с --color-brand-500 — без необходимости в tailwind.config.js.

Что это значит на практике

Система токенов даёт три конкретных преимущества:

  • Единый источник истины — брендовый цвет, шкала отступов, радиус границ и размеры типографики определяются один раз
  • Безопасная кастомизация компонентов — можно изменить стиль конкретного компонента на уровне компонентных токенов без риска побочных эффектов
  • Тёмный режим бесплатно — каждый новый компонент наследует тёмный режим автоматически
Поделиться:

Похожие записи

Эффект печатающегося текста в Fastry — как это работает и как настроить

Заголовок Hero в Fastry циклически перебирает слова с анимацией печати. Узнайте, как это работает, как настроить скорость и паузы и как полностью отключить эффект.

A Almaz
2 мин. чтения
astro-rocket компоненты кастомизация руководство javascript

Мультиязычность: родная интернационализация в Fastry 1.3.0

Как работает новая опциональная система i18n, что она добавляет при включении и точные шаги для запуска сайта на английском и втором языке.

A Almaz
2 мин. чтения
astro-rocket i18n интернационализация руководство v1-3-0

Настройка Fastry — каждый переключатель, тема и опция макета

Полное руководство по параметрам конфигурации Fastry: 12 цветовых тем, цвета OKLCH, типографика, радиус и тени, стили шапки, тёмный режим и многое другое.

A Almaz
2 мин. чтения
astro-rocket настройка кастомизация темы

Подписывайтесь

Будьте в курсе — новые статьи, мысли и обновления.