{"version":3,"file":"passwordInput-4pHuGMEa.js","sources":["../../src/scripts/modules/passwordInput.ts"],"sourcesContent":["import { Component } from '@verndale/core';\r\n\r\nclass PasswordInput extends Component {\r\n constructor(el: HTMLElement) {\r\n super(el);\r\n }\r\n\r\n setupDefaults() {\r\n this.dom = {\r\n input: this.el.querySelector<HTMLElement>('input'),\r\n eyeButton: this.el.querySelector<HTMLElement>('.show-password-btn')\r\n };\r\n }\r\n\r\n addListeners() {\r\n (this.dom.eyeButton as HTMLElement).addEventListener('click', this.handleClick.bind(this));\r\n (this.dom.input as HTMLInputElement).addEventListener('input', this.handleInput.bind(this));\r\n }\r\n\r\n handleClick(e: Event) {\r\n const target = (e.target as HTMLElement).closest('.show-password-btn') as HTMLElement;\r\n target.classList.toggle('show-password');\r\n\r\n if (target.classList.contains('show-password')) {\r\n (this.dom.input as HTMLInputElement).type = 'text';\r\n } else {\r\n (this.dom.input as HTMLInputElement).type = 'password';\r\n }\r\n }\r\n\r\n handleInput(e: Event) {\r\n const input = e.target as HTMLInputElement;\r\n if (input.value.length > 256) {\r\n input.value = input.value.slice(0, 256);\r\n }\r\n }\r\n}\r\n\r\nexport default PasswordInput;\r\n"],"names":["PasswordInput","Component","el","e","target","input"],"mappings":"yCAEA,MAAMA,UAAsBC,CAAU,CACpC,YAAYC,EAAiB,CAC3B,MAAMA,CAAE,CAAA,CAGV,eAAgB,CACd,KAAK,IAAM,CACT,MAAO,KAAK,GAAG,cAA2B,OAAO,EACjD,UAAW,KAAK,GAAG,cAA2B,oBAAoB,CACpE,CAAA,CAGF,cAAe,CACZ,KAAK,IAAI,UAA0B,iBAAiB,QAAS,KAAK,YAAY,KAAK,IAAI,CAAC,EACxF,KAAK,IAAI,MAA2B,iBAAiB,QAAS,KAAK,YAAY,KAAK,IAAI,CAAC,CAAA,CAG5F,YAAYC,EAAU,CACpB,MAAMC,EAAUD,EAAE,OAAuB,QAAQ,oBAAoB,EAC9DC,EAAA,UAAU,OAAO,eAAe,EAEnCA,EAAO,UAAU,SAAS,eAAe,EAC1C,KAAK,IAAI,MAA2B,KAAO,OAE3C,KAAK,IAAI,MAA2B,KAAO,UAC9C,CAGF,YAAYD,EAAU,CACpB,MAAME,EAAQF,EAAE,OACZE,EAAM,MAAM,OAAS,MACvBA,EAAM,MAAQA,EAAM,MAAM,MAAM,EAAG,GAAG,EACxC,CAEJ"}