Accordion

view
size
arrowPosition
multiple
import {Accordion} from '@gravity-ui/uikit';

Компонент Accordion позволяет создавать сворачиваемые панели контента, где пользователи могут показывать или скрывать разделы информации. Это полезно для организации больших объемов контента в компактном виде.

Управление состоянием аккордеона

Вы можете управлять состоянием аккордеона, используя свойства value и onUpdate корневого компонента или для каждого элемента отдельно.

Пример управления состоянием из корневого компонента:

Настройте параметры вашего приложения
Управляйте настройками уведомлений

Пример управления состоянием для каждого элемента через свойство expanded:

Настройте параметры вашего приложения
Управляйте настройками уведомлений

Размер

Используйте свойство size для управления размером Accordion. Размер по умолчанию — m.

Содержимое для среднего аккордеона
Содержимое для большого аккордеона
Содержимое для очень большого аккордеона

Внешний вид

solid: Основной вид с фоном (используется по умолчанию).

top-bottom: Вид с верхней и нижней границами.

Содержимое со сплошным фоном
Больше содержимого
Содержимое с верхней и нижней границами
Больше содержимого

Позиция стрелки

end: Стрелка расположена в конце заголовка (используется по умолчанию).

start: Стрелка расположена в начале заголовка.

Содержимое со стрелкой в конце
Содержимое со стрелкой в начале

Множественное раскрытие

Свойство multiple позволяет одновременно раскрывать несколько элементов аккордеона.

Содержимое первого элемента
Содержимое второго элемента
Содержимое третьего элемента

Пользовательский заголовок

Используйте компонент Accordion.Summary для создания пользовательского заголовка.

Содержимое с пользовательским компонентом заголовка
Содержимое с обычным свойством заголовка

Отключенное состояние

Отдельные элементы аккордеона могут быть отключены с помощью свойства disabled.

Этот элемент активен и может быть раскрыт
Этот элемент отключен и не может быть раскрыт

Свойства

Accordion

НазваниеОписаниеТипПо умолчанию
sizeРазмер аккордеона"m" "l" "xl""m"
viewВнешний вид аккордеона"solid" "top-bottom""solid"
multipleРазрешить одновременное раскрытие нескольких элементовbooleanfalse
arrowPositionПозиция индикатора стрелки"start" "end""end"
defaultValueЗначение по умолчанию для неконтролируемого состоянияstring string[] undefined
valueТекущее значение для контролируемого состоянияstring string[] undefined
onUpdateФункция обратного вызова, вызываемая при изменении состоянияFunction
ariaLevelУровень заголовка для доступностиnumber3
classNameCSS классstring
qaHTML атрибут data-qa, используется для тестированияstring

Accordion.Item

НазваниеОписаниеТипПо умолчанию
valueУникальный идентификатор элементаstring
summaryЗаголовок элемента аккордеонаReact.ReactNode
expandedКонтролируемое состояние раскрытияboolean
defaultExpandedСостояние раскрытия по умолчаниюboolean
disabledОтключает элемент аккордеонаbooleanfalse
keepMountedСохранять содержимое в DOM даже при сворачиванииboolean
onUpdateФункция обратного вызова, вызываемая при изменении состояния элементаFunction
classNameCSS классstring
qaHTML атрибут data-qa, используется для тестированияstring

Accordion.Summary

НазваниеОписаниеТипПо умолчанию
childrenПользовательская функция рендеринга заголовка(props, defaultSummary) => React.ReactElement
qaHTML атрибут data-qa, используется для тестирования. Работает только если qa передан в Accordion.Itemstring${accordion-item}-summary если qa передан в Accordion.Item, disclosure-summary если нет

CSS API

НазваниеОписание
--g-accordion-padding-inlineГоризонтальные отступы для аккордеона