Tag
Интерактивная метка, ссылка или фильтр.
checked показывает выбор; href превращает метку в ссылку.
Живой пример
Настройки примера
Использование
'use client';
import { Tag } from '@prosazhin/pbcomponents';
import { useState } from 'react';
function Example() {
const [checked, setChecked] = useState(false);
return (
<Tag
checked={checked}
onClick={() => setChecked(!checked)}
>
Tag
</Tag>
);
}API компонента
| Prop | Тип / варианты | Назначение | По умолчанию |
|---|---|---|---|
children | string | Содержимое компонента. | — |
size | 's' | 'm's · m | Размер компонента. | m |
theme | 'light' | 'border'light · border | Оформление тега. | light |
checked | boolean | Текущее выбранное состояние. | false |
disabled | boolean | Блокирует взаимодействие. | false |
loading | boolean | Показывает процесс выполнения. | false |
leftIcon | SvgTypenone · check · search · user | Иконка перед текстом; принимает SVG-компонент. | — |
rightIcon | SvgTypenone · check · search · user | Иконка после текста; принимает SVG-компонент. | — |
leftIconClassName | string | Класс левой иконки. | — |
rightIconClassName | string | Класс правой иконки. | — |
onClick | (event) => void | Обработчик выбора тега. | — |
href | string | Рендерит ссылку вместо кнопки. | — |
linkComponent | ElementType | Компонент ссылки, например Next.js Link. | — |
target | '_self' | '_blank'_self · _blank | Где открыть ссылку. | _self |
type | 'button' | 'reset' | 'submit'button · reset · submit | Тип HTML-кнопки. | button |
className | string | Класс корневого элемента. | — |
textClassName | string | Класс текстовой части. | — |
Нативные HTML-атрибуты поддерживаются там, где компонент рендерит соответствующий элемент. Параметры className управляют только оформлением.