ToggleGroup
ToggleGroup wraps Base UI’s toggle group and applies Density size attributes to the group.
import { useState } from "react";
import { Toggle, ToggleGroup } from "density-base-ui";
import { Grid2X2, List } from "lucide-react";
export default function ToggleGroupExample() {
const [value, setValue] = useState(["list"]);
return (
<ToggleGroup
value={value}
onValueChange={setValue}
aria-label="View layout"
>
<Toggle value="list" aria-label="List view">
<List aria-hidden="true" size={16} strokeWidth={1.75} />
</Toggle>
<Toggle value="grid" aria-label="Grid view">
<Grid2X2 aria-hidden="true" size={16} strokeWidth={1.75} />
</Toggle>
</ToggleGroup>
);
}Props
| Prop | Attribute | Values | Default |
|---|---|---|---|
presentation |
data-dn-presentation |
button-group |
button-group |
size |
data-dn-size |
2xs, xs, sm, md, lg, xl, 2xl, 3xl |
md |
| Other props | Mixed | Base UI toggle group props | None |
Size
import { Toggle, ToggleGroup } from "density-base-ui";
export default function ToggleGroupSizeExample() {
return (
<div style={{ display: "grid", gap: "0.75rem" }}>
<ToggleGroup size="2xs" value={["day"]} aria-label="2xs range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
<ToggleGroup size="xs" value={["day"]} aria-label="xs range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
<ToggleGroup size="sm" value={["day"]} aria-label="sm range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
<ToggleGroup size="md" value={["day"]} aria-label="md range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
<ToggleGroup size="lg" value={["day"]} aria-label="lg range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
<ToggleGroup size="xl" value={["day"]} aria-label="xl range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
<ToggleGroup size="2xl" value={["day"]} aria-label="2xl range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
<ToggleGroup size="3xl" value={["day"]} aria-label="3xl range">
<Toggle value="day">Day</Toggle>
<Toggle value="week">Week</Toggle>
</ToggleGroup>
</div>
);
}