Files
overleaf-cep/services/web/frontend/js/features/form-helpers/password-visibility.ts
T
roo hutton 4ec437db9e Merge pull request #28003 from overleaf/rh-b2c-js-ts
Migrate B2C js to typescript: contact form, form helpers, and algolia

GitOrigin-RevId: b9ec423cdc551123a5b471e4a4c1a482b6a02e16
2025-08-29 08:06:21 +00:00

38 lines
1.2 KiB
TypeScript

;(function () {
const visibilityOnQuery =
'[data-ol-password-visibility-toggle="visibilityOn"]'
const visibilityOffQuery =
'[data-ol-password-visibility-toggle="visibilityOff"]'
const visibilityOnButton =
document.querySelector<HTMLElement>(visibilityOnQuery)
const visibilityOffButton =
document.querySelector<HTMLElement>(visibilityOffQuery)
if (visibilityOffButton && visibilityOnButton) {
visibilityOnButton.addEventListener('click', function () {
const passwordInput = document.querySelector<HTMLInputElement>(
'[data-ol-password-visibility-target]'
)
if (passwordInput) {
passwordInput.type = 'text'
visibilityOnButton.hidden = true
visibilityOffButton.hidden = false
visibilityOffButton.focus()
}
})
visibilityOffButton.addEventListener('click', function () {
const passwordInput = document.querySelector<HTMLInputElement>(
'[data-ol-password-visibility-target]'
)
if (passwordInput) {
passwordInput.type = 'password'
visibilityOffButton.hidden = true
visibilityOnButton.hidden = false
visibilityOnButton.focus()
}
})
}
})()