{"version":3,"file":"useDebouncedState.mjs","sources":["../../../../../../../../web/src/adminPortal/utils/useDebouncedState.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\n\nimport { debounce } from '../../utils';\n\nexport const useDebouncedState = <T>(initialValue: T, delay?: number) => {\n  const [debouncedValue, setDebouncedValue] = useState(initialValue);\n  const [pendingValue, setPendingValue] = useState(initialValue);\n\n  const debouncedSetValue = useMemo(() => debounce(setDebouncedValue, delay), [delay]);\n\n  const setValue = useCallback(\n    (newValue: T) => {\n      setPendingValue(newValue);\n      debouncedSetValue(newValue);\n    },\n    [debouncedSetValue],\n  );\n\n  return [debouncedValue, setValue, pendingValue] as const;\n};\n"],"names":["useDebouncedState","initialValue","delay","debouncedValue","setDebouncedValue","useState","pendingValue","setPendingValue","debouncedSetValue","useMemo","debounce","setValue","useCallback","newValue"],"mappings":";;;;AAIO,MAAMA,iBAAAA,GAAoB,CAAIC,YAAAA,EAAiBC,KAAAA,GAAAA;AACpD,IAAA,MAAM,CAACC,cAAAA,EAAgBC,iBAAAA,CAAkB,GAAGC,CAAAA,CAASJ,YAAAA,CAAAA;AACrD,IAAA,MAAM,CAACK,YAAAA,EAAcC,eAAAA,CAAgB,GAAGF,CAAAA,CAASJ,YAAAA,CAAAA;AAEjD,IAAA,MAAMO,iBAAAA,GAAoBC,CAAAA,CAAQ,IAAMC,QAAAA,CAASN,mBAAmBF,KAAAA,CAAAA,EAAQ;AAACA,QAAAA;AAAM,KAAA,CAAA;IAEnF,MAAMS,QAAAA,GAAWC,EACf,CAACC,QAAAA,GAAAA;QACCN,eAAAA,CAAgBM,QAAAA,CAAAA;QAChBL,iBAAAA,CAAkBK,QAAAA,CAAAA;IACpB,CAAA,EACA;AAACL,QAAAA;AAAkB,KAAA,CAAA;IAGrB,OAAO;AAACL,QAAAA,cAAAA;AAAgBQ,QAAAA,QAAAA;AAAUL,QAAAA;AAAa,KAAA;AACjD;;;;"}