Radius
Источник:
ds-docs/component-contracts/foundations/radius.md
Источник: коллекция radius файла Astra DS · режим value · тип FLOAT (px).
id сверены с tokens/variable-ids.json.
Только факты. Находки — в конце.
Скругления углов. Две группы: basic — общая шкала, special — четыре значения
под конкретные компоненты.
basic
radius-none | 0 | 10597:8242 | — | 490 |
radius-2xs | 4 | 3004:1649 | var(--radius-2xs) | 40 |
radius-1xs | 6 | 25320:72444 | var(--radius-1xs) | 2 |
radius-xs | 8 | 3006:2129 | var(--radius-xs) | 47 |
radius-x2s | 12 | 15155:31854 | var(--radius-x2s) | 105 |
radius-s | 16 | 3006:2128 | var(--radius-s) | 1307 |
radius-s-plus | 20 | 40014524:3519 | var(--radius-s) | — |
radius-m | 24 | 3043:4903 | var(--radius-m) | 46 |
radius-l | 32 | 3043:4904 | var(--radius-l) | 184 |
radius-xl | 40 | 3043:4905 | var(--radius-xl) | — |
radius-ar | 999 | 3043:4906 | var(--radius-ar) | 827 |
Scope у всех — CORNER_RADIUS. radius-ar (999) означает «скруглить полностью»:
у него единственное в коллекции описание — «Этот токен просвещён дизайнеру Андрю Рожнову».
special
radius-selector-longshort | 14 | 40017331:1837 | var(--stories-viewed-radius) | — |
radius-selector-medium | 22 | 40017331:1838 | var(--stories-viewed-radius) | — |
radius-stories-viewed | 26 | 5030:20294 | var(--stories-viewed-radius) | 1 |
radius-selector-large | 30 | 40017331:1839 | var(--stories-viewed-radius) | — |
Пятнадцать переменных, база из 298 контрактов использует десять. В колонке «В базе» —
сколько узлов стоит с этим значением угла; прочерк значит «ни одного». Не встречаются
radius-s-plus (20), radius-xl (40) и три из четырёх особых: radius-selector-longshort,
radius-selector-medium, radius-selector-large.
Как применять — по разделу Figma
Раздел «Radius Token» (40014705:3251) закрепляет за каждым токеном свои компоненты.
Проверено по базе: рядом — что нашлось в контрактах.
radius-1xs (6) | Tooltip | сходится: tooltip. Второй потребитель раздел не называет — swapper-utility |
radius-x2s (12) | Chips | сходится: обоймы chips-group-*; но у самих chips и filter-chips углы почти всегда 999 и 32, а 12 — единичный случай |
radius-s (16) | Form Family, Accordion, Toast Notification, Select, Button, List (Secondary) | сходится и шире того: 89 контрактов, больше всего — поля ввода (date-input, phone-input, amount-input) |
radius-m (24) | Banner, Button Banner, Line Notification, Basic Dialog | сходится, кроме line-notification: у него углов с 24 нет |
radius-l (32) | Navigation Bar, Card Layer, Basic Action, Bottom Sheet, Basic Dialog Info | сходится у navigation-bar, bottom-sheets, basic-action, layer-1. Не сходится у шторок-календарей и у layer-2, layer-3. Самые частые потребители 32 раздел не называет вовсе: filter-chips и chips |
radius-ar (999) | Switch, Avatar, Icon Container, Icon Button, Badge, Tag, Numpad | сходится у switch, avatar, tag, badge, icon-button. Не сходится у Icon Container и Numpad: у обоймы значка круг нарисован фигурой, углов у неё нет вовсе, а клавиша numkey скруглена на 16 |
Отдельно раздел учит разработчика: «Выделите элемент → DevMode (Shift+D) → скопируйте токен радиуса из Style», — но брать оттуда нечего, см. первую находку ниже.
Что показывает база
| углов записано в контрактах | 3118 |
| из них привязано к переменной | 0 |
| значений вне шкалы | 2 — по одному в bottom-sheets-2 и bottom-sheets-feedback |
Находки
-
Ни один угол в системе не привязан к переменной. Из 3118 углов базы переменную не несёт ни один: скругления набраны числами. Проверено и по чужой стороне — в разделе Flow Motion, где лежат экраны с сотнями инстансов, привязок отступов и цвета тысячи, а привязок угла нет ни одной. Раздел Figma учит применять токен через «Apply variable», и в макете этого не делают — соответствие числа токену держится на шкале, а не на файле.
-
Число 100 не попадает в шкалу. Встречается дважды:
bottom-sheets-2иbottom-sheets-feedback. Ближайший токен —radius-ar(999) для «скруглить полностью»; скорее всего, задумано было именно оно. -
У всех четырёх
special/*пустой scope. Figma не предложит их ни на одном свойстве — назначить можно только вручную через панель переменных. Для токенов, названных под конкретные компоненты, это тупик. -
radius-none— единственный безcodeSyntaxWEB: у него задан толькоANDROID. В вебе нулевой радиус имени не имеет. -
Три «селекторных» радиуса (14, 22, 30) не ложатся в общую шкалу (0, 4, 6, 8, 12, 16, 20, 24, 32, 40) и повторяют друг друга шагом 8.
-
Разные радиусы названы в коде одинаково — одно имя CSS на несколько значений:
var(--radius-s)—radius-s(16),radius-s-plus(20)var(--stories-viewed-radius)—radius-stories-viewed(26),radius-selector-longshort(14),radius-selector-medium(22),radius-selector-large(30)
Код по этим именам разные скругления не различит.