Effect

Источник: ds-docs/component-contracts/foundations/effect.md

Источник: коллекция effect файла Astra DS (23 переменные) и 8 стилей эффектов · tokens/effect.tokens.json · id сверены с tokens/variable-ids.json. Только факты. Находки — в конце.

Тени и размытия устроены так же, как типографика: носитель — стиль, а не узел. Слой ссылается на стиль эффекта, стиль — на переменные. Переменных на эффект несколько: тень разложена на смещение по X, смещение по Y, размытие и, у одной, растяжение; составного токена тени в файле нет. Цвет тени берётся отдельно — из группы other/shadow коллекции цвета.

Стили эффектов

background-blur/defaultФоновое размытие—8——bg-blur
background-blur/overlayФоновое размытие—8——overlay-bg-blur
background-blur/menuФоновое размытие—16——menu-bg-blur
drop-shadow/defaultТень0, 48030%drop-shadow-value-*
drop-shadow/basic-actionТень0, 024016%basic-action-drop-shadow-value-*
drop-shadow/draggedДве тени0, 424016%drag-drop-shadow-value-*-02
0, 4808%drag-drop-shadow-value-*-01
drop-shadow/segmented-controlТень0, 02408%segmented-control-drop-shadow-value-*
drop-shadow/fieldТень0, 242100%field-drop-shadow-value-*

Восемь стилей: три размытия фона и пять теней. drop-shadow/dragged — единственный из двух слоёв: широкая мягкая тень плюс узкая под ней.

Переменные

drag-drop-shadow-value-x-01011195:19434да
drag-drop-shadow-value-y-01411195:19435да
drag-drop-shadow-value-b-01811195:19436да
drag-drop-shadow-value-x-02011195:19438да
drag-drop-shadow-value-y-02411195:19439да
drag-drop-shadow-value-b-022411195:19440да
basic-action-drop-shadow-value-x013891:46841да
basic-action-drop-shadow-value-y013891:46842да
basic-action-drop-shadow-value-b2413891:46843да
segmented-control-drop-shadow-value-x047290:5484да
segmented-control-drop-shadow-value-y047290:5485да
segmented-control-drop-shadow-value-b2447290:5486да
overlay-bg-blur849304:11636да
bg-blur849304:12136да
menu-bg-blur1649304:12137да
field-drop-shadow-value-x056246:14924да
field-drop-shadow-value-y256246:14925да
field-drop-shadow-value-b456246:14926да
field-drop-shadow-value-s256246:14927да
drop-shadow-value-x059759:23619да
drop-shadow-value-y459759:23620да
drop-shadow-value-b859759:23621да
toast-notification-bacground-blur484242:39729—

Scope у всех — EFFECT_FLOAT. codeSyntax и описаний нет ни у одной.

Находки

  • toast-notification-bacground-blur не привязан ни к одному стилю — единственная переменная из 23, которая никуда не ведёт. И в имени опечатка: bacground вместо background.
  • Контракт компонента эффекты не записывает. В словаре узла нет поля для тени и размытия: fill, stroke, opacity, radius есть, эффекта нет. Значит ни одна тень базы сейчас не описана — при сборке по контракту она не появится.
  • Тень разложена на числа, и собрать её обратно можно только по стилю. Переменные дают смещение и размытие, но не цвет: он лежит в коллекции цвета отдельной группой other/shadow. Одна тень — это пять переменных из двух коллекций плюс стиль.
  • drag-drop-shadow-01 и drop-shadow дают одно и то же — 0, 4, 8. Два набора переменных на одинаковую тень, и различает их только имя.
  • basic-action-drop-shadow и segmented-control-drop-shadow тоже совпадают — 0, 0, 24. Отличаются только прозрачностью цвета: 16% против 8%.
  • Прозрачность тени задана в цвете, а не переменной. У drop-shadow/field она 100%, у остальных от 8% до 30% — это значения цветовых переменных other/shadow/*, и по имени переменной прозрачность не видна.

См. также: color — светлая тема, motion, README.