Button
2 props
ReactNodestringNotes
Inspect the segmented row and the compact icon action you pointed at, with the updated hover motion and softer settling behavior.
The segmented row keeps the same bordered shell while the hover surface glides smoothly between items.
The icon button now uses a softer lift and calmer icon settle on hover instead of the sharper bounce.
Install the component directly into your codebase, then branch into v0 if you want to iterate on variations.
Install
Build with v0
Send the registry bundle into v0 when you want to explore new colorways, copy, or layout directions quickly.
Notes
Use the segmented row for adjacent view switches, then pair it with icon-only actions when you need a smaller utility control.
"use client"; import { Bell, Grid2x2, List, Table2 } from "lucide-react";import { ButtonGroupItems, IconButton } from "@/components/ui/button-group"; export function ViewControls() { return ( <div className="space-y-6"> <ButtonGroupItems> <button type="button"> <List className="size-4" /> List </button> <button type="button"> <Grid2x2 className="size-4" /> Board </button> <button type="button"> <Table2 className="size-4" /> Table </button> </ButtonGroupItems> <IconButton aria-label="Notifications" type="button"> <Bell className="size-4" /> </IconButton> </div> );}Each item below covers the documented props and the behavior that matters during implementation.
2 props
ReactNodestringNotes
2 props
ReactNodestring2 props
ReactNodestring2 props
ReactNodestringNotes
5 props
string[]string(value: string) => voidstringstring"segmented-indicator"