Checkbox Group

A named set of checkboxes. The fieldset, and nothing more.

import { CheckboxGroup } from "@dede-style/ui/checkbox", then <CheckboxGroup label="Notifications"> around the Checkboxes. It renders a real <fieldset> with the label as its <legend>, and holds no state: each box inside stays controlled on its own.

Notifications
PropDescriptionDefaultControl
labelthe group's name, shown above the options. Required
hideLabelhide the name visually but keep it for screen readers, when a heading already says itfalse
isDisableddisables every checkbox in the groupfalse

Tokens

What a theme can move, where the props above are what an instance can move.

CheckboxGroup has none, and that is a decision rather than an omission. Every value it renders already resolves through a foundation token or a role, so a theme moves it by moving those. A component token earns its place only when a theme needs to change one component without changing the role beneath it.

These are public and overridable — there is no private custom property, because anything on :root is reachable by any stylesheet. What replaces privacy is a stability contract: primitives may move, roles are the guarantee, and these are the per-component escape from both.