{"version":3,"file":"DateRangeField.cjs","sources":["../../../../../src/lib/DataTable/dialogs/DateRangeField.tsx"],"sourcesContent":["import type {FC, ChangeEvent} from 'react';\nimport {useEffect} from 'react';\nimport {useCallback, useState} from 'react';\n\nimport {FormField, InputDate} from '@/lib';\n\nimport classes from './Dialog.module.css';\nimport type {ColumnFormatOptions, FilterValue, DateRangeFilterValue} from './../types.ts';\n\nexport type Props = {\n    value: FilterValue;\n    onChange: (value: FilterValue) => void;\n    cellProps?: ColumnFormatOptions;\n};\n\nexport const DateRangeField: FC<Props> = ({value: valueProp, onChange}) => {\n    const [value, setValue] = useState(valueProp as DateRangeFilterValue);\n\n    useEffect(() => {\n        setValue(valueProp as DateRangeFilterValue);\n    }, [valueProp]);\n\n    const [from, to] = value as DateRangeFilterValue;\n    const handleMinChange = useCallback(\n        (event: ChangeEvent<HTMLInputElement>) => {\n            const nextValue = [event.target.value, to];\n            setValue(nextValue);\n        },\n        [to]\n    );\n    const handleMaxChange = useCallback(\n        (event: ChangeEvent<HTMLInputElement>) => {\n            const nextValue = [from, event.target.value];\n            setValue(nextValue);\n        },\n        [from]\n    );\n\n    useEffect(() => {\n        onChange(value);\n    }, [onChange, value]);\n    return (\n        <div className={classes.numberRange}>\n            <FormField className={classes.numberField} label=\"From:\">\n                <InputDate value={from ?? ''} onChange={handleMinChange} />\n            </FormField>\n            <FormField className={classes.numberField} label=\"To:\">\n                <InputDate value={to || ''} onChange={handleMaxChange} />\n            </FormField>\n        </div>\n    );\n};\n"],"names":["DateRangeField","valueProp","onChange","value","setValue","useState","useEffect","from","to","handleMinChange","useCallback","event","nextValue","handleMaxChange","jsxs","classes","jsx","FormField","InputDate"],"mappings":"0TAeaA,EAA4B,CAAC,CAAC,MAAOC,EAAW,SAAAC,KAAc,CACvE,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAASJ,CAAiC,EAEpEK,EAAAA,UAAU,IAAM,CACZF,EAASH,CAAiC,CAC9C,EAAG,CAACA,CAAS,CAAC,EAEd,KAAM,CAACM,EAAMC,CAAE,EAAIL,EACbM,EAAkBC,EAAAA,YACnBC,GAAyC,CACtC,MAAMC,EAAY,CAACD,EAAM,OAAO,MAAOH,CAAE,EACzCJ,EAASQ,CAAS,CACtB,EACA,CAACJ,CAAE,CAAA,EAEDK,EAAkBH,EAAAA,YACnBC,GAAyC,CACtC,MAAMC,EAAY,CAACL,EAAMI,EAAM,OAAO,KAAK,EAC3CP,EAASQ,CAAS,CACtB,EACA,CAACL,CAAI,CAAA,EAGTD,OAAAA,EAAAA,UAAU,IAAM,CACZJ,EAASC,CAAK,CAClB,EAAG,CAACD,EAAUC,CAAK,CAAC,EAEhBW,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAQ,YACpB,SAAA,CAAAC,EAAAA,IAACC,EAAAA,UAAA,CAAU,UAAWF,EAAAA,QAAQ,YAAa,MAAM,QAC7C,SAAAC,EAAAA,IAACE,EAAAA,UAAA,CAAU,MAAOX,GAAQ,GAAI,SAAUE,EAAiB,EAC7D,EACAO,EAAAA,IAACC,EAAAA,UAAA,CAAU,UAAWF,EAAAA,QAAQ,YAAa,MAAM,MAC7C,SAAAC,EAAAA,IAACE,EAAAA,UAAA,CAAU,MAAOV,GAAM,GAAI,SAAUK,EAAiB,CAAA,CAC3D,CAAA,EACJ,CAER"}