Button
Кнопка Nupek - primary, secondary и ghost, с минимальной высотой 44px и состоянием disabled.
Button - единственный компонент для действий на странице. Три варианта покрывают разный уровень значимости действия на экране.
Варианты
- Primary - заливка
ink(в тёмной теме - светлый текст-токен), текстsurface. Одно основное действие на экран или секцию. - Secondary - обводка
ink, прозрачный фон. Действие второго уровня рядом с primary. - Ghost - текст
signal, без фона и обводки. Второстепенные действия внутри плотных списков и панелей.
Состояния
Кнопка имеет минимальную высоту 44px независимо от варианта - это area нажатия, а не только видимый размер. Отключённая кнопка (disabled) получает непрозрачность 40% и не реагирует на клик и наведение.
Разметка
<button class="btn btn-primary">Сохранить</button>
<a class="btn btn-secondary" href="/foundations/color">Смотреть токены</a>.btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: var(--tap-target-min);
padding: var(--space-3) var(--space-5);
border-radius: var(--radius-md);
font-weight: var(--font-weight-semibold);
border: 1.5px solid transparent;
}
.btn-primary {
background: var(--color-text);
color: var(--color-bg);
border-color: var(--color-text);
}Элемент - <button> для действия на текущей странице, <a> для перехода по ссылке. Тег зависит от смысла действия, а не от визуального варианта: primary, secondary и ghost одинаково работают и как кнопка, и как ссылка.