Button Group
Table Density
Table density with a live sample: the checked radio rewrites the row-height variable on the root and the three rows below rebuild themselves without JS.
What you can change
- the option captions through compactLabel, regularLabel and roomyLabel
- the initial density 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-027?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-027-* variables. It is a server component: the choice is held by radios inside a fieldset. The technique is that the --vibeui-buttongroup-027-row variable is declared inside :where() at zero specificity, while rules of the form [data-vibeui-block]:has([data-part="segment"]:nth-of-type(2) input:checked) override it on the root; the row sample reads the variable and rebuilds itself. The segment glyph is the same three bars with the same spacing as in the sample: the caption, the glyph and the result all speak about one thing. The sample is marked aria-hidden, because for a screen reader it adds nothing to the density name.
Tags
- buttongroup
- density
- table
- css-only
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…