ToolButton
Кнопки, которые используются для вызова инструмента, вставки вложений или для форматирования. Их можно использовать как кнопки для разового действия или для включения/выключения режима.
Компонент наследует свойства компонента Tappable,
что обеспечивает базовую функциональность для интерактивных элементов, таких как обработка событий нажатия (onClick),
отключение (disabled) и поддержка ссылок (href)
Обязательные свойства
Адаптивные иконки
Обязательные свойства IconCompact и IconRegular позволяют использовать разные иконки в зависимости от режима отображения
(см. Адаптивность | Размеры элементов интерфейса). Это помогает поддерживать доступность и удобство использования
на различных устройствах.
Контент
Внутри кнопки допускается разместить дочерний элемент (children) — текст, который будет отображаться.
За расположение контента отвечает свойство direction:
row— иконка и текст идут горизонтально, рядом (по умолчанию);column— иконка над текстом, вертикально.
Режимы отображения
Устанавливаются через свойство mode:
primary— акцентная основная кнопка, этот тип переупорядочения является первичным действием;secondary— второстепенная кнопка с полупрозрачным фоном, этот тип переупорядочения является вторичным действием;tertiary— кнопка без фона с низким акцентом, этот тип переупорядочения является вторичным действием;outline— второстепенная кнопка с обводкой с средним акцентом, этот тип переупорядочения является вторичным действием рядом сPrimaryи первичным cLink.
Визуальное оформление
Цвет
Задаётся свойством appearance.
"accent"
Значение задаёт кнопке акцентный цвет, который может меняться в зависимости от светлой или тёмной схемы.
"neutral"
Значение задаёт кнопке нейтральный цвет, который также может являться альтернативным акцентным цветом кнопки.
Скругление
Управляется свойством rounded:
- Если
true— кнопка становится круглой (50% скругление); - Не работает, если
direction="column"и есть дочерние элементы (children).
Доступность (a11y)
Компонент ToolButton автоматически выбирает правильный HTML-тег: по умолчанию это button,
а если передано свойство href, то a. Это обеспечивает базовую поддержку доступности.
Компонент поддерживает все стандартные aria-атрибуты, что позволяет переопределить поведение по умолчанию,
если это необходимо.
Кнопки с иконками
Если ToolButton содержит только иконку (без текста), обязательно добавьте aria-label с описанием действия кнопки.
Это поможет пользователям с ограниченными возможностями понять назначение кнопки.
<ToolButton
IconRegular={Icon24Add}
IconCompact={Icon20Add}
mode="primary"
appearance="accent"
aria-label="Добавить вложение"
/>Свойства и методы
| Свойство | Описание |
|---|---|
activated | booleanПозволяет управлять По умолчанию: - |
activeClassName | stringDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
activeEffectDelay | numberДлительность показа По умолчанию: - |
activeMode | StateModeLiteralСтиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active. По умолчанию: - |
appearance | "accent" | "neutral"Внешний вид компонента. По умолчанию: accent |
baseClassName | string | falseDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
baseStyle | CSSPropertiesDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
borderRadiusMode | "auto" | "inherit"Задает border-radius элементу
В режиме По умолчанию: - |
Component | ElementType<any, keyof IntrinsicElements>По умолчанию: - |
direction | "row" | "column"Направление контента. По умолчанию: row |
focusVisibleMode | FocusVisibleModeСтиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible По умолчанию: - |
getRootRef | Ref<HTMLElement>По умолчанию: - |
hasActive | booleanУказывает, должен ли компонент реагировать на По умолчанию: - |
hasHover | booleanУказывает, должен ли компонент реагировать на По умолчанию: - |
hasHoverWithChildren | booleanПозволяет родительскому компоненту
иметь Присваивается родителькому компоненту. По умолчанию: - |
hoverClassName | stringDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
hovered | booleanПозволяет управлять По умолчанию: - |
hoverMode | StateModeLiteralСтиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover. По умолчанию: - |
IconCompact | ComponentType<{ className?: string; }>Компонент иконки для компактного размера. По умолчанию: - |
IconRegular | ComponentType<{ className?: string; }>Компонент иконки для обычного размера. По умолчанию: - |
mode | "primary" | "secondary" | "tertiary" | "outline"Режим отображения компонента. По умолчанию: primary |
rounded | booleanЗадаёт По умолчанию: - |
unlockParentHover | booleanПозволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент. Присваивается дочернему компоненту. По умолчанию: - |