Skip to content

FormPassword

Form password component with theme-aware styling and optional show/hide toggle

Uses CSS custom properties from @sparkle/theme for consistent theming across light/dark modes and supports validation states with semantic colors.

import { FormPassword } from '@sparkle/ui'
Prop Type Required Default Description
size "sm" | "md" | "lg" | undefined `` Size variant for the password input
validationState "default" | "success" | "error" | undefined `` Validation state for styling
placeholder string | undefined `` Password placeholder text
disabled boolean | undefined `` Whether the field is disabled
required boolean | undefined `` Whether the field is required
showToggle boolean | undefined `` Whether to show the toggle button to reveal/hide password
value string | undefined `` Input value
onChange ((event: React.ChangeEvent<HTMLInputElement, Element>) => void) | undefined `` Input change handler
onFocus ((event: React.FocusEvent<HTMLInputElement, Element>) => void) | undefined `` Input focus handler
onBlur ((event: React.FocusEvent<HTMLInputElement, Element>) => void) | undefined `` Input blur handler
onKeyDown ((event: React.KeyboardEvent<HTMLInputElement>) => void) | undefined `` Input key down handler for keyboard navigation

This component uses CSS custom properties from @sparkle/theme for consistent styling across light and dark modes.

  • --theme-*: Uses theme design tokens for consistent styling

You can customize the appearance by:

  1. Theme Variables: Modify theme tokens in your @sparkle/theme configuration
  2. CSS Classes: Apply custom CSS classes via the className prop
  3. CSS-in-JS: Use styled-components or emotion with the component

This component follows accessibility best practices with proper ARIA attributes and keyboard support.