Перейти к основному содержанию

Обзор

Используйте Chip для компактных ссылок на людей, записи или файлы. Используйте Tag для цветных категорий и Status для состояний рабочего процесса.

Использование

Дочерние элементы принимают текст или узлы. startElement и endElement принимают аватары, значки или другое содержимое. endElementDivider добавляет разделитель перед конечным содержимым. По умолчанию chip — это div; его слоты могут содержать отдельное действие, при этом сам chip остаётся презентационным. Chip никогда не вставляет метку. При необходимости предоставьте переведённый резервный вариант из вашего приложения. Не указывайте children для содержимого, полностью состоящего из слотов. Интерактивному chip только со значком требуется доступное имя, предоставленное вызывающей стороной.

Внешний вид

size принимает значения sm или md с общей высотой 20px и 24px. variant принимает значения ghost, soft, solid, plain или outline; по умолчанию используется ghost. Чипы plain не имеют заливки в состоянии покоя или начального внутреннего отступа. Контурные чипы имеют заметную границу толщиной 1px, более светлую заливку в обычном состоянии и внутренний горизонтальный отступ 8px с каждой стороны при той же общей высоте, что и у других вариантов. Интерактивные чипы plain и outline используют фоны ghost при наведении и нажатии, курсор-указатель и кольцо фокуса. Используйте shape="round" для формы таблетки, weight="medium" для выделения и color="secondary" для вторичного текста.

Кнопки и ссылки

Указание onClick сохраняет div по умолчанию. Используйте render для компоновки явной нативной кнопки, якоря, ссылки маршрутизатора или другого подходящего владельца. Нативные атрибуты, обработчики, стили и корневая ссылка достигают этого владельца. Нативная кнопка обеспечивает активацию с клавиатуры и поведение в отключённом состоянии. Chip распознаёт нативное отключённое состояние и aria-disabled для внешнего вида; один только aria-disabled не предотвращает активацию. clickable управляет внешним видом при наведении и указателе и по умолчанию зависит от того, указан ли onClick. Явно укажите его для ссылки без обработчика клика. Не вкладывайте кнопки или ссылки внутрь chip, который сам является интерактивным.
Текст URL остаётся обычным текстом. Преднамеренные ссылки должны находиться в содержимом вызывающей стороны или в явной компоновке корневого элемента.

Обрезка и всплывающие подсказки

maxWidth ограничивает ширину отображаемого чипа в пикселях, включая внутренние отступы и границу обводки. То же ограничение применяется к простым чипам с асимметричными внутренними отступами. По умолчанию содержимое обрезается с многоточием; truncate={false} оставляет его без ограничений обрезки. Строковые children предоставляют собственный текст всплывающей подсказки. Укажите tooltipContent для пользовательского текста или содержимого узла, tooltipDelay для задержки открытия и isTooltipMultiline для сохранения разрывов строк. alwaysShowTooltip также включает всплывающую подсказку, когда содержимое помещается. Эти параметры соответствуют OverflowingTextWithTooltip. Сохраняйте доступность важной информации без зависимости от наведения.

Миграция

Замените emptyLabel резервными children, предоставленными вызывающей стороной, а forceEmptyText или isLabelHidden — отсутствующими children. Храните переведённые резервные варианты продукта в приложении. Замените tooltipLabel на tooltipContent. Перенесите disabled к явному интерактивному владельцу и удалите nativeButton. Добавьте нативную кнопку или ссылку через render везде, где chip ранее полагался на onClick для выбора своего элемента. Переопределения начального внутреннего отступа замените на variant="plain". Оставляйте clickable включенным для нативных ссылок и кнопок, которым требуется обратная связь при наведении и нажатии.

Свойства

Типы и значения по умолчанию генерируются из публичных типов компонента. Также принимаются нативные атрибуты и обработчики событий.
boolean
по умолчанию:"false"
Shows the content tooltip even when the content is not truncated.
ReactNode
Caller-owned content. Missing or empty children add no fallback label.
boolean
по умолчанию:"isDefined(onClick)"
Enables hover and pointer styling. Defaults to whether onClick is supplied; does not change the default div or add keyboard behavior.
"primary" | "secondary"
по умолчанию:"primary"
Primary or secondary text color.
ReactNode
Content after the label. Avoid interactive content when the chip itself is a button or link.
boolean
по умолчанию:"false"
Adds a divider before endElement when that slot has content.
boolean
Preserves line breaks in the tooltip text.
number
Maximum rendered chip width in pixels, including its leading and trailing padding and any outline border.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, {}>
Replaces the default div. Compose a native button or link explicitly; that owner supplies disabled and native interaction behavior.
"round" | "square"
по умолчанию:"square"
Square or round corners.
"md" | "sm"
по умолчанию:"sm"
Visual size of the chip.
ReactNode
Content before the label, such as an avatar or icon.
string
Tooltip text. Defaults to string children. Supply text explicitly for node content.
number
Delay in milliseconds before the tooltip opens.
"bottom" | "inline-end" | "inline-start" | "left" | "right" | "top"
Position of the content tooltip.
boolean
по умолчанию:"true"
Truncates overflowing content with an ellipsis. Defaults to true.
"ghost" | "outline" | "plain" | "soft" | "solid"
по умолчанию:"ghost"
Background and border treatment. Outline has a strong border, lighter resting fill and 8px inline padding. Plain has no resting fill or leading padding. Both use ghost hover and pressed feedback when clickable.
"medium" | "regular"
по умолчанию:"regular"
Font weight of the content.