{"version":3,"file":"useRevalidateOnFormChange.cjs","sources":["../../../../src/internal/inputs/useRevalidateOnFormChange.ts"],"sourcesContent":["import type {MutableRefObject} from 'react';\nimport {type FormEvent, useEffect} from 'react';\n\nconst ChangeEvent = new Event('change', {bubbles: false});\n\nexport const useRevalidateOnFormChange = (\n    inputRef: MutableRefObject<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | null>,\n    validateInput: (event: FormEvent) => unknown,\n    condition?: boolean\n) => {\n    useEffect(() => {\n        if (condition) {\n            const inputElement = inputRef?.current;\n            const formElement = inputElement?.form;\n            const revalidateInput = () => {\n                inputElement && inputElement?.dispatchEvent(ChangeEvent);\n                inputElement && validateInput(ChangeEvent as unknown as FormEvent);\n            };\n            formElement && formElement.addEventListener('change', revalidateInput);\n            return () => {\n                formElement && formElement.removeEventListener('change', revalidateInput);\n            };\n        }\n    }, [inputRef, condition, validateInput]);\n};\n"],"names":["ChangeEvent","useRevalidateOnFormChange","inputRef","validateInput","condition","useEffect","inputElement","formElement","revalidateInput"],"mappings":"sHAGMA,EAAc,IAAI,MAAM,SAAU,CAAC,QAAS,GAAM,EAE3CC,EAA4B,CACrCC,EACAC,EACAC,IACC,CACDC,EAAAA,UAAU,IAAM,CACZ,GAAID,EAAW,CACX,MAAME,EAAeJ,GAAA,YAAAA,EAAU,QACzBK,EAAcD,GAAA,YAAAA,EAAc,KAC5BE,EAAkB,IAAM,CACVF,IAAAA,GAAA,MAAAA,EAAc,cAAcN,IAC5CM,GAAgBH,EAAcH,CAAmC,CACrE,EACe,OAAAO,GAAAA,EAAY,iBAAiB,SAAUC,CAAe,EAC9D,IAAM,CACMD,GAAAA,EAAY,oBAAoB,SAAUC,CAAe,CAC5E,CAAA,CAEL,EAAA,CAACN,EAAUE,EAAWD,CAAa,CAAC,CAC3C"}