Components

Password input

A password field whose show/hide button is a living eye: open, it follows your pointer and blinks now and then; hidden, it shuts with its lashes down. Warns when Caps Lock is on, and can carry the strength meter.

Paste it into ChatGPT, Claude, Cursor or v0.

Usage

React
import { PasswordInput } from '@vizzele/react';

<PasswordInput
  name="password"
  autoComplete="new-password"
  meter
  minLength={10}
/>

Props

PropTypeDefaultDescription
labelstring'Password'Floating label.
meterbooleanfalseShow the strength tube and rules.
minLengthnumber—Used by the meter (default 8) and the input.
visible / defaultVisible / onVisibleChangeboolean—Controlled or not.
hint / errorReactNode—Message under the field.
…input propsInputHTMLAttributes—Passed to the <input>.

Accessibility

  • The eye is a button named "Show password" with aria-pressed and aria-controls — its state is spoken, not just drawn.
  • Caps Lock is announced politely and tied to the field with aria-describedby.
  • Spellcheck and autocapitalise are off, so the password is never sent to a spelling service.
  • With reduced motion the eye does not follow the pointer or blink.