Checkbox

A checkbox allows users to select one or more options from a group. Its styling reproduces the WinUI 3 (Windows App SDK) CheckBox, and its interaction primitives reuse reka-ui. When transitioning from "unchecked" to "checked / indeterminate", the glyph eases in from left to right (matching the WinUI CheckGlyph drawing animation); when unchecking, the glyph disappears immediately.

Basic usage

Bind a boolean value with v-model; by default the checkbox toggles after a single click.

Agree: false · Subscribe: true

Basic usage

Indeterminate (three-state)

modelValue supports true / false / 'indeterminate'. The indeterminate state renders as a horizontal-bar glyph, and clicking again enters the checked state. When used with "select all", first read the child items, then write back to each child item.

Select all · Indeterminate state

Disabled

When disabled, it is not interactive, and the fill, stroke, glyph, and text fall into the disabled tier (matching WinUI ControlStrokeColorDisabled / AccentFillColorDisabled).

Disabled state

Form submission

When placed inside a <form> with a name prop, a hidden native <input type="checkbox"> is automatically injected, and the checked result is submitted with the form (value is used as the submitted value, defaulting to "on").

Agree: false · Subscribe: true

Form submission

API

Prop (Props)TypeDefaultDescription
modelValueboolean | 'indeterminate' | nullfalseChecked state (v-model)
disabledbooleanfalseWhether the checkbox is disabled
namestring—Form submission name, paired with the hidden native input
valueAcceptableValue'on'Value submitted to the backend when checked

The box is fixed at 20px (matching WinUI CheckBoxSize = 20) and does not scale with size.

v0.5.0-alpha.1