Tag Group
A keyboard-navigable set of tags that can be selected or removed, with animated adds and removals.
Paste this into your agent.
Tag Group shows a collection of short labels that people interact with, such as applied filters, project labels or chosen recipients. It handles arrow-key focus, removal by keyboard and focus recovery after a tag leaves.
Install
bashnpx shadcn@4.18.0 add @siteplane/tag-group
Import it from @/siteplane/components/tag-group. The project needs Siteplane UI's one-time setup first: .
When to pick it
- vs : Pick Badge for a static label that nobody selects or removes.
- vs : Inside a Filter Bar, put the removable tags in its active-filters row.
Rules
- Make a tag selectable with
selectedplusonSelectedChange, or withdefaultSelectedfor tag-owned state. - Pass
onRemoveto give each tag a remove button and keyboard deletion; drop the tag from your state in the handler and label the button withremoveLabel. - Use stable React keys, never the index, or the wrong tag animates out.
- Render
Tagelements directly insideTagGroup(fragments are fine) and do not wrap each tag in your own component. - Set
sizeonce on the group so every tag matches.
Reference
Add to your agent
Print this skill from the terminal, or connect the whole catalog over MCP. Setup guides
CLI
MCP server
Questions
Related skills
Accessible Focus Statesby UI Skillbook
Keep a visible, high-contrast focus indicator on every interactive element, without a generic browser outline or none at all.
Accessibility
Better Accessibilityby jakubkrehel
Review and improve focus states, keyboard support, ARIA, forms, screen readers, hit areas, and motion accessibility.
AccessibilityExternalGitHub stars: 9.2K
Build Primitiveby PrototyperAI
Build foundational UI primitives from scratch with strong ARIA, keyboard, focus, and state handling.
AccessibilityExternalGitHub stars: 7
Link Purposeby AccessLint
Compatibility listing for link-purpose installs from AccessLint's marketplace skill set.
AccessibilityExternalGitHub stars: 114