Skip to content

Inputs

Inputs should feel calm and uncluttered. The user is already under cognitive load from their condition — form fields should reduce friction, not add it. Default styling uses the warm palette with gentle borders; state changes are communicated through border color shifts rather than layout movement.

Token source: tokens/component/input.json


Default
Focus
Error Enter a valid email address
Success Looks good
Disabled
PropertyTokenResolved value
Backgroundprimitive.color.white#FFFFFF
Text colorsemantic.color.text.primary#3D2E2A (warm-dark)
Placeholder colorsemantic.color.text.muted#B09A90 (dim-brown)
Border colorsemantic.color.border.default#F2C087 (warm-gold)
Border width1px
Border radiusprimitive.radius.md8px
Padding Yprimitive.spacing.1010px
Padding Xprimitive.spacing.1212px
Font sizeprimitive.font-size.1515px
Font weightprimitive.font-weight.regular400
Transitionprimitive.transition.fast150ms ease

When the input receives focus, the border shifts to the primary action color and gains a focus ring.

PropertyTokenResolved value
Border colorsemantic.color.focus.ring#A55838 (burnt-sienna-deep)
Ring width2px
Ring offset0px

Error state uses the feedback error color. The border and any helper text below the input turn red.

PropertyTokenResolved value
Border colorsemantic.color.feedback.error
#DC2626
Helper text colorsemantic.color.feedback.error#DC2626

Error messages should be specific and non-alarming. “This field is required” rather than “Error.” For a tinnitus audience, error states should never create a sense of urgency or failure.

Success state uses the feedback success color. Typically used for validated fields (e.g., after entering a valid tinnitus onset date).

PropertyTokenResolved value
Border colorsemantic.color.feedback.success
#98D398

Disabled inputs reduce opacity and change the background to a muted tone.

PropertyTokenResolved value
Opacityprimitive.opacity.disabled0.4
Backgroundprimitive.color.pale-wheat#F9DFAE

StateBorder colorBackgroundOpacity
Default#F2C087 (warm-gold)#FFFFFF1
Focus#A55838 (burnt-sienna-deep) + 2px ring#FFFFFF1
Error#DC2626#FFFFFF1
Success#98D398 (soft-sage)#FFFFFF1
Disabled#F2C087 (warm-gold)#F9DFAE (pale-wheat)0.4

  • Labels above, not inside. Placeholder text disappears on focus, which creates cognitive overhead for users who may already be attention-depleted. Always pair inputs with visible labels.
  • One field at a time where possible. Multi-field forms should be broken into steps, especially during onboarding. One idea per view.
  • Generous spacing between fields. Use spacing.24 or spacing.32 between form groups to give the layout breathing room.