UNPKG

lazysizes

Version:

High performance (jankfree) lazy loader for images (including responsive images), iframes and scripts (widgets).

2 lines 2 kB
/*! lazysizes - v4.0.0 */ !function(a,b){var c=function(d){b(a.lazySizes,d),a.removeEventListener("lazyunveilread",c,!0)};b=b.bind(null,a,a.document),"object"==typeof module&&module.exports?b(require("lazysizes")):a.lazySizes?c():a.addEventListener("lazyunveilread",c,!0)}(window,function(a,b,c,d){"use strict";function e(a){var b=getComputedStyle(a,null)||{},c=b.fontFamily||"",d=c.match(j)||"",e=d&&c.match(k)||"";return e&&(e=e[1]),{fit:d&&d[1]||"",position:n[e]||e||"center"}}function f(a,b){var d,e=c.cfg,f=a.cloneNode(!1),g=f.style,h=function(){var b=a.currentSrc||a.src;b&&(g.backgroundImage="url("+(m.test(b)?JSON.stringify(b):b)+")",d||(d=!0,c.rC(f,e.loadingClass),c.aC(f,e.loadedClass)))};a._lazysizesParentFit=b.fit,a.addEventListener("load",function(){c.rAF(h)},!0),f.addEventListener("load",function(){var a=f.currentSrc||f.src;a&&a!=l&&(f.src=l,f.srcset="")}),c.rAF(function(){var d=a,i=a.parentNode;"PICTURE"==i.nodeName.toUpperCase()&&(d=i,i=i.parentNode),c.rC(f,e.loadedClass),c.rC(f,e.lazyClass),c.aC(f,e.loadingClass),c.aC(f,e.objectFitClass||"lazysizes-display-clone"),f.getAttribute(e.srcsetAttr)&&f.setAttribute(e.srcsetAttr,""),f.getAttribute(e.srcAttr)&&f.setAttribute(e.srcAttr,""),f.src=l,f.srcset="",g.backgroundRepeat="no-repeat",g.backgroundPosition=b.position,g.backgroundSize=b.fit,d.style.display="none",a.setAttribute("data-parent-fit",b.fit),a.setAttribute("data-parent-container","prev"),i.insertBefore(f,d),a._lazysizesParentFit&&delete a._lazysizesParentFit,a.complete&&h()})}var g=b.createElement("a").style,h="objectFit"in g,i=h&&"objectPosition"in g,j=/object-fit["']*\s*:\s*["']*(contain|cover)/,k=/object-position["']*\s*:\s*["']*(.+?)(?=($|,|'|"|;))/,l="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",m=/\(|\)|'/,n={center:"center","50% 50%":"center"};if(!h||!i){var o=function(a){if(a.detail.instance==c){var b=a.target,d=e(b);!d.fit||h&&"center"==d.position||f(b,d)}};a.addEventListener("lazyunveilread",o,!0),d&&d.detail&&o(d)}});