Cell
Расширенная версия SimpleCell
с поддержкой удаления, перетаскивания и выбора элементов.
Используется для создания интерактивных списков с расширенной функциональностью.
Основные режимы
mode="removable"
Добавляет кнопку удаления:
mode="selectable"
Добавляет чекбокс выбора:
draggable
Включает возможность перетаскивания. При использовании данного режима обязательно
оборачивайте Cell
в компонент List
.
Пример можно увидеть в документации компонента List
.
Ограничения
- Перетаскивание работает только внутри
List
. - Не меняет порядок
DOM
-элементов автоматически.
Комбинирование режимов
Одноврменно вы можете использовать перетаскиваемые ячейки либо с mode="removable"
, либо с mode="selectable"
.
Одновременно удалять, перетаскивать и выбирать ячейки нельзя.
Cell.Checkbox
Используйте подкомпонент Cell.Checkbox
для возможности размещать чекбокс по бокам
(передавайте его в свойства before
или after
). С помощью данного подкомпонента также можно изменить
внешний вид чекбоксов.
List
Специализированный контейнер для работы с компонентами <Cell draggable />
.
Обеспечивает правильное отображение и взаимодействие элементов.
Также можно использовать как семантический контейнер для обычных Cell
.
Отступы между элементами
Контролируется свойством gap
:
<List gap={16}>
<Cell before={<Icon28User />}>Профиль</Cell>
<Cell before={<Icon28Settings />}>Настройки</Cell>
</List>
Доступность (a11y)
- Автоматически добавляет
role="list"
.
Свойства и методы
Cell
Свойство | Описание |
---|---|
activated | boolean Позволяет управлять По умолчанию: - |
activeClassName | string Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
activeEffectDelay | number Длительность показа По умолчанию: - |
activeMode | StateModeLiteral Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active. По умолчанию: - |
after | ReactNode Иконка 24|28 или По умолчанию: - |
badgeAfterSubtitle | ReactNode Иконка 12. Добавится справа от текста По умолчанию: - |
badgeAfterTitle | ReactNode Иконка 12 или По умолчанию: - |
badgeBeforeSubtitle | ReactNode Иконка 12. Добавится слева от текста По умолчанию: - |
badgeBeforeTitle | ReactNode Иконка 12 или По умолчанию: - |
baseClassName | string | false Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
baseStyle | CSSProperties Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
before | ReactNode Иконка 28 или По умолчанию: - |
borderRadiusMode | "auto" | "inherit" Задает border-radius элементу
В режиме По умолчанию: - |
checked | boolean В режиме По умолчанию: - |
chevron | "auto" | "always" Управляет видимостью иконки шеврона
По умолчанию: - |
chevronSize | "s" | "m" Размер chevron. По умолчанию: - |
Component | ElementType<any, keyof IntrinsicElements> По умолчанию: - |
defaultChecked | boolean В режиме По умолчанию: - |
disabled | boolean Блокировка взаимодействия с компонентом. По умолчанию: - |
draggable | boolean В режиме перетаскивания ячейка перестает реагировать на нажатие, то есть при нажатии переданный По умолчанию: - |
draggerLabel | string Текст для кнопки перетаскивания ячейки. По умолчанию: Перенести ячейку |
extraSubtitle | ReactNode Дополнительная строка текста под По умолчанию: - |
focusVisibleMode | FocusVisibleMode Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible По умолчанию: - |
getRootRef | Ref<HTMLDivElement> По умолчанию: - |
hasActive | boolean Указывает, должен ли компонент реагировать на По умолчанию: - |
hasHover | boolean Указывает, должен ли компонент реагировать на По умолчанию: - |
hasHoverWithChildren | boolean Позволяет родительскому компоненту
иметь Присваивается родителькому компоненту. По умолчанию: - |
hoverClassName | string Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
hovered | boolean Позволяет управлять По умолчанию: - |
hoverMode | StateModeLiteral Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover. По умолчанию: - |
indicator | ReactNode Контейнер для текста справа от По умолчанию: - |
mode | "selectable" | "removable" Режим отображения ячейки:
По умолчанию: - |
multiline | boolean Включает многострочный режим для отображения текста. По умолчанию: - |
name | string Имя для По умолчанию: - |
onDragFinish | ((swappedItemRange: SwappedItemRange) => void) Обработчик, срабатывающий при завершении перетаскивания.
Важно: режим перетаскивания не меняет порядок ячеек в DOM. В обработчике есть объект с полями По умолчанию: - |
onRemove | ((e: MouseEvent<Element, MouseEvent>, rootEl?: HTMLElement | null) => void) | undefined Обработчик, срабатывающий при нажатии на контрол удаления. По умолчанию: - |
overTitle | ReactNode Дополнительная строка текста над По умолчанию: - |
removeButtonTestId | string Передает атрибут По умолчанию: - |
removePlaceholder | ReactNode Текст кнопки удаления ячейки. Визуально скрыт везде, кроме iOS. На iOS появляется в выезжающей кнопке для удаления ячейки. По умолчанию: Удалить |
subtitle | ReactNode Дополнительная строка текста под По умолчанию: - |
toggleButtonTestId | string Передает атрибут По умолчанию: - |
unlockParentHover | boolean Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент. Присваивается дочернему компоненту. По умолчанию: - |
List
Свойство | Описание |
---|---|
gap | number Задает отступ между элементами. По умолчанию: 0 |
getRootRef | Ref<HTMLDivElement> По умолчанию: - |