Merge pull request #1545 from riccardobl/passhide

Use -webkit-text-security to hide passphrase
This commit is contained in:
Keyan 2024-11-05 12:59:11 -06:00 committed by GitHub
commit 281757dd81
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 3 deletions

View File

@ -1188,17 +1188,24 @@ export function PasswordInput ({ newPass, qr, copy, readOnly, append, value, ...
)
}, [showPass, copy, field?.value, qr, readOnly, append])
const maskedValue = !showPass && props.as === 'textarea' ? field?.value?.replace(/./g, '•') : field?.value
const style = props.style ? { ...props.style } : {}
if (props.as === 'textarea') {
if (!showPass) {
style.WebkitTextSecurity = 'disc'
} else {
if (style.WebkitTextSecurity) delete style.WebkitTextSecurity
}
}
return (
<ClientInput
{...props}
style={style}
className={styles.passwordInput}
type={showPass ? 'text' : 'password'}
autoComplete={newPass ? 'new-password' : 'current-password'}
readOnly={readOnly}
append={props.as === 'textarea' ? undefined : Append}
value={maskedValue}
value={field?.value}
under={props.as === 'textarea'
? (
<div className='mt-2 d-flex justify-content-end' style={{ gap: '8px' }}>