Checkbox Card

Multi-select card control. Extends Checkbox into a clickable panel with label, description, and optional icon.

<CheckboxCardGroup className="max-w-lg grid-cols-2" defaultValue={["css"]}>  <CheckboxCard value="css">    <CheckboxCardContent>      <CheckboxCardLabel>CSS support</CheckboxCardLabel>      <CheckboxCardDescription>        Syntax highlight for CSS files      </CheckboxCardDescription>    </CheckboxCardContent>    <CheckboxCardIndicator />  </CheckboxCard>  <CheckboxCard value="cloud">    <CheckboxCardContent>      <CheckboxCardLabel>Cloud sync</CheckboxCardLabel>      <CheckboxCardDescription>        Automatic backups to the cloud      </CheckboxCardDescription>    </CheckboxCardContent>    <CheckboxCardIndicator />  </CheckboxCard></CheckboxCardGroup>

Usage

import {
  CheckboxCard,
  CheckboxCardContent,
  CheckboxCardDescription,
  CheckboxCardGroup,
  CheckboxCardIndicator,
  CheckboxCardLabel,
} from "@reva/ui";

Wrap cards in CheckboxCardGroup for multi-select state management. Each CheckboxCard requires a value prop when used inside a group.

Composition

Use the following composition to build a CheckboxCard :

CheckboxCardGroup
  CheckboxCard
    CheckboxCardIcon
    CheckboxCardContent
      CheckboxCardLabel
      CheckboxCardDescription
    CheckboxCardIndicator

Examples

With icons

<CheckboxCardGroup className="max-w-2xl grid-cols-3" defaultValue={["css"]}>  <CheckboxCard value="css">    <CheckboxCardContent>      <CheckboxCardIcon>        <FileCode />      </CheckboxCardIcon>      <CheckboxCardLabel>CSS support</CheckboxCardLabel>      <CheckboxCardDescription>        Enable autocomplete and syntax highlight for CSS files      </CheckboxCardDescription>    </CheckboxCardContent>    <CheckboxCardIndicator />  </CheckboxCard>  <CheckboxCard value="cloud">    <CheckboxCardContent>      <CheckboxCardIcon>        <CloudArrowUp />      </CheckboxCardIcon>      <CheckboxCardLabel>Cloud sync</CheckboxCardLabel>      <CheckboxCardDescription>        Enable automatic backups to the cloud      </CheckboxCardDescription>    </CheckboxCardContent>    <CheckboxCardIndicator />  </CheckboxCard>  <CheckboxCard value="excel">    <CheckboxCardContent>      <CheckboxCardIcon>        <File />      </CheckboxCardIcon>      <CheckboxCardLabel>Excel export</CheckboxCardLabel>      <CheckboxCardDescription>        Allow users to export data to Excel files locally      </CheckboxCardDescription>    </CheckboxCardContent>    <CheckboxCardIndicator />  </CheckboxCard></CheckboxCardGroup>

Disabled

<CheckboxCardGroup className="max-w-sm" disabled>  <CheckboxCard value="a">    <CheckboxCardContent>      <CheckboxCardLabel>Disabled option</CheckboxCardLabel>      <CheckboxCardDescription>Cannot be selected</CheckboxCardDescription>    </CheckboxCardContent>    <CheckboxCardIndicator />  </CheckboxCard></CheckboxCardGroup>

Props

CheckboxCardGroup

PropTypeDefaultDescription
defaultValuestring[][]Initial selected values (uncontrolled).
valuestring[]Controlled selected values.
onValueChange(value: string[]) => voidCalled when selection changes.
disabledbooleanDisables all cards in the group.

CheckboxCard

PropTypeDefaultDescription
valuestringRequired inside a group. Identifies this card.
checked / defaultCheckedbooleanStandalone controlled / uncontrolled state.
onCheckedChange(checked: boolean) => voidStandalone change handler.
disabledbooleanDisables this card.

On this page