{"version":3,"file":"js/smush-nextgen-fallback.min.js","mappings":"CAAA,SAACA,GACA,aAGA,SAASC,EAAcC,EAASC,GAC/B,IAIMC,EAAM,IAAIC,MAChBD,EAAIE,OAAS,WACZ,IAAMC,EAAUH,EAAII,MAAQ,GAAOJ,EAAIK,OAAS,EAChDN,EAASI,EACV,EACAH,EAAIM,QAAU,WACbP,GAAS,EACV,EACAC,EAAIO,IAZe,CAClBC,KAAM,0IACNC,KAAM,2bAUcX,EACtB,CAEA,SAASY,EAAcC,EAAuBC,EAAeC,GAC5D,OAAO,SAAUC,GAEhB,GADAC,SAASC,gBAAgBC,UAAUC,IAAIJ,EAAqBD,EAAY,MAAQA,IAC5EC,EAAJ,CAIA,IAAMK,EAAuBC,OAAOC,yBAAyBC,QAAQC,UAAW,gBAGhFH,OAAOI,eAAeF,QAAQC,UAAW,eAAgB,CACxDE,MAAO,SAAUC,GAChB,IAAKC,KAAKC,QAAQC,eAAejB,GAChC,OAAOO,EAAqBM,MAAMK,KAAKH,KAAMD,GAG9C,IAAMK,EAAiBC,KAAKC,MAAMN,KAAKC,QAAQhB,IAE/C,OAAIc,KAAiBK,EACbA,EAAeL,GAGhBP,EAAqBM,MAAMK,KAAKH,KAAMD,EAC9C,IAGD,IAAMQ,EAAuBnB,SAASoB,iBAAiB,IAAMxB,EAAwB,oBACrF,GAAIuB,EAAqBE,OAAQ,CAEhC,IAAMC,EAAoB,CAAC,MAAO,UAClCH,EAAqBI,SAAQ,SAACC,GAC7B,IAAMR,EAAiBC,KAAKC,MAAMM,EAAQX,QAAQhB,IAClDyB,EAAkBC,SAAQ,SAAUE,GAC/BA,KAAYT,GACfQ,EAAQE,aAAaD,EAAUT,EAAeS,GAEhD,IAGI,OAAQT,IACXQ,EAAQG,MAAMC,WAAaZ,EAAea,IAEvC,aAAcb,IACjBQ,EAAQG,MAAMG,gBAAkBd,EAAe,YAEjD,GACD,CAzCA,CA0CD,CACD,CAEsC,UAAX,QAAvBnC,EAAAkD,+BAAuB,IAAAlD,OAAA,EAAvBA,EAAyBmD,MAC5BlD,EAAc,OAAQa,EAAc,2BAA4B,oBAAqB,SAErFb,EAAc,OAAQa,EAAc,2BAA4B,oBAAqB,QAEtF,CA3ED","sources":["webpack://wp-smushit/./_src/js/frontend/nextgen-fallback.js"],"sourcesContent":["(function () {\n\t'use strict';\n\n\t// Source: https://developers.google.com/speed/webp/faq#in_your_own_javascript.\n\tfunction check_feature(feature, callback) {\n\t\tconst testImages = {\n\t\t\twebp: \"data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==\",\n\t\t\tavif: \"data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=\"\n\t\t};\n\t\tconst img = new Image();\n\t\timg.onload = function () {\n\t\t\tconst result = (img.width > 0) && (img.height > 0);\n\t\t\tcallback(result);\n\t\t};\n\t\timg.onerror = function () {\n\t\t\tcallback(false);\n\t\t};\n\t\timg.src = testImages[feature];\n\t}\n\n\tfunction make_callback(fallbackAttributeName, dataValueName, extension) {\n\t\treturn function (isNextGenSupported) {\n\t\t\tdocument.documentElement.classList.add(isNextGenSupported ? extension : 'no-' + extension);\n\t\t\tif (isNextGenSupported) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst originalGetAttribute = Object.getOwnPropertyDescriptor(Element.prototype, 'getAttribute');\n\n\t\t\t// Redefine the getAttribute function with a custom implementation\n\t\t\tObject.defineProperty(Element.prototype, 'getAttribute', {\n\t\t\t\tvalue: function (attributeName) {\n\t\t\t\t\tif (!this.dataset.hasOwnProperty(dataValueName)) {\n\t\t\t\t\t\treturn originalGetAttribute.value.call(this, attributeName);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fallbackObject = JSON.parse(this.dataset[dataValueName]);\n\n\t\t\t\t\tif (attributeName in fallbackObject) {\n\t\t\t\t\t\treturn fallbackObject[attributeName];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn originalGetAttribute.value.call(this, attributeName);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst elementsWithFallback = document.querySelectorAll('[' + fallbackAttributeName + ']:not(.lazyload)');\n\t\t\tif (elementsWithFallback.length) {\n\t\t\t\t// Update background image, src, srcset.\n\t\t\t\tconst imageDisplayAttrs = ['src', 'srcset'];\n\t\t\t\telementsWithFallback.forEach((element) => {\n\t\t\t\t\tconst fallbackObject = JSON.parse(element.dataset[dataValueName]);\n\t\t\t\t\timageDisplayAttrs.forEach(function (attrName) {\n\t\t\t\t\t\tif (attrName in fallbackObject) {\n\t\t\t\t\t\t\telement.setAttribute(attrName, fallbackObject[attrName]);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\t// Update background image.\n\t\t\t\t\tif ('bg' in fallbackObject) {\n\t\t\t\t\t\telement.style.background = fallbackObject.bg;\n\t\t\t\t\t}\n\t\t\t\t\tif ('bg-image' in fallbackObject) {\n\t\t\t\t\t\telement.style.backgroundImage = fallbackObject['bg-image'];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\n\tif (wp_smushit_nextgen_data?.mode === 'avif') {\n\t\tcheck_feature('avif', make_callback('data-smush-avif-fallback', 'smushAvifFallback', 'avif'));\n\t} else {\n\t\tcheck_feature('webp', make_callback('data-smush-webp-fallback', 'smushWebpFallback', 'webp'));\n\t}\n})();\n"],"names":["_wp_smushit_nextgen_d","check_feature","feature","callback","img","Image","onload","result","width","height","onerror","src","webp","avif","make_callback","fallbackAttributeName","dataValueName","extension","isNextGenSupported","document","documentElement","classList","add","originalGetAttribute","Object","getOwnPropertyDescriptor","Element","prototype","defineProperty","value","attributeName","this","dataset","hasOwnProperty","call","fallbackObject","JSON","parse","elementsWithFallback","querySelectorAll","length","imageDisplayAttrs","forEach","element","attrName","setAttribute","style","background","bg","backgroundImage","wp_smushit_nextgen_data","mode"],"sourceRoot":""}