1 2/***! /components/com_sppagebuilder/assets/js/addons/image.js !***/ 3 4(()=>{'use strict';const processImageShapes=(currentDocument=document,isProcessOnLoad=false)=>{const wrapperElements=currentDocument?.querySelectorAll('.sppb-addon-image-shape');wrapperElements.forEach((wrapperElement)=>{const path=wrapperElement.querySelector('svg path');const image=wrapperElement.querySelector('img');if(!image||!path){return;} 5const updateSVGStyle=(image)=>{const dataScale=image.getAttribute('data-scale')||1;const bbox=path.getBBox();const centerX=bbox.x+bbox.width/2;const centerY=bbox.y+bbox.height/2;const translateX=image.width/2;const translateY=image.height/2;path.setAttribute('transform','translate('+translateX+','+translateY+') scale('+dataScale+') translate('+(-centerX)+','+(-centerY)+')');image.style.visibility=null;} 6if(isProcessOnLoad){image.onload=()=>{updateSVGStyle(image);} 7return;} 8updateSVGStyle(image);})} 9document.addEventListener('DOMContentLoaded',function(){processImageShapes(document,false);document.getElementById('sp-pagebuilder-view')?.addEventListener('load',()=>{const pageBuilderIframe=window.frames['sp-pagebuilder-view'];if(!pageBuilderIframe){return;} 10const container=pageBuilderIframe?.window.document.getElementById('sp-pagebuilder-container');if(container){processImageShapes(container,true);const config={attributes:true,childList:true,subtree:true};const observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){if(mutation.type==='childList'||mutation.type==='subtree'){if(mutation.target===container||container.contains(mutation.target)){processImageShapes(container,true);}}});});observer.observe(container,config);}})});})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.