Lucent UI
SliderCheckboxRadio
✦ LLM-ready

Checkbox

atom

Labelled checkbox with checked, indeterminate, and disabled states. Available in three sizes (sm/md/lg). The contained prop wraps the checkbox in a border-strong container — checked fills with a neutral color-mix(textPrimary 6%) background, unchecked is transparent outline only. No hover state on contained wrappers. Ideal for plan selection and feature toggles.

"Add a Checkbox from lucent-ui for a 'terms and conditions' acceptance. Make it controlled and show an error if the user tries to proceed without checking it."

Usage

React / JSX
import { Checkbox } from 'lucent-ui'

<Checkbox label="Checkbox" size="md" />

Installation

pnpm add lucent-ui

API Reference

Checkbox props — * required

PropTypeDefaultDescription
labelstringText label next to the checkbox.
checkedbooleanControlled checked state.
defaultCheckedbooleanUncontrolled initial checked state.
indeterminatebooleanfalseVisually indeterminate state (dash icon), used for parent checkboxes.
disabledbooleanfalsePrevents interaction.
size"sm" | "md" | "lg""md"Checkbox size.
containedbooleanfalseWraps the checkbox in a border-strong container. Checked fills with neutral color-mix(textPrimary 6%) background; unchecked is transparent.
helperTextstringSecondary text displayed below the label.
onChange(e: React.ChangeEvent<HTMLInputElement>) => voidChange handler.