🍙 Onigiri

The Crunchyroll design system, rendered live from its own tokens and components. It cannot drift from what ships.

Docs draft

PasswordInput

States

emptyNo value entered yet.

focusHolds keyboard focus and shows the focus ring.

focus revealedFocused while the value is shown in plain text.

filledHolds an entered value.

errorSignals a failed or invalid value.

disabledNot interactive; rendered with the lifted disabled tokens so it stays perceivable.

Guidelines

mustThe reveal control is the text Show/Hide, styled type.label in text.secondary.The old .Form Control was text, not an eye icon; it stays text.
mustStrength feedback is the Meter below the field, inside FormField.The old Password Meter Input baked it in; composition keeps the input reusable.

API

PropTypeDescription
labelstringFloating label text for the field.
forgotHrefstringRenders the small Forgot password? Link under the field (the old Action=Yes).
...restInputHTMLAttributes minus type/placeholderAll other native input props, forwarded to the underlying input; type and placeholder are owned by the component.

Design specifications

anatomyInput's underline anatomy; masked value in color.text.entry
toggletype.label in color.text.secondary, hover color.text.primary
forgot-linkonigiri.link, small

Accessibility

TabField, then Show/Hide (aria-pressed), then the forgot link when present.

Reveal state announced via aria-pressed on the toggle.