1window.shareProduct=function(){class ShareButton extends HTMLElement{constructor(){super(),this.elements={shareButton:this.querySelector("button"),successMessage:this.querySelector('[id^="ShareMessage"]'),urlInput:this.querySelector("input"),content:this.querySelector(".share-button__fallback"),copyButton:this.querySelector(".button-copy"),closeButton:this.querySelector(".share-button__close")},this.elements.shareButton.addEventListener("click",this.toggleDetails.bind(this)),this.elements.copyButton.addEventListener("click",this.copyToClipboard.bind(this)),this.elements.closeButton.addEventListener("click",this.closeDetails.bind(this)),document.querySelector(".background-overlay").addEventListener("click",this.closeDetails.bind(this))}toggleDetails(event){event.preventDefault(),event.stopPropagation();const url=this.elements.urlInput.getAttribute("data-url");this.getPosition(),this.setProductInfoTop(this.getProductInfoPosition()),this.elements.successMessage.classList.add("hidden"),this.elements.urlInput.setAttribute("value",url),this.elements.urlInput.classList.remove("is-copy"),this.elements.content.classList.toggle("is-open"),document.querySelector("body").classList.add("modal-share-open")}copyToClipboard(event){event.preventDefault(),event.stopPropagation(),this.elements.urlInput.classList.contains("is-copy")||navigator.clipboard.writeText(this.elements.urlInput.value).then(()=>{this.elements.successMessage.setAttribute("aria-hidden",!1),this.elements.urlInput.setAttribute("value","Link copied to clipboard!"),this.elements.urlInput.classList.add("is-copy"),setTimeout(()=>{this.elements.successMessage.setAttribute("aria-hidden",!0)},6e3)})}closeDetails(event){event.preventDefault();const url=this.elements.urlInput.getAttribute("data-url");this.elements.successMessage.classList.add("hidden"),this.elements.urlInput.setAttribute("value",url),this.elements.urlInput.classList.remove("is-copy"),this.elements.content.classList.remove("is-open"),document.querySelector("body").classList.remove("modal-share-open"),this.setProductInfoTop(0)}getPosition(){if(window.innerWidth<=1024||this.elements.shareButton.closest("[data-quick-view-popup]")!=null)return;const shareButtonRect=this.elements.shareButton.getBoundingClientRect(),y=shareButtonRect.top,x=shareButtonRect.left,width=this.elements.content.getBoundingClientRect().width,shareHeight=shareButtonRect.height,shareWidth=shareButtonRect.width,left=x-width+shareWidth,top=y+shareHeight+10;this.elements.content.style.setProperty("--share-desk-top",top+"px"),this.elements.content.style.setProperty("--share-desk-left",left+"px")}getProductInfoPosition(){return document.querySelector(".productView-details").offsetTop}setProductInfoTop(top){document.querySelector(".productView-details").style.setProperty("--sticky-top",top+"px")}}customElements.define("share-button",ShareButton)};var shareShow=document.body.classList.contains("quick-view-show"),productShare=$(".halo-productView .productView-share").length;document.body.classList.contains("template-product")?(!shareShow&&productShare||shareShow&&productShare===0)&&window.shareProduct():window.shareProduct(); 2//# sourceMappingURL=/cdn/shop/t/6/assets/share.js.map?v=135494607119680665511669130829
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.