Vesture
Get started

Inputs

Checkbox

A checkbox built on a visually-hidden native input, so it keeps full native form semantics while the visible box is styled from tokens.

Checkbox

Preview

Usage

tsx
import { Checkbox } from "@vesture/react";

<Checkbox
  label="Accept terms"
  checked={accepted}
  onChange={(e) => setAccepted(e.target.checked)}
/>

Props

PropTypeDefaultDescription
labelReactNodeRendered inside the wrapping <label>, after the visual box.
indeterminatebooleanfalseSets the DOM .indeterminate property (a dash, not the browser-native attribute) — for "some but not all children selected" states, e.g. TreeView's cascading checkboxes.
...restOmit<InputHTMLAttributes<HTMLInputElement>, "type">Spread onto the hidden native input — checked, defaultChecked, onChange, disabled.