Глина

  • Темы
  • light
  • dark

Тёплая бумага, графитовые чернила и одна глиняная точка на экран.

Значения — из пакета @feugene/granularity-tokens

На этой странице

Образец

РольСветлыйТёмный
--gr-bg#faf9f5#262624
--gr-card#ffffff#30302e
--gr-fg#141413#faf9f5
--gr-muted-fg#5e5d59#b0aea5
--gr-primary#d97757#d97757
--gr-accent#f6e8e0#46352d
Одна разметка в острове каждого режима: разница только в паре на поддереве.

Для чего

Чтение, редакторы, ассистенты — экраны, где главное — текст, а интерфейс отступает. Тёплые поверхности и графитовые чернила снимают холод продуктовых тем, а единственный тёплый акцент показывает, ради чего экран открыт. Тема — копия slate (theme:copy), а не наследник: самостоятельный язык, все значения — свои, правки «Сланца» в неё не приходят. Новый токен пакета компонентов «Глина» получает не молча, а находкой doctor, и значение решает её автор.

Правила использования

  • Главная кнопка области — tone="neutral": графитовая заливка, в тёмном режиме — светлая. Глиняный primary — акцент, а не каждое действие.
  • Глина — одна на экран: то, ради чего экран открыт. Две глиняные кнопки рядом спорят друг с другом, и акцент перестаёт быть акцентом.
  • Тон живёт в заливке и подписи, рамки — тёплые серые. У secondary и outline любого тона рамка одна и та же — графит на 15 % и 30 %.
  • Под указателем заливка уходит прочь от цвета подписи: под графитовой подписью светлеет, под светлой — темнеет. Контраст в наведении только растёт. Исключение — главная кнопка: её заливка уже на краю шкалы, и она уходит к середине — графит светлеет, бумага темнеет.
  • Кнопка не двигается и не светится: без теней, загрузка — свет по подписи, а не спиннер, группа кнопок — лоток (пропсы по умолчанию темы, componentDefaults).
  • Тень — только у того, что лежит над страницей: всплывающая панель и тост — 8/24, окно — 16/48. Карточка — белый лист с волосяной рамкой, без тени.
  • Тихие умолчания: вкладки — линией, метки — со скруглением semi, путь — через «/», аватар — инициалы на бумаге без случайного цвета, прогресс — графитовая полоса без рамки.
  • Как у любой темы пакета: цвет текста — из -text, граница переключаемого контрола — --gr-control-brd.

Режимы

РежимНазначение
lightрежим по умолчанию: тёплая бумага, графитовые чернила, белый лист карточки поверх страницы
darkтёплый графит вместо чёрного; главная кнопка инвертируется — светлая заливка с графитовой подписью; глина остаётся глиной

Пары на корне

Имя режима хранится в выборе пользователя, а на корень ставится пара темы и режима. Пару не пишут руками: её отдаёт манифест сборки.

Идентификатор
clay
РежимСхемаПара на корне
light · по умолчаниюlightdata-theme="clay-light"
darkdarkdata-theme="clay-dark"

Роли

Значения ролей в каждом режиме и контраст там, где он осмыслен.

Роли поверхностей

ТокенСветлаяТёмнаяКонтрастРоль
--gr-bg--gr-bg#faf9f5#262624Базовый фон приложения и крупных layout-поверхностей текущей темы.
--gr-fg--gr-fg#141413#faf9f517.50 / 14.39против --gr-bgОсновной цвет текста и иконок поверх базового фона текущей темы.
--gr-card--gr-card#ffffff#30302eФон карточек, панелей и других поднятых поверхностей.
--gr-card-fg--gr-card-fg#141413#faf9f518.43 / 12.55против --gr-cardЦвет контента внутри карточек и raised surface-блоков.
--gr-popover--gr-popover#ffffff#30302eФон popover-, dropdown- и overlay-поверхностей.
--gr-popover-fg--gr-popover-fg#141413#faf9f518.43 / 12.55против --gr-popoverЦвет текста и иконок внутри popover-слоёв.
--gr-muted--gr-muted#f0eee6#3a3a37Приглушённая поверхность для вторичных блоков, плашек и заполнений.
--gr-muted-fg--gr-muted-fg#5e5d59#b0aea55.67 / 5.13против --gr-mutedВторичный текстовый цвет для helper-копии и менее важных подписей.
--gr-secondary--gr-secondary#e8e6dc#3a3a37Нейтральная secondary action/surface-подложка без сильного бренд-акцента.
--gr-secondary-fg--gr-secondary-fg#3d3d3a#d1cfc58.71 / 7.30против --gr-secondaryКонтрастный текст для secondary-кнопок и поверхностей.
--gr-overlay-bg--gr-overlay-bgrgb(28 27 24 / 0.45)rgb(10 10 9 / 0.6)Подложка модальных слоёв (модалка, drawer): затемняет страницу, оставляя её узнаваемой.
--gr-brd--gr-brd#d9d8d5#42423fБазовый цвет бордеров и разделителей текущей темы.
--gr-brd-strong--gr-brd-strong#b8b7b4#5f5e5aГраница плотнее разделителя: пунктир и точки GrDivider, черта невыбранной вкладки под указателем. Тема ставит её и в токены компонентов — рамку outline-сообщения, разделитель пути. Тема без второй ступени границы ставит сюда --gr-brd.
--gr-input--gr-input#82817e#878681Рамка поля ввода в покое — у GrInput, GrTextarea, GrNumberInput, GrInputTag, GrAutocomplete, GrOtpInput и триггеров GrSelect, GrTreeSelect, GrColorPicker. Тема, у которой рамка поля темнее разделителя, разводит её с --gr-brd.
--gr-input-hover--gr-input-hover#565553#afaea8Рамка поля ввода под указателем. Тема без отклика рамки ставит сюда --gr-input.
--gr-input-focus-brd--gr-input-focus-brdvar(--gr-ring)var(--gr-ring)Рамка поля в фокусе, вместе с кольцом --gr-ring. Тема без своего решения ставит --gr-input: рамка в фокусе не меняется.
--gr-input-readonly-bg--gr-input-readonly-bgtransparenttransparentПодложка поля только для чтения. Тема, у которой такое поле читается текстом на поверхности, ставит transparent; без своего решения — --gr-bg, как у рабочего поля.
--gr-input-readonly-brd--gr-input-readonly-brdvar(--gr-brd)var(--gr-brd)Рамка поля только для чтения. Без своего решения — --gr-input, как у рабочего поля.
--gr-control-brd--gr-control-brd#82817e#878681Граница переключаемого контрола в покое — коробки чекбокса, кружка радио, дорожки выключенного переключателя. Держит 3:1 к странице, карточке и --gr-muted (WCAG 1.4.11): у такого контрола граница — единственное, по чему его видно.
--gr-control-brd-hover--gr-control-brd-hover#565553#afaea8Граница переключаемого контрола под указателем: коробка отметки, кружок радио. Тема без отклика ставит сюда --gr-control-brd.
--gr-ring--gr-ring#2a78d6#6aa3e8Цвет focus-ring и акцентного outline для интерактивных компонентов.

Роли состояний

ТокенСветлаяТёмнаяКонтрастРоль
--gr-disabled-bg--gr-disabled-bg#f0eee6#353532Фон недоступного контрола: гасит его поверхностью, а не прозрачностью — opacity разбавляет выверенные на AA токены текста.
--gr-disabled-fg--gr-disabled-fg#9c9a92#73726cЦвет текста и иконок недоступного контрола.
--gr-disabled-brd--gr-disabled-brdvar(--gr-disabled-bg)var(--gr-disabled-bg)Цвет рамки недоступного контрола.
--gr-invalid-brd--gr-invalid-brdvar(--gr-danger)var(--gr-danger)Цвет рамки контрола, не прошедшего валидацию.
--gr-invalid-ring--gr-invalid-ringvar(--gr-danger)var(--gr-danger)Цвет focus-ring контрола, не прошедшего валидацию.
--gr-invalid-text--gr-invalid-textvar(--gr-danger-text)var(--gr-danger-text)7.13 / 7.48против --gr-bgЦвет текста ошибки и метки обязательного поля.

Роли действий

ТокенСветлаяТёмнаяКонтрастРоль
--gr-primary--gr-primary#d97757#d97757Главный brand/action цвет темы для primary CTA и ключевых акцентов.
--gr-primary-fg--gr-primary-fg#141413#1414135.90 / 5.90против --gr-primaryКонтрастный текст и иконки поверх primary-заливки.
--gr-accent--gr-accent#f6e8e0#46352dМягкая акцентная поверхность для selected/hovered областей и подсветок.
--gr-accent-fg--gr-accent-fg#973f22#e6a37f5.75 / 5.48против --gr-accentЦвет текста поверх accent-подложек.
--gr-selected--gr-selectedvar(--gr-fg)var(--gr-fg)Цвет выбранного: заливка и рамка отметки и радио, дорожка включённого переключателя, черта вкладки, заливка слайдера, текущая страница пагинации, кольцо выбранного цвета; подмесом — подсветка выбранной строки и узла дерева. Тема, где выбор — бренд, ставит сюда --gr-primary.
--gr-selected-fg--gr-selected-fgvar(--gr-bg)var(--gr-bg)17.50 / 14.39против --gr-selectedЗнак на заливке --gr-selected: галочка отметки, точка радио, номер текущей страницы.
--gr-selected-hover--gr-selected-hover#3d3d3a#d1cfc5Выбранное под указателем: заливка отмеченной коробки и выбранного радио. Тема без отклика ставит сюда --gr-selected.

Роли статусов

ТокенСветлаяТёмнаяКонтрастРоль
--gr-success--gr-success#788c5d#8a9e6dОсновной semantic success-цвет для статусов, бейджей и уведомлений.
--gr-success-light--gr-success-light#e9ebe1#35382eОблегчённая success-подложка для мягких статусов и подсветок.
--gr-success-fg--gr-success-fg#141413#1414135.01 / 6.31против --gr-successКонтрастный текст и иконки поверх success-заливки.
--gr-primary-text--gr-primary-text#973f22#e6a37f6.54 / 7.15против --gr-bgОсновной тон как ЦВЕТ ТЕКСТА на фоне страницы: насыщенный --gr-primary под текст не рассчитан и не проходит по контрасту.
--gr-success-text--gr-success-text#4f5e3b#b2c09a6.65 / 7.87против --gr-bgТекстовый оттенок для success-сообщений на светлой подложке.
--gr-warning--gr-warning#c9a82d#c9a82dОсновной semantic warning-цвет для предупреждений и промежуточных статусов.
--gr-warning-light--gr-warning-light#f4eedb#433d26Облегчённая warning-подложка для мягких warning-состояний.
--gr-warning-fg--gr-warning-fg#141413#1414138.01 / 8.01против --gr-warningКонтрастный текст и иконки поверх warning-заливки.
--gr-warning-text--gr-warning-text#6f5a14#dcc0676.33 / 8.50против --gr-bgТекстовый оттенок для warning-сообщений на мягкой warning-подложке.
--gr-danger--gr-danger#b8433a#e3585aSemantic danger-цвет для ошибок, рисков и критических сообщений.
--gr-danger-light--gr-danger-light#f1e1dd#482f2eОблегчённая danger-подложка для мягких error-состояний.
--gr-danger-fg--gr-danger-fg#faf9f5#1414135.11 / 5.10против --gr-dangerКонтрастный текст и иконки поверх danger-заливки.
--gr-danger-text--gr-danger-text#9c2a34#f5a0977.13 / 7.48против --gr-bgТекстовый оттенок для error-сообщений на мягкой danger-подложке.
--gr-info--gr-info#2268bf#6aa3e8Semantic info-цвет для нейтральных уведомлений и информационных акцентов.
--gr-info-light--gr-info-light#dfe8f1#323c47Облегчённая info-подложка для спокойных информационных блоков.
--gr-info-fg--gr-info-fg#faf9f5#1414135.25 / 7.04против --gr-infoКонтрастный текст и иконки поверх info-заливки.
--gr-info-text--gr-info-text#1c57a0#a1c1ec6.83 / 8.20против --gr-bgТекстовый оттенок для спокойных info-сообщений и подсказок.
--gr-slate--gr-slate#4d4c48#9c9a92Нейтральный semantic slate-цвет для subdued индикаторов и secondary статусов.
--gr-slate-light--gr-slate-light#e4e3df#3b3b38Облегчённая slate-подложка для мягких нейтральных состояний.
--gr-slate-fg--gr-slate-fg#faf9f5#1414138.16 / 6.54против --gr-slateКонтрастный текст и иконки поверх slate-заливки.
--gr-slate-text--gr-slate-text#4d4c48#c2c0b68.16 / 8.31против --gr-bgТекстовый оттенок для нейтральных slate-сообщений и плашек.
--gr-azure--gr-azure#5b9fb6#5b9fb6Semantic azure-цвет для информационных акцентов и вспомогательных статусов.
--gr-azure-light--gr-azure-light#e5eded#303c3eОблегчённая azure-подложка для мягких informational поверхностей.
--gr-azure-fg--gr-azure-fg#141413#1414136.21 / 6.21против --gr-azureКонтрастный текст и иконки поверх azure-заливки.
--gr-azure-text--gr-azure-text#2e6270#a3cbd86.44 / 8.73против --gr-bgТекстовый оттенок для azure-плашек и спокойных informational блоков.

Роли плотных заливок

ТокенСветлаяТёмнаяКонтрастРоль
--gr-primary-solid--gr-primary-solidvar(--gr-primary)var(--gr-primary)Сплошная заливка кнопочного веса тона primary.
--gr-primary-solid-hover--gr-primary-solid-hovervar(--gr-primary-hover)var(--gr-primary-hover)Заливка --gr-primary-solid под курсором.
--gr-primary-solid-active--gr-primary-solid-activevar(--gr-primary-active)var(--gr-primary-active)Заливка --gr-primary-solid в момент нажатия.
--gr-primary-solid-fg--gr-primary-solid-fgvar(--gr-primary-fg)var(--gr-primary-fg)5.90 / 5.90против --gr-primary-solidТекст и иконки на заливке --gr-primary-solid.
--gr-success-solid--gr-success-solidvar(--gr-success)#8a9e6dСплошная заливка кнопочного веса тона success.
--gr-success-solid-hover--gr-success-solid-hovervar(--gr-success-hover)#97aa7aЗаливка --gr-success-solid под курсором.
--gr-success-solid-active--gr-success-solid-activevar(--gr-success-active)#a3b587Заливка --gr-success-solid в момент нажатия.
--gr-success-solid-fg--gr-success-solid-fgvar(--gr-success-fg)var(--gr-success-fg)5.01 / 6.31против --gr-success-solidТекст и иконки на заливке --gr-success-solid.
--gr-warning-solid--gr-warning-solidvar(--gr-warning)var(--gr-warning)Сплошная заливка кнопочного веса тона warning.
--gr-warning-solid-hover--gr-warning-solid-hovervar(--gr-warning-hover)var(--gr-warning-hover)Заливка --gr-warning-solid под курсором.
--gr-warning-solid-active--gr-warning-solid-activevar(--gr-warning-active)var(--gr-warning-active)Заливка --gr-warning-solid в момент нажатия.
--gr-warning-solid-fg--gr-warning-solid-fgvar(--gr-warning-fg)var(--gr-warning-fg)8.01 / 8.01против --gr-warning-solidТекст и иконки на заливке --gr-warning-solid.
--gr-danger-solid--gr-danger-solidvar(--gr-danger)#b8433aСплошная заливка кнопочного веса тона danger.
--gr-danger-solid-hover--gr-danger-solid-hovervar(--gr-danger-hover)#a93c34Заливка --gr-danger-solid под курсором.
--gr-danger-solid-active--gr-danger-solid-activevar(--gr-danger-active)#99352eЗаливка --gr-danger-solid в момент нажатия.
--gr-danger-solid-fg--gr-danger-solid-fgvar(--gr-danger-fg)#faf9f55.11 / 5.11против --gr-danger-solidТекст и иконки на заливке --gr-danger-solid.
--gr-info-solid--gr-info-solidvar(--gr-info)#2268bfСплошная заливка кнопочного веса тона info.
--gr-info-solid-hover--gr-info-solid-hovervar(--gr-info-hover)#1f5faeЗаливка --gr-info-solid под курсором.
--gr-info-solid-active--gr-info-solid-activevar(--gr-info-active)#1b559cЗаливка --gr-info-solid в момент нажатия.
--gr-info-solid-fg--gr-info-solid-fgvar(--gr-info-fg)#faf9f55.25 / 5.25против --gr-info-solidТекст и иконки на заливке --gr-info-solid.
--gr-slate-solid--gr-slate-solidvar(--gr-slate)#5e5d59Сплошная заливка кнопочного веса тона slate.
--gr-slate-solid-hover--gr-slate-solid-hovervar(--gr-slate-hover)#575653Заливка --gr-slate-solid под курсором.
--gr-slate-solid-active--gr-slate-solid-activevar(--gr-slate-active)#53524eЗаливка --gr-slate-solid в момент нажатия.
--gr-slate-solid-fg--gr-slate-solid-fgvar(--gr-slate-fg)#faf9f58.16 / 6.26против --gr-slate-solidТекст и иконки на заливке --gr-slate-solid.
--gr-azure-solid--gr-azure-solidvar(--gr-azure)var(--gr-azure)Сплошная заливка кнопочного веса тона azure.
--gr-azure-solid-hover--gr-azure-solid-hovervar(--gr-azure-hover)var(--gr-azure-hover)Заливка --gr-azure-solid под курсором.
--gr-azure-solid-active--gr-azure-solid-activevar(--gr-azure-active)var(--gr-azure-active)Заливка --gr-azure-solid в момент нажатия.
--gr-azure-solid-fg--gr-azure-solid-fgvar(--gr-azure-fg)var(--gr-azure-fg)6.21 / 6.21против --gr-azure-solidТекст и иконки на заливке --gr-azure-solid.

Роли визуализации данных

ТокенСветлаяТёмнаяРоль
--gr-chart-1--gr-chart-1#c05b36#e0895fПервый цвет серии для графиков и data-visualization элементов.
--gr-chart-2--gr-chart-2#5f7a1c#9dbb6aВторой цвет серии для графиков и data-visualization элементов.
--gr-chart-3--gr-chart-3#2f68b8#6fa2e2Третий цвет серии для графиков и data-visualization элементов.
--gr-chart-4--gr-chart-4#a8407a#d684b4Четвёртый цвет серии для графиков и data-visualization элементов.
--gr-chart-5--gr-chart-5#0d7d8c#4fb8acПятый цвет серии для графиков и data-visualization элементов.

Тени

ТокенСветлаяТёмнаяРоль
--gr-shadow-1--gr-shadow-10 1px 2px rgba(28, 27, 24, 0.08)0 1px 2px rgba(0, 0, 0, 0.45)Уровень elevation 1. Синеватая полупрозрачная тень читается на светлом фоне мягче чёрной.
--gr-shadow-2--gr-shadow-20 8px 24px rgba(28, 27, 24, 0.13)0 8px 24px rgba(0, 0, 0, 0.55)Уровень elevation 2 для всплывающих слоёв.
--gr-shadow-3--gr-shadow-30 16px 48px rgba(28, 27, 24, 0.18)0 16px 48px rgba(0, 0, 0, 0.65)Уровень elevation 3 для модальных слоёв.