Button Group
Quantity Stepper
A quantity you can both click and type: a real input[type=number] sits between the buttons, and the value is clamped on blur.
What you can change
- the initial quantity through defaultValue
- the bounds through min and max
- the unit caption through unit and the accessible 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-044?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-044-* variables. It is a client component: useState holds the input string rather than a number — otherwise typing "12" into a field with a maximum of 20 would be impossible, as "1" would already hit the minimum. The clamping to the range happens on onBlur and on a button press. The browser's native spinners are removed through appearance:textfield and ::-webkit-inner-spin-button: they duplicate the buttons and at sixteen pixels cannot be hit. The unit of measure stands inside the field as a separate node, so it does not interfere with typing. The focus ring is drawn on the field cell through :has(input:focus-visible), because the input's own outline is removed.
Tags
- buttongroup
- stepper
- number
- input
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…