@perceptimagery/dita-configurator-staging 1.3.11 → 1.3.13

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 +2 -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-sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.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;top:0;left:0;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-loadingFrame--viewerOverlay{z-index:10000}.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-Cust-block{display:flex;align-items:center;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-Cust-block{display:flex;align-items:center}.popover__content.threedConfig{height:100%;width:100%;padding:0}.popover.hidden-lap-and-up.popover-full[open]{transform:translateY(8.5%)}}.sprie-config-palette{overflow-y:hidden;height:100%;display:flex;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;height:50%}.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{top:90%;width:175%;height:150%;position:absolute;text-align:center;z-index:100}.sprie-config-palette-img-text .sprie-config-palette-imgName{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;background-color:transparent;border:none;white-space:nowrap;font-size:.7rem;bottom:-1.7rem;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:90%;height:100%;display:flex;position:relative;overflow:hidden}.carousel-item{display:flex;align-items:start;justify-content:center;min-width:100%;height: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:400;line-height:1.5rem;color:#4d4d4d}.carousel-header .select-syntax{font-size:1rem;font-weight:600;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{padding:1%!important;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{align-items:start;height:70%;width:100%}.step-tracker-block{width:100%}}.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; 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 Yk=Object.defineProperty;var qk=($s,gi,mi)=>gi in $s?Yk($s,gi,{enumerable:!0,configurable:!0,writable:!0,value:mi}):$s[gi]=mi;var Rt=($s,gi,mi)=>(qk($s,typeof gi!="symbol"?gi+"":gi,mi),mi);(function(){var Km,Zm;"use strict";class $s{constructor(e){Rt(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 gi={storePrefix:{NODE_ENV:"production"}.STORE_PREFIX||"sprie-embed-",host:"https://api.sprie.io"},mi=Object.freeze(gi),yy="1.3.11";function Ey(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 xy{constructor(e,t){Rt(this,"isAuthenticated");Rt(this,"fetcher");Rt(this,"shopifyAPI");Rt(this,"org");Rt(this,"apiKey");Rt(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=`/v2/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="/v2/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,t,n){const i=`/v2/widget/list-customisation?search=type:${e},org:${this.fetcher.config.ORGID},usage:${n}&limit=100`,s=await this.fetcher.Get(i),o=s.data.findIndex(u=>u.sku.includes(`${e.toLowerCase()}-default`)),l=s.data[o];return!t&&o>-1&&s.data.splice(o,1),{...s,data:t&&l?Ey(s.data,l):s.data}}async DownloadMA(e){try{const t=`/v2/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="/v2/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,t){e.forEach(s=>{var l;const o=(l=s.properties)==null?void 0:l.customText;o&&(delete s.properties.customText,Object.assign(s.properties,{"custom-laser-etching":"Add Laser Engraving"}),Object.assign(s.properties,{"custom-text":o}),Object.assign(s.properties,{"This customized item cannot be returned or exchanged":"I agree"}),Object.assign(s.properties,{_uniqueTimestamp:t}))});let n={items:e,sections:"mini-cart"};const i=await this.shopifyAPI.Post(n);if(i){const s=await this.shopifyAPI.Get();document.querySelector("#shopify-section-mini-cart").outerHTML=i.sections["mini-cart"],document.querySelector(".header__cart-count").textContent=s.item_count;const o=document.querySelector(".drawer.drawer--full");o&&o.hasAttribute("open")&&o.removeAttribute("open");const l=document.querySelector(".popover.hidden-lap-and-up.popover-full");l&&l.hasAttribute("open")&&l.removeAttribute("open"),document.querySelector(".mini-cart.drawer.drawer--large").setAttribute("open","")}}}var Gu=(r=>(r.Init="init",r.Preparing="preparing",r.Authenticating="authenticating",r.Fetching="fetching",r.Loading="loading",r.Done="done",r))(Gu||{}),Ja=(r=>(r.Customizer="customizer",r.Lancier="lancier",r.RxViewer="rxviewer",r))(Ja||{});class wy{constructor({log:e,logErr:t,apiService:n,metaData:i,config:s}){Rt(this,"log");Rt(this,"logErr");Rt(this,"metaData");Rt(this,"loaderName");Rt(this,"apiKey");Rt(this,"scriptStreamEncoderId");Rt(this,"rawNodeList");Rt(this,"targetNodeList");Rt(this,"status");Rt(this,"isLoaded");Rt(this,"loadCount");Rt(this,"mutationObserver");Rt(this,"config");Rt(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=Gu.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=Gu.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 Cy(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var d6={exports:{}},H1={},f6={exports:{}},xt={};/**
3
+ var Yk=Object.defineProperty;var qk=($s,gi,mi)=>gi in $s?Yk($s,gi,{enumerable:!0,configurable:!0,writable:!0,value:mi}):$s[gi]=mi;var Rt=($s,gi,mi)=>(qk($s,typeof gi!="symbol"?gi+"":gi,mi),mi);(function(){var Km,Zm;"use strict";class $s{constructor(e){Rt(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 gi={storePrefix:{NODE_ENV:"production"}.STORE_PREFIX||"sprie-embed-",host:"https://api.sprie.io"},mi=Object.freeze(gi),yy="1.3.13";function Ey(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 xy{constructor(e,t){Rt(this,"isAuthenticated");Rt(this,"fetcher");Rt(this,"shopifyAPI");Rt(this,"org");Rt(this,"apiKey");Rt(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=`/v2/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="/v2/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,t,n){const i=`/v2/widget/list-customisation?search=type:${e},org:${this.fetcher.config.ORGID},usage:${n}&limit=100`,s=await this.fetcher.Get(i),o=s.data.findIndex(u=>u.sku.includes(`${e.toLowerCase()}-default`)),l=s.data[o];return!t&&o>-1&&s.data.splice(o,1),{...s,data:t&&l?Ey(s.data,l):s.data}}async DownloadMA(e){try{const t=`/v2/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="/v2/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,t){e.forEach(s=>{var l;const o=(l=s.properties)==null?void 0:l.customText;o&&(delete s.properties.customText,Object.assign(s.properties,{"custom-laser-etching":"Add Laser Engraving"}),Object.assign(s.properties,{"custom-text":o}),Object.assign(s.properties,{"This customized item cannot be returned or exchanged":"I agree"}),Object.assign(s.properties,{_uniqueTimestamp:t}))});let n={items:e,sections:"mini-cart"};const i=await this.shopifyAPI.Post(n);if(i){const s=await this.shopifyAPI.Get();document.querySelector("#shopify-section-mini-cart").outerHTML=i.sections["mini-cart"],document.querySelector(".header__cart-count").textContent=s.item_count;const o=document.querySelector(".drawer.drawer--full");o&&o.hasAttribute("open")&&o.removeAttribute("open");const l=document.querySelector(".popover.hidden-lap-and-up.popover-full");l&&l.hasAttribute("open")&&l.removeAttribute("open"),document.querySelector(".mini-cart.drawer.drawer--large").setAttribute("open","")}}}var Gu=(r=>(r.Init="init",r.Preparing="preparing",r.Authenticating="authenticating",r.Fetching="fetching",r.Loading="loading",r.Done="done",r))(Gu||{}),Ja=(r=>(r.Customizer="customizer",r.Lancier="lancier",r.RxViewer="rxviewer",r))(Ja||{});class wy{constructor({log:e,logErr:t,apiService:n,metaData:i,config:s}){Rt(this,"log");Rt(this,"logErr");Rt(this,"metaData");Rt(this,"loaderName");Rt(this,"apiKey");Rt(this,"scriptStreamEncoderId");Rt(this,"rawNodeList");Rt(this,"targetNodeList");Rt(this,"status");Rt(this,"isLoaded");Rt(this,"loadCount");Rt(this,"mutationObserver");Rt(this,"config");Rt(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=Gu.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=Gu.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 Cy(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var d6={exports:{}},H1={},f6={exports:{}},xt={};/**
4
4
  * @license React
5
5
  * react.production.min.js
6
6
  *
@@ -4701,7 +4701,7 @@ struct BVH {
4701
4701
  ${t.fragmentShader.replace("gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );","gl_FragColor = vec4( vec3( 0.0 ), ( 1.0 - fragCoordZ ) * darkness );")}
4702
4702
  `},this.depthMaterial.depthTest=!1,this.depthMaterial.depthWrite=!1}setupBlurMaterials(){this.horizontalBlurMaterial=new T0(IP),this.verticalBlurMaterial=new T0(MP),this.horizontalBlurMaterial.depthTest=!1,this.verticalBlurMaterial.depthTest=!1}updateShadowCamera(){this.shadowCamera&&(this.shadowCamera.far=.125,this.shadowCamera.updateProjectionMatrix())}blurShadow(e){var t,n,i,s,o,l,h;const u=(t=this.shadowGroup)==null?void 0:t.getObjectByName("blurPlane");u.visible=!0,u.material=this.horizontalBlurMaterial,u.material.uniforms.tDiffuse.value=(n=this.renderTarget)==null?void 0:n.texture,this.horizontalBlurMaterial&&(this.horizontalBlurMaterial.uniforms.h.value=e*1/256),(i=this.renderer)==null||i.setRenderTarget(this.renderTargetBlur),(s=this.renderer)==null||s.render(u,this.shadowCamera),u.material=this.verticalBlurMaterial,u.material.uniforms.tDiffuse.value=(o=this.renderTargetBlur)==null?void 0:o.texture,this.verticalBlurMaterial&&(this.verticalBlurMaterial.uniforms.v.value=e*1/256),(l=this.renderer)==null||l.setRenderTarget(this.renderTarget),(h=this.renderer)==null||h.render(u,this.shadowCamera),u.visible=!1}render(){if(!this.scene||!this.renderer)return;const e=this.scene.background;if(this.scene.background=null,this.scene.overrideMaterial=this.depthMaterial,!this.renderer||!this.shadowCamera)return;const t=this.renderer.getClearAlpha();this.renderer.setClearAlpha(0),this.renderer.clear(),this.renderer.setRenderTarget(this.renderTarget),this.renderer.render(this.scene,this.shadowCamera),this.scene.overrideMaterial=null,this.blurShadow(O9.shadow.blur),this.blurShadow(O9.shadow.blur*.4),this.renderer.setRenderTarget(null),this.renderer.setClearAlpha(t),this.scene.background=e}dispose(){var e,t,n,i,s,o;(e=this.renderTarget)==null||e.dispose(),(t=this.renderTargetBlur)==null||t.dispose(),(n=this.depthMaterial)==null||n.dispose(),(i=this.horizontalBlurMaterial)==null||i.dispose(),(s=this.verticalBlurMaterial)==null||s.dispose(),this.debugGroup&&((o=this.scene)==null||o.remove(this.debugGroup))}}class TP extends Oo{constructor(e,t,n=null,i=null,s=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=i,this.clearAlpha=s,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new je}render(e,t,n){const i=e.autoClear;e.autoClear=!1;let s,o;this.overrideMaterial!==null&&(o=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor!==null&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor,e.getClearAlpha())),this.clearAlpha!==null&&(s=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),this.clearDepth==!0&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),this.clear===!0&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor!==null&&e.setClearColor(this._oldClearColor),this.clearAlpha!==null&&e.setClearAlpha(s),this.overrideMaterial!==null&&(this.scene.overrideMaterial=o),e.autoClear=i}}class BP{constructor(){me(this,"rendererCore"),me(this,"sceneManager"),me(this,"bloomEffect"),me(this,"shadowEffect"),me(this,"pointerEvents"),me(this,"isInitialised",!1),me(this,"isInovati",!1),me(this,"viewerOnly",!1),me(this,"handleResize",()=>{var e;this.isInitialised&&(this.rendererCore.resizeRenderer(),(e=this.sceneManager)==null||e.handleResize())}),this.rendererCore=new XS}async initialise(e,t,n,i){if(this.isInitialised)return;this.isInovati=n??!1,this.viewerOnly=i??!1;const s=this.rendererCore.initialiseRenderer(e);this.sceneManager=new EP(this.rendererCore.getRenderer(),s,this.isInovati),await this.sceneManager.initialiseScene(t).then(([o,l])=>{o&&l&&(this.initEffects(o,l),this.pointerEvents=new xP(l,o,s),this.setupEventHandlers(),this.isInitialised=!0)}),this.sceneManager.handleResize()}initEffects(e,t){const n=new TP(e,t);if(this.isInovati){this.bloomEffect=new CP(this.rendererCore.getRenderer(),n,e);const i=this.bloomEffect.getBloomMixPass();this.rendererCore.SetupComposerWithBloom(n,i)}else this.rendererCore.setupMSAA(n);this.shadowEffect=new SP(e,this.rendererCore.getRenderer())}async startRendering(){this.startRenderLoop()}setupEventHandlers(){window.addEventListener("resize",this.handleResize),!(!this.pointerEvents||this.viewerOnly)&&this.pointerEvents.initialiseEventListeners()}startRenderLoop(){const e=()=>{this.sceneManager&&(this.sceneManager.updateControls(),this.rendererCore.resizeRenderer()&&this.sceneManager.handleResize()),this.shadowEffect&&this.shadowEffect.render(),this.isInovati&&this.bloomEffect&&this.bloomEffect.render(),this.rendererCore.render(),requestAnimationFrame(e)};e()}loadFirstFrame(e,t,n){var i;return((i=this.sceneManager)==null?void 0:i.loadFirstFrame(e,t,n))??Promise.reject(new Error("Scene manager not initialised"))}loadLocalFrame(e){var t;return((t=this.sceneManager)==null?void 0:t.loadLocalFrame(e))??Promise.reject(new Error("Scene manager not initialised"))}changeFrame(e,t,n){var i;return((i=this.sceneManager)==null?void 0:i.changeFrame(e,t,n))??Promise.reject(new Error("Scene manager not initialised"))}changeLens(e,t,n,i){var s;return((s=this.sceneManager)==null?void 0:s.changeLens(e,t,n,i))??Promise.reject(new Error("Scene manager not initialised"))}changeLensShape(e){var t;return((t=this.sceneManager)==null?void 0:t.changeLensShape(e))??Promise.reject(new Error("Scene manager not initialised"))}changeOrbital(e){var t;return((t=this.sceneManager)==null?void 0:t.changeOrbital(e))??Promise.reject(new Error("Scene manager not initialised"))}async changeGemType(e,t,n){var i;await((i=this.sceneManager)==null?void 0:i.changeGemType(e,t,n).then(s=>{this.bloomEffect&&s&&this.bloomEffect.updateComposers(this.rendererCore.getFinalComposer())}))}changeStudType(e,t){var n;return((n=this.sceneManager)==null?void 0:n.changeStudType(e,t))??Promise.reject(new Error("Scene manager not initialised"))}async flashFocusOnZone(e,t,n){var i;await((i=this.sceneManager)==null?void 0:i.flashFocusOnZone(e,t,n).then(s=>{this.bloomEffect&&s&&this.bloomEffect.updateComposers(this.rendererCore.getFinalComposer())}))}snapCameraToPosition(e){var t;return((t=this.sceneManager)==null?void 0:t.snapCameraToPosition(e))??Promise.reject(new Error("Scene manager not initialised"))}cleanUp(){var e,t,n,i;window.removeEventListener("resize",this.handleResize),(e=this.pointerEvents)==null||e.dispose(),this.rendererCore.dispose(),(t=this.sceneManager)==null||t.dispose(),(n=this.bloomEffect)==null||n.dispose(),(i=this.shadowEffect)==null||i.dispose()}}class bP{constructor(){me(this,"customRenderer"),this.customRenderer=new BP}async Init(e,t,n,i){this.customRenderer.isInitialised||await this.customRenderer.initialise(e,t,n,i).then(()=>{this.customRenderer.startRendering()})}loadFirstFrame(e,t,n){try{return this.customRenderer.loadFirstFrame(e,t,n)}catch(i){return console.error(i),Promise.reject(i)}}loadLocalFrame(e){try{return this.customRenderer.loadLocalFrame(e)}catch(t){return console.error(t),Promise.reject(t)}}changeFrame(e,t,n){try{return this.customRenderer.changeFrame(e,t,n)}catch(i){return console.error(i),Promise.reject(i)}}changeLens(e,t,n,i){try{return this.customRenderer.changeLens(e,t,n,i)}catch(s){return console.error(s),Promise.reject(s)}}changeLensShape(e){try{return this.customRenderer.changeLensShape(e)}catch(t){return console.error(t),Promise.reject(t)}}changeOrbital(e){try{return this.customRenderer.changeOrbital(e)}catch(t){return console.error(t),Promise.reject(t)}}changeGemType(e,t,n){try{return this.customRenderer.changeGemType(e,t,n)}catch(i){return console.error(i),Promise.reject(i)}}changeStudType(e,t){try{return this.customRenderer.changeStudType(e,t)}catch(n){return console.error(n),Promise.reject(n)}}flashFocusOnZone(e,t,n){try{return this.customRenderer.flashFocusOnZone(e,t,n)}catch(i){return console.error(i),Promise.reject(i)}}snapCamToPos(e){try{return this.customRenderer.snapCameraToPosition(e)}catch(t){return console.error(t),Promise.reject(t)}}}class Rc{constructor(e){me(this,"orgId"),me(this,"rendererService"),me(this,"isLoading",!1),me(this,"userContainerId"),me(this,"containerElement",null),me(this,"defaultSelectorId","dita-3dconfig-element"),me(this,"defaultCanvasStyle",{width:"100%",height:"100%"}),me(this,"customisationArr",[]),me(this,"assetDetails",null),me(this,"viewerOnly",!1),this.userContainerId=e.userContainerId,this.rendererService=new bP,this.orgId=e.orgId??""}async loadLocalFrame(e){try{return await this.rendererService.Init(this.userContainerId??this.defaultSelectorId,e.autoRotateSpeed),await this.rendererService.loadLocalFrame(e.glbFile),this}catch(t){return console.error(t),this}}async changeLocalFrame(e){try{return this.rendererService.loadLocalFrame(e.glbFile)}catch(t){console.error(t)}}async loadFrame(e){this.assetDetails=e.data.assetDetails,this.customisationArr=e.data.customisation,this.viewerOnly=e.data.viewerOnly;try{return await this.rendererService.Init(this.userContainerId??this.defaultSelectorId,e.autoRotateSpeed,e.forInovati,e.data.viewerOnly??!1),await this.rendererService.loadFirstFrame(this.orgId,this.assetDetails,this.customisationArr),this}catch(t){return console.error(t),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)}changeLensShape(e){return this.rendererService.changeLensShape(e)}changeOrbital(e){return this.rendererService.changeOrbital(e)}changeGemType(e,t,n){return this.rendererService.changeGemType(e,t,n)}changeStudType(e,t){return this.rendererService.changeStudType(e,t)}snapCameraToPos(e){return this.rendererService.snapCamToPos(e)}focusOnZone(e,t,n,i){return this.rendererService.flashFocusOnZone(e,t,i)}unmount(){this.containerElement&&(this.containerElement.innerHTML="",this.containerElement.style.height="0px",this.containerElement.style.width="auto")}}class Dm{constructor(e,t){me(this,"authService"),me(this,"localDOMService"),e?this.localDOMService=new Rc({userContainerId:t}):this.authService=new Ny}async Init(e){this.authService&&(await this.authService.Init(e),Ka.setJWT(this.authService.authPayload.JWT))}async getDOMServiceInstance(e){return this.localDOMService?this.localDOMService:new Rc({userContainerId:e})}async loadBySKU(e){const t=await z2.FetchAssetBySKUOrBarcode({sku:e.SKU,barcode:null});return await this.renderAsset({data:{assetDetails:t,customisation:t.customisation}})}async renderAsset(e){var t;return new Rc({orgId:(t=this.authService)==null?void 0:t.authPayload.ORGID,userContainerId:e.containerId}).loadFrame({containerId:e.containerId,data:{assetDetails:e.data.assetDetails,customisation:e.data.customisation}})}async getInstance(e){var t;return new Rc({orgId:(t=this.authService)==null?void 0:t.authPayload.ORGID,userContainerId:e.containerId})}}window.ThreeDConfigurator=Dm;const $k="",a0=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent),eQ="";var Dc=(r=>(r.Front="Front",r.Back="Back",r.Left="Left",r.Right="Right",r.Top="Top",r.Bottom="Bottom",r))(Dc||{}),Cr=(r=>(r.LoadedCustomiser="Frame customiser loaded.",r.EnteredViewer="3d view of a frame with view orientation buttons",r.EnteredFramesListSection="Select a frame from the list of available frames.",r.EnteredOrbitalsListSection="Select a frame from the list of available frames.",r.EnteredLensListSection="Select a lens from the list of available lenses.",r.EnteredEngravingSection="Choose custom engraving for your frame.",r.ChangedViewFront="Changed orientation to front view",r.ChangedViewBack="Changed orientation to back view",r.ChangedViewLeft="Changed orientation to left view",r.ChangedViewRight="Changed orientation to right view",r.ChangedViewTop="Changed orientation to top view",r.ChangedViewBottom="Changed orientation to bottom view",r.ChangedFrame="Changed current 3d frame to ",r.ChangedLens="Changed current lens to ",r.ChangedOrbital="Changed current orbital to ",r.AddedEngravingText="Added the engraving text ",r.EnteredEngravingTextInput="Enter upto 15 characters for engraving. Press enter to submit.",r.EngravingInputAvailable="Input text box for engraving text is available on tab",r.EngravingInputHidden="Input text box for engraving text is disabled",r))(Cr||{});const RP="data:image/png;base64,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",DP={position:"absolute",left:"-8%",top:"15%",height:"70px",width:"70px",borderRadius:"50%",backgroundColor:"rgba(0, 0, 0, 0.5)",cursor:"default",zIndex:1e3},LP={position:"absolute",left:"-10%",top:"22%",height:"55px",width:"55px",borderRadius:"50%",backgroundColor:"rgba(0, 0, 0, 0.5)",cursor:"default",zIndex:1e3};function NP({frameList:r,selectedFrame:e,modelLoading:t,isSelected:n,paletteEntered:i,onChangeFrame:s}){const o=Oe.useRef(null),l=Oe.useRef(null),h=()=>{o.current&&(o.current.textContent=Cr.EnteredFramesListSection)};return Oe.useEffect(()=>{i&&l.current&&l.current.querySelectorAll(".sprie-config-palette-img-box")[0].firstChild.focus()},[i]),Se.jsxs("div",{className:"sprie-config-palette",ref:l,style:{gap:a0?"3rem":"5rem",display:n?"flex":"none",padding:"0 3rem"},children:[Se.jsx("span",{className:"sprie-config-sr-only","aria-live":"assertive",ref:o}),r==null?void 0:r.map(u=>Se.jsxs("div",{className:"sprie-config-palette-img-box",children:[Se.jsxs("button",{"aria-labelledby":(e==null?void 0:e._id)===u._id?"sprie-config-frameName":"",style:{border:"0",cursor:t?"default":"pointer",width:a0?45:60,height:a0?45:60},onClick:()=>u.available&&s(u),onFocus:()=>h(),disabled:t,children:[Se.jsx("img",{"aria-label":`Select frame ${u.name}`,src:u.variantImage,alt:u.name+"image",className:`sprie-config-image ${a0?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===u._id?"2px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}}),!u.available&&Se.jsx("img",{src:RP,style:a0?LP:DP})]}),Se.jsxs("p",{className:"sprie-config-palette-img-text",children:[Se.jsx("span",{className:"sprie-config-palette-imgName",children:u.name}),Se.jsx("span",{id:"sprie-config-frameName",className:"sprie-config-sr-only",children:`Selected frame ${u.name}`})]})]},u._id))]})}function PP({lensList:r,selectedLens:e,selectedDitaLens:t,modelLoading:n,isSelected:i,paletteEntered:s,onChangeLens:o}){const l=Oe.useRef(null),h=Oe.useRef(null),u=()=>{l.current&&(l.current.textContent=Cr.EnteredLensListSection)};return Oe.useEffect(()=>{s&&h.current&&h.current.querySelectorAll(".sprie-config-palette-img-box")[0].firstChild.focus()},[s]),Se.jsxs("div",{className:"sprie-config-palette",ref:h,style:{display:i?"flex":"none",padding:"0 3rem",gap:a0?"3rem":"5rem"},children:[Se.jsx("span",{className:"sprie-config-sr-only","aria-live":"assertive",ref:l}),r==null?void 0:r.map(d=>Se.jsxs("div",{className:"sprie-config-palette-img-box",children:[Se.jsx("button",{"aria-labelledby":(e==null?void 0:e._id)===d._id?"sprie-config-lensName":"",style:{border:"0",cursor:n?"default":"pointer",width:a0?45:60,height:a0?45:60},onClick:()=>o(d),onFocus:u,disabled:n,children:Se.jsx("img",{"aria-label":`Select lens ${d.name}`,src:d.thumbnail,alt:d.name+"image",className:`sprie-config-image ${a0?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===d._id?"2px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),Se.jsxs("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.2rem",textAlign:"center"},children:[Se.jsx("span",{className:"sprie-config-palette-imgName",children:`${d.name}`}),Se.jsx("br",{}),(e==null?void 0:e._id)===d._id&&Se.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})`}),Se.jsxs("span",{id:"sprie-config-lensName",className:"sprie-config-sr-only",children:[" ",`Selected lens ${d.name}`]})]})]},d._id))]})}const tQ="";function UP({heading:r,isSelected:e,onEngravingLinkClicked:t,onChecked:n,onTextAdded:i,paletteEntered:s}){const[o,l]=Oe.useState(""),[h,u]=Oe.useState(!1),[d,A]=Oe.useState(!1);Oe.useState(!1);const p=Oe.useRef(null),g=Oe.useRef(null),_=Oe.useRef(null);Oe.useEffect(()=>{n(h),h&&p.current?(p.current.style.backgroundColor="#ffffff",_.current&&(_.current.textContent=Cr.EngravingInputAvailable)):!h&&p.current&&(p.current.style.backgroundColor="transparent",_.current&&(_.current.textContent=Cr.EngravingInputHidden),l(""))}),Oe.useEffect(()=>{d&&o!=""&&i(o)},[d]),Oe.useEffect(()=>{var v;s&&((v=g.current)==null||v.focus())},[s]);const E=()=>{_.current&&(_.current.textContent=Cr.EnteredEngravingSection)},m=v=>{var w;v.key==="Enter"&&(i(o),(w=p.current)==null||w.blur(),_.current&&(_.current.textContent=Cr.AddedEngravingText+o))};return Se.jsxs("div",{className:"sprie-config-engraving-block",style:{display:e?"flex":"none",marginTop:".5rem"},children:[Se.jsx("span",{className:"sprie-config-sr-only","aria-live":"assertive",ref:_}),Se.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".8rem"},children:[Se.jsx("input",{type:"checkbox",ref:g,className:"sprie-config-engraving-checkbox",onChange:v=>{u(v.target.checked)},onFocus:E,checked:h}),Se.jsxs("p",{style:{fontSize:".9rem",color:"#4d4d4d",fontWeight:"500",margin:"0"},children:["Add ",r?r.toLowerCase():"Laser Engraving"," ",Se.jsx("span",{style:{fontWeight:"400"},children:"(OPTIONAL)"})]})]}),Se.jsxs("div",{className:"sprie-config-engraving-inputField-block",children:[Se.jsx("input",{"aria-label":Cr.EnteredEngravingTextInput,type:"text",ref:p,className:"sprie-config-engraving-inputField",placeholder:"ADD CUSTOM TEXT",value:o,onChange:v=>l(v.target.value),maxLength:15,style:{padding:"0.7rem"},disabled:!h,onBlur:()=>A(!0),onFocus:()=>A(!1),onKeyDown:v=>m(v)}),Se.jsx("span",{className:"sprie-config-engraving-inputInfo",children:`${o.length}/15 characters`})]})]})}const rQ="";function kP({totalSteps:r,currentStep:e}){return Se.jsx("div",{className:"step-tracker-block",style:{margin:a0?"auto":""}})}function QP({nextSlide:r,previousSlide:e,currentIndex:t,stepsName:n,isLastStep:i}){const s=()=>{e()},o=()=>{r()};return Se.jsxs("div",{className:"carousel-header",children:[Se.jsx("button",{className:"carousel-btn prev","aria-label":`return to the step number ${t} : ${n[t-1]}`,"aria-hidden":t==0,onClick:s,style:{visibility:t!==0?"visible":"hidden"},children:Se.jsx("i",{className:"arrow left-arrow",style:{padding:".25rem"}})}),Se.jsxs("p",{children:[Se.jsx("span",{className:"step-syntax",children:`STEP ${t+1} of ${n.length} : `}),Se.jsx("span",{className:"select-syntax",children:n[t]})]}),Se.jsx("button",{className:"carousel-btn next","aria-label":`advance to step number ${t+2} : ${n[t+1]}`,"aria-hidden":!!i,onClick:o,style:{visibility:i?"hidden":"visible"},children:Se.jsx("i",{className:"arrow right-arrow",style:{padding:".25rem"}})})]})}function OP({setShowAddToCart:r,setSelectedChild:e,setSectionEntered:t,children:n}){var g;const[i,s]=Oe.useState(0),o=F2.Children.toArray(n),l=i===o.length-1,h=Oe.useRef(null),u=(g=o.map(_=>_))==null?void 0:g.map(_=>_.props.heading),d=()=>{s(_=>_===0?F2.Children.count(n)-1:_-1),h.current&&h.current.focus()},A=()=>{s(_=>_===F2.Children.count(n)-1?0:_+1),h.current&&h.current.focus()};Oe.useEffect(()=>{r(!!l)},[l]),Oe.useEffect(()=>{e(i)},[i]);const p=_=>{(_.key==="Enter"||_.key===" ")&&_.target===h.current&&t(i)};return Se.jsxs("div",{className:"carousel",children:[Se.jsx("span",{className:"sprie-config-sr-only",id:"sprie-config-step-selector",children:`Customisation Step Selector. ${l?"This is an optional":""} Step ${i+1} -
4703
4703
  ${o[i].props.heading}.
4704
- Press enter to `+(l?"configure your optional custom engraving. Add to cart button is now present at the end of this section.":"select or press tab for next.")}),Se.jsxs("div",{tabIndex:0,style:{height:"30%",alignContent:"center"},"aria-labelledby":"sprie-config-step-selector",onKeyDown:p,ref:h,children:[Se.jsx(QP,{nextSlide:A,previousSlide:d,currentIndex:i,stepsName:u,isLastStep:l}),Se.jsx(kP,{totalSteps:u==null?void 0:u.length,currentStep:i+1})]}),Se.jsx("div",{className:"carousel-container",style:{paddingTop:a0?"":"1rem"},children:o.map((_,E)=>Se.jsx("div",{className:"carousel-item",style:{transform:`translateX(-${i*100}%)`},children:_},E))})]})}const nQ="";function Lm({conditionRequired:r,onButtonClick:e}){const[t,n]=Oe.useState(!1),i=Oe.useRef(null),s=Oe.useRef(null);return Oe.useEffect(()=>{s.current&&(s.current.disabled=!t)},[t]),Oe.useEffect(()=>{i.current&&(i.current.style.display=r?"flex":"none"),s.current&&(s.current.disabled=r)},[r]),Se.jsxs("div",{className:"sprie-config-add-to-cart-block",children:[Se.jsxs("label",{htmlFor:"Sprie-Config-return-policy-checkbox",id:"Sprie-Config-return-policy-label",ref:i,style:{display:"none"},children:[Se.jsx("input",{type:"checkbox","aria-label":"return policy checkbox","aria-describedby":"sprie-config-return-policy-desc",id:"Sprie-Config-return-policy-checkbox",name:"sprie-config-return-policy-checkbox",onChange:o=>n(o.target.checked),checked:t}),Se.jsx("p",{id:"sprie-config-return-policy-desc",children:"I agree this customized Item cannot be returned or exchanged."})]}),Se.jsx("button",{className:"sprie-config-add-to-cart-btn",ref:s,onClick:e,children:"ADD TO CART"})]})}function FP({orbitalList:r,selectedOrbital:e,modelLoading:t,isSelected:n,paletteEntered:i,onChangeOrbital:s}){const o=Oe.useRef(null),l=Oe.useRef(null),h=()=>{o.current&&(o.current.textContent=Cr.EnteredOrbitalsListSection)};return Oe.useEffect(()=>{i&&l.current&&l.current.querySelectorAll(".sprie-config-palette-img-box")[0].firstChild.focus()},[i]),Se.jsxs("div",{className:"sprie-config-palette",ref:l,style:{display:n?"flex":"none",padding:"0 3rem",gap:a0?"3rem":"5rem"},children:[Se.jsx("span",{className:"sprie-config-sr-only","aria-live":"assertive",ref:o}),r==null?void 0:r.map(u=>Se.jsxs("div",{className:"sprie-config-palette-img-box",children:[Se.jsx("button",{"aria-labelledby":(e==null?void 0:e._id)===u._id?"sprie-config-orbitalName":"",style:{border:"0",cursor:t?"default":"pointer",width:a0?45:60,height:a0?45:60},onClick:()=>s(u),onFocus:h,disabled:t,children:Se.jsx("img",{"aria-label":`Select orbital ${u.name}`,src:u.thumbnail,alt:u.name+"image",className:`sprie-config-image ${a0?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===u._id?"2px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),Se.jsxs("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.5rem"},children:[Se.jsx("span",{className:"sprie-config-palette-imgName",children:u.name}),Se.jsx("span",{id:"sprie-config-orbitalName",className:"sprie-config-sr-only",children:`Selected orbital ${u.name}`})]})]},u._id))]})}const zP="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMzIwLjAwMDAwMHB0IiBoZWlnaHQ9IjY2LjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgMzIwLjAwMDAwMCA2Ni4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KCjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDY2LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgNjUxIGMwIC02IDkgLTExIDIxIC0xMSAxMSAwIDI5IC01IDQwIC0xMCAxOCAtMTAgMTkgLTI0IDE5IC0zMDAKMCAtMjc2IC0xIC0yOTAgLTE5IC0zMDAgLTExIC01IC0yOSAtMTAgLTQwIC0xMCAtMTIgMCAtMjEgLTQgLTIxIC0xMCAwIC0xNAo0NDUgLTEzIDUxMiAxIDEwNyAyMyAxOTAgODUgMjM5IDE3OSAyMCAzNyAyNCA2MCAyNCAxMzUgMCA3OCAtNCA5NyAtMjggMTQ3Ci0zNCA3MCAtMTAwIDEzMCAtMTc2IDE2MCAtNTIgMjEgLTc1IDIzIC0zMTMgMjYgLTE4MCAyIC0yNTggMCAtMjU4IC03eiBtNDcwCi0zNiBjMTUgLTggMzggLTI3IDQ5IC00MSAyMCAtMjUgMjEgLTM5IDIxIC0yMzggMCAtMTk0IC0yIC0yMTQgLTIwIC0yNDQgLTExCi0xOCAtMzYgLTQwIC01NSAtNDggLTQ2IC0xOSAtMTM1IC0xOCAtMTYzIDIgLTIyIDE1IC0yMiAxNyAtMjIgMzAwIGwwIDI4NCA4MAowIGM1MiAwIDkxIC01IDExMCAtMTV6Ii8+CjxwYXRoIGQ9Ik05ODAgNjUwIGMwIC01IDExIC0xMCAyNCAtMTAgNTUgMCA1NiAtNyA1NiAtMzEwIDAgLTMwMyAtMSAtMzEwIC01NgotMzEwIC0xMyAwIC0yNCAtNCAtMjQgLTEwIDAgLTYgNjcgLTEwIDE4MCAtMTAgMTEzIDAgMTgwIDQgMTgwIDEwIDAgNiAtMTEgMTAKLTIzIDEwIC0xMyAwIC0zMSA4IC00MCAxOCAtMTUgMTYgLTE3IDUyIC0xNyAyOTQgMCAyNTQgMSAyNzYgMTggMjkxIDEwIDEwIDI4CjE3IDQwIDE3IDEyIDAgMjIgNSAyMiAxMCAwIDYgLTY3IDEwIC0xODAgMTAgLTExMyAwIC0xODAgLTQgLTE4MCAtMTB6Ii8+CjxwYXRoIGQ9Ik0xNTI2IDYwMSBjLTI1IC0zMyAtNDYgLTY0IC00NiAtNzAgMCAtNiAyNCA1IDU0IDI0IDUzIDM0IDE1OSA3NQoxOTQgNzUgMTAgMCAyOCAtMTAgNDAgLTIzIDIxIC0yMyAyMiAtMzAgMjIgLTI4OSAwIC0yODkgLTIgLTI5OCAtNTYgLTI5OCAtMTMKMCAtMjQgLTQgLTI0IC0xMCAwIC02IDY3IC0xMCAxODAgLTEwIDExMyAwIDE4MCA0IDE4MCAxMCAwIDYgLTExIDEwIC0yNCAxMAotNTQgMCAtNTYgOSAtNTYgMjk0IDAgMjUxIDEgMjY1IDIxIDI5MCAxMSAxNCAzMCAyNiA0MiAyNiAzNyAtMSAxNTMgLTQ2IDIwMQotNzggMjUgLTE3IDQ2IC0yNyA0NiAtMjEgMCA2IC0yMSAzNyAtNDYgNzAgbC00NyA1OSAtMzE3IDAgLTMxNyAwIC00NyAtNTl6Ii8+CjxwYXRoIGQ9Ik0yNDU1IDY1MCBjMyAtNSAxNSAtMTAgMjYgLTEwIDMwIDAgNjUgLTI3IDk3IC03NiBsMjkgLTQzIC05MCAtMTc4CmMtMTM2IC0yNzAgLTE2MyAtMzEzIC0xOTggLTMyMCAtNTkgLTExIC0yNiAtMjMgNjYgLTIzIDg5IDAgMTIxIDExIDc1IDI1IC0yOQo5IC0yNiA1NSAxMCAxMjYgbDMxIDYwIDE1MSAtMyAxNTEgLTMgMzkgLTczIGMzMCAtNTkgMzYgLTc3IDI4IC05MyAtNiAtMTAKLTIwIC0xOSAtMzAgLTE5IC0xMSAwIC0yMCAtNCAtMjAgLTEwIDAgLTYgNzAgLTEwIDE5MCAtMTAgMTIwIDAgMTkwIDQgMTkwIDEwCjAgNiAtMTEgMTAgLTI0IDEwIC0xNCAwIC0zNiAxMCAtNTAgMjMgLTE1IDEyIC0xMDYgMTU1IC0yMDQgMzE3IGwtMTc3IDI5NQotMTQ4IDMgYy0xMDAgMiAtMTQ2IC0xIC0xNDIgLTh6IG0yNTggLTM5OCBjLTM1IC0yIC05MiAtMiAtMTI3IDAgbC02NCAzIDYwCjExMyA2MCAxMTMgNjcgLTExMyA2NyAtMTEzIC02MyAtM3oiLz4KPC9nPgo8L3N2Zz4K",GP="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA4ODYgNjk4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4ODYgNjk4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkxODQ3RTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04NDAuMDEsNDEuMDFjLTM2LjcxLTMxLjU2LTEwOC45NC01Ny45Ny0yNDQuNi00LjU2Yy0yMC40Nyw4LjA2LTQxLjQ2LDE3LjU3LTYyLjc1LDI4LjM2CgljMTkuMzgtNC42Niw0MzEuNTItMTAxLDE3NS42MSwxOTkuNDJsLTAuMDQsMGMtMjUuODUsMzUuNS01Ny44Miw3Mi4wOC05NC40MiwxMDcuOTdsLTMyLjcyLTI4LjE0bC02LjQ0LDE0MS43NmwxNjQuODQtNS41NwoJbC00NC4zNC0zOC4xMmM2NS41NC02My43NCwxMTcuODUtMTI5Ljk0LDE1MC4yMi0xOTAuNzdDOTA3LjQ0LDEzNC42OSw4NzYuNzEsNzIuNTcsODQwLjAxLDQxLjAxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTYyLjE3LDQyNS42N2MtNjQuNDcsNDYuMi0xMzIuNjcsODYuMjItMTk4LjQzLDExNi43NmMtMC4wOSwwLjA0LTAuMTcsMC4wOC0wLjI1LDAuMTMKCUMtMTkuMjcsNzMwLjcyLDczLjg2LDQ0MS4xMyw4OC4wNyw0MDEuNDVsLTIuMDktMS41MWMtMTQuNjcsMTcuOTMtMjcuNiwzNS42MS0zOC41Myw1Mi44NEMtMjQuNCw1NjYsMTEuMTYsNjI2LjI3LDUzLjY0LDY1Ni44OQoJYzQyLjQ4LDMwLjYzLDEyNi4wNyw1Ni4yNSwyODMuMDUsNC40M2M5OS0zMi42OSwyMDguNTgtODkuNywzMTAuMDYtMTYxLjE5bC04My43Ny0wLjQ2TDU2Mi4xNyw0MjUuNjd6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIuOSwxOTcuNzRjMCwzNS41NC0yNS43Myw1Mi44MS00MS45OCw1Mi44MXYxLjAxYzIwLjY1LDAsNDYuMzcsMTUuOTEsNDYuMzcsNTEuNDUKCWMwLDM3LjkxLTM0LjE5LDYzLjk4LTgzLjYxLDYzLjk4Yy00My42NywwLTcxLjA5LTE3LjI3LTgzLjk1LTU0Ljg0bDQyLjMxLTE4Ljk2YzQuNzQsMjQuMzcsMTcuMjYsMzYuMjIsNDEuOTgsMzYuMjIKCWMyMy43LDAsMzcuOTEtMTIuODcsMzcuNTctMzIuNWMtMC4zNC0yMC45OS0xMy4yLTI4Ljc4LTM5Ljk0LTI4Ljc4aC0xMS4xN3YtMzIuNWg5LjQ4YzI0LjM3LDAsMzYuNTYtOS44MiwzNi41Ni0yOS43OQoJYzAuMzQtMjAuNjUtMTEuNTEtMzEuNDgtMzEuODItMzEuNDhjLTIwLjY1LDAtMzMuODUsMTAuODMtMzYuOSwzMS44MmwtNDEuNjQtMTUuMjNjOC44LTM2LjksNDAuNjItNTQuMTYsODAuNTYtNTQuMTYKCUMxODUuODIsMTM2LjgxLDIxMi45LDE2Mi41NCwyMTIuOSwxOTcuNzR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zOTYuOTgsMTg1LjU2bC0zOS4yNywxOC4yOGMtNS40Mi0xNy42LTE3LjI2LTI4LjQzLTM4LjkzLTI4LjQzYy0yOC43OCwwLTQ5LjA4LDMwLjgtNDkuMDgsNzYuMTZ2NS43NmgxLjAxCgljNy40NS0yMy4wMiwzMS4xNC0zMy41MSw1Ni44Ny0zMy41MWM0Mi45OSwwLDczLjEyLDI3LjQyLDczLjEyLDcwLjQxYzAsNDQuMzQtMzAuOCw3Mi43OC04Mi42LDcyLjc4CgljLTU4LjIzLDAtOTAuMzgtNDIuOTktOTAuMzgtMTE1LjA5YzAtNzcuNTIsNDAuNjItMTE1LjA5LDk0LjExLTExNS4wOUMzNTcuNzEsMTM2LjgxLDM4NC4xMiwxNTAuMzUsMzk2Ljk4LDE4NS41NnogTTI4MC41MywyOTMuNTQKCWMwLDIyLjM0LDE1LjIzLDM2LjIyLDM4LjI1LDM2LjIyYzI0LjAzLDAsMzcuOTEtMTMuMiwzNy45MS0zNi4yMmMwLTIyLTEzLjg4LTM1LjU0LTM3LjkxLTM1LjU0CglDMjk1Ljc2LDI1OCwyODAuNTMsMjcyLjIyLDI4MC41MywyOTMuNTR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MTQuNzgsMjUxLjkxYzAtNzUuNDksMzAuMTMtMTE1LjA5LDg5LjM3LTExNS4wOXM4OS4zNywzOS42LDg5LjM3LDExNS4wOVM1NjMuMzgsMzY3LDUwNC4xNSwzNjcKCVM0MTQuNzgsMzI3LjM5LDQxNC43OCwyNTEuOTF6IE01NDYuOCwyNTEuOTFjMC01My4xNS0xMy44OC03Ny41Mi00Mi42NS03Ny41MmMtMjguNzcsMC00Mi42NSwyNC4zNy00Mi42NSw3Ny41MgoJYzAsNTMuMTUsMTMuODgsNzcuNTIsNDIuNjUsNzcuNTJDNTMyLjkyLDMyOS40Myw1NDYuOCwzMDUuMDUsNTQ2LjgsMjUxLjkxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTg4LjIsMTI4LjEzYzAtMTguNjMsMTMuNzgtMzIuMDIsMzIuOTktMzIuMDJjMTkuMjEsMCwzMi45OSwxMy4zOSwzMi45OSwzMi4wMnMtMTMuNzgsMzIuMDItMzIuOTksMzIuMDIKCUM2MDEuOTcsMTYwLjE0LDU4OC4yLDE0Ni43Niw1ODguMiwxMjguMTN6IE02NDAuNTksMTI4LjEzYzAtMTEuMjUtOC4xNS0xOS40LTE5LjQtMTkuNHMtMTkuNCw4LjE1LTE5LjQsMTkuNHM4LjE1LDE5LjQsMTkuNCwxOS40CglTNjQwLjU5LDEzOS4zOCw2NDAuNTksMTI4LjEzeiIvPgo8L3N2Zz4K",HP="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSI0OHB4IiBoZWlnaHQ9IjQ4cHgiPjxwYXRoIGQ9Ik0gMTYgMTQgQyAxNS40ODggMTQgMTQuOTc2OTM4IDE0LjE5NDkzNyAxNC41ODU5MzggMTQuNTg1OTM4IEMgMTMuODA0OTM3IDE1LjM2NjkzNyAxMy44MDQ5MzcgMTYuNjMzMDYzIDE0LjU4NTkzOCAxNy40MTQwNjIgTCAyOS4xNzE4NzUgMzIgTCAxNC41ODU5MzggNDYuNTg1OTM4IEMgMTMuODA0OTM4IDQ3LjM2NjkzOCAxMy44MDQ5MzcgNDguNjMzMDYzIDE0LjU4NTkzOCA0OS40MTQwNjIgQyAxNC45NzY5MzcgNDkuODA1MDYyIDE1LjQ4OCA1MCAxNiA1MCBDIDE2LjUxMiA1MCAxNy4wMjMwNjIgNDkuODA1MDYyIDE3LjQxNDA2MiA0OS40MTQwNjIgTCAzMiAzNC44MjgxMjUgTCA0Ni41ODU5MzggNDkuNDE0MDYyIEMgNDcuMzY2OTM4IDUwLjE5NTA2MyA0OC42MzMwNjMgNTAuMTk1MDYyIDQ5LjQxNDA2MiA0OS40MTQwNjIgQyA1MC4xOTUwNjMgNDguNjMzMDYyIDUwLjE5NTA2MiA0Ny4zNjY5MzcgNDkuNDE0MDYyIDQ2LjU4NTkzOCBMIDM0LjgyODEyNSAzMiBMIDQ5LjQxNDA2MiAxNy40MTQwNjIgQyA1MC4xOTUwNjMgMTYuNjMzMDYzIDUwLjE5NTA2MiAxNS4zNjY5MzggNDkuNDE0MDYyIDE0LjU4NTkzOCBDIDQ4LjYzMzA2MiAxMy44MDQ5MzggNDcuMzY2OTM3IDEzLjgwNDkzOCA0Ni41ODU5MzggMTQuNTg1OTM4IEwgMzIgMjkuMTcxODc1IEwgMTcuNDE0MDYyIDE0LjU4NTkzOCBDIDE3LjAyMzA2MiAxNC4xOTQ5MzggMTYuNTEyIDE0IDE2IDE0IHoiLz48L3N2Zz4=",iQ="";function VP({snapCameraTo:r}){const e=Object.keys(Dc).map(s=>({label:Dc[s],isDisabled:!0})),[t,n]=Oe.useState(),i=s=>{n(s),r(s)};return Se.jsx("div",{className:"sprie-3d-snap-button-block",children:e.map((s,o)=>Se.jsx("button",{className:"sprie-3d-snap-button","aria-label":`orient 3d frame to ${s.label} view`,style:{backgroundColor:t!==s.label?"#ccc":"#000",color:t!==s.label?"#f3f3f3":"#fff"},onClick:()=>{i(Dc[s.label])},children:s.label},o))})}function jP({frameName:r,removeDefaultLensFromLensList:e,customEvent:t,apiService:n,frameList:i,lensList:s,orbitalList:o,showOrbitalList:l,viewerOnly:h,domService:u,ThreeDConfigurator:d,dataVariants:A,dataLenses:p,dataOrbitals:g,firstDitaVariant:_,modelLoading:E,setModelLoading:m}){const[v,w]=Oe.useState(0),[x,C]=Oe.useState(),[b,T]=Oe.useState(),[M,D]=Oe.useState(),[R,S]=Oe.useState(),[L,k]=Oe.useState(!1);Oe.useState(!1),Oe.useState(!1);const[Q,W]=Oe.useState(a0?L?35:30:L?28:25),[J,q]=Oe.useState(a0?10:8),[re,H]=Oe.useState(),[j,Z]=Oe.useState(),[P,V]=Oe.useState(),[ee,F]=Oe.useState(!1),[ce,pe]=Oe.useState("placeholder"),[ge,Ae]=Oe.useState(0),be=Oe.useRef(null),Pe=Oe.useRef(),wt=Oe.useRef(null);Pe.current=u;const lt={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",variantSku:"lens-default",polarized:"No",available:!0};let dt,X,u0;const ft=fe=>{Pe.current&&(Pe.current.snapCameraToPos(fe),Be(Cr[`ChangedView${fe}`]))},pt=async(fe,Qe)=>{fe._id===(b==null?void 0:b._id)&&!Qe||Pe.current&&(m(!0),Pe.current.changeFrame(fe,[M,R]).then(()=>{m(!1)}),T(fe),H(A==null?void 0:A.find(ye=>ye.variantSku===fe.sku)),Be(`${Cr.ChangedFrame}${fe.name}`))},qe=fe=>fe==null?void 0:fe.customisation.find(ye=>ye.type==="Lens"),It=async fe=>{var $e;if(!Pe.current||fe===M)return;const Qe=fe.sku.includes("lens-default"),ye=qe(b),Le=U();if(!ye&&Qe?(m(!0),Pe.current.changeLens([fe,R],!0,b).then(()=>{m(!1)})):!ye&&!Qe?M!=null&&M.sku.includes("lens-default")?(m(!0),Pe.current.changeLens([fe,R],!0,b).then(()=>{m(!1)})):Pe.current.changeLens([fe,R],!1,b):ye&&Qe?Pe.current.changeLens([ye,R],!1,b):Pe.current.changeLens([fe,R],!1,b),fe.sku.includes("lens-default"))Z(lt),Be(`${Cr.ChangedLens}${lt.variantName}`);else{const et=($e=fe.metadata.find(ht=>ht.key===Le))==null?void 0:$e.value,Ue=p==null?void 0:p.find(ht=>ht.variantId===Number.parseInt(et));Z(Ue),Be(`${Cr.ChangedLens}${fe.name}. Price will increase by ${j==null?void 0:j.variantPrice} ${j==null?void 0:j.priceCurrency}`)}D(fe)},Ve=async fe=>{Pe.current&&fe!==R&&(m(!0),await Pe.current.changeOrbital(fe).then(()=>{V(g==null?void 0:g.find(Qe=>Qe.variantId===Number(fe.sku))),m(!1)}),S(fe),Be(`${Cr.ChangedOrbital}${fe.name}`))},z=()=>{let fe=0,Qe=0;return re&&(fe=re.variantPrice),j&&(Qe=j.variantPrice),fe+Qe},U=()=>{var ye;if(!b)return;const fe=(ye=b.metadata.find(Le=>Le.key==="baseCurve"))==null?void 0:ye.value;let Qe="variantId";return fe==="2B"?Qe="2bVariantId":fe==="6B"&&(Qe="6bVariantId"),Qe},se=fe=>{F(fe)},_e=fe=>{pe(fe)},xe=()=>{var fe,Qe;a0?(fe=document.querySelector('[id$="main-laser-etch-popover"]'))==null||fe.setAttribute("open",""):(Qe=document.querySelector('[id$="main-laser-etch-drawer"]'))==null||Qe.setAttribute("open","")},ve=()=>{if(l&&!P||!(b&&M)||b.name.toLowerCase().includes("default")||M.name.toLowerCase().includes("default"))return;const fe=b.metadata.find($=>$.key==="variantId"),Qe=b.metadata.find($=>$.key==="baseCurve");let ye="variantId";Qe&&Qe.value==="2B"?ye="2bVariantId":Qe&&Qe.value==="6B"&&(ye="6bVariantId");const Le=M.metadata.find($=>$.key===ye),$e=fe?Number(fe.value):null,et=Le?Number(Le.value):null,Ue=P!=null&&P.variantId?Number(P.variantId):null,ht={frameIdentifier:$e,lensIdentifier:et,orbitalIdentifier:Ue};t.emitEvent("onAddToCart",ht);const nt=new Date().getTime(),yt=[];if(et&&Le){const $={id:et,quantity:1,properties:{_uniqueTimestamp:nt}};yt.push($)}if(Ue&&(P!=null&&P.variantId)){const $={id:Ue,quantity:1,properties:{_uniqueTimestamp:nt}};yt.push($)}if(ee){const $={id:44745490890985,quantity:1,properties:{_uniqueTimestamp:nt}};yt.push($)}if(fe){const $={id:$e,quantity:1,properties:ee?{_uniqueTimestamp:nt,customText:ce}:{_uniqueTimestamp:nt}};yt.push($)}n.HandleShopifyAddToCart(yt,nt)},We=()=>{var fe,Qe;a0?(fe=document.querySelector(".popover.hidden-lap-and-up.popover-full"))==null||fe.removeAttribute("open"):(Qe=document.querySelector(".drawer.drawer--full.hidden-phone.lens-customizer"))==null||Qe.removeAttribute("open")};Oe.useEffect(()=>{W(a0?L?35:30:L?28:25)},[L]),Oe.useEffect(()=>{i&&(l?i&&!dt&&(dt=i==null?void 0:i.find(fe=>fe.sku==="7806-G-SMK-PLD-52-Zx"),T(dt)):(dt=i==null?void 0:i.find(fe=>fe.available),T(dt),H(A==null?void 0:A.find(fe=>fe.variantSku===dt.sku))))},[i]),Oe.useEffect(()=>{if(!(!b||!s)){if(l)s&&!M&&(X=s.find(fe=>fe._id==="65111d718d4c652ece493034"),It(X)),o&&!R&&(u0=o.find(fe=>fe._id==="660c1c0231c23bd36b188fd4"),Ve(u0));else if(!M){const fe=b.customisation.find(Qe=>Qe.type==="Lens");fe?fe.sku.includes("lens-default")?(D(fe),Z(lt)):(e(),D(fe),Z(p==null?void 0:p.find(Qe=>Qe.variantSku===fe.sku))):(D(s[0]),Z(lt))}}},[b,s]),Oe.useEffect(()=>{H(_)},[_]),Oe.useEffect(()=>{},[ee,ce]),Oe.useEffect(()=>{Ae(z())},[re,j]);const Be=fe=>{wt.current&&(wt.current.textContent=fe)};return Se.jsxs("section",{id:"sprie-config-main-container",ref:be,children:[!h&&Se.jsxs("header",{id:"sprie-config-main-header",style:{height:`${J}%`},children:[Se.jsxs("div",{id:"sprie-config-header-content",children:[Se.jsx("img",{src:zP,alt:"dita-logo",width:97,height:20}),Se.jsxs("p",{style:{margin:"0"},className:"sprie-config-mainHeader-frameName",children:[r," CUSTOMIZER"]})]}),Se.jsx("button",{className:"sprie-config-main-header-close",onClick:We,"aria-label":"close frame customizer",children:Se.jsx("img",{src:HP,alt:"close",style:{width:"2rem",height:"2rem"}})})]}),Se.jsx("span",{className:"sprie-config-sr-only",ref:wt,"aria-live":"assertive"}),Se.jsxs("section",{tabIndex:0,"aria-label":"3D viewer",onFocus:()=>Be(Cr.EnteredViewer),id:"sprie-config-viewer-container",style:{height:`${h?100:100-(Q+J+(a0?8.5:0))}%`},children:[!h&&Se.jsx("img",{src:GP,alt:"360deg-logo",width:44,height:34}),!h&&Se.jsx(VP,{snapCameraTo:ft}),Se.jsx("div",{style:{width:"100%",height:"100%"},id:"holder-canvas"}),E&&Se.jsx("div",{className:"sprie-config-loadingFrame sprie-config-loadingFrame--viewerOverlay",children:Se.jsx("div",{className:"sprie-config-loader"})})]}),!h&&Se.jsxs("section",{id:"Sprie-config-Cust-block",style:{height:`${Q}%`},children:[Se.jsxs(OP,{setShowAddToCart:k,setSelectedChild:w,setSectionEntered:C,children:[Se.jsx(NP,{modelLoading:E,frameList:i,selectedFrame:b,isSelected:v===0,onChangeFrame:pt,heading:"SELECT FRAME COLOR",paletteEntered:x===0}),l&&Se.jsx(FP,{orbitalList:o,selectedOrbital:R,modelLoading:E,isSelected:v===1,onChangeOrbital:Ve,heading:"SELECT ORBITAL COLOR",paletteEntered:x===1}),Se.jsx(PP,{modelLoading:E,lensList:s,selectedLens:M,selectedDitaLens:j,isSelected:v===(l?2:1),paletteEntered:x===(l?2:1),onChangeLens:It,heading:"SELECT LENS COLOR"}),Se.jsx(UP,{heading:"LASER ENGRAVING",isSelected:v===(l?3:2),paletteEntered:x===(l?3:2),onEngravingLinkClicked:xe,onChecked:se,onTextAdded:_e})]}),Se.jsxs("div",{className:"sprie-config-price-block",children:[Se.jsx("p",{id:"sprie-config-price-text",style:{bottom:a0?"100%":"",margin:"0 0.8rem 0.5rem 0"},children:`${ge}.00 ${re==null?void 0:re.priceCurrency} `}),!a0&&L&&Se.jsx(Lm,{conditionRequired:!0,onButtonClick:ve}),L&&Se.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."})]}),a0&&L&&Se.jsx("div",{style:{position:"absolute",bottom:"0%",width:"100%"},children:Se.jsx(Lm,{conditionRequired:!0,onButtonClick:ve})})]})]})}function WP({apiService:r,sku:e,events:t,viewerOnly:n=!1,lensSku:i,appControlService:s}){var H;const o=Oe.useRef(),[l,h]=Oe.useState(null),[u,d]=Oe.useState(!1),A=(l==null?void 0:l.frameName)||"",p=(l==null?void 0:l.frameList)||null,g=(l==null?void 0:l.lensList)||null,_=(l==null?void 0:l.orbitalList)||null,[E,m]=Oe.useState(!1),[v,w]=Oe.useState(Ja.Customizer),[x,C]=Oe.useState(void 0),[b,T]=Oe.useState(void 0),[M,D]=Oe.useState(void 0),R=Oe.useRef(void 0),S=Oe.useRef(void 0);Oe.useEffect(()=>{R.current=M},[M]),Oe.useEffect(()=>{S.current=b},[b]);const L=!1,k=async()=>{var Z,P;o.current||(o.current=new Dm,await((Z=o.current)==null?void 0:Z.Init(r.apiKey)));const j=await((P=o.current)==null?void 0:P.getInstance({containerId:"holder-canvas"}));C(j)},Q=async(j,Z)=>{var P,V;if(x){d(!0),await new Promise(ee=>requestAnimationFrame(()=>ee()));try{if(E)await x.changeFrame(j,j==null?void 0:j.customisation);else{await x.loadFrame({containerId:"holder-canvas",data:{assetDetails:j,customisation:j==null?void 0:j.customisation,viewerOnly:Z}}),m(!0);const ee=((P=j.variants)==null?void 0:P.find(F=>F.sku===j.sku))??((V=j.variants)==null?void 0:V[0]);ee&&D(ee)}}finally{await new Promise(ee=>requestAnimationFrame(()=>requestAnimationFrame(()=>ee()))),d(!1)}}},W=async(j,Z)=>{var ce,pe;const P=(ce=R.current)==null?void 0:ce.sku,V=(pe=S.current)==null?void 0:pe.sku,ee=!!(j&&j!==P),F=!!(Z&&Z!==V);if(!(!ee&&!F)){d(!0),await new Promise(ge=>requestAnimationFrame(()=>ge()));try{if(ee){const ge=F?g==null?void 0:g.find(Ae=>Z.includes(Ae.sku)):void 0;await q(j,ge)}else await J(Z)}finally{await new Promise(ge=>requestAnimationFrame(()=>requestAnimationFrame(()=>ge()))),d(!1)}}},J=async j=>{if(!x)return;const Z=g==null?void 0:g.find(V=>j.includes(V.sku)||V.sku===j);if(!Z){console.log("Lens not found in Sprie Catalogue : ",j);return}const P=R.current??(p==null?void 0:p[0]);await x.changeLens([Z,void 0],!1,P),T(Z),S.current=Z},q=async(j,Z)=>{if(!x)return;const P=p==null?void 0:p.find(V=>j.includes(V.sku));if(!P){console.log("Frame variant not found in Sprie Catalogue : ",j);return}await x.changeFrame(P,[Z||S.current,void 0]),D(P),R.current=P,Z&&(T(Z),S.current=Z)},re=()=>{if(!g||v!==Ja.Lancier)return;const j=g.filter(Z=>!Z.sku.includes("lens-default"));h({...l,lensList:j})};return Oe.useEffect(()=>(s.registerChangeRxConfiguration((j,Z)=>W(j,Z)),()=>s.reset()),[s,x,g,p]),Oe.useEffect(()=>((async()=>await k())(),()=>{o.current=void 0}),[r,e]),Oe.useEffect(()=>((async()=>{var V,ee;if(!x)return;e.includes("7806")&&e.endsWith("x")&&(e="7806-G-SMK-PLD-52-Zx");const j=await r.FetchAssetBySKUOrBarcode({sku:e,barcode:null}),Z=((V=j==null?void 0:j.customisation)==null?void 0:V.filter(F=>F.type==="Orbital").length)>0,P=j!=null&&j.group.name.toLowerCase().includes("lsa")?Ja.Lancier:i?Ja.RxViewer:Ja.Customizer;if(w(P),n)if(i){const F=await r.FetchCustomisationList("Lens",!Z,v),ce=(ee=F==null?void 0:F.data)==null?void 0:ee.find(be=>i.includes(be.sku)),pe=[...(j==null?void 0:j.customisation)??[]],ge=pe.findIndex(be=>be.type==="Lens");ge!==-1?pe[ge]=ce:pe.push(ce);const Ae={...j,customisation:pe};await Q(Ae,n),T(ce),h({frameList:j==null?void 0:j.variants,lensList:F==null?void 0:F.data,orbitalList:null,frameName:j==null?void 0:j.group.name,showOrbitals:!1,domService:x,dataVariants:null,dataLenses:null,dataOrbitals:null})}else await Q(j,n),h({frameList:j==null?void 0:j.variants,lensList:null,orbitalList:null,frameName:j==null?void 0:j.group.name,showOrbitals:!1,domService:x,dataVariants:null,dataLenses:null,dataOrbitals:null});else{const F=await r.FetchCustomisationList("Lens",!Z,v),ce=await r.FetchCustomisationList("Orbital",!Z,v);let pe=await r.PopulateDataList("data-variants");pe==null||pe.forEach(Ae=>{var Pe;let be=(Pe=j==null?void 0:j.variants)==null?void 0:Pe.find(wt=>wt.sku===Ae.variantSku);be?be.available=Ae.available:Ae.available=L});let ge=j==null?void 0:j.variants;ge==null||ge.forEach(Ae=>{(pe==null?void 0:pe.find(Pe=>Pe.variantSku===Ae.sku))||(Ae.available=L)}),await Q(j,n),h({frameList:j==null?void 0:j.variants,lensList:F==null?void 0:F.data,orbitalList:ce==null?void 0:ce.data,frameName:j==null?void 0:j.group.name,showOrbitals:Z,domService:x,dataVariants:pe,dataLenses:await r.PopulateDataList("data-lenses"),dataOrbitals:await r.PopulateDataList("data-orbital")})}})(),()=>{o.current=void 0}),[x]),Se.jsxs(Se.Fragment,{children:[!n&&(!p||!g)&&Se.jsxs("div",{children:[Se.jsx("span",{id:"sprie-config-loader-srtext",className:"sprie-config-sr-only",children:"Loading frame customiser"}),Se.jsx("div",{className:"sprie-config-loadingBox","aria-labelledby":"sprie-config-loader-srtext",children:"Loading..."})]}),Se.jsx(jP,{customEvent:t,frameName:A,apiService:r,frameList:p,lensList:g,orbitalList:_,showOrbitalList:(l==null?void 0:l.showOrbitals)||!1,viewerOnly:n,ThreeDConfigurator:o.current,domService:l==null?void 0:l.domService,dataVariants:l==null?void 0:l.dataVariants,dataLenses:l==null?void 0:l.dataLenses,dataOrbitals:l==null?void 0:l.dataOrbitals,firstDitaVariant:(H=l==null?void 0:l.dataVariants)==null?void 0:H.find(j=>j.variantSku==e),removeDefaultLensFromLensList:re,modelLoading:u,setModelLoading:d})]})}var Bh={},Nm={exports:{}},Or={},bh={exports:{}},Rh={};/**
4704
+ Press enter to `+(l?"configure your optional custom engraving. Add to cart button is now present at the end of this section.":"select or press tab for next.")}),Se.jsxs("div",{tabIndex:0,style:{height:"30%",alignContent:"center"},"aria-labelledby":"sprie-config-step-selector",onKeyDown:p,ref:h,children:[Se.jsx(QP,{nextSlide:A,previousSlide:d,currentIndex:i,stepsName:u,isLastStep:l}),Se.jsx(kP,{totalSteps:u==null?void 0:u.length,currentStep:i+1})]}),Se.jsx("div",{className:"carousel-container",style:{paddingTop:a0?"":"1rem"},children:o.map((_,E)=>Se.jsx("div",{className:"carousel-item",style:{transform:`translateX(-${i*100}%)`},children:_},E))})]})}const nQ="";function Lm({conditionRequired:r,onButtonClick:e}){const[t,n]=Oe.useState(!1),i=Oe.useRef(null),s=Oe.useRef(null);return Oe.useEffect(()=>{s.current&&(s.current.disabled=!t)},[t]),Oe.useEffect(()=>{i.current&&(i.current.style.display=r?"flex":"none"),s.current&&(s.current.disabled=r)},[r]),Se.jsxs("div",{className:"sprie-config-add-to-cart-block",children:[Se.jsxs("label",{htmlFor:"Sprie-Config-return-policy-checkbox",id:"Sprie-Config-return-policy-label",ref:i,style:{display:"none"},children:[Se.jsx("input",{type:"checkbox","aria-label":"return policy checkbox","aria-describedby":"sprie-config-return-policy-desc",id:"Sprie-Config-return-policy-checkbox",name:"sprie-config-return-policy-checkbox",onChange:o=>n(o.target.checked),checked:t}),Se.jsx("p",{id:"sprie-config-return-policy-desc",children:"I agree this customized Item cannot be returned or exchanged."})]}),Se.jsx("button",{className:"sprie-config-add-to-cart-btn",ref:s,onClick:e,children:"ADD TO CART"})]})}function FP({orbitalList:r,selectedOrbital:e,modelLoading:t,isSelected:n,paletteEntered:i,onChangeOrbital:s}){const o=Oe.useRef(null),l=Oe.useRef(null),h=()=>{o.current&&(o.current.textContent=Cr.EnteredOrbitalsListSection)};return Oe.useEffect(()=>{i&&l.current&&l.current.querySelectorAll(".sprie-config-palette-img-box")[0].firstChild.focus()},[i]),Se.jsxs("div",{className:"sprie-config-palette",ref:l,style:{display:n?"flex":"none",padding:"0 3rem",gap:a0?"3rem":"5rem"},children:[Se.jsx("span",{className:"sprie-config-sr-only","aria-live":"assertive",ref:o}),r==null?void 0:r.map(u=>Se.jsxs("div",{className:"sprie-config-palette-img-box",children:[Se.jsx("button",{"aria-labelledby":(e==null?void 0:e._id)===u._id?"sprie-config-orbitalName":"",style:{border:"0",cursor:t?"default":"pointer",width:a0?45:60,height:a0?45:60},onClick:()=>s(u),onFocus:h,disabled:t,children:Se.jsx("img",{"aria-label":`Select orbital ${u.name}`,src:u.thumbnail,alt:u.name+"image",className:`sprie-config-image ${a0?"mobile-view":""}`,style:{border:(e==null?void 0:e._id)===u._id?"2px solid #9d9b9c":"0",borderRadius:"50%",padding:"1px"}})}),Se.jsxs("p",{className:"sprie-config-palette-img-text",style:{bottom:"-1.5rem"},children:[Se.jsx("span",{className:"sprie-config-palette-imgName",children:u.name}),Se.jsx("span",{id:"sprie-config-orbitalName",className:"sprie-config-sr-only",children:`Selected orbital ${u.name}`})]})]},u._id))]})}const zP="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMzIwLjAwMDAwMHB0IiBoZWlnaHQ9IjY2LjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgMzIwLjAwMDAwMCA2Ni4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KCjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDY2LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgNjUxIGMwIC02IDkgLTExIDIxIC0xMSAxMSAwIDI5IC01IDQwIC0xMCAxOCAtMTAgMTkgLTI0IDE5IC0zMDAKMCAtMjc2IC0xIC0yOTAgLTE5IC0zMDAgLTExIC01IC0yOSAtMTAgLTQwIC0xMCAtMTIgMCAtMjEgLTQgLTIxIC0xMCAwIC0xNAo0NDUgLTEzIDUxMiAxIDEwNyAyMyAxOTAgODUgMjM5IDE3OSAyMCAzNyAyNCA2MCAyNCAxMzUgMCA3OCAtNCA5NyAtMjggMTQ3Ci0zNCA3MCAtMTAwIDEzMCAtMTc2IDE2MCAtNTIgMjEgLTc1IDIzIC0zMTMgMjYgLTE4MCAyIC0yNTggMCAtMjU4IC03eiBtNDcwCi0zNiBjMTUgLTggMzggLTI3IDQ5IC00MSAyMCAtMjUgMjEgLTM5IDIxIC0yMzggMCAtMTk0IC0yIC0yMTQgLTIwIC0yNDQgLTExCi0xOCAtMzYgLTQwIC01NSAtNDggLTQ2IC0xOSAtMTM1IC0xOCAtMTYzIDIgLTIyIDE1IC0yMiAxNyAtMjIgMzAwIGwwIDI4NCA4MAowIGM1MiAwIDkxIC01IDExMCAtMTV6Ii8+CjxwYXRoIGQ9Ik05ODAgNjUwIGMwIC01IDExIC0xMCAyNCAtMTAgNTUgMCA1NiAtNyA1NiAtMzEwIDAgLTMwMyAtMSAtMzEwIC01NgotMzEwIC0xMyAwIC0yNCAtNCAtMjQgLTEwIDAgLTYgNjcgLTEwIDE4MCAtMTAgMTEzIDAgMTgwIDQgMTgwIDEwIDAgNiAtMTEgMTAKLTIzIDEwIC0xMyAwIC0zMSA4IC00MCAxOCAtMTUgMTYgLTE3IDUyIC0xNyAyOTQgMCAyNTQgMSAyNzYgMTggMjkxIDEwIDEwIDI4CjE3IDQwIDE3IDEyIDAgMjIgNSAyMiAxMCAwIDYgLTY3IDEwIC0xODAgMTAgLTExMyAwIC0xODAgLTQgLTE4MCAtMTB6Ii8+CjxwYXRoIGQ9Ik0xNTI2IDYwMSBjLTI1IC0zMyAtNDYgLTY0IC00NiAtNzAgMCAtNiAyNCA1IDU0IDI0IDUzIDM0IDE1OSA3NQoxOTQgNzUgMTAgMCAyOCAtMTAgNDAgLTIzIDIxIC0yMyAyMiAtMzAgMjIgLTI4OSAwIC0yODkgLTIgLTI5OCAtNTYgLTI5OCAtMTMKMCAtMjQgLTQgLTI0IC0xMCAwIC02IDY3IC0xMCAxODAgLTEwIDExMyAwIDE4MCA0IDE4MCAxMCAwIDYgLTExIDEwIC0yNCAxMAotNTQgMCAtNTYgOSAtNTYgMjk0IDAgMjUxIDEgMjY1IDIxIDI5MCAxMSAxNCAzMCAyNiA0MiAyNiAzNyAtMSAxNTMgLTQ2IDIwMQotNzggMjUgLTE3IDQ2IC0yNyA0NiAtMjEgMCA2IC0yMSAzNyAtNDYgNzAgbC00NyA1OSAtMzE3IDAgLTMxNyAwIC00NyAtNTl6Ii8+CjxwYXRoIGQ9Ik0yNDU1IDY1MCBjMyAtNSAxNSAtMTAgMjYgLTEwIDMwIDAgNjUgLTI3IDk3IC03NiBsMjkgLTQzIC05MCAtMTc4CmMtMTM2IC0yNzAgLTE2MyAtMzEzIC0xOTggLTMyMCAtNTkgLTExIC0yNiAtMjMgNjYgLTIzIDg5IDAgMTIxIDExIDc1IDI1IC0yOQo5IC0yNiA1NSAxMCAxMjYgbDMxIDYwIDE1MSAtMyAxNTEgLTMgMzkgLTczIGMzMCAtNTkgMzYgLTc3IDI4IC05MyAtNiAtMTAKLTIwIC0xOSAtMzAgLTE5IC0xMSAwIC0yMCAtNCAtMjAgLTEwIDAgLTYgNzAgLTEwIDE5MCAtMTAgMTIwIDAgMTkwIDQgMTkwIDEwCjAgNiAtMTEgMTAgLTI0IDEwIC0xNCAwIC0zNiAxMCAtNTAgMjMgLTE1IDEyIC0xMDYgMTU1IC0yMDQgMzE3IGwtMTc3IDI5NQotMTQ4IDMgYy0xMDAgMiAtMTQ2IC0xIC0xNDIgLTh6IG0yNTggLTM5OCBjLTM1IC0yIC05MiAtMiAtMTI3IDAgbC02NCAzIDYwCjExMyA2MCAxMTMgNjcgLTExMyA2NyAtMTEzIC02MyAtM3oiLz4KPC9nPgo8L3N2Zz4K",GP="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA4ODYgNjk4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4ODYgNjk4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkxODQ3RTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04NDAuMDEsNDEuMDFjLTM2LjcxLTMxLjU2LTEwOC45NC01Ny45Ny0yNDQuNi00LjU2Yy0yMC40Nyw4LjA2LTQxLjQ2LDE3LjU3LTYyLjc1LDI4LjM2CgljMTkuMzgtNC42Niw0MzEuNTItMTAxLDE3NS42MSwxOTkuNDJsLTAuMDQsMGMtMjUuODUsMzUuNS01Ny44Miw3Mi4wOC05NC40MiwxMDcuOTdsLTMyLjcyLTI4LjE0bC02LjQ0LDE0MS43NmwxNjQuODQtNS41NwoJbC00NC4zNC0zOC4xMmM2NS41NC02My43NCwxMTcuODUtMTI5Ljk0LDE1MC4yMi0xOTAuNzdDOTA3LjQ0LDEzNC42OSw4NzYuNzEsNzIuNTcsODQwLjAxLDQxLjAxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTYyLjE3LDQyNS42N2MtNjQuNDcsNDYuMi0xMzIuNjcsODYuMjItMTk4LjQzLDExNi43NmMtMC4wOSwwLjA0LTAuMTcsMC4wOC0wLjI1LDAuMTMKCUMtMTkuMjcsNzMwLjcyLDczLjg2LDQ0MS4xMyw4OC4wNyw0MDEuNDVsLTIuMDktMS41MWMtMTQuNjcsMTcuOTMtMjcuNiwzNS42MS0zOC41Myw1Mi44NEMtMjQuNCw1NjYsMTEuMTYsNjI2LjI3LDUzLjY0LDY1Ni44OQoJYzQyLjQ4LDMwLjYzLDEyNi4wNyw1Ni4yNSwyODMuMDUsNC40M2M5OS0zMi42OSwyMDguNTgtODkuNywzMTAuMDYtMTYxLjE5bC04My43Ny0wLjQ2TDU2Mi4xNyw0MjUuNjd6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIuOSwxOTcuNzRjMCwzNS41NC0yNS43Myw1Mi44MS00MS45OCw1Mi44MXYxLjAxYzIwLjY1LDAsNDYuMzcsMTUuOTEsNDYuMzcsNTEuNDUKCWMwLDM3LjkxLTM0LjE5LDYzLjk4LTgzLjYxLDYzLjk4Yy00My42NywwLTcxLjA5LTE3LjI3LTgzLjk1LTU0Ljg0bDQyLjMxLTE4Ljk2YzQuNzQsMjQuMzcsMTcuMjYsMzYuMjIsNDEuOTgsMzYuMjIKCWMyMy43LDAsMzcuOTEtMTIuODcsMzcuNTctMzIuNWMtMC4zNC0yMC45OS0xMy4yLTI4Ljc4LTM5Ljk0LTI4Ljc4aC0xMS4xN3YtMzIuNWg5LjQ4YzI0LjM3LDAsMzYuNTYtOS44MiwzNi41Ni0yOS43OQoJYzAuMzQtMjAuNjUtMTEuNTEtMzEuNDgtMzEuODItMzEuNDhjLTIwLjY1LDAtMzMuODUsMTAuODMtMzYuOSwzMS44MmwtNDEuNjQtMTUuMjNjOC44LTM2LjksNDAuNjItNTQuMTYsODAuNTYtNTQuMTYKCUMxODUuODIsMTM2LjgxLDIxMi45LDE2Mi41NCwyMTIuOSwxOTcuNzR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zOTYuOTgsMTg1LjU2bC0zOS4yNywxOC4yOGMtNS40Mi0xNy42LTE3LjI2LTI4LjQzLTM4LjkzLTI4LjQzYy0yOC43OCwwLTQ5LjA4LDMwLjgtNDkuMDgsNzYuMTZ2NS43NmgxLjAxCgljNy40NS0yMy4wMiwzMS4xNC0zMy41MSw1Ni44Ny0zMy41MWM0Mi45OSwwLDczLjEyLDI3LjQyLDczLjEyLDcwLjQxYzAsNDQuMzQtMzAuOCw3Mi43OC04Mi42LDcyLjc4CgljLTU4LjIzLDAtOTAuMzgtNDIuOTktOTAuMzgtMTE1LjA5YzAtNzcuNTIsNDAuNjItMTE1LjA5LDk0LjExLTExNS4wOUMzNTcuNzEsMTM2LjgxLDM4NC4xMiwxNTAuMzUsMzk2Ljk4LDE4NS41NnogTTI4MC41MywyOTMuNTQKCWMwLDIyLjM0LDE1LjIzLDM2LjIyLDM4LjI1LDM2LjIyYzI0LjAzLDAsMzcuOTEtMTMuMiwzNy45MS0zNi4yMmMwLTIyLTEzLjg4LTM1LjU0LTM3LjkxLTM1LjU0CglDMjk1Ljc2LDI1OCwyODAuNTMsMjcyLjIyLDI4MC41MywyOTMuNTR6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MTQuNzgsMjUxLjkxYzAtNzUuNDksMzAuMTMtMTE1LjA5LDg5LjM3LTExNS4wOXM4OS4zNywzOS42LDg5LjM3LDExNS4wOVM1NjMuMzgsMzY3LDUwNC4xNSwzNjcKCVM0MTQuNzgsMzI3LjM5LDQxNC43OCwyNTEuOTF6IE01NDYuOCwyNTEuOTFjMC01My4xNS0xMy44OC03Ny41Mi00Mi42NS03Ny41MmMtMjguNzcsMC00Mi42NSwyNC4zNy00Mi42NSw3Ny41MgoJYzAsNTMuMTUsMTMuODgsNzcuNTIsNDIuNjUsNzcuNTJDNTMyLjkyLDMyOS40Myw1NDYuOCwzMDUuMDUsNTQ2LjgsMjUxLjkxeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTg4LjIsMTI4LjEzYzAtMTguNjMsMTMuNzgtMzIuMDIsMzIuOTktMzIuMDJjMTkuMjEsMCwzMi45OSwxMy4zOSwzMi45OSwzMi4wMnMtMTMuNzgsMzIuMDItMzIuOTksMzIuMDIKCUM2MDEuOTcsMTYwLjE0LDU4OC4yLDE0Ni43Niw1ODguMiwxMjguMTN6IE02NDAuNTksMTI4LjEzYzAtMTEuMjUtOC4xNS0xOS40LTE5LjQtMTkuNHMtMTkuNCw4LjE1LTE5LjQsMTkuNHM4LjE1LDE5LjQsMTkuNCwxOS40CglTNjQwLjU5LDEzOS4zOCw2NDAuNTksMTI4LjEzeiIvPgo8L3N2Zz4K",HP="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSI0OHB4IiBoZWlnaHQ9IjQ4cHgiPjxwYXRoIGQ9Ik0gMTYgMTQgQyAxNS40ODggMTQgMTQuOTc2OTM4IDE0LjE5NDkzNyAxNC41ODU5MzggMTQuNTg1OTM4IEMgMTMuODA0OTM3IDE1LjM2NjkzNyAxMy44MDQ5MzcgMTYuNjMzMDYzIDE0LjU4NTkzOCAxNy40MTQwNjIgTCAyOS4xNzE4NzUgMzIgTCAxNC41ODU5MzggNDYuNTg1OTM4IEMgMTMuODA0OTM4IDQ3LjM2NjkzOCAxMy44MDQ5MzcgNDguNjMzMDYzIDE0LjU4NTkzOCA0OS40MTQwNjIgQyAxNC45NzY5MzcgNDkuODA1MDYyIDE1LjQ4OCA1MCAxNiA1MCBDIDE2LjUxMiA1MCAxNy4wMjMwNjIgNDkuODA1MDYyIDE3LjQxNDA2MiA0OS40MTQwNjIgTCAzMiAzNC44MjgxMjUgTCA0Ni41ODU5MzggNDkuNDE0MDYyIEMgNDcuMzY2OTM4IDUwLjE5NTA2MyA0OC42MzMwNjMgNTAuMTk1MDYyIDQ5LjQxNDA2MiA0OS40MTQwNjIgQyA1MC4xOTUwNjMgNDguNjMzMDYyIDUwLjE5NTA2MiA0Ny4zNjY5MzcgNDkuNDE0MDYyIDQ2LjU4NTkzOCBMIDM0LjgyODEyNSAzMiBMIDQ5LjQxNDA2MiAxNy40MTQwNjIgQyA1MC4xOTUwNjMgMTYuNjMzMDYzIDUwLjE5NTA2MiAxNS4zNjY5MzggNDkuNDE0MDYyIDE0LjU4NTkzOCBDIDQ4LjYzMzA2MiAxMy44MDQ5MzggNDcuMzY2OTM3IDEzLjgwNDkzOCA0Ni41ODU5MzggMTQuNTg1OTM4IEwgMzIgMjkuMTcxODc1IEwgMTcuNDE0MDYyIDE0LjU4NTkzOCBDIDE3LjAyMzA2MiAxNC4xOTQ5MzggMTYuNTEyIDE0IDE2IDE0IHoiLz48L3N2Zz4=",iQ="";function VP({snapCameraTo:r}){const e=Object.keys(Dc).map(s=>({label:Dc[s],isDisabled:!0})),[t,n]=Oe.useState(),i=s=>{n(s),r(s)};return Se.jsx("div",{className:"sprie-3d-snap-button-block",children:e.map((s,o)=>Se.jsx("button",{className:"sprie-3d-snap-button","aria-label":`orient 3d frame to ${s.label} view`,style:{backgroundColor:t!==s.label?"#ccc":"#000",color:t!==s.label?"#f3f3f3":"#fff"},onClick:()=>{i(Dc[s.label])},children:s.label},o))})}function jP({frameName:r,removeDefaultLensFromLensList:e,customEvent:t,apiService:n,frameList:i,lensList:s,orbitalList:o,showOrbitalList:l,viewerOnly:h,domService:u,ThreeDConfigurator:d,dataVariants:A,dataLenses:p,dataOrbitals:g,firstDitaVariant:_,modelLoading:E,setModelLoading:m}){const[v,w]=Oe.useState(0),[x,C]=Oe.useState(),[b,T]=Oe.useState(),[M,D]=Oe.useState(),[R,S]=Oe.useState(),[L,k]=Oe.useState(!1);Oe.useState(!1),Oe.useState(!1);const[Q,W]=Oe.useState(a0?L?35:30:L?28:25),[J,q]=Oe.useState(a0?10:8),[re,H]=Oe.useState(),[j,Z]=Oe.useState(),[P,V]=Oe.useState(),[ee,F]=Oe.useState(!1),[ce,pe]=Oe.useState("placeholder"),[ge,Ae]=Oe.useState(0),be=Oe.useRef(null),Pe=Oe.useRef(),wt=Oe.useRef(null);Pe.current=u;const lt={variantId:0,variantName:"defaultName",variantPrice:0,priceCurrency:"defaultCurrency",variantSku:"lens-default",polarized:"No",available:!0};let dt,X,u0;const ft=fe=>{Pe.current&&(Pe.current.snapCameraToPos(fe),Be(Cr[`ChangedView${fe}`]))},pt=async(fe,Qe)=>{fe._id===(b==null?void 0:b._id)&&!Qe||Pe.current&&(m(!0),Pe.current.changeFrame(fe,[M,R]).then(()=>{m(!1)}),T(fe),H(A==null?void 0:A.find(ye=>ye.variantSku===fe.sku)),Be(`${Cr.ChangedFrame}${fe.name}`))},qe=fe=>fe==null?void 0:fe.customisation.find(ye=>ye.type==="Lens"),It=async fe=>{var $e;if(!Pe.current||fe===M)return;const Qe=fe.sku.includes("lens-default"),ye=qe(b),Le=U();if(!ye&&Qe?(m(!0),Pe.current.changeLens([fe,R],!0,b).then(()=>{m(!1)})):!ye&&!Qe?M!=null&&M.sku.includes("lens-default")?(m(!0),Pe.current.changeLens([fe,R],!0,b).then(()=>{m(!1)})):Pe.current.changeLens([fe,R],!1,b):ye&&Qe?Pe.current.changeLens([ye,R],!1,b):Pe.current.changeLens([fe,R],!1,b),fe.sku.includes("lens-default"))Z(lt),Be(`${Cr.ChangedLens}${lt.variantName}`);else{const et=($e=fe.metadata.find(ht=>ht.key===Le))==null?void 0:$e.value,Ue=p==null?void 0:p.find(ht=>ht.variantId===Number.parseInt(et));Z(Ue),Be(`${Cr.ChangedLens}${fe.name}. Price will increase by ${j==null?void 0:j.variantPrice} ${j==null?void 0:j.priceCurrency}`)}D(fe)},Ve=async fe=>{Pe.current&&fe!==R&&(m(!0),await Pe.current.changeOrbital(fe).then(()=>{V(g==null?void 0:g.find(Qe=>Qe.variantId===Number(fe.sku))),m(!1)}),S(fe),Be(`${Cr.ChangedOrbital}${fe.name}`))},z=()=>{let fe=0,Qe=0;return re&&(fe=re.variantPrice),j&&(Qe=j.variantPrice),fe+Qe},U=()=>{var ye;if(!b)return;const fe=(ye=b.metadata.find(Le=>Le.key==="baseCurve"))==null?void 0:ye.value;let Qe="variantId";return fe==="2B"?Qe="2bVariantId":fe==="6B"&&(Qe="6bVariantId"),Qe},se=fe=>{F(fe)},_e=fe=>{pe(fe)},xe=()=>{var fe,Qe;a0?(fe=document.querySelector('[id$="main-laser-etch-popover"]'))==null||fe.setAttribute("open",""):(Qe=document.querySelector('[id$="main-laser-etch-drawer"]'))==null||Qe.setAttribute("open","")},ve=()=>{if(l&&!P||!(b&&M)||b.name.toLowerCase().includes("default")||M.name.toLowerCase().includes("default"))return;const fe=b.metadata.find($=>$.key==="variantId"),Qe=b.metadata.find($=>$.key==="baseCurve");let ye="variantId";Qe&&Qe.value==="2B"?ye="2bVariantId":Qe&&Qe.value==="6B"&&(ye="6bVariantId");const Le=M.metadata.find($=>$.key===ye),$e=fe?Number(fe.value):null,et=Le?Number(Le.value):null,Ue=P!=null&&P.variantId?Number(P.variantId):null,ht={frameIdentifier:$e,lensIdentifier:et,orbitalIdentifier:Ue};t.emitEvent("onAddToCart",ht);const nt=new Date().getTime(),yt=[];if(et&&Le){const $={id:et,quantity:1,properties:{_uniqueTimestamp:nt}};yt.push($)}if(Ue&&(P!=null&&P.variantId)){const $={id:Ue,quantity:1,properties:{_uniqueTimestamp:nt}};yt.push($)}if(ee){const $={id:44745490890985,quantity:1,properties:{_uniqueTimestamp:nt}};yt.push($)}if(fe){const $={id:$e,quantity:1,properties:ee?{_uniqueTimestamp:nt,customText:ce}:{_uniqueTimestamp:nt}};yt.push($)}n.HandleShopifyAddToCart(yt,nt)},We=()=>{var fe,Qe;a0?(fe=document.querySelector(".popover.hidden-lap-and-up.popover-full"))==null||fe.removeAttribute("open"):(Qe=document.querySelector(".drawer.drawer--full.hidden-phone.lens-customizer"))==null||Qe.removeAttribute("open")};Oe.useEffect(()=>{W(a0?L?35:30:L?28:25)},[L]),Oe.useEffect(()=>{i&&(l?i&&!dt&&(dt=i==null?void 0:i.find(fe=>fe.sku==="7806-G-SMK-PLD-52-Zx"),T(dt)):(dt=i==null?void 0:i.find(fe=>fe.available),T(dt),H(A==null?void 0:A.find(fe=>fe.variantSku===dt.sku))))},[i]),Oe.useEffect(()=>{if(!(!b||!s)){if(l)s&&!M&&(X=s.find(fe=>fe._id==="65111d718d4c652ece493034"),It(X)),o&&!R&&(u0=o.find(fe=>fe._id==="660c1c0231c23bd36b188fd4"),Ve(u0));else if(!M){const fe=b.customisation.find(Qe=>Qe.type==="Lens");fe?fe.sku.includes("lens-default")?(D(fe),Z(lt)):(e(),D(fe),Z(p==null?void 0:p.find(Qe=>Qe.variantSku===fe.sku))):(D(s[0]),Z(lt))}}},[b,s]),Oe.useEffect(()=>{H(_)},[_]),Oe.useEffect(()=>{},[ee,ce]),Oe.useEffect(()=>{Ae(z())},[re,j]);const Be=fe=>{wt.current&&(wt.current.textContent=fe)};return Se.jsxs("section",{id:"sprie-config-main-container",ref:be,children:[!h&&Se.jsxs("header",{id:"sprie-config-main-header",style:{height:`${J}%`},children:[Se.jsxs("div",{id:"sprie-config-header-content",children:[Se.jsx("img",{src:zP,alt:"dita-logo",width:97,height:20}),Se.jsxs("p",{style:{margin:"0"},className:"sprie-config-mainHeader-frameName",children:[r," CUSTOMIZER"]})]}),Se.jsx("button",{className:"sprie-config-main-header-close",onClick:We,"aria-label":"close frame customizer",children:Se.jsx("img",{src:HP,alt:"close",style:{width:"2rem",height:"2rem"}})})]}),Se.jsx("span",{className:"sprie-config-sr-only",ref:wt,"aria-live":"assertive"}),Se.jsxs("section",{tabIndex:0,"aria-label":"3D viewer",onFocus:()=>Be(Cr.EnteredViewer),id:"sprie-config-viewer-container",style:{height:`${h?100:100-(Q+J+(a0?8.5:0))}%`},children:[!h&&Se.jsx("img",{src:GP,alt:"360deg-logo",width:44,height:34}),!h&&Se.jsx(VP,{snapCameraTo:ft}),Se.jsx("div",{style:{width:"100%",height:"100%"},id:"holder-canvas"}),E&&Se.jsx("div",{className:"sprie-config-loadingFrame sprie-config-loadingFrame--viewerOverlay",children:Se.jsx("div",{className:"sprie-config-loader"})})]}),!h&&Se.jsxs("section",{id:"Sprie-config-Cust-block",style:{height:`${Q}%`},children:[Se.jsxs(OP,{setShowAddToCart:k,setSelectedChild:w,setSectionEntered:C,children:[Se.jsx(NP,{modelLoading:E,frameList:i,selectedFrame:b,isSelected:v===0,onChangeFrame:pt,heading:"SELECT FRAME COLOR",paletteEntered:x===0}),l&&Se.jsx(FP,{orbitalList:o,selectedOrbital:R,modelLoading:E,isSelected:v===1,onChangeOrbital:Ve,heading:"SELECT ORBITAL COLOR",paletteEntered:x===1}),Se.jsx(PP,{modelLoading:E,lensList:s,selectedLens:M,selectedDitaLens:j,isSelected:v===(l?2:1),paletteEntered:x===(l?2:1),onChangeLens:It,heading:"SELECT LENS COLOR"}),Se.jsx(UP,{heading:"LASER ENGRAVING",isSelected:v===(l?3:2),paletteEntered:x===(l?3:2),onEngravingLinkClicked:xe,onChecked:se,onTextAdded:_e})]}),Se.jsxs("div",{className:"sprie-config-price-block",children:[Se.jsx("p",{id:"sprie-config-price-text",style:{bottom:a0?"100%":"",margin:"0 0.8rem 0.5rem 0"},children:`${ge}.00 ${re==null?void 0:re.priceCurrency} `}),!a0&&L&&Se.jsx(Lm,{conditionRequired:!0,onButtonClick:ve}),L&&Se.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."})]}),a0&&L&&Se.jsx("div",{style:{position:"absolute",bottom:"0%",width:"100%"},children:Se.jsx(Lm,{conditionRequired:!0,onButtonClick:ve})})]})]})}function WP({apiService:r,sku:e,events:t,viewerOnly:n=!1,lensSku:i,appControlService:s}){var H;const o=Oe.useRef(),[l,h]=Oe.useState(null),[u,d]=Oe.useState(!1),A=(l==null?void 0:l.frameName)||"",p=(l==null?void 0:l.frameList)||null,g=(l==null?void 0:l.lensList)||null,_=(l==null?void 0:l.orbitalList)||null,[E,m]=Oe.useState(!1),[v,w]=Oe.useState(Ja.Customizer),[x,C]=Oe.useState(void 0),[b,T]=Oe.useState(void 0),[M,D]=Oe.useState(void 0),R=Oe.useRef(void 0),S=Oe.useRef(void 0);Oe.useEffect(()=>{R.current=M},[M]),Oe.useEffect(()=>{S.current=b},[b]);const L=!0,k=async()=>{var Z,P;o.current||(o.current=new Dm,await((Z=o.current)==null?void 0:Z.Init(r.apiKey)));const j=await((P=o.current)==null?void 0:P.getInstance({containerId:"holder-canvas"}));C(j)},Q=async(j,Z)=>{var P,V;if(x){d(!0),await new Promise(ee=>requestAnimationFrame(()=>ee()));try{if(E)await x.changeFrame(j,j==null?void 0:j.customisation);else{await x.loadFrame({containerId:"holder-canvas",data:{assetDetails:j,customisation:j==null?void 0:j.customisation,viewerOnly:Z}}),m(!0);const ee=((P=j.variants)==null?void 0:P.find(F=>F.sku===j.sku))??((V=j.variants)==null?void 0:V[0]);ee&&D(ee)}}finally{await new Promise(ee=>requestAnimationFrame(()=>requestAnimationFrame(()=>ee()))),d(!1)}}},W=async(j,Z)=>{var ce,pe;const P=(ce=R.current)==null?void 0:ce.sku,V=(pe=S.current)==null?void 0:pe.sku,ee=!!(j&&j!==P),F=!!(Z&&Z!==V);if(!(!ee&&!F)){d(!0),await new Promise(ge=>requestAnimationFrame(()=>ge()));try{if(ee){const ge=F?g==null?void 0:g.find(Ae=>Z.includes(Ae.sku)):void 0;await q(j,ge)}else await J(Z)}finally{await new Promise(ge=>requestAnimationFrame(()=>requestAnimationFrame(()=>ge()))),d(!1)}}},J=async j=>{if(!x)return;const Z=g==null?void 0:g.find(V=>j.includes(V.sku)||V.sku===j);if(!Z){console.log("Lens not found in Sprie Catalogue : ",j);return}const P=R.current??(p==null?void 0:p[0]);await x.changeLens([Z,void 0],!1,P),T(Z),S.current=Z},q=async(j,Z)=>{if(!x)return;const P=p==null?void 0:p.find(V=>j.includes(V.sku));if(!P){console.log("Frame variant not found in Sprie Catalogue : ",j);return}await x.changeFrame(P,[Z||S.current,void 0]),D(P),R.current=P,Z&&(T(Z),S.current=Z)},re=()=>{if(!g||v!==Ja.Lancier)return;const j=g.filter(Z=>!Z.sku.includes("lens-default"));h({...l,lensList:j})};return Oe.useEffect(()=>(s.registerChangeRxConfiguration((j,Z)=>W(j,Z)),()=>s.reset()),[s,x,g,p]),Oe.useEffect(()=>((async()=>await k())(),()=>{o.current=void 0}),[r,e]),Oe.useEffect(()=>((async()=>{var V,ee;if(!x)return;e.includes("7806")&&e.endsWith("x")&&(e="7806-G-SMK-PLD-52-Zx");const j=await r.FetchAssetBySKUOrBarcode({sku:e,barcode:null}),Z=((V=j==null?void 0:j.customisation)==null?void 0:V.filter(F=>F.type==="Orbital").length)>0,P=j!=null&&j.group.name.toLowerCase().includes("lsa")?Ja.Lancier:i?Ja.RxViewer:Ja.Customizer;if(w(P),n)if(i){const F=await r.FetchCustomisationList("Lens",!Z,v),ce=(ee=F==null?void 0:F.data)==null?void 0:ee.find(be=>i.includes(be.sku)),pe=[...(j==null?void 0:j.customisation)??[]],ge=pe.findIndex(be=>be.type==="Lens");ge!==-1?pe[ge]=ce:pe.push(ce);const Ae={...j,customisation:pe};await Q(Ae,n),T(ce),h({frameList:j==null?void 0:j.variants,lensList:F==null?void 0:F.data,orbitalList:null,frameName:j==null?void 0:j.group.name,showOrbitals:!1,domService:x,dataVariants:null,dataLenses:null,dataOrbitals:null})}else await Q(j,n),h({frameList:j==null?void 0:j.variants,lensList:null,orbitalList:null,frameName:j==null?void 0:j.group.name,showOrbitals:!1,domService:x,dataVariants:null,dataLenses:null,dataOrbitals:null});else{const F=await r.FetchCustomisationList("Lens",!Z,P),ce=await r.FetchCustomisationList("Orbital",!Z,P);let pe=await r.PopulateDataList("data-variants");pe==null||pe.forEach(Ae=>{var Pe;let be=(Pe=j==null?void 0:j.variants)==null?void 0:Pe.find(wt=>wt.sku===Ae.variantSku);be?be.available=Ae.available:Ae.available=L});let ge=j==null?void 0:j.variants;ge==null||ge.forEach(Ae=>{(pe==null?void 0:pe.find(Pe=>Pe.variantSku===Ae.sku))||(Ae.available=L)}),await Q(j,n),h({frameList:j==null?void 0:j.variants,lensList:F==null?void 0:F.data,orbitalList:ce==null?void 0:ce.data,frameName:j==null?void 0:j.group.name,showOrbitals:Z,domService:x,dataVariants:pe,dataLenses:await r.PopulateDataList("data-lenses"),dataOrbitals:await r.PopulateDataList("data-orbital")})}})(),()=>{o.current=void 0}),[x]),Se.jsxs(Se.Fragment,{children:[!n&&(!p||!g)&&Se.jsxs("div",{children:[Se.jsx("span",{id:"sprie-config-loader-srtext",className:"sprie-config-sr-only",children:"Loading frame customiser"}),Se.jsx("div",{className:"sprie-config-loadingBox","aria-labelledby":"sprie-config-loader-srtext",children:"Loading..."})]}),Se.jsx(jP,{customEvent:t,frameName:A,apiService:r,frameList:p,lensList:g,orbitalList:_,showOrbitalList:(l==null?void 0:l.showOrbitals)||!1,viewerOnly:n,ThreeDConfigurator:o.current,domService:l==null?void 0:l.domService,dataVariants:l==null?void 0:l.dataVariants,dataLenses:l==null?void 0:l.dataLenses,dataOrbitals:l==null?void 0:l.dataOrbitals,firstDitaVariant:(H=l==null?void 0:l.dataVariants)==null?void 0:H.find(j=>j.variantSku==e),removeDefaultLensFromLensList:re,modelLoading:u,setModelLoading:d})]})}var Bh={},Nm={exports:{}},Or={},bh={exports:{}},Rh={};/**
4705
4705
  * @license React
4706
4706
  * scheduler.production.min.js
4707
4707
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perceptimagery/dita-configurator-staging",
3
- "version": "1.3.11",
3
+ "version": "1.3.13",
4
4
  "author": "Percept Imagery Ltd. <rohan@perceptimagery.com>",
5
5
  "license": "UNLICENSED",
6
6
  "main": "dist/index.js",