Skip to content

CdsSurface

New in v4.0

Поверхность — контейнер с фоном из токенов, размерами, позиционированием и собственной темой. Берите её, когда блоку нужен фон дизайн-системы, а не готовый компонент: подложка панели, плашка, основа своего компонента.

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

Для карточки с заголовком и действиями возьмите CdsCard, для разделов страницы — CdsLayout. CdsSurface — самый нижний слой, без собственного содержимого и отступов.

Вариации ​

Цвет ​

Свойство color задаёт фон из токенов темы и подбирает контрастный цвет текста. Кроме surface-* подходят любые цвета палитры и произвольный CSS-цвет. Какие именно цвета скрыты за токенами, решает тема: свойство theme переключает её для поверхности и всего, что внутри неё.

Sandbox Storybook

Размеры ​

Свойства width, height, min-width, max-width, min-height и max-height принимают число (пиксели) или строку с любой CSS-единицей.

Sandbox Storybook

Позиционирование ​

Свойство position задаёт CSS-позицию, location прижимает поверхность к краю контейнера — top end, bottom start, center. Вместе они собирают плашку поверх другого блока.

Sandbox Storybook

Сценарии использования ​

Панель с итогами ​

Поверхность даёт фон и размеры, а отступы и раскладку внутри вы задаёте сами. Свойство tag меняет тег обёртки — здесь section, чтобы блок остался осмысленным в структуре страницы.

Sandbox Storybook

API ​

Пропсы

ИмяТипПо умолчаниюОписание
colorstring | undefined—Цвет фона поверхности
heightstring | number | undefined—Высота компонента
locationAnchor | null | undefined—Позиционирование элемента относительно его контейнера. Например, "top left", "center", "bottom right" и т.д.
maxHeightstring | number | undefined—Максимальная высота компонента
maxWidthstring | number | undefined—Максимальная ширина компонента
minHeightstring | number | undefined—Минимальная высота компонента
minWidthstring | number | undefined—Минимальная ширина компонента
position"absolute" | "static" | "fixed" | "relative" | "sticky" | undefined—CSS-позиционирование компонента — значение свойства position
tagstring | JSXComponent<any> | undefined'div'Пользовательский HTML-тег для отображения
themestring | undefined—Тема компонента
widthstring | number | undefined—Ширина компонента

Слоты

ИмяТипОписание
defaultanyОсновной контент поверхности.