Forms
Form controls live under <input-field>, an autonomous custom-element wrapper. The wrapper is the contract — it classifies the field and scopes the styling. Inside, bare HTML.
Text input
Text input — every state
-
-
-
-
-
-
-
- Must be at least 8 characters.
- Must include a number.
-
Textarea — every state
-
-
-
-
-
-
-
- Description must be at least 100 characters.
-
Single checkbox
Checkbox group
Radio group
Choices — focused
The whole <label class='option'> picks up the focus ring (via :focus-within), since the label is the click target. Shown statically here via data-fakestate='focused'.