mirror of https://github.com/docusealco/docuseal
parent
0a105490fe
commit
d15fd1fb84
@ -0,0 +1,35 @@
|
|||||||
|
import { target, targetable } from '@github/catalyst/lib/targetable'
|
||||||
|
|
||||||
|
export default targetable(class extends HTMLElement {
|
||||||
|
static [target.static] = [
|
||||||
|
'visiblePasswordIcon',
|
||||||
|
'hiddenPasswordIcon',
|
||||||
|
'passwordInput',
|
||||||
|
'togglePasswordVisibility'
|
||||||
|
]
|
||||||
|
|
||||||
|
connectedCallback () {
|
||||||
|
this.togglePasswordVisibility.addEventListener('click', this.handleTogglePasswordVisibility)
|
||||||
|
document.addEventListener('turbo:submit-start', this.setInitialPasswordType)
|
||||||
|
}
|
||||||
|
|
||||||
|
disconnectedCallback () {
|
||||||
|
this.togglePasswordVisibility.removeEventListener('click', this.handleTogglePasswordVisibility)
|
||||||
|
document.removeEventListener('turbo:submit-start', this.setInitialPasswordType)
|
||||||
|
}
|
||||||
|
|
||||||
|
handleTogglePasswordVisibility = () => {
|
||||||
|
this.passwordInput.type = this.passwordInput.type === 'password' ? 'text' : 'password'
|
||||||
|
this.toggleIcon()
|
||||||
|
}
|
||||||
|
|
||||||
|
setInitialPasswordType = () => {
|
||||||
|
this.passwordInput.type = 'password'
|
||||||
|
this.toggleIcon()
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleIcon = () => {
|
||||||
|
this.visiblePasswordIcon.classList.toggle('hidden', this.passwordInput.type === 'password')
|
||||||
|
this.hiddenPasswordIcon.classList.toggle('hidden', this.passwordInput.type === 'text')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
After Width: | Height: | Size: 431 B |
|
After Width: | Height: | Size: 572 B |
Loading…
Reference in new issue