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