pnpm dlx dreamy add checkbox-cardCheckbox Card is a multipart component. The hidden checkbox input is rendered automatically inside CheckboxCard.Root — pass all checkbox props to Root.
Default Checkbox Card
This is a description
<CheckboxCard.Root>
<CheckboxCard.Header>
<CheckboxCard.Title>Default Checkbox Card</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>This is a description</CheckboxCard.Description>
</CheckboxCard.Root>Add CheckboxCard.Description below the header for supporting text.
React Router
Description for React Router
Next.js
Description for Next.js
Vue.js
Description for Vue.js
<CheckboxCard.Root full>
<CheckboxCard.Header>
<CheckboxCard.Title>React Router</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for React Router</CheckboxCard.Description>
</CheckboxCard.Root>Change the variant of the checkbox card.
Outline variant
Description for Outline variant
Subtle variant
Description for Subtle variant
<CheckboxCard.Root full variant="outline">
<CheckboxCard.Header>
<CheckboxCard.Title>Outline variant</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Outline variant</CheckboxCard.Description>
</CheckboxCard.Root>Change the checkbox variant of the checkbox card.
Solid variant
Description for Solid variant
Outline variant
Description for Outline variant
<CheckboxCard.Root full checkboxVariant="solid">
<CheckboxCard.Header>
<CheckboxCard.Title>Solid variant</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Solid variant</CheckboxCard.Description>
</CheckboxCard.Root>Change the color scheme of the checkbox card.
Primary
Description for Primary
Secondary
Description for Secondary
Success
Description for Success
Warning
Description for Warning
Error
Description for Error
Info
Description for Info
<CheckboxCard.Root full scheme="primary" defaultChecked>
<CheckboxCard.Header>
<CheckboxCard.Title>Primary</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Primary</CheckboxCard.Description>
</CheckboxCard.Root>Change the checkbox card size.
Small
Description for Small
Medium
Description for Medium
Large
Description for Large
<CheckboxCard.Root full size="sm">
<CheckboxCard.Header>
<CheckboxCard.Title>Small</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Small</CheckboxCard.Description>
</CheckboxCard.Root>Use isChecked and onChange, onChangeValue to control the checkbox card.
export function ControlledCheckboxCard() {
const [isChecked, setIsChecked] = useState(false);
return (
<>
<Text>Selected: {isChecked ? "true" : "false"}</Text>
<CheckboxCard.Root
full
isChecked={isChecked}
onChangeValue={setIsChecked}
>
<CheckboxCard.Header>
<CheckboxCard.Title>Controlled</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Controlled</CheckboxCard.Description>
</CheckboxCard.Root>
</>
);
}Use CheckboxGroup to compose multiple checkboxes or checkbox cards.
function CheckboxCardGroupControl() {
const [value, setValue] = useState<Array<string | number>>(["1"]);
return (
<>
<Text>Selected: {value.join(", ")}</Text>
<CheckboxGroup
value={value}
onChange={setValue}
>
<Group full wrapped>
<CheckboxCard.Root full value="1">
<CheckboxCard.Header>
<CheckboxCard.Title>Option 1</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Option 1</CheckboxCard.Description>
</CheckboxCard.Root>
<CheckboxCard.Root full value="2">
<CheckboxCard.Header>
<CheckboxCard.Title>Option 2</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Option 2</CheckboxCard.Description>
</CheckboxCard.Root>
<CheckboxCard.Root full value="3">
<CheckboxCard.Header>
<CheckboxCard.Title>Option 3</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for Option 3</CheckboxCard.Description>
</CheckboxCard.Root>
</Group>
</CheckboxGroup>
</>
);
}Use custom content inside CheckboxCard.Title or CheckboxCard.Description for richer layouts.
React Router
Description for React Router
Next.js
Description for Next.js
Vue.js
Description for Vue.js
<CheckboxCard.Root full>
<CheckboxCard.Header>
<CheckboxCard.Title>
<Flex col gap={2}>
<Icon as={<SiReactrouter />} boxSize="5" color="fg.medium" />
<Text>React Router</Text>
</Flex>
</CheckboxCard.Title>
<CheckboxCard.Checkbox />
</CheckboxCard.Header>
<CheckboxCard.Description>Description for React Router</CheckboxCard.Description>
</CheckboxCard.Root>Omit CheckboxCard.Checkbox to hide the checkbox indicator.
Paypal
Credit Card
Apple
<CheckboxCard.Root full>
<CheckboxCard.Header>
<CheckboxCard.Title>
<Flex full gap={2} row center>
<Icon as={<FaPaypal />} boxSize="5" color="fg.medium" />
<Text>Paypal</Text>
</Flex>
</CheckboxCard.Title>
</CheckboxCard.Header>
</CheckboxCard.Root>