Button Group
Segmented Filter
A segmented control built on real radio inputs: the form holds the state, there is no client JS, and collapsed borders leave exactly one pixel between segments.
What you can change
- the set of segments through options
- the initially selected segment through defaultValue
- the accessible group name through label
A link for your AI agent: preview, code and instructions.
Preview
Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.ru/c/buttongroup-001?lang=en&theme=dark
Not sure where to paste it? Step-by-step guide
Show the full instructions
What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.
Loading…
For developers
The install command lives in the “Component source” block below — a signed link that stays valid for 24 hours.
Technical notes
The component is self-contained: one file, no dependencies, its own palette in the --vibeui-buttongroup-001-* variables. It is a server component: there are no hooks and no handlers at all. The choice is held by radios inside a fieldset, so the arrows, Home/End and the "2 of 3 selected" announcement come from the browser. The input is stretched over the whole segment and is transparent, while the look is drawn by the label. The borders are collapsed through margin-inline-start:-1px, and the rounded corners are set with logical properties on the first and last segment only. The selected segment is raised to z-index:1 and the focused one to z-index:2, otherwise a neighbour clips the accent border and the focus ring. The legend is hidden with clip-path rather than display:none: otherwise the fieldset loses its accessible name.
Tags
- buttongroup
- segmented
- radio
- filter
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…