Skip to Content

Checkbox

A form control component that allows users to select one or multiple items from a list.

Usage

import { Checkbox } from "@rhinolabs/ui" export default function CheckboxDemo() { return ( <div className="flex items-center space-x-2"> <Checkbox id="terms" /> <label htmlFor="terms" className="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" > Accept terms and conditions </label> </div> ) }

Examples

Basic Checkbox

A simple checkbox with a label.

<div className="flex items-center space-x-2"> <Checkbox id="terms" /> <label htmlFor="terms">Accept terms and conditions</label> </div>

Disabled State

A checkbox that cannot be interacted with.

<div className="flex items-center space-x-2"> <Checkbox id="disabled" disabled /> <label htmlFor="disabled" className="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" > Disabled </label> </div>

With Form

Using checkbox in a form context.

<form> <div className="space-y-2"> <div className="flex items-center space-x-2"> <Checkbox id="email" /> <label htmlFor="email">Email updates</label> </div> <div className="flex items-center space-x-2"> <Checkbox id="marketing" /> <label htmlFor="marketing">Marketing emails</label> </div> </div> </form>

Props

PropTypeDefaultDescription
checkedboolean-The controlled checked state
defaultCheckedboolean-The default checked state
disabledboolean-Whether the checkbox is disabled
requiredboolean-Whether the checkbox is required
onCheckedChange(checked: boolean) => void-Callback when checked state changes

The Checkbox component also accepts all HTML input attributes.

Design Considerations

  • Use clear and concise labels
  • Group related checkboxes
  • Maintain consistent spacing
  • Consider touch targets
  • Provide visual feedback

Accessibility

  • Supports keyboard navigation
  • Includes proper ARIA attributes
  • Maintains focus states
  • Provides visual feedback
  • Links label with input
Last updated on