Skip to content

Checkbox

Open in GitHub

Open in Figma

An accessible control for toggling between checked and unchecked states. Built on native HTML checkbox.

By clicking this checkbox, you agree to the terms and conditions.

---
import { Checkbox } from '@bejamas/ui/components/checkbox';
import { Label } from '@bejamas/ui/components/label';
---
<div class="flex flex-col gap-6 not-content">
<div class="flex items-center gap-3">
<Checkbox id="terms" />
<Label for="terms">Accept terms and conditions</Label>
</div>
<div class="flex items-start gap-3">
<Checkbox id="terms-2" defaultChecked />
<div class="grid gap-2">
<Label for="terms-2">Accept terms and conditions</Label>
<p class="text-muted-foreground text-sm">
By clicking this checkbox, you agree to the terms and conditions.
</p>
</div>
</div>
<div class="flex items-center gap-3">
<Checkbox id="toggle" disabled />
<Label for="toggle">Enable notifications</Label>
</div>
<Label
class="hover:bg-accent/5 border-border flex items-start gap-3 rounded-lg border p-3 has-[:checked]:border-blue-600 has-[:checked]:bg-blue-50 dark:has-[:checked]:border-blue-900 dark:has-[:checked]:bg-blue-950"
>
<Checkbox
id="toggle-2"
defaultChecked
class="checked:border-blue-600 checked:bg-blue-600 dark:checked:border-blue-700 dark:checked:bg-blue-700"
/>
<div class="grid gap-1.5 font-normal">
<p class="text-sm leading-none font-medium">Enable notifications</p>
<p class="text-muted-foreground text-sm">
You can enable or disable notifications at any time.
</p>
</div>
</Label>
</div>
Terminal window
bunx bejamas add checkbox
---
import { Checkbox } from '@bejamas/ui/components/checkbox';
import { Label } from '@bejamas/ui/components/label';
---
<div class="flex items-center gap-3">
<Checkbox id="terms" />
<Label for="terms">Accept terms and conditions</Label>
</div>