Group
Joins related buttons, or an input and its button, into one segmented frame. The controls share no state.
Paste this into your agent.
Group builds split buttons, segmented action sets, zoom controls, or a search input joined to its submit button. Each control keeps its own behavior and tab stop.
Install
bashnpx shadcn@4.18.0 add @siteplane/group
Import it from @/siteplane/components/group. The project needs Siteplane UI's one-time setup first: .
When to pick it
- vs : Pick Toolbar when the controls should share one tab stop with arrow-key navigation.
- vs : Pick Toggle Group when the segments share a pressed selection.
- vs : Pick Input Group when the addon belongs inside one input surface.
Rules
- Name each Group with
aria-labeloraria-labelledby. - Use
GroupTextfor a fixed prefix or unit and give the input its own accessible name. - Wrap an input-plus-button Group in a Form, with
type="submit"on the button, so pressing Enter sends it. - Give icon-only segments
shape="square"instead of a fixed icon size so heights match. - Use
GroupSeparatorbetween non-button controls, orseparator="inset"for button rows.
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
Adaptby pbakaus
Adapt designs across breakpoints, device contexts, and platform constraints with responsive interaction quality.
InteractionExternalGitHub stars: 95.1K
Animateby pbakaus
Enhance UX with purposeful animation and micro-interactions that support usability and delight.
MotionExternalGitHub stars: 95.1K
Animate Expoby emilkowalski
Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web animation use animate.
MotionExternalGitHub stars: 51.4K
Animation on Scrollby MengTo
Use when you need scroll-driven motion that feels intentional instead of noisy or overdone.
MotionExternalGitHub stars: 7.1K