A React tag component for removable labels and applied filters - TagGroup animates adds, removes and reflow.
Tag playground
Install Tag
1. New project? One command installs the package and wires everything - see Installation:
pnpm dlx zyncat-ui init2. Import the component - it loads its own stylesheet:
import { Tag } from '@zyncat/ui/tag';Usage
import { Tag, TagGroup } from '@zyncat/ui/tag'; <TagGroup ariaLabel="Labels"> <Tag icon={<HashIcon />} onRemove={handleRemove}>design</Tag></TagGroup>Compose Tag in your application. No Tailwind or external styling library is required; every value resolves from Zyncat UI's token vocabulary.
Tag props
Tag
Frequently asked questions
Pass onRemove - Tag then renders a remove button. removeLabel sets its accessible name; without it, a string label becomes "Remove {label}" automatically. Tag itself is stateless: onRemove only reports the click, and the parent removes the item from its own list.
icon takes any node, sized small and tinted to the tag's own text color. disabled marks the tag data-disabled, which dims its label, icon and remove glyph to a muted color and disables the remove button.
Tag is a user-owned, removable label - for applied filters or entries someone added themselves - while Badge communicates ambient status. Tag has no tone prop; its size is only 'md' (28px) or 'sm' (24px).