A password input component that extends the base `Input` with a show/hide toggle button, rendering an eye icon to reveal or conceal the entered value. ## Key Components - **`PasswordInput`** — A `forwardRef` component wrapping the base `Input`, managing visibility state and injecting an icon toggle as `endAdornment`. - **`PasswordInputProps`** — Extends `InputProps`, omitting `type` and `endAdornment` (both are controlled internally). ## Usage Example ```typescript import { PasswordInput } from "./password-input" function LoginForm() { return ( ) } ``` ## Behavior Notes - Toggles between `type="password"` and `type="text"` based on internal `visible` state. - The toggle button uses `tabIndex={-1}` to keep it out of the tab order and `aria-label` for accessibility (`"Show password"` / `"Hide password"`). - Applies `text-ellipsis` via `className` to truncate long values when the field is not focused. - The toggle button is automatically disabled when the `disabled` prop is passed to the component.