1class s extends HTMLElement{constructor(){super(),this.autoHideTimer=null,this.autoHideDuration=5e3,this.isVisible=!1}connectedCallback(){if(this.initialized)return;this.initialized=!0;const t=(this.id||"").replace("notification-","");if(!this.checkUrlParams(t)){this.remove();return}const e=document.getElementById("notifications-root");e&&this.parentElement!==e&&e.appendChild(this),this.setupCloseButton(),requestAnimationFrame(()=>{this.showNotification()}),this.autoHideTimer=setTimeout(()=>{this.hideNotification(),this.removeUrlParam("customer_posted")},this.autoHideDuration)}checkUrlParams(t){const i=new URLSearchParams(window.location.search);return t==="success"&&i.get("customer_posted")==="true"}showNotification(){this.isVisible=!0,this.setAttribute("aria-hidden","false"),this.style.pointerEvents="",this.classList.remove("translate-y-full","opacity-0","pointer-events-none"),this.classList.add("translate-y-0","opacity-100")}hideNotification(){this.isVisible=!1,this.setAttribute("aria-hidden","true"),this.style.pointerEvents="none",this.classList.remove("translate-y-0","opacity-100"),this.classList.add("translate-y-full","opacity-0","pointer-events-none"),this.autoHideTimer&&(clearTimeout(this.autoHideTimer),this.autoHideTimer=null)}removeUrlParam(t){const i=new URL(window.location);i.searchParams.delete(t),i.hash="",window.history.replaceState({},"",i)}setupCloseButton(){const t=this.querySelector("[data-modal-close]");t&&t.addEventListener("click",()=>{this.hideNotification(),this.removeUrlParam("customer_posted")})}disconnectedCallback(){this.autoHideTimer&&clearTimeout(this.autoHideTimer)}}customElements.define("notification-component",s);
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.