Preview controls could not be applied. The static default fixture remains available.
§01
Contract
Semantics first
Anatomy
Uses fieldset and legend; each option is a labelled native checkbox sharing the submitted name.
Consumer classes, styles, and data attributes may extend the surface, but required roles, IDs, relationships, and handlers remain owned by the component.
Keyboard
Tab reaches each enabled checkbox.
Space toggles the focused option.
Read-only state prevents changes while retaining perceivable values.
§02
Public surface
API & styling
Props
id
Explicit IDs override stable generated IDs.
class / style
Consumer additions compose with required styles.
ref
Element or callback where focus control is expected.
children
Typed content; raw HTML strings are never rendered.
Slots & events
children
Primary content slot.
onChange
Typed value plus a small reason object when state changes.
import CheckboxGroup from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/CheckboxGroup';
<CheckboxGroup>Frauthy content</CheckboxGroup>
Astroisland
---
import CheckboxGroup from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/CheckboxGroup';
---
<CheckboxGroup client:visible>Frauthy content</CheckboxGroup>
§04
Verification
Evidence record
Scheduled
Automated
Batch D form tests cover controlled/default arrays, changedValue detail, reset, required state, disabled/read-only options, submission, and errors.
Target
Brand 1.0.0-next.0 matrix
Last verified
Pending integrated G2 run
Required
Assistive technology
Pending VoiceOver/Safari and NVDA/Firefox legend, position, checked, disabled, and error-description verification.
Desktop
VoiceOver/Safari · NVDA/Firefox
Touch
Required for touch-centric behavior
Open
Known issues
Native required behavior for a checkbox group is approximated on the first option while the selection is empty; server validation remains authoritative.
§05
Editorial guidance
Do / don’t
Do
Use a legend that frames all choices and give every option an explicit textValue.
Don’t
Do not use CheckboxGroup when exactly one option must be selected; use RadioGroup.
There is no stable predecessor for this explicit compiled subpath. The v1 compatibility layer remains tested separately; visual and API diffs begin with the next prerelease.