@perceptimagery/dita-configurator-staging 0.3.6021 → 0.3.6022
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* (c) 2023, Abhishek Deb (vikz91.deb@gmail.com) */
|
|
2
2
|
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@200;300;400;500;600;700;800&display=swap";#Sprie-config-html{font-size:87.5%}#Sprie-config-html,#Sprie-config-body{width:100%;height:100%;margin:0;padding:0;font-family:Work Sans,sans-serif;box-sizing:border-box}#Sprie-config-body *{box-sizing:border-box;margin:0;padding:0}.sprie-config-loadingBox{position:fixed;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:24px;font-weight:500;z-index:10000;background:#f2f2f2}.drawer.drawer--full.hidden-phone.lens-customizer .drawer__header{display:none!important}.drawer.drawer--full.hidden-phone.lens-customizer .drawer__content.drawer__content--padded-start{padding-top:0!important}.drawer.drawer--full.hidden-phone.lens-customizer #dita-3dconfig-element{height:100%!important}.popover.hidden-lap-and-up.popover-full .popover__header{display:none!important}#sprie-config-main-container{width:100%;height:100%}#sprie-config-main-header{border-bottom:.5px solid #aeaeae;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem}.sprie-config-main-header-close{position:absolute;right:2%;width:3rem;height:3rem;background-color:transparent;border:none}#sprie-config-header-content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}#sprie-config-header-content .sprie-config-mainHeader-frameName{color:#373737;font-size:1.3rem;font-weight:400;line-height:1.5275rem;letter-spacing:-.05rem;text-transform:uppercase}#sprie-config-viewer-container{position:relative;width:100%;img {position: absolute; top: 2rem; left: 2rem;}}.sprie-config-loadingFrame{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:24px;font-weight:500;z-index:1000;background:#fafafa;opacity:.7}.sprie-config-loader{border:8px solid #222222;width:60px;padding:8px;aspect-ratio:1;border-radius:50%;background:#222222;--_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;-webkit-mask:var(--_m);mask:var(--_m);-webkit-mask-composite:source-out;mask-composite:subtract;animation:spin 1s infinite linear}@keyframes spin{to{transform:rotate(1turn)}}#Sprie-config-Customisation-block{background-color:#f2f2f2;border-top:1px solid #91847e;position:relative;flex-grow:1}.sprie-config-price-block{position:absolute;bottom:100%;right:0;z-index:1000;display:flex;flex-direction:column;align-items:end;gap:.4rem;p {font-size: 1.5rem; font-weight: 500; color: #121212;}}.frameName{color:#4d4d4d;font-size:.875rem;font-weight:500;line-height:1.5275rem;letter-spacing:-.05rem;text-transform:uppercase}.price-tag{color:#222;font-size:1.3125rem;font-weight:400;line-height:2.275rem}@media (max-width: 576px){#Sprie-config-Viewer-Container{img {position: absolute; top: 1.2rem; left: 1.2rem;}}}.sprie-config-palette{display:flex;gap:1.5rem;justify-content:flex-start;overflow-x:auto}.sprie-config-palette-img-box{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}.sprie-config-palette-img-box .sprie-config-image{width:60px;height:60px}.sprie-config-palette-img-box .sprie-config-image.mobile-view{width:45px;height:45px}.sprie-config-palette-img-box>button{background-color:transparent}.sprie-config-palette-img-text{position:absolute;z-index:100;bottom:-1rem}.sprie-config-palette-img-text .sprie-config-palette-imgName{white-space:nowrap;z-index:100}.sprie-config-palette-img-text .sprie-config-price-tag{text-align:center;font-size:small;white-space:nowrap;z-index:100}.sprie-config-engraving-block{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:.8rem}.sprie-config-engraving-checkbox[type=checkbox]{width:1rem;height:1rem;accent-color:#000;border:.25rem solid #000;border-radius:.5rem;background-color:transparent}.sprie-config-engraving-inputField-block{width:25rem;position:relative}.sprie-config-engraving-inputField{width:100%;font-size:.8rem;font-weight:500;background:transparent;border-width:1px}.sprie-config-engraving-inputInfo{position:absolute;white-space:nowrap;font-size:.6rem;bottom:.2rem;right:.4rem;color:#686868}.sprie-config-engraving-link{position:absolute;white-space:nowrap;font-size:.7rem;bottom:-1.2rem;right:0;color:#686868;text-decoration:underline;cursor:pointer}@media (max-width: 576px){.sprie-config-engraving-inputField-block{width:70%}}.carousel{position:relative;overflow:hidden;width:100%;height:100%;display:flex;flex-direction:column;align-items:center}.carousel-container{width:80%;height:100%;display:flex;position:relative;overflow:hidden}.carousel-item{display:flex;align-items:start;justify-content:center;min-width:100%;transition-property:transform;transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.5s}.carousel-header{display:flex;align-items:center;justify-content:center;gap:2rem}.carousel-header .step-syntax{font-size:1rem;font-weight:600;line-height:1.5rem;color:#4d4d4d}.carousel-header .select-syntax{font-size:1rem;font-weight:400;line-height:1.5rem;color:#91847e}.carousel-btn{border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent}.arrow{border:solid #91847e;border-width:0 3px 3px 0;display:inline-block}.right-arrow{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.left-arrow{transform:rotate(135deg);-webkit-transform:rotate(135deg)}.step-tracker-block{display:flex;flex-direction:column;justify-content:center;align-items:center;border-bottom:1px solid #aeaeae;width:26.25rem}.step-tracker{display:flex;gap:1rem}.step-circle{width:10px;height:10px;border-radius:50%;border:1px solid #7d7d7d;background-color:transparent;display:flex;justify-content:center;align-items:center;margin-right:10px;font-size:14px}.step-circle.active{background-color:#000;border-color:#000}@media (max-width: 576px){.carousel-container{width:100%}.step-tracker-block{width:80%}}.sprie-config-add-to-cart-block{width:14.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.sprie-config-add-to-cart-btn{width:100%;height:2.75rem;background-color:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;font-size:.875rem;letter-spacing:.1rem;font-weight:500;color:#fff}#Sprie-Config-return-policy-label{display:flex;justify-content:center;width:16rem;p {font-size: .8rem; text-align:center; margin: .05rem .08rem .05rem .5rem;}}#Sprie-Config-return-policy-checkbox[type=checkbox]{align-self:center;width:1rem;height:1rem;accent-color:#000;border:.25rem solid #000;border-radius:.5rem;background-color:#efefef}.sprie-config-add-to-cart-btn:disabled,.sprie-config-add-to-cart-btn [disabled]{background-color:#504f4f;cursor:default}@media (max-width: 576px){.sprie-config-add-to-cart-block{width:100%}.sprie-config-add-to-cart-btn{width:100%;height:4rem}#Sprie-Config-return-policy-label{width:100%;margin-bottom:.5rem}}.sprie-3d-snap-button-block{position:absolute;top:1.5rem;right:2rem;display:flex;flex-direction:column}.sprie-3d-snap-button{cursor:pointer!important;border:none;font-size:.9rem;padding:.5rem 1.5rem!important;margin:.5rem 0rem!important;text-align:center}@media (max-width: 576px){.sprie-3d-snap-button-block{top:1rem;right:1.3rem;gap:0}.sprie-3d-snap-button{font-size:.7rem;padding:.3rem 1rem!important;margin:.2rem 0!important}}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();
|
|
3
|
-
var IQ=Object.defineProperty;var CQ=(Va,os,ls)=>os in Va?IQ(Va,os,{enumerable:!0,configurable:!0,writable:!0,value:ls}):Va[os]=ls;var Bt=(Va,os,ls)=>(CQ(Va,typeof os!="symbol"?os+"":os,ls),ls);(function(){var VI,jI;"use strict";class Va{constructor(e){Bt(this,"config");this.config=e}IsTokenExpired(){if(!this.config.EXPIRES)return!1;const e=this.config.EXPIRES;if(!e)return!0;const t=new Date().getTime(),i=new Date(e).getTime()-t;return e===""||i<=0}IsConfigExpired(){return this.LoadConfig(),!this.config.JWT||!this.config.ORGID}RequestOptions(e,t){return{method:e,headers:{...{Accept:"application/json","Content-Type":"application/json"},...this.config.JWT&&{Authorization:this.config.JWT}},...e==="POST"&&{body:JSON.stringify(t)}}}async Get(e){return await(await fetch(this.config.HOST+e,this.RequestOptions("GET"))).json()}async Post(e,t){return await(await fetch(this.config.HOST+e,this.RequestOptions("POST",t||{}))).json()}StoreConfig(e){e.JWT&&(localStorage.setItem(`${this.config.STORE_PREFIX}jwtToken`,e.JWT),this.config.JWT=e.JWT),e.EXPIRES&&(localStorage.setItem(`${this.config.STORE_PREFIX}expires`,e.EXPIRES),this.config.EXPIRES=e.EXPIRES),e.ORGID&&(localStorage.setItem(`${this.config.STORE_PREFIX}orgId`,e.ORGID),this.config.ORGID=e.ORGID)}LoadConfig(){const e=localStorage.getItem(`${this.config.STORE_PREFIX}jwtToken`);e&&(this.config.JWT=e);const t=localStorage.getItem(`${this.config.STORE_PREFIX}orgId`);t&&(this.config.ORGID=t);const n=localStorage.getItem(`${this.config.STORE_PREFIX}expires`);return n&&(this.config.EXPIRES=n),this.config}}const os={storePrefix:{NODE_ENV:"production"}.STORE_PREFIX||"sprie-embed-",host:"https://api.sprie.io"},ls=Object.freeze(os),AM="0.3.
|
|
3
|
+
var IQ=Object.defineProperty;var CQ=(Va,os,ls)=>os in Va?IQ(Va,os,{enumerable:!0,configurable:!0,writable:!0,value:ls}):Va[os]=ls;var Bt=(Va,os,ls)=>(CQ(Va,typeof os!="symbol"?os+"":os,ls),ls);(function(){var VI,jI;"use strict";class Va{constructor(e){Bt(this,"config");this.config=e}IsTokenExpired(){if(!this.config.EXPIRES)return!1;const e=this.config.EXPIRES;if(!e)return!0;const t=new Date().getTime(),i=new Date(e).getTime()-t;return e===""||i<=0}IsConfigExpired(){return this.LoadConfig(),!this.config.JWT||!this.config.ORGID}RequestOptions(e,t){return{method:e,headers:{...{Accept:"application/json","Content-Type":"application/json"},...this.config.JWT&&{Authorization:this.config.JWT}},...e==="POST"&&{body:JSON.stringify(t)}}}async Get(e){return await(await fetch(this.config.HOST+e,this.RequestOptions("GET"))).json()}async Post(e,t){return await(await fetch(this.config.HOST+e,this.RequestOptions("POST",t||{}))).json()}StoreConfig(e){e.JWT&&(localStorage.setItem(`${this.config.STORE_PREFIX}jwtToken`,e.JWT),this.config.JWT=e.JWT),e.EXPIRES&&(localStorage.setItem(`${this.config.STORE_PREFIX}expires`,e.EXPIRES),this.config.EXPIRES=e.EXPIRES),e.ORGID&&(localStorage.setItem(`${this.config.STORE_PREFIX}orgId`,e.ORGID),this.config.ORGID=e.ORGID)}LoadConfig(){const e=localStorage.getItem(`${this.config.STORE_PREFIX}jwtToken`);e&&(this.config.JWT=e);const t=localStorage.getItem(`${this.config.STORE_PREFIX}orgId`);t&&(this.config.ORGID=t);const n=localStorage.getItem(`${this.config.STORE_PREFIX}expires`);return n&&(this.config.EXPIRES=n),this.config}}const os={storePrefix:{NODE_ENV:"production"}.STORE_PREFIX||"sprie-embed-",host:"https://api.sprie.io"},ls=Object.freeze(os),AM="0.3.6022";function gM(r,e){const t=r.findIndex(n=>n.sku===e.sku);return t!==-1?[e,...r.slice(0,t),...r.slice(t+1)]:r}class mM{constructor(e,t){Bt(this,"isAuthenticated");Bt(this,"fetcher");Bt(this,"shopifyAPI");Bt(this,"org");Bt(this,"apiKey");Bt(this,"dataVariants");this.isAuthenticated=!1,this.fetcher=e,this.shopifyAPI=t,this.dataVariants=[]}async Authenticate(e){if(this.fetcher.LoadConfig(),(this.fetcher.IsTokenExpired()||this.fetcher.IsConfigExpired())&&await this.AuthServiceApi(e),this.isAuthenticated=!(this.fetcher.IsTokenExpired()&&this.fetcher.IsConfigExpired()),this.org=this.fetcher.config.ORGID,this.apiKey=e,!this.isAuthenticated)throw new Error("Sprie Authentication failed!")}async AuthServiceApi(e){const t=`/v1/widget/auth?api=${e}`,n=await this.fetcher.Get(t);if(!n.access||!n.orgId)throw new Error("SPRIE key Not Authorised");this.fetcher.StoreConfig({...this.fetcher.config,JWT:n.access,ORGID:n.orgId,EXPIRES:n.expires})}async FetchAssetBySKUOrBarcode(e){let t="/v1/widget/variants/";if(e.barcode)t+=`${e.barcode}`;else if(e.sku)t+=`${e.sku}`;else throw new Error("Need either sku or barcode.");return t+="?populate-customisation=true",await this.fetcher.Get(t)}async FetchCustomisationList(e){const t=`/v1/widget/list-customisation?search=type:${e},org:${this.fetcher.config.ORGID},usage:customizer&limit=50`,n=await this.fetcher.Get(t),i=n.data.find(o=>o.sku===`${e.toLowerCase()}-default`);return{...n,data:i?gM(n.data,i):n.data}}async DownloadMA(e){try{const t=`/v1/widget/org/${e.orgId}/asset/${e.assetsId}/universal-full-encrypted`,n=await this.fetcher.Get(t),i=`org/${e.orgId}/asset/${e.assetsId}`;if(!n)throw new Error("Failed to download model asset.");return{asset:n,decryptionKey:i}}catch{throw new Error("Failed to download model asset.")}}async HandleAssetUsage(e){if(!this.fetcher.IsConfigExpired()&&e){const t={org:this.fetcher.config.ORGID,asset:e,timestamp:new Date().toISOString()},n="/v1/analytics/trigger";await this.fetcher.Post(n,t)}}async PopulateDataList(e){var n;const t=(n=document.querySelector(`#${e}`))==null?void 0:n.textContent;if(t){const i=await JSON.parse(t);return Object.values(i)[0]}return null}async HandleShopifyAddToCart(e){e.forEach(i=>{var o;const s=(o=i.properties)==null?void 0:o.customText;s&&(delete i.properties.customText,Object.assign(i.properties,{"custom-laser-etching":"Add Laser Engraving"}),Object.assign(i.properties,{"custom-text":s}),Object.assign(i.properties,{"This customized item cannot be returned or exchanged":"I agree"}))});let t={items:e,sections:"mini-cart"};const n=await this.shopifyAPI.Post(t);if(n){const i=await this.shopifyAPI.Get();document.querySelector("#shopify-section-mini-cart").outerHTML=n.sections["mini-cart"],document.querySelector(".header__cart-count").textContent=i.item_count;const s=document.querySelector(".drawer.drawer--full");s&&s.hasAttribute("open")&&s.removeAttribute("open");const o=document.querySelector(".popover.hidden-lap-and-up.popover-full");o&&o.hasAttribute("open")&&o.removeAttribute("open"),document.querySelector(".mini-cart.drawer.drawer--large").setAttribute("open","")}}}var Ip=(r=>(r.Init="init",r.Preparing="preparing",r.Authenticating="authenticating",r.Fetching="fetching",r.Loading="loading",r.Done="done",r))(Ip||{});class _M{constructor({log:e,logErr:t,apiService:n,metaData:i,config:s}){Bt(this,"log");Bt(this,"logErr");Bt(this,"metaData");Bt(this,"loaderName");Bt(this,"apiKey");Bt(this,"scriptStreamEncoderId");Bt(this,"rawNodeList");Bt(this,"targetNodeList");Bt(this,"status");Bt(this,"isLoaded");Bt(this,"loadCount");Bt(this,"mutationObserver");Bt(this,"config");Bt(this,"apiService");this.config=s,this.apiService=n,this.metaData=i,this.apiKey=null,this.scriptStreamEncoderId=`sprie-embed🔴${Date.now().toString()}`,this.rawNodeList=document.getElementsByClassName(this.metaData.targetClassName),this.targetNodeList=[],this.status=Ip.Init,this.isLoaded=!1,this.loadCount=0,this.loaderName="sprie-embed-loader",this.log=e.bind(this),this.logErr=t.bind(this),this.mutationObserver=null}scanApiKeyFromCurrentScriptTag(){const e=document.currentScript;if(!e)return;const t=e==null?void 0:e.getAttribute("src");if(!t)return;const n=new URLSearchParams(t.substring(t.indexOf("?")));this.apiKey=(n==null?void 0:n.get("apikey"))||(n==null?void 0:n.get("apiKey")),this.apiKey&&(e==null||e.setAttribute("data-enc-stream-id",this.scriptStreamEncoderId))}async authenticate(){if(this.status=Ip.Authenticating,!this.apiService.isAuthenticated){if(!this.apiKey)throw new Error("Sprie: Unable to authenticate. Need APIKey.");await this.apiService.Authenticate(this.apiKey),this.apiService.isAuthenticated||this.logErr("Authentication failed! Check apikey and/or expiration.")}}async Init(){try{return this.scanApiKeyFromCurrentScriptTag(),await this.authenticate(),!0}catch(e){return this.log("SprieEmbed Loading failed."),this.logErr(e),this.isLoaded=!1,!1}}}function vM(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var T1={exports:{}},Tc={},B1={exports:{}},vt={};/**
|
|
4
4
|
* @license React
|
|
5
5
|
* react.production.min.js
|
|
6
6
|
*
|
|
@@ -4462,7 +4462,7 @@ bool bvhIntersectFirstHit(
|
|
|
4462
4462
|
`)},en.needsUpdate=!0,rc&&(t.visible=km)))}setupOrbitalMaterial(e){rc&&e.material&&e.material.name.toLowerCase()=="frame-stems"&&(Fm=e,cr=ok,cr.envMap=this.scene.environment,e.material=cr,cr.needsUpdate=!0,e.visible=Qm)}setupGemstoneMaterial(e){e.material&&e.name.toLowerCase().includes("diamond")&&(this.initGemstoneDependencies(),Ds.uniforms.bvh.value=new iw,Ds.uniforms.bvh.value.updateFrom(new Xg(e.geometry.clone().toNonIndexed(),{strategy:Ux})),e.material=Ds)}async loadEyewearFromGLTF(e,t,n,i){const s=new q2,o=new Ji(s).setTranscoderPath("https://unpkg.com/three@0.146.0/examples/js/libs/basis/");e.setKTX2Loader(o.detectSupport(n));const c=i,h=t.includes(".glb");let u;return h?u=await e.loadAsync(t):u=await this.LoadEncryptedGlb(e,t,c).then(d=>{let A=d.result;this.updateScene(A);let p=Number.POSITIVE_INFINITY;A.scene.traverse(g=>{g.isMesh&&(p=Math.min(p,this.getMinY(g)),this.setupLensMaterial(A,g),this.setupOrbitalMaterial(g),this.setupGemstoneMaterial(g),g.matrixAutoUpdate=!0)}),this.adjustSceneHeight(A,p),this.loadModelInsideScene(d.result.scene)}),u==null?void 0:u.scene}updateLensMaterial(e){if(en){if(e.direction=="u")en.color=new qe(e.color),en.opacity=e.opacity,br.uAlpha.value=!1;else if(e.direction=="tb"){const t=e.gradientColors;br.uAlpha.value=!0;let n=0;t.forEach(()=>{br.colors.value[n]=new qe(t[n].color),br.positions.value[n]=t[n].position,br.opacities.value[n]=t[n].alpha,n++})}e.finish=="MIRBLKHMC"?(en.clearcoat=1,en.clearcoatRoughness=0):e.finish=="HMCCR"?(en.clearcoat=0,en.clearcoatRoughness=1):e.finish=="MIRSILHMC"&&(en.clearcoat=1,en.clearcoatRoughness=0),en.roughness=e.roughness,en.metalness=e.metalness}}async downloadTexture(e){return await this.textureLoader.loadAsync(e).then(t=>(t.colorSpace=kr,t.flipY=!1,t.magFilter=fr,t.minFilter=KB,t.wrapS=Zs,t.wrapT=Zs,t))}async updateOrbitalMaterial(e){cr&&e&&(e.texture&&(e.texture.baseColor&&await this.downloadTexture(e.texture.baseColor).then(t=>{cr.map=t}),e.texture.opacity&&await this.downloadTexture(e.texture.opacity).then(t=>{cr.transmissionMap=t}),e.texture.orm&&await this.downloadTexture(e.texture.orm).then(t=>{cr.aoMap=t,cr.roughnessMap=t,cr.metalnessMap=t})),e.ior>1?(cr.ior=1.45,cr.thickness=.0035):(cr.ior=1,cr.thickness=0),cr.opacity=1,cr.transmission=1,cr.transparent=!1,cr.clearcoat=0,cr.roughness=1,cr.metalness=e.metalness,cr.shadowSide=Pr,cr.depthWrite=!0)}snapCamToPos(e){var t;if(!this.camera||!this.renderer)return;const n=(t=ak[e])==null?void 0:t.value;yI.to(this.camera.position,{duration:1,ease:"sine.inOut",x:n.x,y:n.y,z:n.z})}setupAndRenderScene(){if(!this.camera||!this.renderer)return;this.scene.add(this.camera);const e=new d8(16777215,16777215,2);e.color.setHSL(.6,1,.6),e.groundColor.setHSL(.095,1,.75),e.position.set(0,50,0),this.scene.add(e);const t=new $2(16777215,1.5);t.color.setHSL(.1,1,.95),t.position.set(-1,1.75,1),t.position.multiplyScalar(30),this.scene.add(t);const n=new b8(this.camera,this.canvas);n.target.set(.003059340956040225,-.13425621157020154,-.2564218846390263),this.renderer.getSize(new Ge),Bo?(this.camera.position.set(4.7,1.9,7.5),n.minDistance=2.5,n.maxDistance=11,n.rotateSpeed=.8):(this.camera.position.set(1.8,.65,2.5),n.minDistance=1.5,n.maxDistance=5,n.rotateSpeed=.5),n.enableDamping=!0,n.dampingFactor=.2,n.enablePan=!0,n.minPolarAngle=-Math.PI*5/36,n.maxPolarAngle=Math.PI*3/5,n.update(),this.renderer.toneMapping=lA,this.renderer.toneMappingExposure=1.2,this.renderer.setClearColor(15724527),this.renderer.outputColorSpace=kr;const i=2.5,s=2.5,o=.4,c={shadow:{blur:.6,darkness:1,opacity:.6},plane:{color:"#ffffff",opacity:1},showWireframe:!1},h=new aa;h.position.y=-.315,this.scene.add(h);const u=new Mi(256,256);u.texture.generateMipmaps=!1;const d=new Mi(256,256);d.texture.generateMipmaps=!1;const A=new du(i,s).rotateX(Math.PI/2),p=new Es({map:u.texture,opacity:c.shadow.opacity,transparent:!0,depthWrite:!1}),g=new Wr(A,p);g.renderOrder=1,h.add(g),g.scale.y=-1;const v=new Wr(A);v.visible=!1,h.add(v);const E=new fu(-i/2,i/2,s/2,-s/2,0,o);E.rotation.x=Math.PI/2,h.add(E);const m=new M2;m.userData.darkness={value:c.shadow.darkness},m.onBeforeCompile=L=>{const P=L;P.uniforms.darkness=m.userData.darkness,P.fragmentShader=`
|
|
4463
4463
|
uniform float darkness;
|
|
4464
4464
|
${L.fragmentShader.replace("gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );","gl_FragColor = vec4( vec3( 0.0 ), ( 1.0 - fragCoordZ ) * darkness );")}
|
|
4465
|
-
`},m.depthTest=!1,m.depthWrite=!1;const _=new vn(NN);_.depthTest=!1;const w=new vn(UN);w.depthTest=!1;function x(L,P){v.visible=!0,v.material=_,v.material.uniforms.tDiffuse.value=u.texture,_.uniforms.h.value=L*1/256,P.setRenderTarget(d),P.render(v,E),v.material=w,v.material.uniforms.tDiffuse.value=d.texture,w.uniforms.v.value=L*1/256,P.setRenderTarget(u),P.render(v,E),v.visible=!1}E.far=.125,I();function I(){E.updateProjectionMatrix()}const R=new DN,S=new LN(this.scene,this.camera);S.clearAlpha=0;const T=this.renderer.getDrawingBufferSize(new Ge),D=new Mi(T.width,T.height,{samples:4,type:_n}),b=new bN(this.renderer,D);b.addPass(S),b.addPass(R);const M=()=>{var L;n.update(),this.resizeRenderer()&&(this.camera.aspect=this.canvas.clientWidth/this.canvas.clientHeight,(L=this.camera)==null||L.updateProjectionMatrix());const P=this.scene.background;if(this.scene.background=null,this.scene.overrideMaterial=m,!this.renderer||!this.camera)return;const N=this.renderer.getClearAlpha();this.renderer.setClearAlpha(0),this.renderer.clear(),this.renderer.setRenderTarget(u),this.renderer.render(this.scene,E),this.scene.overrideMaterial=null,x(c.shadow.blur,this.renderer),x(c.shadow.blur*.4,this.renderer),this.renderer.setRenderTarget(null),this.renderer.setClearAlpha(N),this.scene.background=P,Ds.uniforms.viewMatrixInverse.value=this.camera.matrixWorld,Ds.uniforms.projectionMatrixInverse.value=this.camera.projectionMatrixInverse,requestAnimationFrame(M),b.render()};M()}loadModelInsideScene(e){this.scene.traverse(t=>{t.name=="Scene"&&(this.scene.remove(t),t.traverse(n=>{n instanceof Wr&&(n.geometry.dispose(),n.material.dispose())}))}),this.scene.add(e)}}class uk{constructor(){kt(this,"customRenderer"),this.customRenderer=new ck}async Init(){this.customRenderer.isInitialised||(await this.customRenderer.intialize(),this.customRenderer.setupAndRenderScene())}loadFirstFrame(e,t,n){return new Promise((i,s)=>{this.customRenderer.loadFirstFrame(e,t,n).then(()=>{i(1)}).catch(o=>{s(o)})})}changeFrame(e,t,n){return this.customRenderer.changeFrame(e,t,n)}changeLens(e,t,n,i){return this.customRenderer.changeLens(e,t,n,i)}changeOrbital(e){return this.customRenderer.changeOrbital(e)}snapCamToPos(e){this.customRenderer.snapCamToPos(e)}}class II{constructor(e){kt(this,"orgId"),kt(this,"rendererService"),kt(this,"isLoading",!1),kt(this,"userContainerId"),kt(this,"containerElement",null),kt(this,"defaultSelectorId","dita-3dconfig-element"),kt(this,"defaultCanvasStyle",{width:"100%",height:"100%"}),kt(this,"customisationArr",[]),kt(this,"assetDetails",null),this.userContainerId=e.userContainerId,this.rendererService=new uk,this.orgId=e.orgId}prepareDOM(){const e=this.userContainerId??this.defaultSelectorId,t=document.getElementById(e);if(!t)throw new Error(`Container not found to embed 3d-configurator ${this.defaultSelectorId}`);this.containerElement=t;const n=document.createElement("canvas");return n.className="sprie-config-webgl",t.innerHTML="",t.appendChild(n),Object.assign(n.style,this.defaultCanvasStyle),!0}snapCameraToPos(e){this.rendererService.snapCamToPos(e)}async loadFrame(e){return this.assetDetails=e.data.assetDetails,this.customisationArr=e.data.customisation,this.prepareDOM(),await this.rendererService.Init(),await this.rendererService.loadFirstFrame(this.orgId,this.assetDetails,this.customisationArr),this}changeFrame(e,t){return this.rendererService.changeFrame(this.orgId,e,t)}changeLens(e,t,n){return this.rendererService.changeLens(e,this.orgId,t,n)}changeOrbital(e){return this.rendererService.changeOrbital(e)}unmount(){this.containerElement&&(this.containerElement.innerHTML="",this.containerElement.style.height="0px",this.containerElement.style.width="auto")}}class CI{constructor(){kt(this,"events"),kt(this,"authService"),kt(this,"instanceArr"),this.authService=new BM,this.events=new OM,this.instanceArr=[]}async Init(e){await this.authService.Init(e),Bc.setJWT(this.authService.authPayload.JWT)}async loadBySKU(e){const t=await Cp.FetchAssetBySKUOrBarcode({sku:e.SKU,barcode:null});return await this.renderAsset({data:{assetDetails:t,customisation:t.customisation}})}async renderAsset(e){return new II({orgId:this.authService.authPayload.ORGID,userContainerId:e.containerId}).loadFrame({containerId:e.containerId,data:{assetDetails:e.data.assetDetails,customisation:e.data.customisation}})}async getInstance(e){return new II({orgId:this.authService.authPayload.ORGID,userContainerId:e.containerId})}}window.ThreeDConfigurator=CI;const RQ="",DQ="";function hk({frameList:r,selectedFrame:e,modelLoading:t,onChangeFrame:n}){const i=window.innerWidth<=576;return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 4rem 1.6rem 4rem",marginTop:i?"1rem":"0"},children:r==null?void 0:r.map(s=>Te.jsxs("div",{className:"sprie-config-palette-img-box",children:[Te.jsx("button",{style:{border:"0",cursor:t?"default":"pointer",width:i?45:60,height:i?45:60},onClick:()=>n(s),disabled:t,children:Te.jsx("img",{src:s.variantImage,alt:s.name+"image",className:`sprie-config-image ${i?"mobile-view":""}`,style:{transform:(e==null?void 0:e._id)===s._id?"scale(1.2,1.2)":"scale(1,1)"}})}),(e==null?void 0:e._id)===s._id&&Te.jsx("p",{className:"sprie-config-palette-img-text",children:Te.jsx("span",{className:"sprie-config-palette-imgName",children:s.name})})]},s._id))})}function dk({lensList:r,selectedLens:e,selectedDitaLens:t,modelLoading:n,onChangeLens:i}){const s=window.innerWidth<=576;return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 1.2rem 1.6rem 1.2rem",marginTop:s?"1rem":"0",gap:s?".3rem":"1rem"},children:r==null?void 0:r.map(o=>Te.jsxs("div",{className:"sprie-config-palette-img-box",children:[Te.jsx("button",{style:{border:"0",cursor:n?"default":"pointer",width:s?45:60,height:s?45:60},onClick:()=>i(o),disabled:n,children:Te.jsx("img",{src:o.thumbnail,alt:o.name+"image",className:`sprie-config-image ${s?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===o._id?"1px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),(e==null?void 0:e._id)===o._id&&Te.jsxs("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.2rem",textAlign:"center"},children:[Te.jsx("span",{className:"sprie-config-palette-imgName",children:`${o.name}`}),Te.jsx("span",{className:"sprie-config-price-tag",children:(t==null?void 0:t.variantId)==0?"":` (+ ${t==null?void 0:t.variantPrice}.00 ${t==null?void 0:t.priceCurrency})`})]})]},o._id))})}const LQ="";function fk({heading:r,onEngravingLinkClicked:e,onChecked:t,onTextAdded:n}){const[i,s]=gt.useState(""),[o,c]=gt.useState(!1),[h,u]=gt.useState(!1),d=gt.useRef(null);return gt.useEffect(()=>{t(o),o&&d.current?(d.current.style.backgroundColor="#ffffff",d.current.focus()):!o&&d.current&&(d.current.style.backgroundColor="transparent",d.current.blur(),s(""))}),gt.useEffect(()=>{h&&i!=""&&n(i)},[h]),Te.jsxs("div",{className:"sprie-config-engraving-block",style:{marginTop:".5rem"},children:[Te.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".8rem"},children:[Te.jsx("input",{type:"checkbox",className:"sprie-config-engraving-checkbox",onChange:A=>{c(A.target.checked)},checked:o}),Te.jsxs("p",{style:{fontSize:".9rem",color:"#4d4d4d",fontWeight:"500",margin:"0"},children:["Add ","Laser Engraving"," ",Te.jsx("span",{style:{fontWeight:"400"},children:"(OPTIONAL)"})]})]}),Te.jsxs("div",{className:"sprie-config-engraving-inputField-block",children:[Te.jsx("input",{type:"text",ref:d,className:"sprie-config-engraving-inputField",placeholder:"ADD CUSTOM TEXT",value:i,onChange:A=>s(A.target.value),maxLength:15,style:{padding:"0.7rem"},disabled:!o,onBlur:A=>u(!0),onFocus:A=>u(!1)}),Te.jsx("span",{className:"sprie-config-engraving-inputInfo",children:`${i.length}/15 characters`}),Te.jsx("p",{onClick:e,className:"sprie-config-engraving-link",children:"About Custom Laser Engraving"})]})]})}const NQ="";function pk({totalSteps:r,currentStep:e}){const t=window.innerWidth<=576;return Te.jsx("div",{className:"step-tracker-block",style:{margin:t?"1rem 0":".7rem 0 1rem 0",paddingBottom:"1.5rem"},children:Te.jsx("div",{className:"step-tracker",children:Array.from({length:r}).map((n,i)=>Te.jsx("div",{className:`step-circle ${i+1===e?"active":""}`},i))})})}function Ak({nextSlide:r,previousSlide:e,currentIndex:t,stepsName:n,isLastStep:i}){return Te.jsxs("div",{className:"carousel-header",children:[Te.jsx("button",{className:"carousel-btn prev",onClick:e,style:{visibility:t!==0?"visible":"hidden"},children:Te.jsx("i",{className:"arrow left-arrow",style:{padding:".25rem"}})}),Te.jsxs("p",{children:[Te.jsx("span",{className:"step-syntax",children:`STEP ${t+1}: `}),Te.jsx("span",{className:"select-syntax",children:n[t]})]}),Te.jsx("button",{className:"carousel-btn next",onClick:r,style:{visibility:i?"hidden":"visible"},children:Te.jsx("i",{className:"arrow right-arrow",style:{padding:".25rem"}})})]})}function gk({setShowAddToCart:r,children:e}){var u;const[t,n]=gt.useState(0),i=Sh.Children.toArray(e),s=t===i.length-1,o=(u=i.map(d=>d))==null?void 0:u.map(d=>d.props.heading),c=()=>{n(d=>d===0?Sh.Children.count(e)-1:d-1)},h=()=>{n(d=>d===Sh.Children.count(e)-1?0:d+1)};return gt.useEffect(()=>{r(!!s)},[s]),Te.jsxs("div",{className:"carousel",children:[Te.jsx(Ak,{nextSlide:h,previousSlide:c,currentIndex:t,stepsName:o,isLastStep:s}),Te.jsx(pk,{totalSteps:o==null?void 0:o.length,currentStep:t+1}),Te.jsx("div",{className:"carousel-container",children:i.map((d,A)=>Te.jsx("div",{className:"carousel-item",style:{transform:`translateX(-${t*100}%)`},children:d},A))})]})}const UQ="";function MI({conditionRequired:r,onButtonClick:e}){const[t,n]=gt.useState(!1),i=gt.useRef(null),s=gt.useRef(null);return gt.useEffect(()=>{s.current&&(s.current.disabled=!t)},[t]),gt.useEffect(()=>{i.current&&(i.current.style.display=r?"flex":"none"),s.current&&(s.current.disabled=r)},[r]),Te.jsxs("div",{className:"sprie-config-add-to-cart-block",children:[Te.jsxs("label",{htmlFor:"Sprie-Config-return-policy-checkbox",id:"Sprie-Config-return-policy-label",ref:i,style:{display:"none"},children:[Te.jsx("input",{type:"checkbox",id:"Sprie-Config-return-policy-checkbox",name:"sprie-config-return-policy-checkbox",onChange:o=>n(o.target.checked),checked:t}),Te.jsxs("p",{children:["I agree this customized Item cannot be returned or exchanged.",Te.jsx("span",{style:{color:"red"},children:"*"})]})]}),Te.jsx("button",{className:"sprie-config-add-to-cart-btn",ref:s,onClick:e,children:"ADD TO CART"})]})}const Sn=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent);function mk({orbitalList:r,selectedOrbital:e,modelLoading:t,onChangeOrbital:n}){return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 1.2rem 1.6rem 1.2rem",marginTop:Sn?"1rem":"0",gap:Sn?".3rem":"1rem"},children:r==null?void 0:r.map(i=>Te.jsxs("div",{className:"sprie-config-palette-img-box",children:[Te.jsx("button",{style:{border:"0",cursor:t?"default":"pointer",width:Sn?45:60,height:Sn?45:60},onClick:()=>n(i),disabled:t,children:Te.jsx("img",{src:i.thumbnail,alt:i.name+"image",className:`sprie-config-image ${Sn?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===i._id?"1px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),(e==null?void 0:e._id)===i._id&&Te.jsx("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.5rem"},children:Te.jsx("span",{className:"sprie-config-palette-imgName",children:i.name})})]},i._id))})}const _k="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMzIwLjAwMDAwMHB0IiBoZWlnaHQ9IjY2LjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgMzIwLjAwMDAwMCA2Ni4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KCjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDY2LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgNjUxIGMwIC02IDkgLTExIDIxIC0xMSAxMSAwIDI5IC01IDQwIC0xMCAxOCAtMTAgMTkgLTI0IDE5IC0zMDAKMCAtMjc2IC0xIC0yOTAgLTE5IC0zMDAgLTExIC01IC0yOSAtMTAgLTQwIC0xMCAtMTIgMCAtMjEgLTQgLTIxIC0xMCAwIC0xNAo0NDUgLTEzIDUxMiAxIDEwNyAyMyAxOTAgODUgMjM5IDE3OSAyMCAzNyAyNCA2MCAyNCAxMzUgMCA3OCAtNCA5NyAtMjggMTQ3Ci0zNCA3MCAtMTAwIDEzMCAtMTc2IDE2MCAtNTIgMjEgLTc1IDIzIC0zMTMgMjYgLTE4MCAyIC0yNTggMCAtMjU4IC03eiBtNDcwCi0zNiBjMTUgLTggMzggLTI3IDQ5IC00MSAyMCAtMjUgMjEgLTM5IDIxIC0yMzggMCAtMTk0IC0yIC0yMTQgLTIwIC0yNDQgLTExCi0xOCAtMzYgLTQwIC01NSAtNDggLTQ2IC0xOSAtMTM1IC0xOCAtMTYzIDIgLTIyIDE1IC0yMiAxNyAtMjIgMzAwIGwwIDI4NCA4MAowIGM1MiAwIDkxIC01IDExMCAtMTV6Ii8+CjxwYXRoIGQ9Ik05ODAgNjUwIGMwIC01IDExIC0xMCAyNCAtMTAgNTUgMCA1NiAtNyA1NiAtMzEwIDAgLTMwMyAtMSAtMzEwIC01NgotMzEwIC0xMyAwIC0yNCAtNCAtMjQgLTEwIDAgLTYgNjcgLTEwIDE4MCAtMTAgMTEzIDAgMTgwIDQgMTgwIDEwIDAgNiAtMTEgMTAKLTIzIDEwIC0xMyAwIC0zMSA4IC00MCAxOCAtMTUgMTYgLTE3IDUyIC0xNyAyOTQgMCAyNTQgMSAyNzYgMTggMjkxIDEwIDEwIDI4CjE3IDQwIDE3IDEyIDAgMjIgNSAyMiAxMCAwIDYgLTY3IDEwIC0xODAgMTAgLTExMyAwIC0xODAgLTQgLTE4MCAtMTB6Ii8+CjxwYXRoIGQ9Ik0xNTI2IDYwMSBjLTI1IC0zMyAtNDYgLTY0IC00NiAtNzAgMCAtNiAyNCA1IDU0IDI0IDUzIDM0IDE1OSA3NQoxOTQgNzUgMTAgMCAyOCAtMTAgNDAgLTIzIDIxIC0yMyAyMiAtMzAgMjIgLTI4OSAwIC0yODkgLTIgLTI5OCAtNTYgLTI5OCAtMTMKMCAtMjQgLTQgLTI0IC0xMCAwIC02IDY3IC0xMCAxODAgLTEwIDExMyAwIDE4MCA0IDE4MCAxMCAwIDYgLTExIDEwIC0yNCAxMAotNTQgMCAtNTYgOSAtNTYgMjk0IDAgMjUxIDEgMjY1IDIxIDI5MCAxMSAxNCAzMCAyNiA0MiAyNiAzNyAtMSAxNTMgLTQ2IDIwMQotNzggMjUgLTE3IDQ2IC0yNyA0NiAtMjEgMCA2IC0yMSAzNyAtNDYgNzAgbC00NyA1OSAtMzE3IDAgLTMxNyAwIC00NyAtNTl6Ii8+CjxwYXRoIGQ9Ik0yNDU1IDY1MCBjMyAtNSAxNSAtMTAgMjYgLTEwIDMwIDAgNjUgLTI3IDk3IC03NiBsMjkgLTQzIC05MCAtMTc4CmMtMTM2IC0yNzAgLTE2MyAtMzEzIC0xOTggLTMyMCAtNTkgLTExIC0yNiAtMjMgNjYgLTIzIDg5IDAgMTIxIDExIDc1IDI1IC0yOQo5IC0yNiA1NSAxMCAxMjYgbDMxIDYwIDE1MSAtMyAxNTEgLTMgMzkgLTczIGMzMCAtNTkgMzYgLTc3IDI4IC05MyAtNiAtMTAKLTIwIC0xOSAtMzAgLTE5IC0xMSAwIC0yMCAtNCAtMjAgLTEwIDAgLTYgNzAgLTEwIDE5MCAtMTAgMTIwIDAgMTkwIDQgMTkwIDEwCjAgNiAtMTEgMTAgLTI0IDEwIC0xNCAwIC0zNiAxMCAtNTAgMjMgLTE1IDEyIC0xMDYgMTU1IC0yMDQgMzE3IGwtMTc3IDI5NQotMTQ4IDMgYy0xMDAgMiAtMTQ2IC0xIC0xNDIgLTh6IG0yNTggLTM5OCBjLTM1IC0yIC05MiAtMiAtMTI3IDAgbC02NCAzIDYwCjExMyA2MCAxMTMgNjcgLTExMyA2NyAtMTEzIC02MyAtM3oiLz4KPC9nPgo8L3N2Zz4K",vk="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA4ODYgNjk4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4ODYgNjk4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkxODQ3RTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04NDAuMDEsNDEuMDFjLTM2LjcxLTMxLjU2LTEwOC45NC01Ny45Ny0yNDQuNi00LjU2Yy0yMC40Nyw4LjA2LTQxLjQ2LDE3LjU3LTYyLjc1LDI4LjM2CgljMTkuMzgtNC42Niw0MzEuNTItMTAxLDE3NS42MSwxOTkuNDJsLTAuMDQsMGMtMjUuODUsMzUuNS01Ny44Miw3Mi4wOC05NC40MiwxMDcuOTdsLTMyLjcyLTI4LjE0bC02LjQ0LDE0MS43NmwxNjQuODQtNS41NwoJbC00NC4zNC0zOC4xMmM2NS41NC02My43NCwxMTcuODUtMTI5Ljk0LDE1MC4yMi0xOTAuNzdDOTA3LjQ0LDEzNC42OSw4NzYuNzEsNzIuNTcsODQwLjAxLDQxLjAxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTYyLjE3LDQyNS42N2MtNjQuNDcsNDYuMi0xMzIuNjcsODYuMjItMTk4LjQzLDExNi43NmMtMC4wOSwwLjA0LTAuMTcsMC4wOC0wLjI1LDAuMTMKCUMtMTkuMjcsNzMwLjcyLDczLjg2LDQ0MS4xMyw4OC4wNyw0MDEuNDVsLTIuMDktMS41MWMtMTQuNjcsMTcuOTMtMjcuNiwzNS42MS0zOC41Myw1Mi44NEMtMjQuNCw1NjYsMTEuMTYsNjI2LjI3LDUzLjY0LDY1Ni44OQoJYzQyLjQ4LDMwLjYzLDEyNi4wNyw1Ni4yNSwyODMuMDUsNC40M2M5OS0zMi42OSwyMDguNTgtODkuNywzMTAuMDYtMTYxLjE5bC04My43Ny0wLjQ2TDU2Mi4xNyw0MjUuNjd6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIuOSwxOTcuNzRjMCwzNS41NC0yNS43Myw1Mi44MS00MS45OCw1Mi44MXYxLjAxYzIwLjY1LDAsNDYuMzcsMTUuOTEsNDYuMzcsNTEuNDUKCWMwLDM3LjkxLTM0LjE5LDYzLjk4LTgzLjYxLDYzLjk4Yy00My42NywwLTcxLjA5LTE3LjI3LTgzLjk1LTU0Ljg0bDQyLjMxLTE4Ljk2YzQuNzQsMjQuMzcsMTcuMjYsMzYuMjIsNDEuOTgsMzYuMjIKCWMyMy43LDAsMzcuOTEtMTIuODcsMzcuNTctMzIuNWMtMC4zNC0yMC45OS0xMy4yLTI4Ljc4LTM5Ljk0LTI4Ljc4aC0xMS4xN3YtMzIuNWg5LjQ4YzI0LjM3LDAsMzYuNTYtOS44MiwzNi41Ni0yOS43OQoJYzAuMzQtMjAuNjUtMTEuNTEtMzEuNDgtMzEuODItMzEuNDhjLTIwLjY1LDAtMzMuODUsMTAuODMtMzYuOSwzMS44MmwtNDEuNjQtMTUuMjNjOC44LTM2LjksNDAuNjItNTQuMTYsODAuNTYtNTQuMTYKCUMxODUuODIsMTM2LjgxLDIxMi45LDE2Mi41NCwyMTIuOSwxOTcuNzR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zOTYuOTgsMTg1LjU2bC0zOS4yNywxOC4yOGMtNS40Mi0xNy42LTE3LjI2LTI4LjQzLTM4LjkzLTI4LjQzYy0yOC43OCwwLTQ5LjA4LDMwLjgtNDkuMDgsNzYuMTZ2NS43NmgxLjAxCgljNy40NS0yMy4wMiwzMS4xNC0zMy41MSw1Ni44Ny0zMy41MWM0Mi45OSwwLDczLjEyLDI3LjQyLDczLjEyLDcwLjQxYzAsNDQuMzQtMzAuOCw3Mi43OC04Mi42LDcyLjc4CgljLTU4LjIzLDAtOTAuMzgtNDIuOTktOTAuMzgtMTE1LjA5YzAtNzcuNTIsNDAuNjItMTE1LjA5LDk0LjExLTExNS4wOUMzNTcuNzEsMTM2LjgxLDM4NC4xMiwxNTAuMzUsMzk2Ljk4LDE4NS41NnogTTI4MC41MywyOTMuNTQKCWMwLDIyLjM0LDE1LjIzLDM2LjIyLDM4LjI1LDM2LjIyYzI0LjAzLDAsMzcuOTEtMTMuMiwzNy45MS0zNi4yMmMwLTIyLTEzLjg4LTM1LjU0LTM3LjkxLTM1LjU0CglDMjk1Ljc2LDI1OCwyODAuNTMsMjcyLjIyLDI4MC41MywyOTMuNTR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MTQuNzgsMjUxLjkxYzAtNzUuNDksMzAuMTMtMTE1LjA5LDg5LjM3LTExNS4wOXM4OS4zNywzOS42LDg5LjM3LDExNS4wOVM1NjMuMzgsMzY3LDUwNC4xNSwzNjcKCVM0MTQuNzgsMzI3LjM5LDQxNC43OCwyNTEuOTF6IE01NDYuOCwyNTEuOTFjMC01My4xNS0xMy44OC03Ny41Mi00Mi42NS03Ny41MmMtMjguNzcsMC00Mi42NSwyNC4zNy00Mi42NSw3Ny41MgoJYzAsNTMuMTUsMTMuODgsNzcuNTIsNDIuNjUsNzcuNTJDNTMyLjkyLDMyOS40Myw1NDYuOCwzMDUuMDUsNTQ2LjgsMjUxLjkxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTg4LjIsMTI4LjEzYzAtMTguNjMsMTMuNzgtMzIuMDIsMzIuOTktMzIuMDJjMTkuMjEsMCwzMi45OSwxMy4zOSwzMi45OSwzMi4wMnMtMTMuNzgsMzIuMDItMzIuOTksMzIuMDIKCUM2MDEuOTcsMTYwLjE0LDU4OC4yLDE0Ni43Niw1ODguMiwxMjguMTN6IE02NDAuNTksMTI4LjEzYzAtMTEuMjUtOC4xNS0xOS40LTE5LjQtMTkuNHMtMTkuNCw4LjE1LTE5LjQsMTkuNHM4LjE1LDE5LjQsMTkuNCwxOS40CglTNjQwLjU5LDEzOS4zOCw2NDAuNTksMTI4LjEzeiIvPgo8L3N2Zz4K",yk="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSI0OHB4IiBoZWlnaHQ9IjQ4cHgiPjxwYXRoIGQ9Ik0gMTYgMTQgQyAxNS40ODggMTQgMTQuOTc2OTM4IDE0LjE5NDkzNyAxNC41ODU5MzggMTQuNTg1OTM4IEMgMTMuODA0OTM3IDE1LjM2NjkzNyAxMy44MDQ5MzcgMTYuNjMzMDYzIDE0LjU4NTkzOCAxNy40MTQwNjIgTCAyOS4xNzE4NzUgMzIgTCAxNC41ODU5MzggNDYuNTg1OTM4IEMgMTMuODA0OTM4IDQ3LjM2NjkzOCAxMy44MDQ5MzcgNDguNjMzMDYzIDE0LjU4NTkzOCA0OS40MTQwNjIgQyAxNC45NzY5MzcgNDkuODA1MDYyIDE1LjQ4OCA1MCAxNiA1MCBDIDE2LjUxMiA1MCAxNy4wMjMwNjIgNDkuODA1MDYyIDE3LjQxNDA2MiA0OS40MTQwNjIgTCAzMiAzNC44MjgxMjUgTCA0Ni41ODU5MzggNDkuNDE0MDYyIEMgNDcuMzY2OTM4IDUwLjE5NTA2MyA0OC42MzMwNjMgNTAuMTk1MDYyIDQ5LjQxNDA2MiA0OS40MTQwNjIgQyA1MC4xOTUwNjMgNDguNjMzMDYyIDUwLjE5NTA2MiA0Ny4zNjY5MzcgNDkuNDE0MDYyIDQ2LjU4NTkzOCBMIDM0LjgyODEyNSAzMiBMIDQ5LjQxNDA2MiAxNy40MTQwNjIgQyA1MC4xOTUwNjMgMTYuNjMzMDYzIDUwLjE5NTA2MiAxNS4zNjY5MzggNDkuNDE0MDYyIDE0LjU4NTkzOCBDIDQ4LjYzMzA2MiAxMy44MDQ5MzggNDcuMzY2OTM3IDEzLjgwNDkzOCA0Ni41ODU5MzggMTQuNTg1OTM4IEwgMzIgMjkuMTcxODc1IEwgMTcuNDE0MDYyIDE0LjU4NTkzOCBDIDE3LjAyMzA2MiAxNC4xOTQ5MzggMTYuNTEyIDE0IDE2IDE0IHoiLz48L3N2Zz4=";var vf=(r=>(r.Front="Front",r.Back="Back",r.Left="Left",r.Right="Right",r.Top="Top",r.Bottom="Bottom",r))(vf||{});const PQ="";function Ek({snapCameraTo:r}){const e=Object.keys(vf).map(s=>({label:vf[s],isDisabled:!0})),[t,n]=gt.useState(),i=s=>{n(s),r(s)};return Te.jsx("div",{className:"sprie-3d-snap-button-block",children:e.map((s,o)=>Te.jsx("button",{className:"sprie-3d-snap-button",style:{backgroundColor:t!==s.label?"#ccc":"#000",color:t!==s.label?"#f3f3f3":"#fff"},onClick:()=>{i(vf[s.label])},children:s.label},o))})}function xk({frameName:r,customEvent:e,apiService:t,frameList:n,lensList:i,orbitalList:s,showOrbitalList:o,viewerOnly:c,domService:h,ThreeDConfigurator:u,dataVariants:d,dataLenses:A,dataOrbitals:p,firstDitaVariant:g}){var k;const[v,E]=gt.useState(),[m,_]=gt.useState(),[w,x]=gt.useState(),[I,R]=gt.useState(!1),[S,T]=gt.useState(!1),[D,b]=gt.useState(Sn?S?35:30:S?28:25),[M,L]=gt.useState(Sn?10:8);gt.useState(60);const[P,N]=gt.useState(),[j,X]=gt.useState(),[K,ne]=gt.useState(),[V,te]=gt.useState(!1),[Q,z]=gt.useState("placeholder"),Z=gt.useRef(null);(k=Z.current)==null||k.clientHeight;const re=gt.useRef();re.current=h;const H={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"lens-default"},fe={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"orbital-default"},Ae=ee=>{re.current&&re.current.snapCameraToPos(ee)},ve=async(ee,ue)=>{ee._id===(v==null?void 0:v._id)&&!ue||re.current&&(R(!0),re.current.changeFrame(ee,[m,w]).then(()=>{R(!1)}),E(ee),N(d==null?void 0:d.find(pe=>pe.varinatSku==ee.sku)),(v==null?void 0:v.name.toLowerCase())!=="default"&&(m==null?void 0:m.name.toLowerCase())!=="default"&&(K==null||K.variantName.toLowerCase()))},ye=ee=>ee==null?void 0:ee.customisation.find(pe=>pe.type=="Lens"),Oe=async ee=>{if(!re.current||ee==m)return;const ue=ee.sku=="lens-default",pe=ye(v),ge=rt();!pe&&ue?(R(!0),re.current.changeLens([ee,w],!0,v).then(()=>{R(!1)})):!pe&&!ue?(m==null?void 0:m.sku)=="lens-default"?(R(!0),re.current.changeLens([ee,w],!0,v).then(()=>{R(!1)})):re.current.changeLens([ee,w],!1,v):pe&&ue?re.current.changeLens([pe,w],!1,v):re.current.changeLens([ee,w],!1,v),ee.sku=="lens-default"?X(H):X(A==null?void 0:A.find(Ue=>{var Ee;return Ue.variantId==Number((Ee=ee.metadata.find(Qe=>Qe.key==ge))==null?void 0:Ee.value)?Ue:null})),_(ee),(v==null?void 0:v.name.toLowerCase())!=="default"&&(m==null?void 0:m.name.toLowerCase())!=="default"&&(K==null||K.variantName.toLowerCase())},it=async ee=>{re.current&&ee!=w&&(R(!0),await re.current.changeOrbital(ee).then(()=>{ne(p==null?void 0:p.find(ue=>ue.variantId==Number(ee.sku))),R(!1)}),x(ee),(v==null?void 0:v.name.toLowerCase())!=="default"&&(m==null?void 0:m.name.toLowerCase())!=="default"&&(K==null||K.variantName.toLowerCase()))},ae=()=>(P==null?void 0:P.variantPrice)+((j==null?void 0:j.varinatSku)!=="lens-default"?j==null?void 0:j.variantPrice:0),rt=()=>{var pe;const ee=(pe=v.metadata.find(ge=>ge.key=="baseCurve"))==null?void 0:pe.value;let ue="variantId";return ee=="2B"?ue="2bVariantId":ee=="6B"&&(ue="6bVariantId"),ue},Pe=ee=>{te(ee)},lt=ee=>{z(ee)},Ye=()=>{var ee,ue;Sn?(ee=document.querySelector('[id$="main-laser-etch-popover"]'))==null||ee.setAttribute("open",""):(ue=document.querySelector('[id$="main-laser-etch-drawer"]'))==null||ue.setAttribute("open","")},ct=()=>{if(v&&m&&K&&!(v.name.toLowerCase().includes("default")||m.name.toLowerCase().includes("default")||K.variantName.toLowerCase().includes("default"))){const ee=v.metadata.find(Se=>Se.key=="variantId"),ue=v.metadata.find(Se=>Se.key=="baseCurve");let pe="variantId";ue&&ue.value=="2B"?pe="2bVariantId":ue&&ue.value=="6B"&&(pe="6bVariantId");const ge=m.metadata.find(Se=>Se.key==pe),Ue=ee?Number(ee.value):null,Ee=ge?Number(ge.value):null,Qe=K!=null&&K.variantId?Number(K.variantId):null,He={frameIdentifier:Ue,lensIdentifier:Ee,orbitalIdentifier:Qe};e.emitEvent("onAddToCart",He);const Ce=[];if(Ee&&ge){const Se={id:Ee,quantity:1,properties:null};Ce.push(Se)}if(Qe&&(K!=null&&K.variantId)){const Se={id:Qe,quantity:1,properties:null};Ce.push(Se)}if(V){const Se={id:44745490890985,quantity:1,properties:null};Ce.push(Se)}if(ee){const Se={id:Ue,quantity:1,properties:V?{customText:Q}:null};Ce.push(Se)}t.HandleShopifyAddToCart(Ce)}},Y=()=>{var ee,ue;Sn?(ee=document.querySelector(".popover.hidden-lap-and-up.popover-full"))==null||ee.removeAttribute("open"):(ue=document.querySelector(".drawer.drawer--full.hidden-phone.lens-customizer"))==null||ue.removeAttribute("open")};return gt.useEffect(()=>{b(Sn?S?35:30:S?28:25)},[S]),gt.useEffect(()=>{n&&E(n[0]),i&&_(i[0]),s&&x(s[0])},[n,i,s]),gt.useEffect(()=>{N(g),X(H),ne(fe)},[g]),gt.useEffect(()=>{},[V,Q]),Te.jsxs("section",{id:"sprie-config-main-container",ref:Z,children:[Te.jsxs("header",{id:"sprie-config-main-header",style:{height:`${M}%`},children:[Te.jsxs("div",{id:"sprie-config-header-content",children:[Te.jsx("img",{src:_k,alt:"dita-logo",width:97,height:20}),Te.jsxs("p",{style:{margin:"0"},className:"sprie-config-mainHeader-frameName",children:[r," CUSTOMIZER"]})]}),Te.jsx("button",{className:"sprie-config-main-header-close",onClick:Y,children:Te.jsx("img",{src:yk,alt:"close",style:{width:"2rem",height:"2rem"}})})]}),Te.jsxs("section",{id:"sprie-config-viewer-container",style:{height:`${100-(D+M-(Sn?S?13.5:12:0))}%`},children:[Te.jsx("img",{src:vk,alt:"360deg-logo",width:44,height:34}),Te.jsx(Ek,{snapCameraTo:Ae}),I&&Te.jsx("div",{className:"sprie-config-loadingFrame",children:Te.jsx("div",{className:"sprie-config-loader"})}),Te.jsx("div",{style:{width:"100%",height:"100%"},id:"holder-canvas"})]}),Te.jsxs("section",{id:"Sprie-config-Customisation-block",style:{paddingTop:"1.5rem",height:`${D}%`},children:[Te.jsxs("div",{className:"sprie-config-price-block",children:[Te.jsx("p",{id:"sprie-config-price-text",style:{bottom:Sn?"100%":"",margin:"0 0.8rem 0.5rem 0"},children:`${ae()}.00 ${P==null?void 0:P.priceCurrency} `}),!Sn&&S&&Te.jsx(MI,{conditionRequired:!0,onButtonClick:ct}),S&&Te.jsx("p",{id:"sprie-config-process-time-text",style:{fontSize:".9rem",textAlign:"right",marginTop:"0",marginBottom:"0.5rem"},children:"Please Allow 7-10 Days for Customization Process."})]}),Te.jsxs(gk,{setShowAddToCart:T,children:[Te.jsx(hk,{modelLoading:I,frameList:n,selectedFrame:v,onChangeFrame:ve,heading:"SELECT FRAME"}),o&&Te.jsx(mk,{orbitalList:s,selectedOrbital:w,modelLoading:I,onChangeOrbital:it,heading:"SELECT ORBITAL"}),Te.jsx(dk,{modelLoading:I,lensList:i,selectedLens:m,selectedDitaLens:j,onChangeLens:Oe,heading:"SELECT LENS COLOR"}),Te.jsx(fk,{heading:"LASER ENGRAVING",onEngravingLinkClicked:Ye,onChecked:Pe,onTextAdded:lt})]}),Sn&&S&&Te.jsx("div",{style:{position:"absolute",bottom:"0%",width:"100%"},children:Te.jsx(MI,{conditionRequired:!0,onButtonClick:ct})})]})]})}function wk({apiService:r,sku:e,events:t,viewerOnly:n=!1}){var A;const i=gt.useRef(),[s,o]=gt.useState(null),c=(s==null?void 0:s.frameName)||"",h=(s==null?void 0:s.frameList)||null,u=(s==null?void 0:s.lensList)||null,d=(s==null?void 0:s.orbitalList)||null;return s!=null&&s.dataVariants,s!=null&&s.dataLenses,s!=null&&s.dataOrbitals,gt.useEffect(()=>((async()=>{var m,_;i.current=new CI,await((m=i.current)==null?void 0:m.Init(r.apiKey));const p=await r.FetchAssetBySKUOrBarcode({sku:e,barcode:null}),g=await r.FetchCustomisationList("Lens"),v=await r.FetchCustomisationList("Orbital"),E=await i.current.getInstance({containerId:"holder-canvas"});await E.loadFrame({containerId:"holder-canvas",data:{assetDetails:p,customisation:p==null?void 0:p.customisation}}),o({frameList:p==null?void 0:p.variants,lensList:g==null?void 0:g.data,orbitalList:v==null?void 0:v.data,frameName:p==null?void 0:p.group.name,showOrbitals:((_=p==null?void 0:p.customisation)==null?void 0:_.filter(w=>w.type==="Orbital").length)>0,domService:E,dataVariants:await r.PopulateDataList("data-variants"),dataLenses:await r.PopulateDataList("data-lenses"),dataOrbitals:await r.PopulateDataList("data-orbital")})})(),()=>{i.current=void 0}),[r,e]),Te.jsxs(Te.Fragment,{children:[(!h||!u)&&Te.jsx("div",{className:"sprie-config-loadingBox",children:"Loading..."}),Te.jsx(xk,{customEvent:t,frameName:c,apiService:r,frameList:h,lensList:u,orbitalList:d,showOrbitalList:(s==null?void 0:s.showOrbitals)||!1,viewerOnly:n,ThreeDConfigurator:i.current,domService:s==null?void 0:s.domService,dataVariants:s==null?void 0:s.dataVariants,dataLenses:s==null?void 0:s.dataLenses,dataOrbitals:s==null?void 0:s.dataOrbitals,firstDitaVariant:(A=s==null?void 0:s.dataVariants)==null?void 0:A.find(p=>p.varinatSku==e)})]})}var Hm={},SI={exports:{}},Tn={},Gm={exports:{}},Vm={};/**
|
|
4465
|
+
`},m.depthTest=!1,m.depthWrite=!1;const _=new vn(NN);_.depthTest=!1;const w=new vn(UN);w.depthTest=!1;function x(L,P){v.visible=!0,v.material=_,v.material.uniforms.tDiffuse.value=u.texture,_.uniforms.h.value=L*1/256,P.setRenderTarget(d),P.render(v,E),v.material=w,v.material.uniforms.tDiffuse.value=d.texture,w.uniforms.v.value=L*1/256,P.setRenderTarget(u),P.render(v,E),v.visible=!1}E.far=.125,I();function I(){E.updateProjectionMatrix()}const R=new DN,S=new LN(this.scene,this.camera);S.clearAlpha=0;const T=this.renderer.getDrawingBufferSize(new Ge),D=new Mi(T.width,T.height,{samples:4,type:_n}),b=new bN(this.renderer,D);b.addPass(S),b.addPass(R);const M=()=>{var L;n.update(),this.resizeRenderer()&&(this.camera.aspect=this.canvas.clientWidth/this.canvas.clientHeight,(L=this.camera)==null||L.updateProjectionMatrix());const P=this.scene.background;if(this.scene.background=null,this.scene.overrideMaterial=m,!this.renderer||!this.camera)return;const N=this.renderer.getClearAlpha();this.renderer.setClearAlpha(0),this.renderer.clear(),this.renderer.setRenderTarget(u),this.renderer.render(this.scene,E),this.scene.overrideMaterial=null,x(c.shadow.blur,this.renderer),x(c.shadow.blur*.4,this.renderer),this.renderer.setRenderTarget(null),this.renderer.setClearAlpha(N),this.scene.background=P,Ds.uniforms.viewMatrixInverse.value=this.camera.matrixWorld,Ds.uniforms.projectionMatrixInverse.value=this.camera.projectionMatrixInverse,requestAnimationFrame(M),b.render()};M()}loadModelInsideScene(e){this.scene.traverse(t=>{t.name=="Scene"&&(this.scene.remove(t),t.traverse(n=>{n instanceof Wr&&(n.geometry.dispose(),n.material.dispose())}))}),this.scene.add(e)}}class uk{constructor(){kt(this,"customRenderer"),this.customRenderer=new ck}async Init(){this.customRenderer.isInitialised||(await this.customRenderer.intialize(),this.customRenderer.setupAndRenderScene())}loadFirstFrame(e,t,n){return new Promise((i,s)=>{this.customRenderer.loadFirstFrame(e,t,n).then(()=>{i(1)}).catch(o=>{s(o)})})}changeFrame(e,t,n){return this.customRenderer.changeFrame(e,t,n)}changeLens(e,t,n,i){return this.customRenderer.changeLens(e,t,n,i)}changeOrbital(e){return this.customRenderer.changeOrbital(e)}snapCamToPos(e){this.customRenderer.snapCamToPos(e)}}class II{constructor(e){kt(this,"orgId"),kt(this,"rendererService"),kt(this,"isLoading",!1),kt(this,"userContainerId"),kt(this,"containerElement",null),kt(this,"defaultSelectorId","dita-3dconfig-element"),kt(this,"defaultCanvasStyle",{width:"100%",height:"100%"}),kt(this,"customisationArr",[]),kt(this,"assetDetails",null),this.userContainerId=e.userContainerId,this.rendererService=new uk,this.orgId=e.orgId}prepareDOM(){const e=this.userContainerId??this.defaultSelectorId,t=document.getElementById(e);if(!t)throw new Error(`Container not found to embed 3d-configurator ${this.defaultSelectorId}`);this.containerElement=t;const n=document.createElement("canvas");return n.className="sprie-config-webgl",t.innerHTML="",t.appendChild(n),Object.assign(n.style,this.defaultCanvasStyle),!0}snapCameraToPos(e){this.rendererService.snapCamToPos(e)}async loadFrame(e){return this.assetDetails=e.data.assetDetails,this.customisationArr=e.data.customisation,this.prepareDOM(),await this.rendererService.Init(),await this.rendererService.loadFirstFrame(this.orgId,this.assetDetails,this.customisationArr),this}changeFrame(e,t){return this.rendererService.changeFrame(this.orgId,e,t)}changeLens(e,t,n){return this.rendererService.changeLens(e,this.orgId,t,n)}changeOrbital(e){return this.rendererService.changeOrbital(e)}unmount(){this.containerElement&&(this.containerElement.innerHTML="",this.containerElement.style.height="0px",this.containerElement.style.width="auto")}}class CI{constructor(){kt(this,"events"),kt(this,"authService"),kt(this,"instanceArr"),this.authService=new BM,this.events=new OM,this.instanceArr=[]}async Init(e){await this.authService.Init(e),Bc.setJWT(this.authService.authPayload.JWT)}async loadBySKU(e){const t=await Cp.FetchAssetBySKUOrBarcode({sku:e.SKU,barcode:null});return await this.renderAsset({data:{assetDetails:t,customisation:t.customisation}})}async renderAsset(e){return new II({orgId:this.authService.authPayload.ORGID,userContainerId:e.containerId}).loadFrame({containerId:e.containerId,data:{assetDetails:e.data.assetDetails,customisation:e.data.customisation}})}async getInstance(e){return new II({orgId:this.authService.authPayload.ORGID,userContainerId:e.containerId})}}window.ThreeDConfigurator=CI;const RQ="",DQ="";function hk({frameList:r,selectedFrame:e,modelLoading:t,onChangeFrame:n}){const i=window.innerWidth<=576;return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 4rem 1.6rem 4rem",marginTop:i?"1rem":"0"},children:r==null?void 0:r.map(s=>Te.jsxs("div",{className:"sprie-config-palette-img-box",children:[Te.jsx("button",{style:{border:"0",cursor:t?"default":"pointer",width:i?45:60,height:i?45:60},onClick:()=>n(s),disabled:t,children:Te.jsx("img",{src:s.variantImage,alt:s.name+"image",className:`sprie-config-image ${i?"mobile-view":""}`,style:{transform:(e==null?void 0:e._id)===s._id?"scale(1.2,1.2)":"scale(1,1)"}})}),(e==null?void 0:e._id)===s._id&&Te.jsx("p",{className:"sprie-config-palette-img-text",children:Te.jsx("span",{className:"sprie-config-palette-imgName",children:s.name})})]},s._id))})}function dk({lensList:r,selectedLens:e,selectedDitaLens:t,modelLoading:n,onChangeLens:i}){const s=window.innerWidth<=576;return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 1.2rem 1.6rem 1.2rem",marginTop:s?"1rem":"0",gap:s?".3rem":"1rem"},children:r==null?void 0:r.map(o=>Te.jsxs("div",{className:"sprie-config-palette-img-box",children:[Te.jsx("button",{style:{border:"0",cursor:n?"default":"pointer",width:s?45:60,height:s?45:60},onClick:()=>i(o),disabled:n,children:Te.jsx("img",{src:o.thumbnail,alt:o.name+"image",className:`sprie-config-image ${s?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===o._id?"1px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),(e==null?void 0:e._id)===o._id&&Te.jsxs("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.2rem",textAlign:"center"},children:[Te.jsx("span",{className:"sprie-config-palette-imgName",children:`${o.name}`}),Te.jsx("span",{className:"sprie-config-price-tag",children:(t==null?void 0:t.variantId)==0?"":` (+ ${t==null?void 0:t.variantPrice}.00 ${t==null?void 0:t.priceCurrency})`})]})]},o._id))})}const LQ="";function fk({heading:r,onEngravingLinkClicked:e,onChecked:t,onTextAdded:n}){const[i,s]=gt.useState(""),[o,c]=gt.useState(!1),[h,u]=gt.useState(!1),d=gt.useRef(null);return gt.useEffect(()=>{t(o),o&&d.current?(d.current.style.backgroundColor="#ffffff",d.current.focus()):!o&&d.current&&(d.current.style.backgroundColor="transparent",d.current.blur(),s(""))}),gt.useEffect(()=>{h&&i!=""&&n(i)},[h]),Te.jsxs("div",{className:"sprie-config-engraving-block",style:{marginTop:".5rem"},children:[Te.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".8rem"},children:[Te.jsx("input",{type:"checkbox",className:"sprie-config-engraving-checkbox",onChange:A=>{c(A.target.checked)},checked:o}),Te.jsxs("p",{style:{fontSize:".9rem",color:"#4d4d4d",fontWeight:"500",margin:"0"},children:["Add ","Laser Engraving"," ",Te.jsx("span",{style:{fontWeight:"400"},children:"(OPTIONAL)"})]})]}),Te.jsxs("div",{className:"sprie-config-engraving-inputField-block",children:[Te.jsx("input",{type:"text",ref:d,className:"sprie-config-engraving-inputField",placeholder:"ADD CUSTOM TEXT",value:i,onChange:A=>s(A.target.value),maxLength:15,style:{padding:"0.7rem"},disabled:!o,onBlur:A=>u(!0),onFocus:A=>u(!1)}),Te.jsx("span",{className:"sprie-config-engraving-inputInfo",children:`${i.length}/15 characters`}),Te.jsx("p",{onClick:e,className:"sprie-config-engraving-link",children:"About Custom Laser Engraving"})]})]})}const NQ="";function pk({totalSteps:r,currentStep:e}){const t=window.innerWidth<=576;return Te.jsx("div",{className:"step-tracker-block",style:{margin:t?"1rem 0":".7rem 0 1rem 0",paddingBottom:"1.5rem"},children:Te.jsx("div",{className:"step-tracker",children:Array.from({length:r}).map((n,i)=>Te.jsx("div",{className:`step-circle ${i+1===e?"active":""}`},i))})})}function Ak({nextSlide:r,previousSlide:e,currentIndex:t,stepsName:n,isLastStep:i}){return Te.jsxs("div",{className:"carousel-header",children:[Te.jsx("button",{className:"carousel-btn prev",onClick:e,style:{visibility:t!==0?"visible":"hidden"},children:Te.jsx("i",{className:"arrow left-arrow",style:{padding:".25rem"}})}),Te.jsxs("p",{children:[Te.jsx("span",{className:"step-syntax",children:`STEP ${t+1}: `}),Te.jsx("span",{className:"select-syntax",children:n[t]})]}),Te.jsx("button",{className:"carousel-btn next",onClick:r,style:{visibility:i?"hidden":"visible"},children:Te.jsx("i",{className:"arrow right-arrow",style:{padding:".25rem"}})})]})}function gk({setShowAddToCart:r,children:e}){var u;const[t,n]=gt.useState(0),i=Sh.Children.toArray(e),s=t===i.length-1,o=(u=i.map(d=>d))==null?void 0:u.map(d=>d.props.heading),c=()=>{n(d=>d===0?Sh.Children.count(e)-1:d-1)},h=()=>{n(d=>d===Sh.Children.count(e)-1?0:d+1)};return gt.useEffect(()=>{r(!!s)},[s]),Te.jsxs("div",{className:"carousel",children:[Te.jsx(Ak,{nextSlide:h,previousSlide:c,currentIndex:t,stepsName:o,isLastStep:s}),Te.jsx(pk,{totalSteps:o==null?void 0:o.length,currentStep:t+1}),Te.jsx("div",{className:"carousel-container",children:i.map((d,A)=>Te.jsx("div",{className:"carousel-item",style:{transform:`translateX(-${t*100}%)`},children:d},A))})]})}const UQ="";function MI({conditionRequired:r,onButtonClick:e}){const[t,n]=gt.useState(!1),i=gt.useRef(null),s=gt.useRef(null);return gt.useEffect(()=>{s.current&&(s.current.disabled=!t)},[t]),gt.useEffect(()=>{i.current&&(i.current.style.display=r?"flex":"none"),s.current&&(s.current.disabled=r)},[r]),Te.jsxs("div",{className:"sprie-config-add-to-cart-block",children:[Te.jsxs("label",{htmlFor:"Sprie-Config-return-policy-checkbox",id:"Sprie-Config-return-policy-label",ref:i,style:{display:"none"},children:[Te.jsx("input",{type:"checkbox",id:"Sprie-Config-return-policy-checkbox",name:"sprie-config-return-policy-checkbox",onChange:o=>n(o.target.checked),checked:t}),Te.jsxs("p",{children:["I agree this customized Item cannot be returned or exchanged.",Te.jsx("span",{style:{color:"red"},children:"*"})]})]}),Te.jsx("button",{className:"sprie-config-add-to-cart-btn",ref:s,onClick:e,children:"ADD TO CART"})]})}const Sn=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent);function mk({orbitalList:r,selectedOrbital:e,modelLoading:t,onChangeOrbital:n}){return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 1.2rem 1.6rem 1.2rem",marginTop:Sn?"1rem":"0",gap:Sn?".3rem":"1rem"},children:r==null?void 0:r.map(i=>Te.jsxs("div",{className:"sprie-config-palette-img-box",children:[Te.jsx("button",{style:{border:"0",cursor:t?"default":"pointer",width:Sn?45:60,height:Sn?45:60},onClick:()=>n(i),disabled:t,children:Te.jsx("img",{src:i.thumbnail,alt:i.name+"image",className:`sprie-config-image ${Sn?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===i._id?"1px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),(e==null?void 0:e._id)===i._id&&Te.jsx("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.5rem"},children:Te.jsx("span",{className:"sprie-config-palette-imgName",children:i.name})})]},i._id))})}const _k="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMzIwLjAwMDAwMHB0IiBoZWlnaHQ9IjY2LjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgMzIwLjAwMDAwMCA2Ni4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KCjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDY2LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgNjUxIGMwIC02IDkgLTExIDIxIC0xMSAxMSAwIDI5IC01IDQwIC0xMCAxOCAtMTAgMTkgLTI0IDE5IC0zMDAKMCAtMjc2IC0xIC0yOTAgLTE5IC0zMDAgLTExIC01IC0yOSAtMTAgLTQwIC0xMCAtMTIgMCAtMjEgLTQgLTIxIC0xMCAwIC0xNAo0NDUgLTEzIDUxMiAxIDEwNyAyMyAxOTAgODUgMjM5IDE3OSAyMCAzNyAyNCA2MCAyNCAxMzUgMCA3OCAtNCA5NyAtMjggMTQ3Ci0zNCA3MCAtMTAwIDEzMCAtMTc2IDE2MCAtNTIgMjEgLTc1IDIzIC0zMTMgMjYgLTE4MCAyIC0yNTggMCAtMjU4IC03eiBtNDcwCi0zNiBjMTUgLTggMzggLTI3IDQ5IC00MSAyMCAtMjUgMjEgLTM5IDIxIC0yMzggMCAtMTk0IC0yIC0yMTQgLTIwIC0yNDQgLTExCi0xOCAtMzYgLTQwIC01NSAtNDggLTQ2IC0xOSAtMTM1IC0xOCAtMTYzIDIgLTIyIDE1IC0yMiAxNyAtMjIgMzAwIGwwIDI4NCA4MAowIGM1MiAwIDkxIC01IDExMCAtMTV6Ii8+CjxwYXRoIGQ9Ik05ODAgNjUwIGMwIC01IDExIC0xMCAyNCAtMTAgNTUgMCA1NiAtNyA1NiAtMzEwIDAgLTMwMyAtMSAtMzEwIC01NgotMzEwIC0xMyAwIC0yNCAtNCAtMjQgLTEwIDAgLTYgNjcgLTEwIDE4MCAtMTAgMTEzIDAgMTgwIDQgMTgwIDEwIDAgNiAtMTEgMTAKLTIzIDEwIC0xMyAwIC0zMSA4IC00MCAxOCAtMTUgMTYgLTE3IDUyIC0xNyAyOTQgMCAyNTQgMSAyNzYgMTggMjkxIDEwIDEwIDI4CjE3IDQwIDE3IDEyIDAgMjIgNSAyMiAxMCAwIDYgLTY3IDEwIC0xODAgMTAgLTExMyAwIC0xODAgLTQgLTE4MCAtMTB6Ii8+CjxwYXRoIGQ9Ik0xNTI2IDYwMSBjLTI1IC0zMyAtNDYgLTY0IC00NiAtNzAgMCAtNiAyNCA1IDU0IDI0IDUzIDM0IDE1OSA3NQoxOTQgNzUgMTAgMCAyOCAtMTAgNDAgLTIzIDIxIC0yMyAyMiAtMzAgMjIgLTI4OSAwIC0yODkgLTIgLTI5OCAtNTYgLTI5OCAtMTMKMCAtMjQgLTQgLTI0IC0xMCAwIC02IDY3IC0xMCAxODAgLTEwIDExMyAwIDE4MCA0IDE4MCAxMCAwIDYgLTExIDEwIC0yNCAxMAotNTQgMCAtNTYgOSAtNTYgMjk0IDAgMjUxIDEgMjY1IDIxIDI5MCAxMSAxNCAzMCAyNiA0MiAyNiAzNyAtMSAxNTMgLTQ2IDIwMQotNzggMjUgLTE3IDQ2IC0yNyA0NiAtMjEgMCA2IC0yMSAzNyAtNDYgNzAgbC00NyA1OSAtMzE3IDAgLTMxNyAwIC00NyAtNTl6Ii8+CjxwYXRoIGQ9Ik0yNDU1IDY1MCBjMyAtNSAxNSAtMTAgMjYgLTEwIDMwIDAgNjUgLTI3IDk3IC03NiBsMjkgLTQzIC05MCAtMTc4CmMtMTM2IC0yNzAgLTE2MyAtMzEzIC0xOTggLTMyMCAtNTkgLTExIC0yNiAtMjMgNjYgLTIzIDg5IDAgMTIxIDExIDc1IDI1IC0yOQo5IC0yNiA1NSAxMCAxMjYgbDMxIDYwIDE1MSAtMyAxNTEgLTMgMzkgLTczIGMzMCAtNTkgMzYgLTc3IDI4IC05MyAtNiAtMTAKLTIwIC0xOSAtMzAgLTE5IC0xMSAwIC0yMCAtNCAtMjAgLTEwIDAgLTYgNzAgLTEwIDE5MCAtMTAgMTIwIDAgMTkwIDQgMTkwIDEwCjAgNiAtMTEgMTAgLTI0IDEwIC0xNCAwIC0zNiAxMCAtNTAgMjMgLTE1IDEyIC0xMDYgMTU1IC0yMDQgMzE3IGwtMTc3IDI5NQotMTQ4IDMgYy0xMDAgMiAtMTQ2IC0xIC0xNDIgLTh6IG0yNTggLTM5OCBjLTM1IC0yIC05MiAtMiAtMTI3IDAgbC02NCAzIDYwCjExMyA2MCAxMTMgNjcgLTExMyA2NyAtMTEzIC02MyAtM3oiLz4KPC9nPgo8L3N2Zz4K",vk="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA4ODYgNjk4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4ODYgNjk4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkxODQ3RTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04NDAuMDEsNDEuMDFjLTM2LjcxLTMxLjU2LTEwOC45NC01Ny45Ny0yNDQuNi00LjU2Yy0yMC40Nyw4LjA2LTQxLjQ2LDE3LjU3LTYyLjc1LDI4LjM2CgljMTkuMzgtNC42Niw0MzEuNTItMTAxLDE3NS42MSwxOTkuNDJsLTAuMDQsMGMtMjUuODUsMzUuNS01Ny44Miw3Mi4wOC05NC40MiwxMDcuOTdsLTMyLjcyLTI4LjE0bC02LjQ0LDE0MS43NmwxNjQuODQtNS41NwoJbC00NC4zNC0zOC4xMmM2NS41NC02My43NCwxMTcuODUtMTI5Ljk0LDE1MC4yMi0xOTAuNzdDOTA3LjQ0LDEzNC42OSw4NzYuNzEsNzIuNTcsODQwLjAxLDQxLjAxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTYyLjE3LDQyNS42N2MtNjQuNDcsNDYuMi0xMzIuNjcsODYuMjItMTk4LjQzLDExNi43NmMtMC4wOSwwLjA0LTAuMTcsMC4wOC0wLjI1LDAuMTMKCUMtMTkuMjcsNzMwLjcyLDczLjg2LDQ0MS4xMyw4OC4wNyw0MDEuNDVsLTIuMDktMS41MWMtMTQuNjcsMTcuOTMtMjcuNiwzNS42MS0zOC41Myw1Mi44NEMtMjQuNCw1NjYsMTEuMTYsNjI2LjI3LDUzLjY0LDY1Ni44OQoJYzQyLjQ4LDMwLjYzLDEyNi4wNyw1Ni4yNSwyODMuMDUsNC40M2M5OS0zMi42OSwyMDguNTgtODkuNywzMTAuMDYtMTYxLjE5bC04My43Ny0wLjQ2TDU2Mi4xNyw0MjUuNjd6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIuOSwxOTcuNzRjMCwzNS41NC0yNS43Myw1Mi44MS00MS45OCw1Mi44MXYxLjAxYzIwLjY1LDAsNDYuMzcsMTUuOTEsNDYuMzcsNTEuNDUKCWMwLDM3LjkxLTM0LjE5LDYzLjk4LTgzLjYxLDYzLjk4Yy00My42NywwLTcxLjA5LTE3LjI3LTgzLjk1LTU0Ljg0bDQyLjMxLTE4Ljk2YzQuNzQsMjQuMzcsMTcuMjYsMzYuMjIsNDEuOTgsMzYuMjIKCWMyMy43LDAsMzcuOTEtMTIuODcsMzcuNTctMzIuNWMtMC4zNC0yMC45OS0xMy4yLTI4Ljc4LTM5Ljk0LTI4Ljc4aC0xMS4xN3YtMzIuNWg5LjQ4YzI0LjM3LDAsMzYuNTYtOS44MiwzNi41Ni0yOS43OQoJYzAuMzQtMjAuNjUtMTEuNTEtMzEuNDgtMzEuODItMzEuNDhjLTIwLjY1LDAtMzMuODUsMTAuODMtMzYuOSwzMS44MmwtNDEuNjQtMTUuMjNjOC44LTM2LjksNDAuNjItNTQuMTYsODAuNTYtNTQuMTYKCUMxODUuODIsMTM2LjgxLDIxMi45LDE2Mi41NCwyMTIuOSwxOTcuNzR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zOTYuOTgsMTg1LjU2bC0zOS4yNywxOC4yOGMtNS40Mi0xNy42LTE3LjI2LTI4LjQzLTM4LjkzLTI4LjQzYy0yOC43OCwwLTQ5LjA4LDMwLjgtNDkuMDgsNzYuMTZ2NS43NmgxLjAxCgljNy40NS0yMy4wMiwzMS4xNC0zMy41MSw1Ni44Ny0zMy41MWM0Mi45OSwwLDczLjEyLDI3LjQyLDczLjEyLDcwLjQxYzAsNDQuMzQtMzAuOCw3Mi43OC04Mi42LDcyLjc4CgljLTU4LjIzLDAtOTAuMzgtNDIuOTktOTAuMzgtMTE1LjA5YzAtNzcuNTIsNDAuNjItMTE1LjA5LDk0LjExLTExNS4wOUMzNTcuNzEsMTM2LjgxLDM4NC4xMiwxNTAuMzUsMzk2Ljk4LDE4NS41NnogTTI4MC41MywyOTMuNTQKCWMwLDIyLjM0LDE1LjIzLDM2LjIyLDM4LjI1LDM2LjIyYzI0LjAzLDAsMzcuOTEtMTMuMiwzNy45MS0zNi4yMmMwLTIyLTEzLjg4LTM1LjU0LTM3LjkxLTM1LjU0CglDMjk1Ljc2LDI1OCwyODAuNTMsMjcyLjIyLDI4MC41MywyOTMuNTR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MTQuNzgsMjUxLjkxYzAtNzUuNDksMzAuMTMtMTE1LjA5LDg5LjM3LTExNS4wOXM4OS4zNywzOS42LDg5LjM3LDExNS4wOVM1NjMuMzgsMzY3LDUwNC4xNSwzNjcKCVM0MTQuNzgsMzI3LjM5LDQxNC43OCwyNTEuOTF6IE01NDYuOCwyNTEuOTFjMC01My4xNS0xMy44OC03Ny41Mi00Mi42NS03Ny41MmMtMjguNzcsMC00Mi42NSwyNC4zNy00Mi42NSw3Ny41MgoJYzAsNTMuMTUsMTMuODgsNzcuNTIsNDIuNjUsNzcuNTJDNTMyLjkyLDMyOS40Myw1NDYuOCwzMDUuMDUsNTQ2LjgsMjUxLjkxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTg4LjIsMTI4LjEzYzAtMTguNjMsMTMuNzgtMzIuMDIsMzIuOTktMzIuMDJjMTkuMjEsMCwzMi45OSwxMy4zOSwzMi45OSwzMi4wMnMtMTMuNzgsMzIuMDItMzIuOTksMzIuMDIKCUM2MDEuOTcsMTYwLjE0LDU4OC4yLDE0Ni43Niw1ODguMiwxMjguMTN6IE02NDAuNTksMTI4LjEzYzAtMTEuMjUtOC4xNS0xOS40LTE5LjQtMTkuNHMtMTkuNCw4LjE1LTE5LjQsMTkuNHM4LjE1LDE5LjQsMTkuNCwxOS40CglTNjQwLjU5LDEzOS4zOCw2NDAuNTksMTI4LjEzeiIvPgo8L3N2Zz4K",yk="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSI0OHB4IiBoZWlnaHQ9IjQ4cHgiPjxwYXRoIGQ9Ik0gMTYgMTQgQyAxNS40ODggMTQgMTQuOTc2OTM4IDE0LjE5NDkzNyAxNC41ODU5MzggMTQuNTg1OTM4IEMgMTMuODA0OTM3IDE1LjM2NjkzNyAxMy44MDQ5MzcgMTYuNjMzMDYzIDE0LjU4NTkzOCAxNy40MTQwNjIgTCAyOS4xNzE4NzUgMzIgTCAxNC41ODU5MzggNDYuNTg1OTM4IEMgMTMuODA0OTM4IDQ3LjM2NjkzOCAxMy44MDQ5MzcgNDguNjMzMDYzIDE0LjU4NTkzOCA0OS40MTQwNjIgQyAxNC45NzY5MzcgNDkuODA1MDYyIDE1LjQ4OCA1MCAxNiA1MCBDIDE2LjUxMiA1MCAxNy4wMjMwNjIgNDkuODA1MDYyIDE3LjQxNDA2MiA0OS40MTQwNjIgTCAzMiAzNC44MjgxMjUgTCA0Ni41ODU5MzggNDkuNDE0MDYyIEMgNDcuMzY2OTM4IDUwLjE5NTA2MyA0OC42MzMwNjMgNTAuMTk1MDYyIDQ5LjQxNDA2MiA0OS40MTQwNjIgQyA1MC4xOTUwNjMgNDguNjMzMDYyIDUwLjE5NTA2MiA0Ny4zNjY5MzcgNDkuNDE0MDYyIDQ2LjU4NTkzOCBMIDM0LjgyODEyNSAzMiBMIDQ5LjQxNDA2MiAxNy40MTQwNjIgQyA1MC4xOTUwNjMgMTYuNjMzMDYzIDUwLjE5NTA2MiAxNS4zNjY5MzggNDkuNDE0MDYyIDE0LjU4NTkzOCBDIDQ4LjYzMzA2MiAxMy44MDQ5MzggNDcuMzY2OTM3IDEzLjgwNDkzOCA0Ni41ODU5MzggMTQuNTg1OTM4IEwgMzIgMjkuMTcxODc1IEwgMTcuNDE0MDYyIDE0LjU4NTkzOCBDIDE3LjAyMzA2MiAxNC4xOTQ5MzggMTYuNTEyIDE0IDE2IDE0IHoiLz48L3N2Zz4=";var vf=(r=>(r.Front="Front",r.Back="Back",r.Left="Left",r.Right="Right",r.Top="Top",r.Bottom="Bottom",r))(vf||{});const PQ="";function Ek({snapCameraTo:r}){const e=Object.keys(vf).map(s=>({label:vf[s],isDisabled:!0})),[t,n]=gt.useState(),i=s=>{n(s),r(s)};return Te.jsx("div",{className:"sprie-3d-snap-button-block",children:e.map((s,o)=>Te.jsx("button",{className:"sprie-3d-snap-button",style:{backgroundColor:t!==s.label?"#ccc":"#000",color:t!==s.label?"#f3f3f3":"#fff"},onClick:()=>{i(vf[s.label])},children:s.label},o))})}function xk({frameName:r,customEvent:e,apiService:t,frameList:n,lensList:i,orbitalList:s,showOrbitalList:o,viewerOnly:c,domService:h,ThreeDConfigurator:u,dataVariants:d,dataLenses:A,dataOrbitals:p,firstDitaVariant:g}){var k;const[v,E]=gt.useState(),[m,_]=gt.useState(),[w,x]=gt.useState(),[I,R]=gt.useState(!1),[S,T]=gt.useState(!1),[D,b]=gt.useState(Sn?S?35:30:S?28:25),[M,L]=gt.useState(Sn?10:8);gt.useState(60);const[P,N]=gt.useState(),[j,X]=gt.useState(),[K,ne]=gt.useState(),[V,te]=gt.useState(!1),[Q,z]=gt.useState("placeholder"),Z=gt.useRef(null);(k=Z.current)==null||k.clientHeight;const re=gt.useRef();re.current=h;const H={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"lens-default"},fe={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"orbital-default"},Ae=ee=>{re.current&&re.current.snapCameraToPos(ee)},ve=async(ee,ue)=>{ee._id===(v==null?void 0:v._id)&&!ue||re.current&&(R(!0),re.current.changeFrame(ee,[m,w]).then(()=>{R(!1)}),E(ee),N(d==null?void 0:d.find(pe=>pe.varinatSku==ee.sku)),(v==null?void 0:v.name.toLowerCase())!=="default"&&(m==null?void 0:m.name.toLowerCase())!=="default"&&(K==null||K.variantName.toLowerCase()))},ye=ee=>ee==null?void 0:ee.customisation.find(pe=>pe.type=="Lens"),Oe=async ee=>{if(!re.current||ee==m)return;const ue=ee.sku=="lens-default",pe=ye(v),ge=rt();!pe&&ue?(R(!0),re.current.changeLens([ee,w],!0,v).then(()=>{R(!1)})):!pe&&!ue?(m==null?void 0:m.sku)=="lens-default"?(R(!0),re.current.changeLens([ee,w],!0,v).then(()=>{R(!1)})):re.current.changeLens([ee,w],!1,v):pe&&ue?re.current.changeLens([pe,w],!1,v):re.current.changeLens([ee,w],!1,v),ee.sku=="lens-default"?X(H):X(A==null?void 0:A.find(Ue=>{var Ee;return Ue.variantId==Number((Ee=ee.metadata.find(Qe=>Qe.key==ge))==null?void 0:Ee.value)?Ue:null})),_(ee),(v==null?void 0:v.name.toLowerCase())!=="default"&&(m==null?void 0:m.name.toLowerCase())!=="default"&&(K==null||K.variantName.toLowerCase())},it=async ee=>{re.current&&ee!=w&&(R(!0),await re.current.changeOrbital(ee).then(()=>{ne(p==null?void 0:p.find(ue=>ue.variantId==Number(ee.sku))),R(!1)}),x(ee),(v==null?void 0:v.name.toLowerCase())!=="default"&&(m==null?void 0:m.name.toLowerCase())!=="default"&&(K==null||K.variantName.toLowerCase()))},ae=()=>(P==null?void 0:P.variantPrice)+((j==null?void 0:j.varinatSku)!=="lens-default"?j==null?void 0:j.variantPrice:0),rt=()=>{var pe;const ee=(pe=v.metadata.find(ge=>ge.key=="baseCurve"))==null?void 0:pe.value;let ue="variantId";return ee=="2B"?ue="2bVariantId":ee=="6B"&&(ue="6bVariantId"),ue},Pe=ee=>{te(ee)},lt=ee=>{z(ee)},Ye=()=>{var ee,ue;Sn?(ee=document.querySelector('[id$="main-laser-etch-popover"]'))==null||ee.setAttribute("open",""):(ue=document.querySelector('[id$="main-laser-etch-drawer"]'))==null||ue.setAttribute("open","")},ct=()=>{if(v&&m&&K&&!(v.name.toLowerCase().includes("default")||m.name.toLowerCase().includes("default")||K.variantName.toLowerCase().includes("default"))){const ee=v.metadata.find(Se=>Se.key=="variantId"),ue=v.metadata.find(Se=>Se.key=="baseCurve");let pe="variantId";ue&&ue.value=="2B"?pe="2bVariantId":ue&&ue.value=="6B"&&(pe="6bVariantId");const ge=m.metadata.find(Se=>Se.key==pe),Ue=ee?Number(ee.value):null,Ee=ge?Number(ge.value):null,Qe=K!=null&&K.variantId?Number(K.variantId):null,He={frameIdentifier:Ue,lensIdentifier:Ee,orbitalIdentifier:Qe};e.emitEvent("onAddToCart",He);const Ce=[];if(Ee&&ge){const Se={id:Ee,quantity:1,properties:null};Ce.push(Se)}if(Qe&&(K!=null&&K.variantId)){const Se={id:Qe,quantity:1,properties:null};Ce.push(Se)}if(V){const Se={id:44745490890985,quantity:1,properties:null};Ce.push(Se)}if(ee){const Se={id:Ue,quantity:1,properties:V?{customText:Q}:null};Ce.push(Se)}t.HandleShopifyAddToCart(Ce)}},Y=()=>{var ee,ue;Sn?(ee=document.querySelector(".popover.hidden-lap-and-up.popover-full"))==null||ee.removeAttribute("open"):(ue=document.querySelector(".drawer.drawer--full.hidden-phone.lens-customizer"))==null||ue.removeAttribute("open")};return gt.useEffect(()=>{b(Sn?S?35:30:S?28:25)},[S]),gt.useEffect(()=>{n&&E(n[0]),i&&_(i[0]),s&&x(s[0])},[n,i,s]),gt.useEffect(()=>{N(g),X(H),ne(fe)},[g]),gt.useEffect(()=>{},[V,Q]),Te.jsxs("section",{id:"sprie-config-main-container",ref:Z,children:[Te.jsxs("header",{id:"sprie-config-main-header",style:{height:`${M}%`},children:[Te.jsxs("div",{id:"sprie-config-header-content",children:[Te.jsx("img",{src:_k,alt:"dita-logo",width:97,height:20}),Te.jsxs("p",{style:{margin:"0"},className:"sprie-config-mainHeader-frameName",children:[r," CUSTOMIZER"]})]}),Te.jsx("button",{className:"sprie-config-main-header-close",onClick:Y,children:Te.jsx("img",{src:yk,alt:"close",style:{width:"2rem",height:"2rem"}})})]}),Te.jsxs("section",{id:"sprie-config-viewer-container",style:{height:`${100-(D+M+(Sn?S?13.5:12:0))}%`},children:[Te.jsx("img",{src:vk,alt:"360deg-logo",width:44,height:34}),Te.jsx(Ek,{snapCameraTo:Ae}),I&&Te.jsx("div",{className:"sprie-config-loadingFrame",children:Te.jsx("div",{className:"sprie-config-loader"})}),Te.jsx("div",{style:{width:"100%",height:"100%"},id:"holder-canvas"})]}),Te.jsxs("section",{id:"Sprie-config-Customisation-block",style:{paddingTop:"1.5rem",height:`${D}%`},children:[Te.jsxs("div",{className:"sprie-config-price-block",children:[Te.jsx("p",{id:"sprie-config-price-text",style:{bottom:Sn?"100%":"",margin:"0 0.8rem 0.5rem 0"},children:`${ae()}.00 ${P==null?void 0:P.priceCurrency} `}),!Sn&&S&&Te.jsx(MI,{conditionRequired:!0,onButtonClick:ct}),S&&Te.jsx("p",{id:"sprie-config-process-time-text",style:{fontSize:".9rem",textAlign:"right",marginTop:"0",marginBottom:"0.5rem"},children:"Please Allow 7-10 Days for Customization Process."})]}),Te.jsxs(gk,{setShowAddToCart:T,children:[Te.jsx(hk,{modelLoading:I,frameList:n,selectedFrame:v,onChangeFrame:ve,heading:"SELECT FRAME"}),o&&Te.jsx(mk,{orbitalList:s,selectedOrbital:w,modelLoading:I,onChangeOrbital:it,heading:"SELECT ORBITAL"}),Te.jsx(dk,{modelLoading:I,lensList:i,selectedLens:m,selectedDitaLens:j,onChangeLens:Oe,heading:"SELECT LENS COLOR"}),Te.jsx(fk,{heading:"LASER ENGRAVING",onEngravingLinkClicked:Ye,onChecked:Pe,onTextAdded:lt})]}),Sn&&S&&Te.jsx("div",{style:{position:"absolute",bottom:"0%",width:"100%"},children:Te.jsx(MI,{conditionRequired:!0,onButtonClick:ct})})]})]})}function wk({apiService:r,sku:e,events:t,viewerOnly:n=!1}){var A;const i=gt.useRef(),[s,o]=gt.useState(null),c=(s==null?void 0:s.frameName)||"",h=(s==null?void 0:s.frameList)||null,u=(s==null?void 0:s.lensList)||null,d=(s==null?void 0:s.orbitalList)||null;return s!=null&&s.dataVariants,s!=null&&s.dataLenses,s!=null&&s.dataOrbitals,gt.useEffect(()=>((async()=>{var m,_;i.current=new CI,await((m=i.current)==null?void 0:m.Init(r.apiKey));const p=await r.FetchAssetBySKUOrBarcode({sku:e,barcode:null}),g=await r.FetchCustomisationList("Lens"),v=await r.FetchCustomisationList("Orbital"),E=await i.current.getInstance({containerId:"holder-canvas"});await E.loadFrame({containerId:"holder-canvas",data:{assetDetails:p,customisation:p==null?void 0:p.customisation}}),o({frameList:p==null?void 0:p.variants,lensList:g==null?void 0:g.data,orbitalList:v==null?void 0:v.data,frameName:p==null?void 0:p.group.name,showOrbitals:((_=p==null?void 0:p.customisation)==null?void 0:_.filter(w=>w.type==="Orbital").length)>0,domService:E,dataVariants:await r.PopulateDataList("data-variants"),dataLenses:await r.PopulateDataList("data-lenses"),dataOrbitals:await r.PopulateDataList("data-orbital")})})(),()=>{i.current=void 0}),[r,e]),Te.jsxs(Te.Fragment,{children:[(!h||!u)&&Te.jsx("div",{className:"sprie-config-loadingBox",children:"Loading..."}),Te.jsx(xk,{customEvent:t,frameName:c,apiService:r,frameList:h,lensList:u,orbitalList:d,showOrbitalList:(s==null?void 0:s.showOrbitals)||!1,viewerOnly:n,ThreeDConfigurator:i.current,domService:s==null?void 0:s.domService,dataVariants:s==null?void 0:s.dataVariants,dataLenses:s==null?void 0:s.dataLenses,dataOrbitals:s==null?void 0:s.dataOrbitals,firstDitaVariant:(A=s==null?void 0:s.dataVariants)==null?void 0:A.find(p=>p.varinatSku==e)})]})}var Hm={},SI={exports:{}},Tn={},Gm={exports:{}},Vm={};/**
|
|
4466
4466
|
* @license React
|
|
4467
4467
|
* scheduler.production.min.js
|
|
4468
4468
|
*
|