Skip to content

CdsButtonGroup

New in v4.0

Группа кнопок объединяет несколько CdsButton в один блок: кнопки прижимаются вплотную, скругление остаётся только по краям, а общие свойства задаются один раз на группе. Так оформляют наборы связанных действий — панель операций над записью или элементы управления масштабом.

Storybook GitLab Figma
Покрытие тестами: 90% — хорошее покрытие
API в спеках
9 / 10 пропсы, события, слоты и exposed, у которых есть тест
Тест-кейсы
14 юнит · 0 браузерных
Покрытие кода
100% строк · 100% ветвей замер v4.0.0-alpha.13
A11y (axe)
нарушений нет в 1 историях замер v4.0.0-alpha.11

Если пользователь не запускает действие, а выбирает один из вариантов, используйте CdsButtonToggle — он сохраняет выбранное состояние.

Вариации ​

Свойства variant, color, base-color и size группа передаёт всем кнопкам внутри — повторять их на каждой кнопке не нужно. Свойство, заданное на самой кнопке, важнее значения группы.

Вид и цвет ​

variant и color задают вид и цвет всех кнопок группы — от залитой solid для главного набора действий до color="inverse" для тёмных подложек. Устаревший appearance тоже работает и выводит ту же пару, что у CdsButton.

Sandbox Storybook

Размеры ​

size меняет высоту и отступы всех кнопок разом — группа в панели фильтров и группа в шапке таблицы остаются согласованными.

Sandbox Storybook

Цвет ​

color красит фон кнопок алиасом палитры. Берите статусные цвета, когда группа целиком относится к одному исходу — принять или отклонить.

Sandbox Storybook

Разделители и направление ​

Без divided кнопки стоят вплотную, с ним между ними появляется линия — так соседние действия не сливаются. direction="vertical" разворачивает группу в столбец, например для кнопок масштаба на карте.

Sandbox Storybook

API ​

Пропсы

ИмяТипПо умолчаниюОписание
appearancedeprecated"inverse" | "primary" | "secondary" | "tertiary" | "transparent" | undefined—Внешний вид компонента. Устарел: используйте variant и color
baseColorstring | undefined—Цвет неактивного компонента
color(string & {}) | "neutral" | "brand" | "accent" | "danger" | "inverse" | undefined'brand'Цвет компонента: роль, алиас палитры, токен темы или CSS-цвет
direction"horizontal" | "vertical" | undefined'horizontal'Переключение между горизонтальным или вертикальным отображением.
dividedboolean | undefined—Добавляет разделители между кнопками группы.
sizenumber | "xs" | "sm" | "md" | "lg" | "xl" | undefined'md'Размер компонента
tagstring | JSXComponent<any> | undefined'div'Пользовательский HTML-тег для отображения
themestring | undefined—Тема компонента
variant"solid" | "soft" | "outline" | "surface" | "ghost" | undefined'solid'Вид компонента: solid, soft, outline, surface, ghost

Слоты

ИмяТипОписание
defaultanyКнопки группы.