https://lehrmann-mainz.de/wp-content/plugins/greenshift-animation-…/libs/greenpanel/index.js?ver=2.0
1class GSDynamicPanel{constructor(e={}){this.options={...e},this.injectStyles(),this.createDynamicPanelElement(),this.dynamicpanel=document.getElementById("gs-dynamicpanel"),this.content=this.dynamicpanel.querySelector(".gs-dynamicpanel-content"),this.panelcontent=[],this.dynamicpanel.addEventListener("click",e=>{(e.target===this.dynamicpanel||e.target.classList.contains("gs-close-backdrop"))&&this.close()}),document.addEventListener("keydown",e=>{"Escape"===e.key&&this.close()})}injectStyles(){let e=document.createElement("style");e.textContent=` 2 .gs-dynamicpanel { 3 position: fixed; 4 z-index: 999999; 5 top: 0; 6 left: 0; 7 width: 100%; 8 height: 100%; 9 pointer-events: none; 10 } 11 .gs-dynamicpanel.active { 12 pointer-events: auto; 13 } 14 .gs-dynamicpanel-close { 15 position: absolute; 16 top: 15px; 17 right: 15px; 18 width: 40px; 19 height: 40px; 20 border-radius: 50%; 21 background-color: var(--wp--custom--lightbox--close-button--background-color, rgba(0, 0, 0, 0.5)); 22 border: none; 23 cursor: pointer; 24 display: flex; 25 justify-content: center; 26 align-items: center; 27 color: var(--wp--custom--close-button--color, #ffffff); 28 transition: var(--gs-root-transition, all .3s ease-in-out); 29 transform: scale(0); 30 opacity: 0; 31 } 32 .gs-dynamicpanel.active .gs-dynamicpanel-close { 33 transform: scale(1); 34 opacity: 1; 35 } 36 .gs-dynamicpanel.active .gs-dynamicpanel-close:hover { 37 transform: scale(1.1); 38 } 39`,document.head.appendChild(e)}createDynamicPanelElement(){let e=` 40 <div id="gs-dynamicpanel" class="gs-dynamicpanel" role="dialog" aria-modal="true" aria-label="Dynamic panel"> 41 <div class="gs-dynamicpanel-content" tabindex="-1"></div> 42 </div> 43`;document.body.insertAdjacentHTML("beforeend",e)}open(e,t,n){if(this.triggerElement=t,this.triggerElement.classList.contains("triggeractive")){this.close();return}if(this.content.innerHTML="",e instanceof HTMLElement)try{e.classList.add("gs-panel-initial"),this.content.appendChild(e),setTimeout(()=>{e.classList.add("active"),e.classList.remove("gs-panel-initial"),document.body.style.overflow="hidden"},10),n&&(this.panelcontent.find(e=>e.id===n)?this.panelcontent.find(e=>e.id===n).src=e:this.panelcontent.push({id:n,src:e}))}catch(i){console.error("Failed to use element:",i)}else if(n&&this.panelcontent.find(e=>e.id===n)){let s=this.panelcontent.find(e=>e.id===n).src;try{s.classList.add("gs-panel-initial"),this.content.appendChild(s),setTimeout(()=>{s.classList.add("active"),s.classList.remove("gs-panel-initial"),document.body.style.overflow="hidden"},10)}catch(a){console.error("Failed to use element:",a)}}if(setTimeout(()=>{this.dynamicpanel.classList.add("active")},10),this.triggerElement&&this.triggerElement.classList.add("triggeractive"),this.content.querySelector(".gs-panel-close")){this.content.querySelectorAll(".gs-panel-close").forEach(e=>{e.addEventListener("click",()=>this.close())});let l=this.dynamicpanel.querySelector(".gs-dynamicpanel-close");l&&l.remove()}else this.dynamicpanel.querySelector(".gs-dynamicpanel-close")||(this.closeBtn=document.createElement("button"),this.closeBtn.classList.add("gs-dynamicpanel-close"),this.closeBtn.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',this.dynamicpanel.appendChild(this.closeBtn),this.closeBtn.addEventListener("click",()=>this.close()));this.content.focus()}close(){this.dynamicpanel.classList.remove("active"),this.content.classList.remove("active"),this.content.querySelector(".active")&&this.content.querySelector(".active").classList.remove("active"),document.body.style.overflow="auto",this.triggerElement&&(this.triggerElement.classList.remove("triggeractive"),this.triggerElement.focus())}}let greenDynamicPanel;function openGreendynamicpanel(e,t,n){greenDynamicPanel&&greenDynamicPanel.open(e,t,n)}document.addEventListener("DOMContentLoaded",()=>{greenDynamicPanel=new GSDynamicPanel});
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.