{ "version": 3, "sources": ["../../../Vettvangur.Frontend/src/scripts/components/picture.ts"], "sourcesContent": ["const picture = {\n init(): void {\n document.querySelectorAll('.picture:not(.picture--eager)').forEach((target: HTMLElement) => {\n this.handlePicture(target)\n })\n },\n\n handlePicture(target): void {\n const image = target.querySelector('img')\n\n if (!image) {\n return\n }\n\n const imageSrc = image.dataset.src\n let imageLoaded = false\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting && !imageLoaded) {\n const loadingImage = new Image()\n\n loadingImage.onload = () => {\n image.src = loadingImage.src\n setTimeout(() => {\n target.classList.add('picture--loaded')\n }, 123)\n imageLoaded = true\n }\n\n loadingImage.src = imageSrc\n }\n })\n },\n {\n root: null,\n rootMargin: `${window.innerHeight / 2}px`,\n threshold: 0,\n }\n )\n\n observer.observe(image)\n },\n}\n\nexport default picture\n"], "mappings": "gCAAA,IAAMA,EAAU,CACd,MAAa,CACX,SAAS,iBAA8B,+BAA+B,EAAE,QAASC,GAAwB,CACvG,KAAK,cAAcA,CAAM,CAC3B,CAAC,CACH,EAEA,cAAcA,EAAc,CAC1B,IAAMC,EAAQD,EAAO,cAAc,KAAK,EAExC,GAAI,CAACC,EACH,OAGF,IAAMC,EAAWD,EAAM,QAAQ,IAC3BE,EAAc,GAED,IAAI,qBAClBC,GAAY,CACXA,EAAQ,QAASC,GAAU,CACzB,GAAIA,EAAM,gBAAkB,CAACF,EAAa,CACxC,IAAMG,EAAe,IAAI,MAEzBA,EAAa,OAAS,IAAM,CAC1BL,EAAM,IAAMK,EAAa,IACzB,WAAW,IAAM,CACfN,EAAO,UAAU,IAAI,iBAAiB,CACxC,EAAG,GAAG,EACNG,EAAc,EAChB,EAEAG,EAAa,IAAMJ,CACrB,CACF,CAAC,CACH,EACA,CACE,KAAM,KACN,WAAY,GAAG,OAAO,YAAc,CAAC,KACrC,UAAW,CACb,CACF,EAES,QAAQD,CAAK,CACxB,CACF,EAEOM,EAAQR", "names": ["picture", "target", "image", "imageSrc", "imageLoaded", "entries", "entry", "loadingImage", "picture_default"] }