28 October 2026
Section titled “28 October 2026”Added
- Field colours change in 110 ms on focus and error with
motion.field; the error message fades in and drops 4 px withmotion.fieldMessage, without a shake. invalid: marks the field invalid without a message.requiredandnecessityIndicator:*with a hidden “required” on required fields, or “(optional)” on optional ones; the text comes from the library’s string catalogue in theProviderlanguage.startContentandendContent: content inside the field box before and after the input.data-readonlyforreadOnly,data-requiredforrequired;data-component="text-input"on the root anddata-parton the parts.- Public
Fieldand its parts (Field.Root,Field.Label,Field.Control,Field.Description,Field.Error) for custom controls.
Changed
- The
aria-describedbyorder is fixed: description first, then error. descriptionnow takes React content as well as text.- Border, fill and focus ring are drawn on a box that wraps the input and its start and end content.
- New
smsize (32 px);mdis 36 px (40 px on a touch screen) andlg40 px. Corner radius is 10 px. - The box gets a hairline shadow; the focus outline is drawn 2 px outside the box; an invalid box gets a 2 px danger halo.
- On a coarse pointer (touch),
mdis 44 px tall andlg48 px; it stays aligned with Button.
26 October 2026
Section titled “26 October 2026”Added
- First release: label, help text and error text; two sizes (
md,lg); disabled state. - Built on Base UI Field and Input; label, help and error text are linked to the input automatically.
- Colours, sizes and the focus ring come from tokens; light and dark mode and brand changes need no extra setup.