Skip to content

Перевод togglebutton на новые токены и базу 16px - #101

Merged
ichiesov merged 1 commit into
size-updatefrom
size.togglebutton
Aug 21, 2026
Merged

Перевод togglebutton на новые токены и базу 16px#101
ichiesov merged 1 commit into
size-updatefrom
size.togglebutton

Conversation

@khaliulin

Copy link
Copy Markdown
Contributor

Ветка от size-update, процесс тот же, что в #97, #98, #100.

Главное: высоты текстовых и icon-only кнопок разъезжались

Файл на входе прошёл все гейты — он уже был целиком на dt(). Проблема нашлась замером: высота текстовой кнопки выводилась из паддинга и line-height, а icon-only бралась из токена extend.*.iconOnlyWidth. Совпадали они только на одном размере из четырёх.

размер текст (было) icon-only расхождение стало
sm 26px 32px −6px 32px
base 42px 40px +2px 40px
lg 56px 56px 0 56px
xlg 68px 64px +4px 64px

Практически это значит, что ряд из текстовых и иконочных переключателей был неровным, а один и тот же компонент внутри select-button (#100, где высота задана явно) и отдельно рендерился с разной высотой.

Высота теперь задаётся явно для всех четырёх размеров из той же лестницы, что и icon-only: 32 / 40 / 56 / 64. Паддинги дизайна остаются, контент центрируется.

Замеры в браузере

База 16px, дробных пикселей нет, консоль чистая. sm 32px · base 40px · lg 56px · xlg 64px, icon-only base 40×40.

Гейты

npm run check:component -- togglebutton — без FAIL и WARN.

Вопрос к дизайну

Токены сами себе противоречат: extXlg.padding (20px) вместе с lineHeight.550 (26px) дают высоту 68px, а extXlg.iconOnlyWidth заявляет 64px. Аналогично на sm: паддинг даёт 26px против 32px в токене. Я выровнял по iconOnlyWidth — это единственная монотонная лестница, которую даёт экспорт, — но правильнее развести это в Figma: либо поправить паддинги, либо завести явный токен высоты.

Ещё одно расхождение, найденное попутно: у togglebutton размер xlarge использует fonts.fontSize.500 (20px), а в select-button тот же xlarge — fonts.fontSize.600 (24px). Один из них ошибочен.

Сопутствующее — исправлены сами гейты

Гейт G8 сравнивал токены по пути и потому давал ложные срабатывания: Aura держит цвета под colorScheme.light.root.background, наш экспорт — под root.background, но CSS-переменная у обоих одна и стили Aura её применяют. На togglebutton это давало 11 ложных WARN. Теперь сравнение идёт по имени CSS-переменной.

Заодно G7 научился различать темы: colorScheme.light и colorScheme.dark законно делят одно имя переменной, коллизией это не является. Настоящие коллизии (radiobutton, multiselect) гейт по-прежнему видит.

Фикс лежит в size-update отдельным коммитом.

Не входит в ветку

Stories не тронуты — менять было нечего. Сверка с Figma не проводилась: файл UI Kit (DS) v2.1 не открыт в Figma Desktop.

@ichiesov
ichiesov merged commit 9a9f426 into size-update Aug 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants