{"version":3,"file":"CheckImagesLoaded-5180a9c6.js","sources":["../../../app/javascript/src/components/widgets/AnimatedIntro/skins/utils/CheckImagesLoaded.tsx"],"sourcesContent":["import React, { useRef, useEffect, useState } from 'react'\n\ntype CheckImagesLoadedProps = {\n children: React.ReactNode\n className?: string\n delay: number\n onLoad: () => void\n}\n\nexport const CheckImagesLoaded = ({\n children,\n className,\n delay,\n onLoad,\n}: CheckImagesLoadedProps) => {\n const wrapperRef = useRef(null)\n const [isLoading, setIsLoading] = useState(true)\n const [totalOfImages, setTotalOfImages] = useState(-1)\n const [imagesLoaded, setImagesLoaded] = useState(0)\n\n useEffect(() => {\n if (totalOfImages === imagesLoaded) {\n onLoad()\n setTimeout(() => {\n setIsLoading(false)\n }, delay)\n return\n }\n }, [totalOfImages, imagesLoaded, delay, onLoad])\n\n useEffect(() => {\n const images = wrapperRef.current?.querySelectorAll('img')\n setTotalOfImages(images?.length || 0)\n\n const handleLoad = () => {\n setImagesLoaded((state) => state + 1)\n }\n\n images?.forEach((image) => {\n if (image.complete) {\n handleLoad()\n } else {\n image.addEventListener('load', handleLoad)\n image.addEventListener('error', handleLoad)\n }\n })\n\n return () => {\n images?.forEach((image) => {\n image.removeEventListener('load', handleLoad)\n image.removeEventListener('error', handleLoad)\n })\n }\n }, [])\n\n return (\n \n {children}\n \n )\n}\n"],"names":["CheckImagesLoaded","children","className","delay","onLoad","wrapperRef","useRef","isLoading","setIsLoading","useState","totalOfImages","setTotalOfImages","imagesLoaded","setImagesLoaded","useEffect","images","_a","handleLoad","state","image","jsx"],"mappings":"2CASO,MAAMA,EAAoB,CAAC,CAChC,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,OAAAC,CACF,IAA8B,CACtB,MAAAC,EAAaC,SAAuB,IAAI,EACxC,CAACC,EAAWC,CAAY,EAAIC,WAAS,EAAI,EACzC,CAACC,EAAeC,CAAgB,EAAIF,EAAAA,SAAS,EAAE,EAC/C,CAACG,EAAcC,CAAe,EAAIJ,WAAS,CAAC,EAElDK,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIJ,IAAkBE,EAAc,CAC3BR,IACP,WAAW,IAAM,CACfI,EAAa,EAAK,GACjBL,CAAK,EACR,MACF,GACC,CAACO,EAAeE,EAAcT,EAAOC,CAAM,CAAC,EAE/CU,EAAAA,UAAU,IAAM,OACd,MAAMC,GAASC,EAAAX,EAAW,UAAX,YAAAW,EAAoB,iBAAiB,OACnCL,GAAAI,GAAA,YAAAA,EAAQ,SAAU,CAAC,EAEpC,MAAME,EAAa,IAAM,CACPJ,EAACK,GAAUA,EAAQ,CAAC,CAAA,EAG9B,OAAAH,GAAA,MAAAA,EAAA,QAASI,GAAU,CACrBA,EAAM,SACGF,KAELE,EAAA,iBAAiB,OAAQF,CAAU,EACnCE,EAAA,iBAAiB,QAASF,CAAU,EAC5C,GAGK,IAAM,CACHF,GAAA,MAAAA,EAAA,QAASI,GAAU,CACnBA,EAAA,oBAAoB,OAAQF,CAAU,EACtCE,EAAA,oBAAoB,QAASF,CAAU,CAAA,EAC9C,CAEL,EAAG,CAAE,CAAA,EAGHG,EAAA,IAAC,MAAA,CACC,UAAAlB,EACA,IAAKG,EACL,MAAOE,EAAY,CAAE,QAAS,QAAW,CAAC,EAEzC,SAAAN,CAAA,CAAA,CAGP"}