/** * Visual scale. Mirrors the `TxButton` vocabulary (`xs | sm | md | lg`) rather * than inventing a fifth spelling; `md` is the default and is geometrically * identical to `TxInput` so the two can sit in one form without a seam. */ export type SensitiveInputSize = 'xs' | 'sm' | 'md' | 'lg'; /** Matches the `status` vocabulary already used by `TxTextarea` / `TxSelect`. */ export type SensitiveInputStatus = 'default' | 'error'; /** * Every string the component renders. TuffEx primitives own no message * catalog, so a host localizes by passing the slice it cares about — the same * contract as `IconPickerLabels`. */ export interface SensitiveInputLabels { /** Replaces the mask on hover/focus. Kumo's "Click to reveal". */ reveal: string; /** Copy tab, idle. */ copy: string; /** Copy tab, for `copiedDuration` after a successful write. */ copied: string; /** Accessible name of the eye button while the value is visible. */ hide: string; /** Accessible name of the eye button while the value is hidden. */ show: string; /** Announced by the live region while the value is masked. */ hidden: string; /** Suffix in the masked container's accessible name: `