1customElements.get("product-model")||customElements.define("product-model",class extends HTMLElement{constructor(){super()}connectedCallback(){if("loadShopifyFeature"in this.dataset)this.shopifyLoadFeatures();else{const poster=this.querySelector('[id^="Deferred-Poster-"]');if(!poster)return;poster.addEventListener("click",this.loadContent.bind(this))}}loadContent(focus=!0){if(window.pauseAllMedia(),!this.getAttribute("loaded")){const content=document.createElement("div");content.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0);const deferredElement=this.appendChild(content.querySelector("model-viewer"));focus&&deferredElement.focus()}this.shopifyLoadFeatures()}shopifyLoadFeatures(){Shopify.loadFeatures([{name:"model-viewer-ui",version:"1.0",onLoad:this.setupModelViewerUI.bind(this)}])}setupModelViewerUI(errors){errors||(this.modelViewerUI=new Shopify.ModelViewerUI(this.querySelector("model-viewer")))}}),window.ProductModel={loadShopifyXR(){Shopify.loadFeatures([{name:"shopify-xr",version:"1.0",onLoad:this.setupShopifyXR.bind(this)}])},setupShopifyXR(errors){if(!errors){if(!window.ShopifyXR){document.addEventListener("shopify_xr_initialized",()=>this.setupShopifyXR());return}document.querySelectorAll('[id^="ProductJSON-"]').forEach(modelJSON=>{window.ShopifyXR.addModels(JSON.parse(modelJSON.textContent)),modelJSON.remove()}),window.ShopifyXR.setupXRElements()}}},window.addEventListener("DOMContentLoaded",()=>{window.ProductModel&&window.ProductModel.loadShopifyXR()}); 2//# sourceMappingURL=/cdn/shop/t/4/assets/product-model.js.map?v=8926940968988808061779117234
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.