{"version":3,"file":"useProgressiveImg.cjs","sources":["../../../../src/hooks/useProgressiveImg/useProgressiveImg.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nexport interface ProgressiveImageProps {\n    lowQualitySrc: string;\n    highQualitySrc: string;\n}\n\ntype ProgressiveImage = { src: string; isBlurred: boolean };\n\nexport const useProgressiveImg = ({\n    lowQualitySrc,\n    highQualitySrc,\n}: ProgressiveImageProps): ProgressiveImage => {\n    const [src, setSrc] = useState(lowQualitySrc);\n\n    useEffect(() => {\n        setSrc(lowQualitySrc);\n        const img = new Image();\n        img.src = highQualitySrc;\n\n        img.onload = () => {\n            setSrc(highQualitySrc);\n        };\n    }, [lowQualitySrc, highQualitySrc]);\n\n    return { src, isBlurred: src === lowQualitySrc };\n};\n"],"names":["lowQualitySrc","highQualitySrc","src","setSrc","useState","useEffect","img","Image","onload","isBlurred"],"mappings":"mIASiC,EAC7BA,cAAAA,EACAC,eAAAA,MAEA,MAAOC,EAAKC,GAAUC,EAAAA,SAASJ,GAE/BK,OAAAA,EAAAA,UAAU,KACNF,EAAOH,GACP,MAAMM,EAAM,IAAIC,MAChBD,EAAIJ,IAAMD,EAEVK,EAAIE,OAAS,KACTL,EAAOF,KAEZ,CAACD,EAAeC,IAEZ,CAAEC,IAAAA,EAAKO,UAAWP,IAAQF"}