Skip to content

fix outline button focus state - #175

Merged
AxyIX merged 10 commits into
mainfrom
fix.button-focus-outline
Oct 12, 2026
Merged

AxyIX merged 10 commits into
mainfrom
fix.button-focus-outline

Conversation

@khaliulin

Copy link
Copy Markdown
Contributor

No description provided.

[disabled]="disabled"
[loading]="loading"
[size]="primeSize"
[styleClass]="primeStyleClass"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

чем не устроил геттер?)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AxyIX вернуть геттер primeStyleClass в кнопке a81d7ce


export type ExtraButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'text' | 'link';
export type ExtraButtonSeverity = 'base' | 'danger' | 'warning' | 'success' | 'info';
export type ExtraButtonSeverity = 'success' | 'warning' | 'danger' | 'info' | null;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут ушли от спеки почему-то...
там | severity | семантическое состояние кнопки | base \| danger \| warning \| success \| info |
надо либо спеку менять, либо всё таки вернуть значения как были

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AxyIX вернуть значение base в severity кнопки по спеке 5be3403

@AxyIX

AxyIX commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator

Узкие места в Button — на сверку с дизайнером

1. variant="outlined" + severity="base" — нечитаемо

Белый текст на прозрачном фоне с тёмной рамкой.

  • Причина: в PrimeNG severity="base" на outlined/tertiary маппится в токен contrast,
    у которого цвет текста — белый, рассчитанный на тёмную заливку (как в tertiary). Когда
    outlined=true снимает заливку, белый текст остаётся без фона.
  • Референса в Figma нет: outlined существует только у <Button.Danger> /
    <Button.Warning> / <Button.Success> / <Button.Info>. У <Button.Base> такого состояния
    нет вовсе.
  • Статус: задокументировано как «не использовать» в button.figma.md / спеке, код/стори не
    менялись. Нужно решение дизайнера по цвету текста токена contrast в контурном режиме.

2. variant="tertiary" + severity ≠ base — тоже без референса

  • При ненулевой severity геттер primeSeverity просто возвращает саму severity → рендерится
    сплошная цветная заливка (danger/warning/...) вместо тёмной нейтральной.
  • В Figma <Button.Base> (где живёт tertiary) не имеет свойства severity — такой раскраски
    нигде не нарисовано.
  • Контраст в этом случае не ломается (в отличие от п.1), но нужно свериться, допустима ли вообще
    такая комбинация и как её должна красить дизайн-система.

Оба случая не трогались в коде/сторис — только отмечены в button.figma.md и
docs/components-api/button.md как нерекомендуемые до уточнения с дизайном.

@AxyIX
AxyIX merged commit 835f6a6 into main Oct 12, 2026
1 check 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