Skip to content

size.popover: стрелка из токенов вместо подогнанных значений - #118

Open
khaliulin wants to merge 1 commit into
mainfrom
size.popover
Open

size.popover: стрелка из токенов вместо подогнанных значений#118
khaliulin wants to merge 1 commit into
mainfrom
size.popover

Conversation

@khaliulin

Copy link
Copy Markdown
Contributor

Ветка от main. Первый компонент группы «значения, подогнанные глазом под базу 14» — он же первый пункт таблицы §6 плана.

Что сделано

Стрелка построена из токенов. В файле стояли два подогнанных значения: border-width: 0.73rem и margin-left: -0.86rem (10.22px и −12.04px при базе 14). При переходе на 16px они дают стрелку шириной ~23px против 10.5px в макете — вдвое шире.

Aura строит стрелку из popover.gutter, но у нас gutter = 0.25rem (зазор до триггера), и по нему стрелка вышла бы 4px. Для стрелки в экспорте есть свои токены — popover.extend.arrow.width (0.75rem) и popover.extend.arrow.height (0.5rem), ровно размеры узла arrow в Figma (10.5 × 7 при базе 14). Оба до этой ветки не применялись — гейт G8 их и показывал.

Теперь треугольник считается из них: горизонтальный border-width = половина ширины, вертикальный = высота. Внутренний треугольник (::after, цвет фона) меньше внешнего (::before, цвет границы) на popover.extend.borderWidth — третий неприменённый токен, который тоже закрыт.

Stories. У примеров убран appendTo="self": PrimeNG в этой версии на таком значении пытается присоединить контейнер к самому себе и валится с Cannot append [object HTMLDivElement] to self при каждом открытии. С дефолтным body popover открывается и позиционируется корректно, консоль чистая.

Проверки

  • check-component popover — было 1 FAIL (G2 сырой размер) и 2 WARN G8, стало 0 FAIL, 0 WARN
  • check-stories-bg popover — подложек нет
  • check-dt-refs — мёртвых ссылок в popover.ts нет
  • рантайм: стрелка 12×8px, база 16px, консоль без ошибок
  • prettier --check чист
  • границы ветки: tokens/components/popover.ts и stories/components/popover/examples/

Сверка с Figma <Popover> (533:137, пересчёт базы 14 → 16): стрелка 12×8px, padding контента 12px, радиус 8px, фон #ffffff, граница #cecfd2, тень 0 4px 8px — совпадают.

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

tokens.json не правил (экспорт из Figma):

  • popover.root.gutter = dimension.space.100 (0.25rem = 4px) меньше высоты стрелки (8px), поэтому стрелка наезжает на триггер на 8px. У Aura на этом месте 10px. Либо gutter должен быть не меньше arrow.height, либо PrimeNG должен учитывать высоту стрелки при позиционировании — вопрос к дизайну и к обёртке.
  • popover.content.padding = dimension.space.400 (0.875rem = 14px) против 10.5px в макете (0.75rem при базе 14). То же расхождение ступени space.400, что нашлось в tooltip.

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.

1 participant