Что не так с дефолтами
Дефолты Tailwind — это compromise для широкой аудитории. Они хороши на старте, но плохи в продукте. `text-gray-500` означает одно у Vercel, другое у Stripe, третье у нас. Это не палитра — это «более-менее серый». Когда у вас 15 оттенков серого, дизайн перестаёт быть дизайном.
Что мы сделали
Мы выкинули всё, кроме черного, белого и одного акцентного цвета. Серых — три. Не пять, не семь — три. Каждый из них имеет имя по роли: ink, ink-dim, ink-mute. Дизайнер больше не выбирает «какой серый», он выбирает «какая иерархия».
@theme {
--color-ink: #fafafa; /* primary text */
--color-ink-dim: #a3a3a3; /* secondary */
--color-ink-mute: #6b6b6b; /* captions */
--color-accent: #c5ff00; /* the one accent */
}Аргумент за дефолты — и почему он не выдерживает
Защитники дефолтов говорят: «но новый разработчик быстрее войдёт в проект». Это правда — на первые 30 минут. После этого новый разработчик читает дизайн-документацию и понимает, почему здесь именно три серых. И больше не возвращается к `text-gray-500`. Никогда.
«Свобода в дизайне — это не «бесконечно много вариантов». Это «правильное количество ограничений».»
Цена решения
Мы выиграли последовательность во всех проектах — 11 продуктов выглядят как одна семья, не как 11 разных студий. Мы проиграли две вещи: time-to-onboard младшего фронтендера +1 час и пару споров с клиентами, которые «хотели больше цвета». Цена справедливая.