File: checkbox-cards.md | Updated: 11/15/2025
ThemesThemes PrimitivesPrimitives IconsIcons ColorsColors
Getting started Styling Layout Releases Resources
Overview Color Dark mode Typography Spacing Breakpoints Radius Shadows Cursors
Box Flex Grid Container Section
Text Heading Blockquote Code Em Kbd Link Quote Strong
Alert Dialog Aspect Ratio Avatar Badge Button Callout Card Checkbox Checkbox Group Checkbox Cards Context Menu Data List Dialog Dropdown Menu Hover Card Icon Button Inset Popover Progress Radio Radio Group Radio Cards Scroll Area Segmented Control Select Separator Skeleton Slider Spinner Switch Table Tabs Tab Nav Text Area Text Field Tooltip
Accessible Icon Portal Reset Slot Theme Visually Hidden
Components
Set of interactive cards where multiple options can be selected at a time.
View source Report an issue View in Playground
A1 KeyboardUS Layout
Pro MouseZero-lag wireless
Lightning MatWireless charging
<Box maxWidth="600px">
<CheckboxCards.Root defaultValue={["1"]} columns={{ initial: "1", sm: "3" }}>
<CheckboxCards.Item value="1">
<Flex direction="column" width="100%">
<Text weight="bold">A1 Keyboard</Text>
<Text>US Layout</Text>
</Flex>
</CheckboxCards.Item>
<CheckboxCards.Item value="2">
<Flex direction="column" width="100%">
<Text weight="bold">Pro Mouse</Text>
<Text>Zero-lag wireless</Text>
</Flex>
</CheckboxCards.Item>
<CheckboxCards.Item value="3">
<Flex direction="column" width="100%">
<Text weight="bold">Lightning Mat</Text>
<Text>Wireless charging</Text>
</Flex>
</CheckboxCards.Item>
</CheckboxCards.Root>
</Box>
This component is based on the div element and supports common margin props
.
| Prop | Type | Default |
| --- | --- | --- |
| asChild<br><br>Prop description | boolean | No default value |
| size | Responsive<"1" \| "2" \| "3"> | "2" |
| variant<br><br>Prop description | "surface" \| "classic" | "surface" |
| color<br><br>Prop description | enum<br><br>See full type | No default value |
| highContrast<br><br>Prop description | boolean | No default value |
| columns | Responsive<enum \| string><br><br>See full type | "repeat(auto-fit, minmax(200px, 1fr))" |
| gap | Responsive<enum \| string><br><br>See full type | "4" |
An item in the group that can be checked.
Use the size prop to control the size.
Agree to Terms
Agree to Terms
Agree to Terms
<Flex align="center" gap="3">
<CheckboxCards.Root defaultValue={["1"]} size="1">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} size="2">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} size="3">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
</Flex>
Use the variant prop to control the visual style.
Agree to Terms
Agree to Terms
<Flex direction="column" gap="3" maxWidth="200px">
<CheckboxCards.Root defaultValue={["1"]} variant="surface">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} variant="classic">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
</Flex>
Use the color prop to assign a specific color
.
Agree to Terms
Agree to Terms
Agree to Terms
Agree to Terms
<Flex direction="column" gap="3" maxWidth="200px">
<CheckboxCards.Root defaultValue={["1"]} color="indigo">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="cyan">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="orange">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="crimson">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
</Flex>
Use the highContrast prop to increase color contrast with the background.
Agree to Terms
Agree to Terms
Agree to Terms
Agree to Terms
Agree to Terms
Agree to Terms
Agree to Terms
Agree to Terms
<Grid columns="2" gap="3" display="inline-grid">
<CheckboxCards.Root defaultValue={["1"]} color="indigo">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="indigo" highContrast>
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="cyan">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="cyan" highContrast>
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="orange">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="orange" highContrast>
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="crimson">
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root defaultValue={["1"]} color="crimson" highContrast>
<CheckboxCards.Item value="1">Agree to Terms</CheckboxCards.Item>
</CheckboxCards.Root>
</Grid>
OffOn
OffOn
<Flex direction="column" gap="4" maxWidth="450px">
<CheckboxCards.Root columns="2" defaultValue="2">
<CheckboxCards.Item value="1">Off</CheckboxCards.Item>
<CheckboxCards.Item value="2">On</CheckboxCards.Item>
</CheckboxCards.Root>
<CheckboxCards.Root columns="2" defaultValue="2">
<CheckboxCards.Item value="1" disabled>
Off
</CheckboxCards.Item>
<CheckboxCards.Item value="2" disabled>
On
</CheckboxCards.Item>
</CheckboxCards.Root>
</Flex>
PreviousCheckbox Group
NextContext Menu