Палитра

Временная страница для проверки токенов и компонентов. Разбита на табы, слаг таба — в пути: перезагрузка (в том числе HMR) оставляет на текущем. Таб-бар — наш жеFilterChips.

Иконки

Набор выгружен из Figma и нормализован (scripts/normalize-figma-icon.mjs): из глифа убраны размер, литеральный цвет и приглушённость, в которой его нарисовали. Поэтому иконка красится currentColorнаведите на карточку, глиф поменяет цвет вместе с подписью, отдельного правила для этого не нужно. Суффикс-solid — второе, залитое семейство из макета; опорный экран использует контурное, поэтому оно без суффикса.

  • arrow-right
  • asmr-solid
  • bell
  • bolt-solid
  • caret-down
  • categories-solid
  • chevron-down
  • chevron-left
  • chevron-right
  • chevron-right-16
  • chevron-up
  • comment
  • comment-solid
  • eye-off-solid
  • eye-solid
  • fov-200
  • fov-200-solid
  • hardcore-solid
  • heart
  • help-solid
  • home-solid
  • info-solid
  • interactive
  • logout-solid
  • menu
  • milf-solid
  • model-page
  • more
  • more-solid
  • passthrough
  • passthrough-ai
  • passthrough-ai-solid
  • passthrough-solid
  • pornstar-solid
  • search
  • stereo-3d
  • stereo-3d-solid
  • taboo-solid
  • teen-solid
  • threesome-solid
  • thumb-up-solid
  • toy-script
  • toy-script-ai
  • toy-script-ai-solid
  • toy-script-solid
  • videos
  • vr-cams-solid
  • vr-videos-solid
  • webcam
  • young-solid

FilterChips

Замерено в макете: высота 40, иконка 16, подпись 14 Regular. Форма — сознательное отступление: вместо макетных r12/инсет20 взяты пилюля и инсет--space-4 (16), иначе чип читается как ещё одна кнопка. Свежий референс это подтверждает — дуга угла там идёт до 0.48 высоты, то есть пилюля. Состояние несёттолько цвет — вес шрифта не меняется, иначе строка бы дёргалась на каждом клике. Выбранный чип берёт --action-selected-bg: это 700-я ступень бренд-шкалы, намеренно темнее основного действия (500) — выделение сообщает, где вы находитесь, а не просит нажать.

Заливка в покое — --action-quiet-bg, она зависит от подложки: на странице чип светлее фона, в поднятом блоке темнее. Поэтому у компонента нет своего--filter-chip-bg — алиас на :root заморозил бы значение (та же ловушка, что у quiet-кнопки).

Ховер — не токен, а формула.lift() берёт цвет, на котором контрол уже лежит, и поднимает его светлоту в OKLab на--hover-lift (0.035 — ровно шаг между соседними ступенями нейтральной шкалы). Тон и насыщенность подложки сохраняются, поэтому подсветка ей принадлежит, а не просто лежит рядом. Полупрозрачный белый так не умеет — он композитится по-разному на каждом фоне; фиксированная ступень шкалы тоже — она одинакова везде. Наведите на чипы в обоих блоках ниже: правило одно, а цвет подсветкиразный.

Ссылки против кнопок

Форма выбирается по данным, потому что для скринридера это разные вещи. Сhref — это nav со ссылками и aria-current; без него — группа кнопок с aria-pressed. Смешать нельзя: компонент бросит ошибку на сборке.