@perceptimagery/dita-configurator-staging 0.3.6000 → 0.3.6003

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.
Files changed (2) hide show
  1. package/dist/index.js +3 -3
  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
- (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}#Sprie-config-Main-Container{width:100%;height:100%}#Sprie-config-Header{height:5rem;border-bottom:1.5px solid #aeaeae;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}#Sprie-config-Header .sprie-config-Header-groupName{color:#373737;font-size:1rem;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{height:15.42rem;background-color:#f2f2f2;border-top:1px solid #91847e;position:relative;flex-grow:1}.sprie-config-price-block{position:absolute;right:0;z-index:1000;display:flex;flex-direction:column;align-items:end;gap:.4rem;p {font-size: 1.25rem; 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-Header{height:5.25rem}#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}@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%;display:flex;position:relative;overflow:hidden}.carousel-item{display:flex;align-items:center;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:14rem;p {font-size: .7rem; text-align: left; margin: .05rem .08rem .05rem .5rem;}}#Sprie-Config-return-policy-checkbox[type=checkbox]{width:1rem;height:1rem;accent-color:#000;border:.25rem solid #000;border-radius:.5rem;background-color:transparent}.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%;gap:.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}@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 xQ=Object.defineProperty;var wQ=(Ga,as,os)=>as in Ga?xQ(Ga,as,{enumerable:!0,configurable:!0,writable:!0,value:os}):Ga[as]=os;var Bt=(Ga,as,os)=>(wQ(Ga,typeof as!="symbol"?as+"":as,os),os);(function(){var GI,VI;"use strict";class Ga{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 as={storePrefix:{NODE_ENV:"production"}.STORE_PREFIX||"sprie-embed-",host:"https://api.sprie.io"},os=Object.freeze(as),pS="0.3.6000";function AS(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 gS{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:AS(n.data,i)}}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 wp=(r=>(r.Init="init",r.Preparing="preparing",r.Authenticating="authenticating",r.Fetching="fetching",r.Loading="loading",r.Done="done",r))(wp||{});class mS{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=wp.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=wp.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 _S(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var M1={exports:{}},Mc={},T1={exports:{}},_t={};/**
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}#Sprie-config-Main-Container{width:100%;height:100%}#Sprie-config-Header{height:5rem;border-bottom:1.5px solid #aeaeae;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}#Sprie-config-Header .sprie-config-Header-groupName{color:#373737;font-size:1rem;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{height:15.42rem;background-color:#f2f2f2;border-top:1px solid #91847e;position:relative;flex-grow:1}.sprie-config-price-block{position:absolute;right:0;z-index:1000;display:flex;flex-direction:column;align-items:end;gap:.4rem;p {font-size: 1.25rem; 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-Header{height:5.25rem}#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}@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%;display:flex;position:relative;overflow:hidden}.carousel-item{display:flex;align-items:center;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:14rem;p {font-size: .7rem; text-align: left; margin: .05rem .08rem .05rem .5rem;}}#Sprie-Config-return-policy-checkbox[type=checkbox]{width:1rem;height:1rem;accent-color:#000;border:.25rem solid #000;border-radius:.5rem;background-color:transparent}.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%;gap:.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 xQ=Object.defineProperty;var wQ=(Ga,as,os)=>as in Ga?xQ(Ga,as,{enumerable:!0,configurable:!0,writable:!0,value:os}):Ga[as]=os;var Bt=(Ga,as,os)=>(wQ(Ga,typeof as!="symbol"?as+"":as,os),os);(function(){var GI,VI;"use strict";class Ga{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 as={storePrefix:{NODE_ENV:"production"}.STORE_PREFIX||"sprie-embed-",host:"https://api.sprie.io"},os=Object.freeze(as),pS="0.3.6003";function AS(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 gS{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?AS(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 wp=(r=>(r.Init="init",r.Preparing="preparing",r.Authenticating="authenticating",r.Fetching="fetching",r.Loading="loading",r.Done="done",r))(wp||{});class mS{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=wp.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=wp.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 _S(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var M1={exports:{}},Mc={},T1={exports:{}},_t={};/**
4
4
  * @license React
5
5
  * react.production.min.js
6
6
  *
@@ -4462,7 +4462,7 @@ bool bvhIntersectFirstHit(
4462
4462
  `)},en.needsUpdate=!0,tc&&(t.visible=Pm)))}setupOrbitalMaterial(e){tc&&e.material&&e.material.name.toLowerCase()=="frame-stems"&&(Fm=e,cr=a7,cr.envMap=this.scene.environment,e.material=cr,cr.needsUpdate=!0,e.visible=km)}setupGemstoneMaterial(e){e.material&&e.name.toLowerCase().includes("diamond")&&(this.initGemstoneDependencies(),Rs.uniforms.bvh.value=new nw,Rs.uniforms.bvh.value.updateFrom(new qg(e.geometry.clone().toNonIndexed(),{strategy:Nx})),e.material=Rs)}async loadEyewearFromGLTF(e,t,n,i){const s=new Y2,o=new Ki(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=XB,t.wrapS=Js,t.wrapT=Js,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=s7[e])==null?void 0:t.value;vI.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 h8(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 Z2(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),To?(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=oA,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 sa;h.position.y=-.315,this.scene.add(h);const u=new Ci(256,256);u.texture.generateMipmaps=!1;const d=new Ci(256,256);d.texture.generateMipmaps=!1;const A=new hu(i,s).rotateX(Math.PI/2),p=new ys({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 du(-i/2,i/2,s/2,-s/2,0,o);E.rotation.x=Math.PI/2,h.add(E);const m=new C2;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(LN);_.depthTest=!1;const w=new vn(NN);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 RN,M=new DN(this.scene,this.camera);M.clearAlpha=0;const T=this.renderer.getDrawingBufferSize(new Ge),D=new Ci(T.width,T.height,{samples:4,type:_n}),b=new BN(this.renderer,D);b.addPass(M),b.addPass(R);const S=()=>{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,Rs.uniforms.viewMatrixInverse.value=this.camera.matrixWorld,Rs.uniforms.projectionMatrixInverse.value=this.camera.projectionMatrixInverse,requestAnimationFrame(S),b.render()};S()}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 c7{constructor(){kt(this,"customRenderer"),this.customRenderer=new l7}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 wI{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 c7,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 II{constructor(){kt(this,"events"),kt(this,"authService"),kt(this,"instanceArr"),this.authService=new TS,this.events=new QS,this.instanceArr=[]}async Init(e){await this.authService.Init(e),Tc.setJWT(this.authService.authPayload.JWT)}async loadBySKU(e){const t=await Ip.FetchAssetBySKUOrBarcode({sku:e.SKU,barcode:null});return await this.renderAsset({data:{assetDetails:t,customisation:t.customisation}})}async renderAsset(e){return new wI({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 wI({orgId:this.authService.authPayload.ORGID,userContainerId:e.containerId})}}window.ThreeDConfigurator=II;const BQ="",bQ="";function u7({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 h7({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 RQ="";function d7({heading:r,onChecked:e,onTextAdded:t}){const[n,i]=vt.useState(""),[s,o]=vt.useState(!1),[c,h]=vt.useState(!1),u=vt.useRef(null);return vt.useEffect(()=>{e(s),s&&u.current?(u.current.style.backgroundColor="#ffffff",u.current.focus()):!s&&u.current&&(u.current.style.backgroundColor="transparent",u.current.blur(),i(""))}),vt.useEffect(()=>{c&&n!=""&&t(n)},[c]),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:d=>{o(d.target.checked)},checked:s}),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:u,className:"sprie-config-engraving-inputField",placeholder:"ADD CUSTOM TEXT",value:n,onChange:d=>i(d.target.value),maxLength:15,style:{padding:"0.7rem"},disabled:!s,onBlur:d=>h(!0),onFocus:d=>h(!1)}),Te.jsx("span",{className:"sprie-config-engraving-inputInfo",children:`${n.length}/15 characters`}),Te.jsx("a",{href:"#",className:"sprie-config-engraving-link",children:"About Custom Laser Engraving"})]})]})}const DQ="";function f7({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 p7({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 A7({setShowAddToCart:r,children:e}){var u;const[t,n]=vt.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 vt.useEffect(()=>{r(!!s)},[s,r]),Te.jsxs("div",{className:"carousel",children:[Te.jsx(p7,{nextSlide:h,previousSlide:c,currentIndex:t,stepsName:o,isLastStep:s}),Te.jsx(f7,{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 LQ="";function CI({conditionRequired:r,onButtonClick:e}){const[t,n]=vt.useState(!1),i=vt.useRef(null),s=vt.useRef(null);return vt.useEffect(()=>{s.current&&(s.current.disabled=!t)},[t]),vt.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"})]})}function g7({orbitalList:r,selectedOrbital:e,modelLoading:t,onChangeOrbital:n}){const i=window.innerWidth<=576;return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 1.2rem 1.6rem 1.2rem",marginTop:i?"1rem":"0",gap:i?".3rem":"1rem"},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.thumbnail,alt:s.name+"image",className:`sprie-config-image ${i?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===s._id?"1px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),(e==null?void 0:e._id)===s._id&&Te.jsx("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.5rem"},children:Te.jsx("span",{className:"sprie-config-palette-imgName",children:s.name})})]},s._id))})}const m7="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMzIwLjAwMDAwMHB0IiBoZWlnaHQ9IjY2LjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgMzIwLjAwMDAwMCA2Ni4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KCjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDY2LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgNjUxIGMwIC02IDkgLTExIDIxIC0xMSAxMSAwIDI5IC01IDQwIC0xMCAxOCAtMTAgMTkgLTI0IDE5IC0zMDAKMCAtMjc2IC0xIC0yOTAgLTE5IC0zMDAgLTExIC01IC0yOSAtMTAgLTQwIC0xMCAtMTIgMCAtMjEgLTQgLTIxIC0xMCAwIC0xNAo0NDUgLTEzIDUxMiAxIDEwNyAyMyAxOTAgODUgMjM5IDE3OSAyMCAzNyAyNCA2MCAyNCAxMzUgMCA3OCAtNCA5NyAtMjggMTQ3Ci0zNCA3MCAtMTAwIDEzMCAtMTc2IDE2MCAtNTIgMjEgLTc1IDIzIC0zMTMgMjYgLTE4MCAyIC0yNTggMCAtMjU4IC03eiBtNDcwCi0zNiBjMTUgLTggMzggLTI3IDQ5IC00MSAyMCAtMjUgMjEgLTM5IDIxIC0yMzggMCAtMTk0IC0yIC0yMTQgLTIwIC0yNDQgLTExCi0xOCAtMzYgLTQwIC01NSAtNDggLTQ2IC0xOSAtMTM1IC0xOCAtMTYzIDIgLTIyIDE1IC0yMiAxNyAtMjIgMzAwIGwwIDI4NCA4MAowIGM1MiAwIDkxIC01IDExMCAtMTV6Ii8+CjxwYXRoIGQ9Ik05ODAgNjUwIGMwIC01IDExIC0xMCAyNCAtMTAgNTUgMCA1NiAtNyA1NiAtMzEwIDAgLTMwMyAtMSAtMzEwIC01NgotMzEwIC0xMyAwIC0yNCAtNCAtMjQgLTEwIDAgLTYgNjcgLTEwIDE4MCAtMTAgMTEzIDAgMTgwIDQgMTgwIDEwIDAgNiAtMTEgMTAKLTIzIDEwIC0xMyAwIC0zMSA4IC00MCAxOCAtMTUgMTYgLTE3IDUyIC0xNyAyOTQgMCAyNTQgMSAyNzYgMTggMjkxIDEwIDEwIDI4CjE3IDQwIDE3IDEyIDAgMjIgNSAyMiAxMCAwIDYgLTY3IDEwIC0xODAgMTAgLTExMyAwIC0xODAgLTQgLTE4MCAtMTB6Ii8+CjxwYXRoIGQ9Ik0xNTI2IDYwMSBjLTI1IC0zMyAtNDYgLTY0IC00NiAtNzAgMCAtNiAyNCA1IDU0IDI0IDUzIDM0IDE1OSA3NQoxOTQgNzUgMTAgMCAyOCAtMTAgNDAgLTIzIDIxIC0yMyAyMiAtMzAgMjIgLTI4OSAwIC0yODkgLTIgLTI5OCAtNTYgLTI5OCAtMTMKMCAtMjQgLTQgLTI0IC0xMCAwIC02IDY3IC0xMCAxODAgLTEwIDExMyAwIDE4MCA0IDE4MCAxMCAwIDYgLTExIDEwIC0yNCAxMAotNTQgMCAtNTYgOSAtNTYgMjk0IDAgMjUxIDEgMjY1IDIxIDI5MCAxMSAxNCAzMCAyNiA0MiAyNiAzNyAtMSAxNTMgLTQ2IDIwMQotNzggMjUgLTE3IDQ2IC0yNyA0NiAtMjEgMCA2IC0yMSAzNyAtNDYgNzAgbC00NyA1OSAtMzE3IDAgLTMxNyAwIC00NyAtNTl6Ii8+CjxwYXRoIGQ9Ik0yNDU1IDY1MCBjMyAtNSAxNSAtMTAgMjYgLTEwIDMwIDAgNjUgLTI3IDk3IC03NiBsMjkgLTQzIC05MCAtMTc4CmMtMTM2IC0yNzAgLTE2MyAtMzEzIC0xOTggLTMyMCAtNTkgLTExIC0yNiAtMjMgNjYgLTIzIDg5IDAgMTIxIDExIDc1IDI1IC0yOQo5IC0yNiA1NSAxMCAxMjYgbDMxIDYwIDE1MSAtMyAxNTEgLTMgMzkgLTczIGMzMCAtNTkgMzYgLTc3IDI4IC05MyAtNiAtMTAKLTIwIC0xOSAtMzAgLTE5IC0xMSAwIC0yMCAtNCAtMjAgLTEwIDAgLTYgNzAgLTEwIDE5MCAtMTAgMTIwIDAgMTkwIDQgMTkwIDEwCjAgNiAtMTEgMTAgLTI0IDEwIC0xNCAwIC0zNiAxMCAtNTAgMjMgLTE1IDEyIC0xMDYgMTU1IC0yMDQgMzE3IGwtMTc3IDI5NQotMTQ4IDMgYy0xMDAgMiAtMTQ2IC0xIC0xNDIgLTh6IG0yNTggLTM5OCBjLTM1IC0yIC05MiAtMiAtMTI3IDAgbC02NCAzIDYwCjExMyA2MCAxMTMgNjcgLTExMyA2NyAtMTEzIC02MyAtM3oiLz4KPC9nPgo8L3N2Zz4K",_7="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA4ODYgNjk4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4ODYgNjk4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkxODQ3RTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04NDAuMDEsNDEuMDFjLTM2LjcxLTMxLjU2LTEwOC45NC01Ny45Ny0yNDQuNi00LjU2Yy0yMC40Nyw4LjA2LTQxLjQ2LDE3LjU3LTYyLjc1LDI4LjM2CgljMTkuMzgtNC42Niw0MzEuNTItMTAxLDE3NS42MSwxOTkuNDJsLTAuMDQsMGMtMjUuODUsMzUuNS01Ny44Miw3Mi4wOC05NC40MiwxMDcuOTdsLTMyLjcyLTI4LjE0bC02LjQ0LDE0MS43NmwxNjQuODQtNS41NwoJbC00NC4zNC0zOC4xMmM2NS41NC02My43NCwxMTcuODUtMTI5Ljk0LDE1MC4yMi0xOTAuNzdDOTA3LjQ0LDEzNC42OSw4NzYuNzEsNzIuNTcsODQwLjAxLDQxLjAxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTYyLjE3LDQyNS42N2MtNjQuNDcsNDYuMi0xMzIuNjcsODYuMjItMTk4LjQzLDExNi43NmMtMC4wOSwwLjA0LTAuMTcsMC4wOC0wLjI1LDAuMTMKCUMtMTkuMjcsNzMwLjcyLDczLjg2LDQ0MS4xMyw4OC4wNyw0MDEuNDVsLTIuMDktMS41MWMtMTQuNjcsMTcuOTMtMjcuNiwzNS42MS0zOC41Myw1Mi44NEMtMjQuNCw1NjYsMTEuMTYsNjI2LjI3LDUzLjY0LDY1Ni44OQoJYzQyLjQ4LDMwLjYzLDEyNi4wNyw1Ni4yNSwyODMuMDUsNC40M2M5OS0zMi42OSwyMDguNTgtODkuNywzMTAuMDYtMTYxLjE5bC04My43Ny0wLjQ2TDU2Mi4xNyw0MjUuNjd6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIuOSwxOTcuNzRjMCwzNS41NC0yNS43Myw1Mi44MS00MS45OCw1Mi44MXYxLjAxYzIwLjY1LDAsNDYuMzcsMTUuOTEsNDYuMzcsNTEuNDUKCWMwLDM3LjkxLTM0LjE5LDYzLjk4LTgzLjYxLDYzLjk4Yy00My42NywwLTcxLjA5LTE3LjI3LTgzLjk1LTU0Ljg0bDQyLjMxLTE4Ljk2YzQuNzQsMjQuMzcsMTcuMjYsMzYuMjIsNDEuOTgsMzYuMjIKCWMyMy43LDAsMzcuOTEtMTIuODcsMzcuNTctMzIuNWMtMC4zNC0yMC45OS0xMy4yLTI4Ljc4LTM5Ljk0LTI4Ljc4aC0xMS4xN3YtMzIuNWg5LjQ4YzI0LjM3LDAsMzYuNTYtOS44MiwzNi41Ni0yOS43OQoJYzAuMzQtMjAuNjUtMTEuNTEtMzEuNDgtMzEuODItMzEuNDhjLTIwLjY1LDAtMzMuODUsMTAuODMtMzYuOSwzMS44MmwtNDEuNjQtMTUuMjNjOC44LTM2LjksNDAuNjItNTQuMTYsODAuNTYtNTQuMTYKCUMxODUuODIsMTM2LjgxLDIxMi45LDE2Mi41NCwyMTIuOSwxOTcuNzR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zOTYuOTgsMTg1LjU2bC0zOS4yNywxOC4yOGMtNS40Mi0xNy42LTE3LjI2LTI4LjQzLTM4LjkzLTI4LjQzYy0yOC43OCwwLTQ5LjA4LDMwLjgtNDkuMDgsNzYuMTZ2NS43NmgxLjAxCgljNy40NS0yMy4wMiwzMS4xNC0zMy41MSw1Ni44Ny0zMy41MWM0Mi45OSwwLDczLjEyLDI3LjQyLDczLjEyLDcwLjQxYzAsNDQuMzQtMzAuOCw3Mi43OC04Mi42LDcyLjc4CgljLTU4LjIzLDAtOTAuMzgtNDIuOTktOTAuMzgtMTE1LjA5YzAtNzcuNTIsNDAuNjItMTE1LjA5LDk0LjExLTExNS4wOUMzNTcuNzEsMTM2LjgxLDM4NC4xMiwxNTAuMzUsMzk2Ljk4LDE4NS41NnogTTI4MC41MywyOTMuNTQKCWMwLDIyLjM0LDE1LjIzLDM2LjIyLDM4LjI1LDM2LjIyYzI0LjAzLDAsMzcuOTEtMTMuMiwzNy45MS0zNi4yMmMwLTIyLTEzLjg4LTM1LjU0LTM3LjkxLTM1LjU0CglDMjk1Ljc2LDI1OCwyODAuNTMsMjcyLjIyLDI4MC41MywyOTMuNTR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MTQuNzgsMjUxLjkxYzAtNzUuNDksMzAuMTMtMTE1LjA5LDg5LjM3LTExNS4wOXM4OS4zNywzOS42LDg5LjM3LDExNS4wOVM1NjMuMzgsMzY3LDUwNC4xNSwzNjcKCVM0MTQuNzgsMzI3LjM5LDQxNC43OCwyNTEuOTF6IE01NDYuOCwyNTEuOTFjMC01My4xNS0xMy44OC03Ny41Mi00Mi42NS03Ny41MmMtMjguNzcsMC00Mi42NSwyNC4zNy00Mi42NSw3Ny41MgoJYzAsNTMuMTUsMTMuODgsNzcuNTIsNDIuNjUsNzcuNTJDNTMyLjkyLDMyOS40Myw1NDYuOCwzMDUuMDUsNTQ2LjgsMjUxLjkxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTg4LjIsMTI4LjEzYzAtMTguNjMsMTMuNzgtMzIuMDIsMzIuOTktMzIuMDJjMTkuMjEsMCwzMi45OSwxMy4zOSwzMi45OSwzMi4wMnMtMTMuNzgsMzIuMDItMzIuOTksMzIuMDIKCUM2MDEuOTcsMTYwLjE0LDU4OC4yLDE0Ni43Niw1ODguMiwxMjguMTN6IE02NDAuNTksMTI4LjEzYzAtMTEuMjUtOC4xNS0xOS40LTE5LjQtMTkuNHMtMTkuNCw4LjE1LTE5LjQsMTkuNHM4LjE1LDE5LjQsMTkuNCwxOS40CglTNjQwLjU5LDEzOS4zOCw2NDAuNTksMTI4LjEzeiIvPgo8L3N2Zz4K";var _f=(r=>(r.Front="Front",r.Back="Back",r.Left="Left",r.Right="Right",r.Top="Top",r.Bottom="Bottom",r))(_f||{});const NQ="";function v7({snapCameraTo:r}){const e=Object.keys(_f).map(s=>({label:_f[s],isDisabled:!0})),[t,n]=vt.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?"#aaa":"#fff"},onClick:()=>{i(_f[s.label])},children:s.label},o))})}function y7({orgName: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 ct;const[v,E]=vt.useState(),[m,_]=vt.useState(),[w,x]=vt.useState(),[I,R]=vt.useState(!1),[M,T]=vt.useState(!1),[D,b]=vt.useState(),[S,L]=vt.useState(),[P,N]=vt.useState(),[W,X]=vt.useState(),[K,te]=vt.useState(!1),[j,ee]=vt.useState("placeholder"),Q=vt.useRef(null);(ct=Q.current)==null||ct.clientHeight;const H=vt.useRef();H.current=h;const Z=window.innerWidth<=576,re={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"lens-default"},G={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"orbital-default"},de=O=>{H.current&&H.current.snapCameraToPos(O)},pe=async(O,k)=>{if(!(O._id===(v==null?void 0:v._id)&&!k)&&H.current){R(!0);var ne=(w==null?void 0:w.sku)=="orbital-default"?ye(O):w;H.current.changeFrame(O,[m,ne]).then(()=>{R(!1)}),E(O),L(d==null?void 0:d.find(fe=>fe.varinatSku==O.sku))}},ve=O=>O==null?void 0:O.customisation.find(ne=>ne.type=="Lens"),ye=O=>O==null?void 0:O.customisation.find(ne=>ne.type=="Orbital"),Oe=async O=>{if(!H.current||O==m)return;const k=O.sku=="lens-default",ne=ve(v),fe=rt();!ne&&k?(R(!0),H.current.changeLens([O,w],!0,v).then(()=>{R(!1)})):!ne&&!k?(m==null?void 0:m.sku)=="lens-default"?(R(!0),H.current.changeLens([O,w],!0,v).then(()=>{R(!1)})):H.current.changeLens([O,w],!1,v):ne&&k?H.current.changeLens([ne,w],!1,v):H.current.changeLens([O,w],!1,v),O.sku=="lens-default"?N(re):N(A==null?void 0:A.find(Ae=>{var ge;return Ae.variantId==Number((ge=O.metadata.find(Pe=>Pe.key==fe))==null?void 0:ge.value)?Ae:null})),_(O)},it=async O=>{if(!H.current||O==w)return;const k=O.sku=="orbital-default",ne=ye(v);R(!0),k?await H.current.changeOrbital(ne).then(()=>{X(p==null?void 0:p.find(fe=>fe.variantId==Number(ne.sku))),R(!1)}):await H.current.changeOrbital(O).then(()=>{X(p==null?void 0:p.find(fe=>fe.variantId==Number(O.sku))),R(!1)}),x(O)},ae=()=>(S==null?void 0:S.variantPrice)+((P==null?void 0:P.varinatSku)!=="lens-default"?P==null?void 0:P.variantPrice:0),rt=()=>{var ne;const O=(ne=v.metadata.find(fe=>fe.key=="baseCurve"))==null?void 0:ne.value;let k="variantId";return O=="2B"?k="2bVariantId":O=="6B"&&(k="6bVariantId"),k},ke=O=>{te(O)},lt=O=>{ee(O)},Ye=()=>{if(v&&m&&W){const O=v.metadata.find(be=>be.key=="variantId"),k=v.metadata.find(be=>be.key=="baseCurve");let ne="variantId";k&&k.value=="2B"?ne="2bVariantId":k&&k.value=="6B"&&(ne="6bVariantId");const fe=m.metadata.find(be=>be.key==ne),Ae=O?Number(O.value):null,ge=fe?Number(fe.value):null,Pe=W!=null&&W.variantId?Number(W.variantId):null,we={frameIdentifier:Ae,lensIdentifier:ge,orbitalIdentifier:Pe};e.emitEvent("onAddToCart",we);const Fe=[];if(ge&&fe){const be={id:ge,quantity:1,properties:null};Fe.push(be)}if(Pe&&(W!=null&&W.variantId)){const be={id:Pe,quantity:1,properties:null};Fe.push(be)}if(K){const be={id:44745490890985,quantity:1,properties:null};Fe.push(be)}if(O){const be={id:Ae,quantity:1,properties:K?{customText:j}:null};Fe.push(be)}t.HandleShopifyAddToCart(Fe)}};return vt.useEffect(()=>{if(Q.current){const O=Z?M?367.5:318.5:286;b((Q.current.clientHeight-(O+1))/14)}},[Z,Q,M]),vt.useEffect(()=>{n&&E(n[0]),i&&_(i[0]),s&&x(s[0])},[n,i,s]),vt.useEffect(()=>{L(g),N(re),X(G)},[g]),vt.useEffect(()=>{},[K,j]),Te.jsxs("section",{id:"Sprie-config-Main-Container",ref:Q,children:[Te.jsxs("header",{id:"Sprie-config-Header",children:[Te.jsx("img",{src:m7,alt:"dita-logo",width:97,height:20}),Te.jsxs("p",{style:{margin:"0"},className:"sprie-config-Header-groupName",children:[r," CUSTOMIZER"]})]}),Te.jsxs("section",{id:"Sprie-config-Viewer-Container",style:{height:`${D}rem`},children:[Te.jsx("img",{src:_7,alt:"360deg-logo",width:44,height:34}),Te.jsx(v7,{snapCameraTo:de}),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:Z?M?"21rem":"17.5rem":"15.42rem"},children:[Te.jsxs("div",{className:"sprie-config-price-block",style:{top:Z||!M?"-3rem":"-8.5rem"},children:[Te.jsx("p",{style:{margin:"0 0.8rem 0 0"},children:`${ae()}.00 ${S==null?void 0:S.priceCurrency} `}),!Z&&M&&Te.jsx(CI,{conditionRequired:K&&j!="",onButtonClick:Ye}),M&&Te.jsx("p",{style:{marginRight:".8rem",fontSize:".6rem",textAlign:"right"},children:"Please Allow 7-10 Days for Customization Process."})]}),Te.jsxs(A7,{setShowAddToCart:T,children:[Te.jsx(u7,{modelLoading:I,frameList:n,selectedFrame:v,onChangeFrame:pe,heading:"SELECT FRAME"}),o&&Te.jsx(g7,{orbitalList:s,selectedOrbital:w,modelLoading:I,onChangeOrbital:it,heading:"SELECT ORBITAL"}),Te.jsx(h7,{modelLoading:I,lensList:i,selectedLens:m,selectedDitaLens:P,onChangeLens:Oe,heading:"SELECT LENS COLOR"}),Te.jsx(d7,{heading:"LASER ENGRAVING",onChecked:ke,onTextAdded:lt})]}),Z&&M&&Te.jsx("div",{style:{position:"absolute",bottom:"0",width:"100%"},children:Te.jsx(CI,{conditionRequired:K&&j!="",onButtonClick:Ye})})]})]})}function E7({apiService:r,sku:e,events:t,viewerOnly:n=!1}){var A;const i=vt.useRef(),[s,o]=vt.useState(null),c=(s==null?void 0:s.orgName)||"",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,vt.useEffect(()=>((async()=>{var m,_;i.current=new II,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,orgName: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(y7,{customEvent:t,orgName: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 zm={},SI={exports:{}},Mn={},Hm={exports:{}},Gm={};/**
4465
+ `},m.depthTest=!1,m.depthWrite=!1;const _=new vn(LN);_.depthTest=!1;const w=new vn(NN);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 RN,M=new DN(this.scene,this.camera);M.clearAlpha=0;const T=this.renderer.getDrawingBufferSize(new Ge),D=new Ci(T.width,T.height,{samples:4,type:_n}),b=new BN(this.renderer,D);b.addPass(M),b.addPass(R);const S=()=>{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,Rs.uniforms.viewMatrixInverse.value=this.camera.matrixWorld,Rs.uniforms.projectionMatrixInverse.value=this.camera.projectionMatrixInverse,requestAnimationFrame(S),b.render()};S()}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 c7{constructor(){kt(this,"customRenderer"),this.customRenderer=new l7}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 wI{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 c7,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 II{constructor(){kt(this,"events"),kt(this,"authService"),kt(this,"instanceArr"),this.authService=new TS,this.events=new QS,this.instanceArr=[]}async Init(e){await this.authService.Init(e),Tc.setJWT(this.authService.authPayload.JWT)}async loadBySKU(e){const t=await Ip.FetchAssetBySKUOrBarcode({sku:e.SKU,barcode:null});return await this.renderAsset({data:{assetDetails:t,customisation:t.customisation}})}async renderAsset(e){return new wI({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 wI({orgId:this.authService.authPayload.ORGID,userContainerId:e.containerId})}}window.ThreeDConfigurator=II;const BQ="",bQ="";function u7({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 h7({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 RQ="";function d7({heading:r,onChecked:e,onTextAdded:t}){const[n,i]=vt.useState(""),[s,o]=vt.useState(!1),[c,h]=vt.useState(!1),u=vt.useRef(null);return vt.useEffect(()=>{e(s),s&&u.current?(u.current.style.backgroundColor="#ffffff",u.current.focus()):!s&&u.current&&(u.current.style.backgroundColor="transparent",u.current.blur(),i(""))}),vt.useEffect(()=>{c&&n!=""&&t(n)},[c]),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:d=>{o(d.target.checked)},checked:s}),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:u,className:"sprie-config-engraving-inputField",placeholder:"ADD CUSTOM TEXT",value:n,onChange:d=>i(d.target.value),maxLength:15,style:{padding:"0.7rem"},disabled:!s,onBlur:d=>h(!0),onFocus:d=>h(!1)}),Te.jsx("span",{className:"sprie-config-engraving-inputInfo",children:`${n.length}/15 characters`}),Te.jsx("a",{href:"#",className:"sprie-config-engraving-link",children:"About Custom Laser Engraving"})]})]})}const DQ="";function f7({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 p7({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 A7({setShowAddToCart:r,children:e}){var u;const[t,n]=vt.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 vt.useEffect(()=>{r(!!s)},[s,r]),Te.jsxs("div",{className:"carousel",children:[Te.jsx(p7,{nextSlide:h,previousSlide:c,currentIndex:t,stepsName:o,isLastStep:s}),Te.jsx(f7,{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 LQ="";function CI({conditionRequired:r,onButtonClick:e}){const[t,n]=vt.useState(!1),i=vt.useRef(null),s=vt.useRef(null);return vt.useEffect(()=>{s.current&&(s.current.disabled=!t)},[t]),vt.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"})]})}function g7({orbitalList:r,selectedOrbital:e,modelLoading:t,onChangeOrbital:n}){const i=window.innerWidth<=576;return Te.jsx("div",{className:"sprie-config-palette",style:{padding:"0 1.2rem 1.6rem 1.2rem",marginTop:i?"1rem":"0",gap:i?".3rem":"1rem"},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.thumbnail,alt:s.name+"image",className:`sprie-config-image ${i?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===s._id?"1px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),(e==null?void 0:e._id)===s._id&&Te.jsx("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.5rem"},children:Te.jsx("span",{className:"sprie-config-palette-imgName",children:s.name})})]},s._id))})}const m7="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMzIwLjAwMDAwMHB0IiBoZWlnaHQ9IjY2LjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgMzIwLjAwMDAwMCA2Ni4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KCjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDY2LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgNjUxIGMwIC02IDkgLTExIDIxIC0xMSAxMSAwIDI5IC01IDQwIC0xMCAxOCAtMTAgMTkgLTI0IDE5IC0zMDAKMCAtMjc2IC0xIC0yOTAgLTE5IC0zMDAgLTExIC01IC0yOSAtMTAgLTQwIC0xMCAtMTIgMCAtMjEgLTQgLTIxIC0xMCAwIC0xNAo0NDUgLTEzIDUxMiAxIDEwNyAyMyAxOTAgODUgMjM5IDE3OSAyMCAzNyAyNCA2MCAyNCAxMzUgMCA3OCAtNCA5NyAtMjggMTQ3Ci0zNCA3MCAtMTAwIDEzMCAtMTc2IDE2MCAtNTIgMjEgLTc1IDIzIC0zMTMgMjYgLTE4MCAyIC0yNTggMCAtMjU4IC03eiBtNDcwCi0zNiBjMTUgLTggMzggLTI3IDQ5IC00MSAyMCAtMjUgMjEgLTM5IDIxIC0yMzggMCAtMTk0IC0yIC0yMTQgLTIwIC0yNDQgLTExCi0xOCAtMzYgLTQwIC01NSAtNDggLTQ2IC0xOSAtMTM1IC0xOCAtMTYzIDIgLTIyIDE1IC0yMiAxNyAtMjIgMzAwIGwwIDI4NCA4MAowIGM1MiAwIDkxIC01IDExMCAtMTV6Ii8+CjxwYXRoIGQ9Ik05ODAgNjUwIGMwIC01IDExIC0xMCAyNCAtMTAgNTUgMCA1NiAtNyA1NiAtMzEwIDAgLTMwMyAtMSAtMzEwIC01NgotMzEwIC0xMyAwIC0yNCAtNCAtMjQgLTEwIDAgLTYgNjcgLTEwIDE4MCAtMTAgMTEzIDAgMTgwIDQgMTgwIDEwIDAgNiAtMTEgMTAKLTIzIDEwIC0xMyAwIC0zMSA4IC00MCAxOCAtMTUgMTYgLTE3IDUyIC0xNyAyOTQgMCAyNTQgMSAyNzYgMTggMjkxIDEwIDEwIDI4CjE3IDQwIDE3IDEyIDAgMjIgNSAyMiAxMCAwIDYgLTY3IDEwIC0xODAgMTAgLTExMyAwIC0xODAgLTQgLTE4MCAtMTB6Ii8+CjxwYXRoIGQ9Ik0xNTI2IDYwMSBjLTI1IC0zMyAtNDYgLTY0IC00NiAtNzAgMCAtNiAyNCA1IDU0IDI0IDUzIDM0IDE1OSA3NQoxOTQgNzUgMTAgMCAyOCAtMTAgNDAgLTIzIDIxIC0yMyAyMiAtMzAgMjIgLTI4OSAwIC0yODkgLTIgLTI5OCAtNTYgLTI5OCAtMTMKMCAtMjQgLTQgLTI0IC0xMCAwIC02IDY3IC0xMCAxODAgLTEwIDExMyAwIDE4MCA0IDE4MCAxMCAwIDYgLTExIDEwIC0yNCAxMAotNTQgMCAtNTYgOSAtNTYgMjk0IDAgMjUxIDEgMjY1IDIxIDI5MCAxMSAxNCAzMCAyNiA0MiAyNiAzNyAtMSAxNTMgLTQ2IDIwMQotNzggMjUgLTE3IDQ2IC0yNyA0NiAtMjEgMCA2IC0yMSAzNyAtNDYgNzAgbC00NyA1OSAtMzE3IDAgLTMxNyAwIC00NyAtNTl6Ii8+CjxwYXRoIGQ9Ik0yNDU1IDY1MCBjMyAtNSAxNSAtMTAgMjYgLTEwIDMwIDAgNjUgLTI3IDk3IC03NiBsMjkgLTQzIC05MCAtMTc4CmMtMTM2IC0yNzAgLTE2MyAtMzEzIC0xOTggLTMyMCAtNTkgLTExIC0yNiAtMjMgNjYgLTIzIDg5IDAgMTIxIDExIDc1IDI1IC0yOQo5IC0yNiA1NSAxMCAxMjYgbDMxIDYwIDE1MSAtMyAxNTEgLTMgMzkgLTczIGMzMCAtNTkgMzYgLTc3IDI4IC05MyAtNiAtMTAKLTIwIC0xOSAtMzAgLTE5IC0xMSAwIC0yMCAtNCAtMjAgLTEwIDAgLTYgNzAgLTEwIDE5MCAtMTAgMTIwIDAgMTkwIDQgMTkwIDEwCjAgNiAtMTEgMTAgLTI0IDEwIC0xNCAwIC0zNiAxMCAtNTAgMjMgLTE1IDEyIC0xMDYgMTU1IC0yMDQgMzE3IGwtMTc3IDI5NQotMTQ4IDMgYy0xMDAgMiAtMTQ2IC0xIC0xNDIgLTh6IG0yNTggLTM5OCBjLTM1IC0yIC05MiAtMiAtMTI3IDAgbC02NCAzIDYwCjExMyA2MCAxMTMgNjcgLTExMyA2NyAtMTEzIC02MyAtM3oiLz4KPC9nPgo8L3N2Zz4K",_7="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA4ODYgNjk4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4ODYgNjk4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkxODQ3RTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04NDAuMDEsNDEuMDFjLTM2LjcxLTMxLjU2LTEwOC45NC01Ny45Ny0yNDQuNi00LjU2Yy0yMC40Nyw4LjA2LTQxLjQ2LDE3LjU3LTYyLjc1LDI4LjM2CgljMTkuMzgtNC42Niw0MzEuNTItMTAxLDE3NS42MSwxOTkuNDJsLTAuMDQsMGMtMjUuODUsMzUuNS01Ny44Miw3Mi4wOC05NC40MiwxMDcuOTdsLTMyLjcyLTI4LjE0bC02LjQ0LDE0MS43NmwxNjQuODQtNS41NwoJbC00NC4zNC0zOC4xMmM2NS41NC02My43NCwxMTcuODUtMTI5Ljk0LDE1MC4yMi0xOTAuNzdDOTA3LjQ0LDEzNC42OSw4NzYuNzEsNzIuNTcsODQwLjAxLDQxLjAxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTYyLjE3LDQyNS42N2MtNjQuNDcsNDYuMi0xMzIuNjcsODYuMjItMTk4LjQzLDExNi43NmMtMC4wOSwwLjA0LTAuMTcsMC4wOC0wLjI1LDAuMTMKCUMtMTkuMjcsNzMwLjcyLDczLjg2LDQ0MS4xMyw4OC4wNyw0MDEuNDVsLTIuMDktMS41MWMtMTQuNjcsMTcuOTMtMjcuNiwzNS42MS0zOC41Myw1Mi44NEMtMjQuNCw1NjYsMTEuMTYsNjI2LjI3LDUzLjY0LDY1Ni44OQoJYzQyLjQ4LDMwLjYzLDEyNi4wNyw1Ni4yNSwyODMuMDUsNC40M2M5OS0zMi42OSwyMDguNTgtODkuNywzMTAuMDYtMTYxLjE5bC04My43Ny0wLjQ2TDU2Mi4xNyw0MjUuNjd6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIuOSwxOTcuNzRjMCwzNS41NC0yNS43Myw1Mi44MS00MS45OCw1Mi44MXYxLjAxYzIwLjY1LDAsNDYuMzcsMTUuOTEsNDYuMzcsNTEuNDUKCWMwLDM3LjkxLTM0LjE5LDYzLjk4LTgzLjYxLDYzLjk4Yy00My42NywwLTcxLjA5LTE3LjI3LTgzLjk1LTU0Ljg0bDQyLjMxLTE4Ljk2YzQuNzQsMjQuMzcsMTcuMjYsMzYuMjIsNDEuOTgsMzYuMjIKCWMyMy43LDAsMzcuOTEtMTIuODcsMzcuNTctMzIuNWMtMC4zNC0yMC45OS0xMy4yLTI4Ljc4LTM5Ljk0LTI4Ljc4aC0xMS4xN3YtMzIuNWg5LjQ4YzI0LjM3LDAsMzYuNTYtOS44MiwzNi41Ni0yOS43OQoJYzAuMzQtMjAuNjUtMTEuNTEtMzEuNDgtMzEuODItMzEuNDhjLTIwLjY1LDAtMzMuODUsMTAuODMtMzYuOSwzMS44MmwtNDEuNjQtMTUuMjNjOC44LTM2LjksNDAuNjItNTQuMTYsODAuNTYtNTQuMTYKCUMxODUuODIsMTM2LjgxLDIxMi45LDE2Mi41NCwyMTIuOSwxOTcuNzR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zOTYuOTgsMTg1LjU2bC0zOS4yNywxOC4yOGMtNS40Mi0xNy42LTE3LjI2LTI4LjQzLTM4LjkzLTI4LjQzYy0yOC43OCwwLTQ5LjA4LDMwLjgtNDkuMDgsNzYuMTZ2NS43NmgxLjAxCgljNy40NS0yMy4wMiwzMS4xNC0zMy41MSw1Ni44Ny0zMy41MWM0Mi45OSwwLDczLjEyLDI3LjQyLDczLjEyLDcwLjQxYzAsNDQuMzQtMzAuOCw3Mi43OC04Mi42LDcyLjc4CgljLTU4LjIzLDAtOTAuMzgtNDIuOTktOTAuMzgtMTE1LjA5YzAtNzcuNTIsNDAuNjItMTE1LjA5LDk0LjExLTExNS4wOUMzNTcuNzEsMTM2LjgxLDM4NC4xMiwxNTAuMzUsMzk2Ljk4LDE4NS41NnogTTI4MC41MywyOTMuNTQKCWMwLDIyLjM0LDE1LjIzLDM2LjIyLDM4LjI1LDM2LjIyYzI0LjAzLDAsMzcuOTEtMTMuMiwzNy45MS0zNi4yMmMwLTIyLTEzLjg4LTM1LjU0LTM3LjkxLTM1LjU0CglDMjk1Ljc2LDI1OCwyODAuNTMsMjcyLjIyLDI4MC41MywyOTMuNTR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MTQuNzgsMjUxLjkxYzAtNzUuNDksMzAuMTMtMTE1LjA5LDg5LjM3LTExNS4wOXM4OS4zNywzOS42LDg5LjM3LDExNS4wOVM1NjMuMzgsMzY3LDUwNC4xNSwzNjcKCVM0MTQuNzgsMzI3LjM5LDQxNC43OCwyNTEuOTF6IE01NDYuOCwyNTEuOTFjMC01My4xNS0xMy44OC03Ny41Mi00Mi42NS03Ny41MmMtMjguNzcsMC00Mi42NSwyNC4zNy00Mi42NSw3Ny41MgoJYzAsNTMuMTUsMTMuODgsNzcuNTIsNDIuNjUsNzcuNTJDNTMyLjkyLDMyOS40Myw1NDYuOCwzMDUuMDUsNTQ2LjgsMjUxLjkxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTg4LjIsMTI4LjEzYzAtMTguNjMsMTMuNzgtMzIuMDIsMzIuOTktMzIuMDJjMTkuMjEsMCwzMi45OSwxMy4zOSwzMi45OSwzMi4wMnMtMTMuNzgsMzIuMDItMzIuOTksMzIuMDIKCUM2MDEuOTcsMTYwLjE0LDU4OC4yLDE0Ni43Niw1ODguMiwxMjguMTN6IE02NDAuNTksMTI4LjEzYzAtMTEuMjUtOC4xNS0xOS40LTE5LjQtMTkuNHMtMTkuNCw4LjE1LTE5LjQsMTkuNHM4LjE1LDE5LjQsMTkuNCwxOS40CglTNjQwLjU5LDEzOS4zOCw2NDAuNTksMTI4LjEzeiIvPgo8L3N2Zz4K";var _f=(r=>(r.Front="Front",r.Back="Back",r.Left="Left",r.Right="Right",r.Top="Top",r.Bottom="Bottom",r))(_f||{});const NQ="";function v7({snapCameraTo:r}){const e=Object.keys(_f).map(s=>({label:_f[s],isDisabled:!0})),[t,n]=vt.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(_f[s.label])},children:s.label},o))})}function y7({orgName: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 ct;const[v,E]=vt.useState(),[m,_]=vt.useState(),[w,x]=vt.useState(),[I,R]=vt.useState(!1),[M,T]=vt.useState(!1),[D,b]=vt.useState(),[S,L]=vt.useState(),[P,N]=vt.useState(),[W,X]=vt.useState(),[K,te]=vt.useState(!1),[j,ee]=vt.useState("placeholder"),Q=vt.useRef(null);(ct=Q.current)==null||ct.clientHeight;const H=vt.useRef();H.current=h;const Z=window.innerWidth<=576,re={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"lens-default"},G={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",varinatSku:"orbital-default"},de=O=>{H.current&&H.current.snapCameraToPos(O)},pe=async(O,k)=>{if(!(O._id===(v==null?void 0:v._id)&&!k)&&H.current){R(!0);var ne=(w==null?void 0:w.sku)=="orbital-default"?ye(O):w;H.current.changeFrame(O,[m,ne]).then(()=>{R(!1)}),E(O),L(d==null?void 0:d.find(fe=>fe.varinatSku==O.sku))}},ve=O=>O==null?void 0:O.customisation.find(ne=>ne.type=="Lens"),ye=O=>O==null?void 0:O.customisation.find(ne=>ne.type=="Orbital"),Oe=async O=>{if(!H.current||O==m)return;const k=O.sku=="lens-default",ne=ve(v),fe=rt();!ne&&k?(R(!0),H.current.changeLens([O,w],!0,v).then(()=>{R(!1)})):!ne&&!k?(m==null?void 0:m.sku)=="lens-default"?(R(!0),H.current.changeLens([O,w],!0,v).then(()=>{R(!1)})):H.current.changeLens([O,w],!1,v):ne&&k?H.current.changeLens([ne,w],!1,v):H.current.changeLens([O,w],!1,v),O.sku=="lens-default"?N(re):N(A==null?void 0:A.find(Ae=>{var ge;return Ae.variantId==Number((ge=O.metadata.find(Pe=>Pe.key==fe))==null?void 0:ge.value)?Ae:null})),_(O)},it=async O=>{if(!H.current||O==w)return;const k=O.sku=="orbital-default",ne=ye(v);R(!0),k?await H.current.changeOrbital(ne).then(()=>{X(p==null?void 0:p.find(fe=>fe.variantId==Number(ne.sku))),R(!1)}):await H.current.changeOrbital(O).then(()=>{X(p==null?void 0:p.find(fe=>fe.variantId==Number(O.sku))),R(!1)}),x(O)},ae=()=>(S==null?void 0:S.variantPrice)+((P==null?void 0:P.varinatSku)!=="lens-default"?P==null?void 0:P.variantPrice:0),rt=()=>{var ne;const O=(ne=v.metadata.find(fe=>fe.key=="baseCurve"))==null?void 0:ne.value;let k="variantId";return O=="2B"?k="2bVariantId":O=="6B"&&(k="6bVariantId"),k},ke=O=>{te(O)},lt=O=>{ee(O)},Ye=()=>{if(v&&m&&W){const O=v.metadata.find(be=>be.key=="variantId"),k=v.metadata.find(be=>be.key=="baseCurve");let ne="variantId";k&&k.value=="2B"?ne="2bVariantId":k&&k.value=="6B"&&(ne="6bVariantId");const fe=m.metadata.find(be=>be.key==ne),Ae=O?Number(O.value):null,ge=fe?Number(fe.value):null,Pe=W!=null&&W.variantId?Number(W.variantId):null,we={frameIdentifier:Ae,lensIdentifier:ge,orbitalIdentifier:Pe};e.emitEvent("onAddToCart",we);const Fe=[];if(ge&&fe){const be={id:ge,quantity:1,properties:null};Fe.push(be)}if(Pe&&(W!=null&&W.variantId)){const be={id:Pe,quantity:1,properties:null};Fe.push(be)}if(K){const be={id:44745490890985,quantity:1,properties:null};Fe.push(be)}if(O){const be={id:Ae,quantity:1,properties:K?{customText:j}:null};Fe.push(be)}t.HandleShopifyAddToCart(Fe)}};return vt.useEffect(()=>{if(Q.current){const O=Z?M?367.5:318.5:286;b((Q.current.clientHeight-(O+1))/14)}},[Z,Q,M]),vt.useEffect(()=>{n&&E(n[0]),i&&_(i[0]),s&&x(s[0])},[n,i,s]),vt.useEffect(()=>{L(g),N(re),X(G)},[g]),vt.useEffect(()=>{},[K,j]),Te.jsxs("section",{id:"Sprie-config-Main-Container",ref:Q,children:[Te.jsxs("header",{id:"Sprie-config-Header",children:[Te.jsx("img",{src:m7,alt:"dita-logo",width:97,height:20}),Te.jsxs("p",{style:{margin:"0"},className:"sprie-config-Header-groupName",children:[r," CUSTOMIZER"]})]}),Te.jsxs("section",{id:"Sprie-config-Viewer-Container",style:{height:`${D}rem`},children:[Te.jsx("img",{src:_7,alt:"360deg-logo",width:44,height:34}),Te.jsx(v7,{snapCameraTo:de}),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:Z?M?"21rem":"17.5rem":"15.42rem"},children:[Te.jsxs("div",{className:"sprie-config-price-block",style:{top:Z||!M?"-3rem":"-8.5rem"},children:[Te.jsx("p",{style:{margin:"0 0.8rem 0 0"},children:`${ae()}.00 ${S==null?void 0:S.priceCurrency} `}),!Z&&M&&Te.jsx(CI,{conditionRequired:K&&j!="",onButtonClick:Ye}),M&&Te.jsx("p",{style:{marginRight:".8rem",fontSize:".6rem",textAlign:"right"},children:"Please Allow 7-10 Days for Customization Process."})]}),Te.jsxs(A7,{setShowAddToCart:T,children:[Te.jsx(u7,{modelLoading:I,frameList:n,selectedFrame:v,onChangeFrame:pe,heading:"SELECT FRAME"}),o&&Te.jsx(g7,{orbitalList:s,selectedOrbital:w,modelLoading:I,onChangeOrbital:it,heading:"SELECT ORBITAL"}),Te.jsx(h7,{modelLoading:I,lensList:i,selectedLens:m,selectedDitaLens:P,onChangeLens:Oe,heading:"SELECT LENS COLOR"}),Te.jsx(d7,{heading:"LASER ENGRAVING",onChecked:ke,onTextAdded:lt})]}),Z&&M&&Te.jsx("div",{style:{position:"absolute",bottom:"0",width:"100%"},children:Te.jsx(CI,{conditionRequired:K&&j!="",onButtonClick:Ye})})]})]})}function E7({apiService:r,sku:e,events:t,viewerOnly:n=!1}){var A;const i=vt.useRef(),[s,o]=vt.useState(null),c=(s==null?void 0:s.orgName)||"",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,vt.useEffect(()=>((async()=>{var m,_;i.current=new II,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,orgName: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(y7,{customEvent:t,orgName: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 zm={},SI={exports:{}},Mn={},Hm={exports:{}},Gm={};/**
4466
4466
  * @license React
4467
4467
  * scheduler.production.min.js
4468
4468
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perceptimagery/dita-configurator-staging",
3
- "version": "0.3.6000",
3
+ "version": "0.3.6003",
4
4
  "author": "Percept Imagery Ltd. <rohan@perceptimagery.com>",
5
5
  "license": "UNLICENSED",
6
6
  "main": "dist/index.js",