{"version":3,"file":"ssn_mask_controller-CVXuXNZX.js","sources":["../../app/assets/javascript/controllers/input_masks/ssn_mask_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n connect() {\n this.element.addEventListener('input', this.mask.bind(this))\n this.mask()\n }\n\n disconnect(){\n this.element.removeEventListener('input', this.mask.bind(this))\n }\n\n mask(event) {\n const input = event ? event.target : this.element\n let value = input.value.replace(/\\D/g, '')\n\n if (value.length > 9) {\n value = value.slice(0, 9)\n }\n\n // Formats SSN as: (XXX-XX-XXXX)\n if (value.length > 5) {\n input.value = value.replace(/(\\d{3})(\\d{2})(\\d{1,4})/, '$1-$2-$3')\n } else if (value.length > 3) {\n input.value = value.replace(/(\\d{3})(\\d{1,2})/, '$1-$2')\n } else {\n input.value = value\n }\n }\n}\n"],"names":["ssn_mask_controller","Controller","event","input","value"],"mappings":"8HAEe,MAAKA,UAASC,CAAW,CACtC,SAAU,CACR,KAAK,QAAQ,iBAAiB,QAAS,KAAK,KAAK,KAAK,IAAI,CAAC,EAC3D,KAAK,KAAI,CACb,CAEE,YAAY,CACV,KAAK,QAAQ,oBAAoB,QAAS,KAAK,KAAK,KAAK,IAAI,CAAC,CAClE,CAEE,KAAKC,EAAO,CACV,MAAMC,EAAQD,EAAQA,EAAM,OAAS,KAAK,QAC1C,IAAIE,EAAQD,EAAM,MAAM,QAAQ,MAAO,EAAE,EAErCC,EAAM,OAAS,IACjBA,EAAQA,EAAM,MAAM,EAAG,CAAC,GAItBA,EAAM,OAAS,EACjBD,EAAM,MAAQC,EAAM,QAAQ,0BAA2B,UAAU,EACxDA,EAAM,OAAS,EACxBD,EAAM,MAAQC,EAAM,QAAQ,mBAAoB,OAAO,EAEvDD,EAAM,MAAQC,CAEpB,CACA"}