skip to the page
superthread
componentscheckbox
system
superthread
version
2.0.0-next.1
date
25.10.26

checkbox

a square box with the input's edge. checked fills it with the house ink; mixed means some, not all, and prints the ink at half.

bunx --bun shadcn@latest add @mk/checkbox

example

the box sits inside its label, so a click on the words checks it too. the box named “every ship” is the parent of the six under it: pick a few and it turns mixed, check it and it picks them all.

light

dark

mixedsome, not all: the classic half

states

a checkbox is a control, not a field, so keyboard focus draws the 2 px house ring 2 px outside the box, as a button’s does.

light

empty
1 px input edge

checked
house ink, tick

mixed
ink at 50 percent

focus
2 px ring, 2 px out

invalid
1 px error edge

disabled
flat fill

disabled, checked
flat, tick dimmed

dark

empty
1 px input edge

checked
house ink, tick

mixed
ink at 50 percent

focus
2 px ring, 2 px out

invalid
1 px error edge

disabled
flat fill

disabled, checked
flat, tick dimmed