{"version":3,"file":"form-input.component-ab104ac8.js","sources":["../../src/features/auth/form-input.component.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, InputHTMLAttributes, useState } from 'react';\nimport {\n FieldError,\n FieldErrorsImpl,\n FieldValues,\n Merge,\n UseFormSetValue,\n} from 'react-hook-form';\n\nimport ErrorAlert from '@/components/error-alert/error-alert.component';\nimport '../../components/selects/style.css';\n\ninterface InputProps extends InputHTMLAttributes {\n name: string;\n title?: string;\n error?:\n | string\n | FieldError\n | Merge>\n | undefined;\n register: any;\n setValue: UseFormSetValue;\n className?: string;\n placeholder: string;\n type?: string;\n value?: any;\n icon?: string | false | undefined;\n toggleShow?: () => void;\n}\n\nconst FormInput: FC = ({\n register,\n title,\n name,\n error,\n setValue,\n placeholder,\n type = 'text',\n value = '',\n icon,\n toggleShow,\n}) => {\n const testId = `form-input-${name}`;\n const errorId = `error-${name}`;\n const [inputValue, setInputValue] = useState(value);\n\n const preventKeys = (e: KeyboardEvent) => {\n if (name === 'code') {\n if (\n e.key === 'e' ||\n e.key === 'E' ||\n e.key === '+' ||\n e.key === '-' ||\n e.key === '.'\n ) {\n e.preventDefault();\n }\n }\n };\n\n const handlePaste = (event: any) => {\n if (name === 'code') {\n const pastedText = event.clipboardData.getData('text');\n if (!/^\\d+$/.test(pastedText)) {\n event.preventDefault();\n }\n }\n };\n\n return (\n
\n {title &&

{title}

}\n\n
\n {\n let val = e.target.value;\n val = name === 'email' ? val.toLocaleLowerCase() : val;\n if (name === 'code') val = val.length > 6 ? val.slice(0, 6) : val;\n setValue(name, val);\n setInputValue(val);\n }}\n onKeyDown={preventKeys}\n onPaste={handlePaste}\n autoComplete=\"false\"\n value={inputValue}\n type={type}\n className={`w-full px-2.5 md:px-5 md:py-3.5 py-2 text-sm border border-nexlev-100 outline-none focus:outline-none block rounded-xl transition-all duration-300 ease-linear ${\n error\n ? 'focus:border-nexlev-error focus:ring-nexlev-error'\n : 'focus:border-skycyan focus:ring-skycyan'\n } `}\n placeholder={placeholder}\n id={testId}\n />\n\n {icon && (\n \n \n \n \n \n )}\n
\n\n {error && (\n \n )}\n
\n );\n};\n\nexport default FormInput;\n"],"names":["FormInput","register","title","name","error","setValue","placeholder","type","value","icon","toggleShow","testId","errorId","inputValue","setInputValue","reactExports","preventKeys","handlePaste","event","pastedText","jsxs","jsx","val","ErrorAlert"],"mappings":"iZA+BA,MAAAA,EAAA,CAAA,CAAA,SAAAC,EACA,MAAAC,EACA,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,KAAAC,EAAA,OACA,MAAAC,EAAA,GACA,KAAAC,EACA,WAAAC,CAEA,IAAA,CACA,MAAAC,EAAA,cAAAR,IACAS,EAAA,SAAAT,IACA,CAAAU,EAAAC,CAAA,EAAAC,EAAA,SAAAP,CAAA,EAEAQ,EAAA,GAAA,CACAb,IAAA,SACA,EAAA,MAAA,KAAA,EAAA,MAAA,KAAA,EAAA,MAAA,KAAA,EAAA,MAAA,KAAA,EAAA,MAAA,MAOA,EAAA,eAAA,CAEA,EAGAc,EAAAC,GAAA,CACA,GAAAf,IAAA,OAAA,CACA,MAAAgB,EAAAD,EAAA,cAAA,QAAA,MAAA,EACA,QAAA,KAAAC,CAAA,GACAD,EAAA,eAAA,CACA,CACA,EAGA,OAAAE,EAAA,MAAA,CAAA,UAAA,SAAA,SAAA,CAEAlB,GAAAmB,EAAA,IAAA,CAAA,UAAA,qBAAA,SAAAnB,CAAA,CAAA,EAAAkB,EAAA,MAAA,CAAA,UAAA,WAAA,SAAA,CAGAC,EAAA,QAAA,CAAA,GAAApB,EAAAE,CAAA,EACA,SAAA,GAAA,CAEA,IAAAmB,EAAA,EAAA,OAAA,MACAA,EAAAnB,IAAA,QAAAmB,EAAA,kBAAA,EAAAA,EACAnB,IAAA,SAAAmB,EAAAA,EAAA,OAAA,EAAAA,EAAA,MAAA,EAAA,CAAA,EAAAA,GACAjB,EAAAF,EAAAmB,CAAA,EACAR,EAAAQ,CAAA,CAAA,EACA,UAAAN,EACA,QAAAC,EACA,aAAA,QACA,MAAAJ,EACA,KAAAN,EACA,UAAA,kKAAAH,EAAA,oDAAA,6CAIA,YAAAE,EAEA,GAAAK,CACA,CAAA,EACAF,GAAAY,EAAA,OAAA,CAAA,UAAA,iEAAA,SAAAA,EAIA,SAAA,CAAA,KAAA,SACA,cAAA,mBACA,QAAAX,GAAAA,EACA,SAAAW,EAEA,MAAA,CAAA,IAAAZ,EACA,IAAA,WACA,aAAA,gBACA,UAAA,oBACA,CAAA,CACA,CAAA,CAAA,CAAA,CAEA,CAAA,CAAA,EAEAL,GAAAiB,EAGAE,EAAA,CAAA,OAAAX,EACA,QAAAR,EACA,MAAA,QACA,MAAA,2BACA,CAAA,CACA,CAAA,CAAA,CAIA"}