{"version":3,"file":"useDebounce-e9kVYzRh.js","sources":["../../../client/app/bundles/Shared/hooks/useSnackbarMonitor.tsx","../../../client/app/bundles/Teacher/hooks/useDebounce.tsx"],"sourcesContent":["import * as React from 'react'\n\nfunction useSnackbarMonitor(showSnackbar, setShowSnackbar, snackbarTimeout) {\n return React.useEffect(() => {\n if (showSnackbar) {\n setTimeout(() => setShowSnackbar(false), snackbarTimeout)\n }\n }, [showSnackbar])\n}\n\nexport default useSnackbarMonitor\n","import * as React from 'react';\n\n// from https://usehooks.com/useDebounce/ on 10/08/20\n\nfunction useDebounce(value, delay) {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = React.useState(value);\n\n React.useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay] // Only re-call effect if value or delay changes\n );\n\n return debouncedValue;\n}\n\nexport default useDebounce\n"],"names":["useSnackbarMonitor","showSnackbar","setShowSnackbar","snackbarTimeout","React.useEffect","useDebounce","value","delay","debouncedValue","setDebouncedValue","React.useState","handler"],"mappings":"4CAEA,SAASA,EAAmBC,EAAcC,EAAiBC,EAAiB,CACnE,OAAAC,YAAgB,IAAM,CACvBH,GACF,WAAW,IAAMC,EAAgB,EAAK,EAAGC,CAAe,CAC1D,EACC,CAACF,CAAY,CAAC,CACnB,CCJA,SAASI,EAAYC,EAAOC,EAAO,CAEjC,KAAM,CAACC,EAAgBC,CAAiB,EAAIC,WAAeJ,CAAK,EAE1DF,OAAAA,EAAA,UACJ,IAAM,CAEE,MAAAO,EAAU,WAAW,IAAM,CAC/BF,EAAkBH,CAAK,GACtBC,CAAK,EAKR,MAAO,IAAM,CACX,aAAaI,CAAO,CAAA,CAExB,EACA,CAACL,EAAOC,CAAK,CAAA,EAGRC,CACT"}