@vizbl/shopify-room-viewer 0.0.34 → 0.0.35
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.
|
@@ -1593,6 +1593,10 @@ Defaulting to \`null\`.`));let u=mw(a,c)?a:null,d=mb(u)?s(u,c):void 0;return(0,t
|
|
|
1593
1593
|
position: static;
|
|
1594
1594
|
}
|
|
1595
1595
|
|
|
1596
|
+
.sticky {
|
|
1597
|
+
position: sticky;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1596
1600
|
.inset-0 {
|
|
1597
1601
|
inset: calc(var(--spacing) * 0);
|
|
1598
1602
|
}
|
|
@@ -7237,4 +7241,4 @@ ${O}
|
|
|
7237
7241
|
if (coverage < 0.01) discard;
|
|
7238
7242
|
diffuseColor = vec4(1.0, 1.0, 1.0, coverage);
|
|
7239
7243
|
`)},s.customProgramCacheKey=()=>"wall-panel-exterior-outline-v1",{mask:t,maskMaterial:r,maskModel:n,maskScene:i,material:s,resolution:a,radius:o,clearColor:new aj.Q1f}},[e]);return(0,te.useLayoutEffect)(()=>S4(r.material,t,{shading:!1}),[r,t]),(0,te.useLayoutEffect)(()=>()=>{r.mask.dispose(),r.maskMaterial.dispose(),r.material.dispose()},[r]),(0,tr.jsx)("mesh",{material:r.material,frustumCulled:!1,renderOrder:3,raycast:()=>{},onBeforeRender:(t,n,i)=>{let a=t.getRenderTarget(),o=t.getActiveCubeFace(),s=t.getActiveMipmapLevel(),l=t.autoClear,c=t.getClearAlpha();t.getClearColor(r.clearColor),t.getDrawingBufferSize(r.resolution);let{x:u,y:d}=r.resolution;(r.mask.width!==u||r.mask.height!==d)&&r.mask.setSize(u,d),r.radius.value=2*t.getPixelRatio(),e.updateWorldMatrix(!0,!0),r.maskModel.matrix.copy(e.matrixWorld);try{t.autoClear=!0,t.setClearColor(0,0),t.setRenderTarget(r.mask),t.render(r.maskScene,i)}finally{t.setRenderTarget(a,o,s),t.setClearColor(r.clearColor,c),t.autoClear=l}},children:(0,tr.jsx)("planeGeometry",{args:[2,2]})})}function Mu({source:e,patch:t,isPointVisible:r,outlined:n}){let{model:i,materials:a}=(0,te.useMemo)(()=>{let t=e.clone(!0),r=S5(t);return{model:t,materials:r}},[e]);return(0,te.useLayoutEffect)(()=>{let e=a.map(e=>S4(e,t));return i.traverse(e=>{e instanceof aj.eaF&&(e.raycast=function(e,t){let n=[];aj.eaF.prototype.raycast.call(this,e,n),t.push(...n.filter(e=>!r||r(e.point)))})}),()=>e.forEach(e=>e())},[r,a,i,t]),(0,te.useLayoutEffect)(()=>()=>a.forEach(e=>e.dispose()),[a]),(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)("primitive",{object:i,dispose:null}),n&&(0,tr.jsx)(Mc,{model:i,patch:t})]})}function Md({size:e,patch:t,isPointVisible:r,onClick:n}){let[i,a]=(0,te.useState)(!1),o=(0,te.useMemo)(()=>{let e=document.createElement("canvas");e.width=e.height=256;let t=e.getContext("2d");if(t.lineJoin="miter",t.lineCap="round",t.beginPath(),i)t.rect(16,16,224,224);else for(let[e,r,n,i]of[[16,16,1,1],[240,16,-1,1],[16,240,1,-1],[240,240,-1,-1]])t.moveTo(e+22*n,r),t.lineTo(e,r),t.lineTo(e,r+22*i);t.strokeStyle="rgba(255,255,255,.80)",t.lineWidth=5,t.stroke(),t.strokeStyle=i?"#59636d":"rgba(70,80,90,.60)",t.lineWidth=2,t.stroke(),t.beginPath(),t.arc(128,128,29,0,2*Math.PI),t.fillStyle=i?"#ffffff":"#f5f6f7",t.fill(),t.strokeStyle="rgba(35,45,55,.32)",t.lineWidth=2,t.stroke(),t.beginPath(),t.moveTo(117,128),t.lineTo(139,128),t.moveTo(128,117),t.lineTo(128,139),t.strokeStyle="#35414d",t.lineWidth=3,t.stroke();let r=new aj.GOR(e);return r.colorSpace="srgb",r},[i]),s=(0,te.useMemo)(()=>new aj.V9B({map:o,transparent:!0,depthWrite:!1,toneMapped:!1}),[o]);return(0,te.useLayoutEffect)(()=>{let e=S4(s,t,{shading:!1});return s.alphaToCoverage=!1,e},[s,t]),(0,te.useLayoutEffect)(()=>()=>{s.dispose(),o.dispose()},[s,o]),(0,tr.jsx)("mesh",{material:s,renderOrder:2,onPointerOver:()=>a(!0),onPointerOut:()=>a(!1),raycast:function(e,t){let n=[];aj.eaF.prototype.raycast.call(this,e,n),t.push(...n.filter(e=>!r||r(e.point)))},onPointerDown:e=>{e.stopPropagation(),e.nativeEvent.stopPropagation()},onClick:e=>{e.stopPropagation(),n()},children:(0,tr.jsx)("planeGeometry",{args:[e,e]})})}function Mh({isPointVisible:e,visible:t,dragging:r,panelKey:n,number:i,size:a,depth:o,patch:s}){let l=E7(),{t:c}=rj(),{camera:u,gl:d}=Ab(),h=(0,te.useRef)(null),p=(0,te.useRef)(null),A=(0,te.useMemo)(()=>new aj.Pq0,[]),f=(0,te.useMemo)(()=>{let e=document.createElement("canvas");e.width=e.height=128;let t=e.getContext("2d");for(let e of(t.beginPath(),t.arc(64,64,61,0,2*Math.PI),t.fillStyle="#f5f6f7",t.fill(),t.strokeStyle="rgba(35,45,55,.32)",t.lineWidth=2,t.stroke(),t.fillStyle="#35414d",[40,64,88]))t.beginPath(),t.arc(e,64,5,0,2*Math.PI),t.fill();let r=new aj.GOR(e);return r.colorSpace="srgb",r},[]),g=(0,te.useMemo)(()=>new aj.V9B({map:f,transparent:!0,depthWrite:!1,toneMapped:!1}),[f]);(0,te.useLayoutEffect)(()=>{let e=S4(g,s,{shading:!1});return g.alphaToCoverage=!1,e},[g,s]),(0,te.useLayoutEffect)(()=>()=>{g.dispose(),f.dispose()},[g,f]),Ay(()=>{h.current&&p.current&&(h.current.getWorldPosition(A),p.current.tabIndex=!r&&(!e||e(A))?0:-1)});let m=()=>{if(!h.current)return;A.set(.05,-.05,0),h.current.localToWorld(A).project(u);let e=d.domElement.getBoundingClientRect();l.openMenu(n,{x:e.left+(A.x+1)*e.width/2,y:e.top+(1-A.y)*e.height/2})};return(0,tr.jsxs)("group",{ref:h,position:[a/2-a/12-.05,-a/2+a/20+.05,o+.002],children:[(0,tr.jsx)("mesh",{name:"panel-actions",material:g,visible:t&&!r,renderOrder:3,raycast:function(n,i){if(!t||r)return;let a=[];aj.eaF.prototype.raycast.call(this,n,a),i.push(...a.filter(t=>t.uv&&.48>=Math.hypot(t.uv.x-.5,t.uv.y-.5)&&(!e||e(t.point))))},onPointerDown:e=>{e.stopPropagation(),e.nativeEvent.stopPropagation()},onPointerUp:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),m()},children:(0,tr.jsx)("planeGeometry",{args:[.1,.1]})}),(0,tr.jsx)(gg,{style:{pointerEvents:"none"},children:(0,tr.jsx)("button",{ref:p,type:"button","data-panel-key":n,className:"sr-only","aria-label":c("wallPanel.panelActions",{number:i}),"aria-haspopup":"menu",onFocus:()=>l.select(n),onClick:e=>{e.stopPropagation(),m()}})})]})}function Mp({glbUrl:e,position:t,quaternion:r,materialPatch:n,isPointVisible:i,onDragStart:a,onDrag:o,onDragEnd:s}){let{data:l}=nF({...E9(e),enabled:!0,suspense:!0,throwOnError:nR,placeholderData:void 0},ny,void 0),c=E7(),{room:u}=Eq(),[d,h]=(0,te.useState)(null),{resourceRef:p,sceneGestures:{setIsDragging:A}}=EJ(),f=EY("isDragging"),{gl:g}=Ab(),m=f?"grabbing":d?.action?"pointer":d?"grab":"auto";(0,te.useLayoutEffect)(()=>{let e=g.domElement.style.cursor;return g.domElement.style.cursor=m,()=>{g.domElement.style.cursor=e}},[g,m]);let v=(e,t)=>h(r=>r?.key===e&&r.action===t?r:{key:e,action:t}),b=(0,te.useRef)(null),y=l.width,w=`${u.id}:${c.generation}`,[x,C]=(0,te.useState)({size:y,roomKey:w,x:0,y:0});if(x.roomKey!==w)C({size:y,roomKey:w,x:0,y:0});else if(x.size!==y){let e=c.panels.reduce((e,t)=>({minX:Math.min(e.minX,t.x),maxX:Math.max(e.maxX,t.x),minY:Math.min(e.minY,t.y),maxY:Math.max(e.maxY,t.y)}),{minX:1/0,maxX:-1/0,minY:1/0,maxY:-1/0}),t=x.size-y;C({size:y,roomKey:w,x:x.x+(e.minX+e.maxX)/2*t,y:x.y+(e.minY+e.maxY)/2*t})}(0,te.useLayoutEffect)(()=>()=>A(!1),[A]);let E=(e,t=!1)=>{let r=b.current;r&&r.pointerId===e.pointerId&&(e.stopPropagation(),b.current=null,e.target.releasePointerCapture(e.pointerId),A(!1),s(),t||r.moved||(c.select(r.key),c.closeMenu()))};return(0,tr.jsx)("group",{ref:p,position:t,quaternion:r,onPointerMissed:c.clearSelection,children:(0,tr.jsxs)("group",{position:[x.x,x.y,0],children:[c.panels.map((e,t)=>{let r=c.options.find(t=>t.material.hid===e.materialId)?.model??l;return(0,tr.jsxs)("group",{position:[e.x*y,e.y*y,0],onPointerOver:t=>{t.stopPropagation(),v(E4(e),"panel-actions"===t.object.name)},onPointerOut:()=>h(null),onPointerDown:t=>{0===t.button&&!b.current&&(t.stopPropagation(),t.nativeEvent.stopPropagation(),b.current={x:t.clientX,y:t.clientY,key:E4(e),moved:!1,pointerId:t.pointerId},t.target.setPointerCapture(t.pointerId),A(!0),a())},onPointerMove:t=>{v(E4(e),"panel-actions"===t.object.name);let r=b.current;r&&r.pointerId===t.pointerId&&(t.stopPropagation(),!r.moved&&Math.hypot(t.clientX-r.x,t.clientY-r.y)>4&&(r.moved=!0,c.select(r.key),c.closeMenu()),r.moved&&o())},onPointerUp:e=>E(e),onPointerCancel:e=>E(e,!0),children:[(0,tr.jsx)(Mh,{panelKey:E4(e),number:t+1,size:y,depth:r.depth,patch:n,isPointVisible:i,dragging:f,visible:c.selected===E4(e)||d?.key===E4(e)}),(0,tr.jsx)("group",{"rotation-z":-e.turns*Math.PI/2,children:(0,tr.jsx)("group",{position:r.mountingOffset,children:(0,tr.jsx)(Mu,{outlined:c.selected===E4(e)||d?.key===E4(e),source:r.scene,patch:n,isPointVisible:i})})})]},E4(e))}),c.selected&&c.neighbors.map(e=>(0,tr.jsx)("group",{position:[e.x*y,e.y*y,.002],children:(0,tr.jsx)(Md,{size:y,patch:n,isPointVisible:i,onClick:()=>c.add(e)})},E4(e)))]})})}function MA(e){let{glbUrl:t}=EW();return t?(0,tr.jsx)(Mp,{...e,glbUrl:t}):null}let Mf={"modelled-resource":function({position:e,quaternion:t,materialPatch:r,onDrag:n,onDragEnd:i,onDragStart:a}){let{type:o}=EH(),{glbUrl:s}=EW();return s?"rotate-on-floor"===EE[o].manipulation?(0,tr.jsx)(Mr,{glbUrl:s,position:e,quaternion:t,materialPatch:r}):(0,tr.jsx)(gi,{autoTransform:!1,onDrag:n,onDragEnd:i,onDragStart:a,children:(0,tr.jsx)(Mr,{glbUrl:s,position:e,quaternion:t,materialPatch:r})}):null},"textured-resource":function({position:e,quaternion:t,materialPatch:r,onDrag:n,onDragEnd:i,onDragStart:a}){let{src:o,setLoadError:s}=EW();return o?(0,tr.jsx)(Sk,{onError:()=>s("artwork-load-failed"),children:(0,tr.jsx)(gi,{autoTransform:!1,onDrag:n,onDragEnd:i,onDragStart:a,children:(0,tr.jsx)(Ml,{src:o,position:e,quaternion:t,materialPatch:r})})}):null}};function Mg(e){e.setCrossOrigin("anonymous")}let Mm=SL(3,(e,t)=>{AC.clear(aj.Tap,e),t.dispose()}),Mv=SF(Mm,e=>AC.clear(aj.Tap,e));function Mb(){var e;let t,{room:r}=Eq(),n=Ab(e=>e.scene),i=(e=EM(r),Mv.request(e),t=AC(aj.Tap,e,Mg),(0,te.useLayoutEffect)(()=>(Mv.clearPassed(e),Mm.hold(e,t),()=>Mm.release(t)),[e,t]),t);return(0,te.useLayoutEffect)(()=>(i.colorSpace="srgb",n.background=i,()=>{n.background===i&&(n.background=null)}),[n,i]),null}function My({plane:e,geometry:t,setPlaneRef:r}){let n={planeId:e.id,kind:e.kind};return(0,tr.jsx)("mesh",{ref:t=>r(e,t),geometry:t,userData:n,children:(0,tr.jsx)("meshBasicMaterial",{visible:!1,side:2})})}let Mw=(0,te.memo)(()=>{let e,{type:t}=EH(),r=E7(),{setLoadError:n}=EW(),i="panel-group"===(e=EE[t]).manipulation?MA:Mf[e.identity],{room:a}=Eq(),{patchSceneLoad:o,resourceRef:s}=EJ(),{gl:l,size:c,camera:u,invalidate:d,raycaster:h,pointer:p}=Ab(),A=(0,te.useMemo)(()=>a.scene??SA(),[a.scene]),f=ES(t),g=function(e){let[t,r]=(0,te.useState)(null);return(0,te.useEffect)(()=>{let t=new AbortController,n=null;return Sz.acquire(e,{neutralShadingPng:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNoaGgAAAMEAYFL09IQAAAAAElFTkSuQmCC",signal:t.signal}).then(i=>{t.signal.aborted?Sz.release(i):(n=i,r({request:e,state:{preparation:i,failed:!1}}))},n=>{t.signal.aborted||(console.error(n),r({request:e,state:{preparation:null,failed:!0}}))}),()=>{t.abort(),n&&Sz.release(n)}},[e]),t?.request===e?t.state:SU}((0,te.useMemo)(()=>({roomId:a.id,scene:A,surfaces:f}),[a.id,A,f])),m=function({camera:e,invalidate:t,pointer:r,roomPreparation:{preparation:n,failed:i},raycaster:a,resourceRef:o,roomId:s,scene:l,surfaces:c}){let u=`${s}:${[...c].sort().join(",")}`,d=(0,te.useMemo)(()=>({value:null}),[]),[h,p]=(0,te.useReducer)(S0,u,S$),A=(0,te.useRef)(null),f=(0,te.useRef)(null),g=(0,te.useRef)(!1),m=(0,te.useRef)(new Map),v=(0,te.useRef)(null),b=h.placementKey===u,y=n?.planeIdMap??null,w=n?.masks??SZ,x=b?h.resourcePose:null,C=(0,te.useMemo)(()=>SJ(l,c),[l,c]),E=(0,te.useMemo)(()=>C.map(e=>e.id),[C]),S=(0,te.useMemo)(()=>new Map(l.planes.map(e=>{let t,r;return[e.id,(t=e.polygon3D.flatMap(e=>(function(e,t){let[r,n,i]=e;return[r*(Sx(t)*(t.camera.fx/t.camera.fy)),i,-n]})(e,l)),(r=new aj.LoY).setAttribute("position",new aj.qtW(t,3)),e.polygon3D.length>=4&&r.setIndex([0,1,2,0,2,3]),r)]})),[l]);(0,te.useEffect)(()=>()=>S.forEach(e=>e.dispose()),[S]);let M=(0,te.useMemo)(()=>({artifactsReady:null!==y,placementReady:null!==x,prepareReady:null!==x}),[y,x]),I=0===C.length?"no-allowed-surface":i?"plane-id-map-decode":null,B=(0,te.useCallback)((e,t)=>{t?m.current.set(e.id,t):m.current.delete(e.id)},[]);(0,te.useEffect)(()=>()=>{d.value=null},[d,w]),(0,te.useEffect)(()=>{p({type:"reset-placement",placementKey:u}),A.current=null,f.current=null,g.current=!1,d.value=null,v.current=null},[d,u]);let k=(0,te.useCallback)((r,n,i=null)=>{let a,s=Sq(r,n,e),l=i?(a=new aj.Pq0(...i).applyQuaternion(new aj.PTz(...s.quaternion)).add(new aj.Pq0(...s.position)),{...s,position:a.toArray()}):s;A.current=l.activePlaneId,f.current=l,g.current=!0,d.value=w.get(l.activePlaneId)?.texture??null,o.current?.position.fromArray(l.position),o.current?.quaternion.fromArray(l.quaternion),t()},[d,e,t,w,o]),T=(0,te.useCallback)(t=>y?function({activePlaneId:e,allowedPlaneIds:t,camera:r,planeIdMap:n,planeMap:i,pointer:a,raycaster:o}){let s=new Set(t),l=[],c=new Set,u=e=>{!(null===e||c.has(e))&&s.has(e)&&(c.add(e),l.push(e))};for(let s of(u(SC(a,n)),u(e),t.forEach(u),o.setFromCamera(a,r),l)){let e=i.get(s),t=e?o.intersectObject(e,!1)[0]:null;if(t)return t}return null}({activePlaneId:A.current,allowedPlaneIds:E,camera:e,planeIdMap:y,planeMap:m.current,pointer:t,raycaster:a}):null,[E,e,y,a]);(0,te.useEffect)(()=>{if(!y||null!==x)return;let r=function({allowedPlanes:e,camera:t,planeMap:r}){let n=e[0],i=n?r.get(n.id):null;return i?Sq(i,function(e){let t=e.geometry.attributes.position,r=new aj.Pq0;for(let e=0;e<t.count;e++)r.add(new aj.Pq0(t.getX(e),t.getY(e),t.getZ(e)));return r.divideScalar(Math.max(1,t.count))}(i),t):null}({allowedPlanes:C,camera:e,planeMap:m.current});r&&(A.current=r.activePlaneId,f.current=r,d.value=w.get(r.activePlaneId)?.texture??null,p({type:"set-resource-pose",placementKey:u,resourcePose:r}),t())},[d,C,e,t,w,u,y,x]);let R=(0,te.useCallback)(()=>{let t,n=T(r),i=f.current;if(!n||!i){v.current=null;return}let a=Sq(n.object,n.point,e);t=new aj.PTz(...a.quaternion).invert(),v.current=new aj.Pq0(...i.position).sub(new aj.Pq0(...a.position)).applyQuaternion(t).toArray()},[e,T,r]),P=(0,te.useCallback)(()=>{let e=T(r);e&&k(e.object,e.point,v.current)},[T,r,k]),D=(0,te.useCallback)(()=>{v.current=null,g.current&&f.current&&(g.current=!1,p({type:"set-resource-pose",placementKey:u,resourcePose:f.current}))},[u]),_=(0,te.useCallback)(t=>{let r,n=A.current,i=null===n?null:w.get(n);if(!i)return!1;let a=t.clone().project(e),o=function(e,t,r){if(t<0||t>1||r<0||r>1)return 0;let n=t*e.width-.5,i=r*e.height-.5,a=Math.floor(n),o=Math.floor(i),s=S_(a,e.width-1),l=S_(o,e.height-1),c=S_(a+1,e.width-1),u=S_(o+1,e.height-1),d=n-Math.floor(n),h=i-Math.floor(i);return((e.data[l*e.width+s]*(1-d)+e.data[l*e.width+c]*d)*(1-h)+(e.data[u*e.width+s]*(1-d)+e.data[u*e.width+c]*d)*h)/255}(i,(a.x+1)*.5,(1-a.y)*.5);return(r=S_((o-.4)/.29999999999999993,1))*r*(3-2*r)>.001},[e,w]);return{isPointerOnSurface:(0,te.useCallback)(e=>{let t=y?SC(e,y):null;return null!==t&&E.includes(t)},[E,y]),activeMaskTextureUniform:d,isPointVisible:_,failure:I,handleDrag:P,handleDragEnd:D,handleDragStart:R,planeGeometries:S,readiness:M,resourcePose:x,setPlaneRef:B}}({camera:u,invalidate:d,pointer:p,roomPreparation:g,raycaster:h,resourceRef:s,roomId:`${a.id}:${r?.generation??0}`,scene:A,surfaces:f});!function(e,t,r){let{gl:n}=Ab(),{sceneGestures:{setRotation:i,setIsDragging:a}}=EJ();(0,te.useEffect)(()=>{if(!e)return;let r=n.domElement,o=null,s=e=>{e.preventDefault(),e.stopImmediatePropagation()},l=()=>{let e=o;o=null,e&&r.hasPointerCapture(e.id)&&r.releasePointerCapture(e.id),e&&a(!1)},c=e=>{if(o)return void s(e);if(!e.isPrimary||0!==e.button)return;let n=r.getBoundingClientRect();t(new aj.I9Y((e.clientX-n.left)/n.width*2-1,1-(e.clientY-n.top)/n.height*2))&&(s(e),o={id:e.pointerId,startX:e.clientX,lastX:e.clientX,rotating:!1},r.setPointerCapture(e.pointerId),a(!0))},u=e=>{if(!o||o.id!==e.pointerId||(s(e),!o.rotating&&5>Math.abs(e.clientX-o.startX)))return;o.rotating=!0;let t=e.clientX-o.lastX;o.lastX=e.clientX,i(e=>e+.5*t)},d=e=>{o?.id===e.pointerId&&(s(e),l())};return r.addEventListener("pointerdown",c,!0),r.addEventListener("pointermove",u,!0),r.addEventListener("pointerup",d,!0),r.addEventListener("pointercancel",d,!0),r.addEventListener("lostpointercapture",d,!0),window.addEventListener("blur",l),()=>{r.removeEventListener("pointerdown",c,!0),r.removeEventListener("pointermove",u,!0),r.removeEventListener("pointerup",d,!0),r.removeEventListener("pointercancel",d,!0),r.removeEventListener("lostpointercapture",d,!0),window.removeEventListener("blur",l),l()}},[e,n,t,r,a,i])}("rotate-on-floor"===EE[t].manipulation,m.isPointerOnSurface,a.id);let v=(0,te.useMemo)(()=>new aj.I9Y(1,1),[]),b=g.preparation?.lightingTexture??null,y=(0,te.useMemo)(()=>b&&{lightingTexture:b,viewport:v,activeMaskTextureUniform:m.activeMaskTextureUniform,maxRoomGain:1.1},[m.activeMaskTextureUniform,b,v]);(0,te.useLayoutEffect)(()=>{u instanceof aj.ubm&&(u.fov=A.camera.fovYDeg),u.position.set(0,0,0),u.up.set(0,0,1),u.lookAt(0,1,0),u.updateProjectionMatrix(),d()},[u,d,A.camera.fovYDeg]),(0,te.useLayoutEffect)(()=>{l.getDrawingBufferSize(v),v.set(Math.max(1,v.x),Math.max(1,v.y))},[l,c.height,c.width,v]);let{artifactsReady:w,placementReady:x,prepareReady:C}=m.readiness,E=m.failure;return(0,te.useEffect)(()=>{o({artifactsReady:w,placementReady:x,prepareReady:C})},[w,o,x,C]),(0,te.useEffect)(()=>{if(E){if("no-allowed-surface"===E){SX({planes:A.planes,source:"room-scene",surfaces:f}),n("room-missing-surface");return}!function({failure:e,planes:t,resourceType:r}){SW(t)}({failure:E,planes:A.planes,resourceType:t}),n("room-load-failed")}},[E,A.planes,n,f,t]),(0,tr.jsxs)(tr.Fragment,{children:[m.resourcePose&&y&&(0,tr.jsx)(i,{position:m.resourcePose.position,quaternion:m.resourcePose.quaternion,materialPatch:y,isPointVisible:m.isPointVisible,onDrag:m.handleDrag,onDragEnd:m.handleDragEnd,onDragStart:m.handleDragStart}),A.planes.map(e=>(0,tr.jsx)(My,{plane:e,geometry:m.planeGeometries.get(e.id),setPlaneRef:m.setPlaneRef},e.id)),(0,tr.jsx)(Sk,{onError:()=>n("room-load-failed"),children:(0,tr.jsx)(Mb,{})})]})});Mw.displayName="Room";let Mx=["room-viewer","layout-config"],MC=[Math.PI/2,0,0];function ME({onReadyChange:e}){return(0,te.useLayoutEffect)(()=>(e?.(!0),()=>e?.(!1)),[e]),null}function MS({onReadyChange:e}){var t;let r=nF({queryKey:Mx,queryFn:()=>CF(),staleTime:1/0},ny,void 0);if(r.isPending)return null;let n=(t=r.data,t?.internal?.links?.find(e=>"hdr_neutral"===e.type)?.url?.trim()||void 0);return(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)(mt,{files:n?[n]:void 0,preset:n?void 0:"warehouse",environmentRotation:MC,environmentIntensity:n?.5:.9}),(0,tr.jsx)(ME,{onReadyChange:e})]})}function MM({onReadyChange:e}){return(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)(mt,{files:["https://cdn.neurodyn.ai/assets/hdr/neutral.hdr"],environmentRotation:MC}),(0,tr.jsx)(ME,{onReadyChange:e})]})}let MI=(0,te.memo)(({lighting:e,onReadyChange:t})=>"remote-neutral-hdr"===e?(0,tr.jsx)(MS,{onReadyChange:t}):(0,tr.jsx)(MM,{onReadyChange:t}));MI.displayName="RoomEnvironment";let MB=(0,te.memo)(({ref:e,target:t})=>{let{camera:r,gl:n}=Ab();return(0,te.useImperativeHandle)(e,()=>({getScreenPoint(){if(!t.current)return null;let e=t.current.getWorldPosition(new aj.Pq0).project(r),i=n.domElement.getBoundingClientRect();return{x:i.left+(e.x+1)*i.width/2,y:i.top+(1-e.y)*i.height/2}}}),[r,n,t]),null});function Mk(e,t){for(let r of Object.keys(t))if(t[r]!==e[r])return{...e,...t};return e}function MT(e){return Object.entries(e).every(([e,t])=>"shadersReady"===e||t)}MB.displayName="SceneFocusBridge";let MR={placementReady:!1,prepareReady:!1,artifactsReady:!1,assetsReady:!1},MP=(0,te.memo)(({sceneReady:e,onShadersReadyChange:t})=>{let r=Av(),n=(0,te.useRef)("holding"),i=E0(t);return(0,te.useEffect)(()=>{if(n.current="holding",!e)return void i.current(!1);let t=!0,{camera:a,gl:o,scene:s}=r.getState();s.matrixWorldAutoUpdate&&s.updateMatrixWorld(),null===a.parent&&a.matrixWorldAutoUpdate&&a.updateMatrixWorld();let l=()=>{t&&(t=!1,n.current="compiled",r.getState().invalidate())},c=()=>{t&&(t=!1,n.current="drawing",i.current(!0))},u=setTimeout(()=>{console.warn("Room viewer scene shaders did not finish compiling ahead in time"),l()},1e4);return o.domElement?.addEventListener("webglcontextlost",c),Promise.resolve().then(()=>o.compileAsync(s,a)).catch(e=>{console.error("Room viewer scene shaders failed to compile ahead",e)}).then(l),()=>{t=!1,clearTimeout(u),o.domElement?.removeEventListener("webglcontextlost",c)}},[i,e,r]),Ay(({camera:e,gl:t,scene:r})=>{"holding"!==n.current&&(t.render(r,e),"compiled"===n.current&&(n.current="drawing",i.current(!0)))},1),null});MP.displayName="ShaderPrecompile";let MD=(0,te.memo)(({sceneLightingReady:e})=>{let{sceneLoad:t}=EK(),{patchSceneLoad:r}=EJ(),n=(0,te.useCallback)(e=>{r({shadersReady:e})},[r]);return(0,tr.jsx)(MP,{sceneReady:e&&MT(t),onShadersReadyChange:n})});MD.displayName="SceneShaderPrecompile";let M_={position:[0,0,0],up:[0,0,1],near:.01,far:100},ML=(0,te.memo)(({className:e,ref:t,captureRef:r,contentKey:n,introductionTarget:i,focusRef:a,onSizeChange:o,...s})=>{let{type:l}=EH(),{glbUrl:c}=EW(),u=E7(),d=u?.isBaseModelReady??!0,{materialSource:h}=Sb(l),{room:p}=Eq(),{patchSceneLoad:A}=EJ(),f=mi(e=>e.active),[g,m]=(0,te.useState)(!1),v=Sx((0,te.useMemo)(()=>p.scene??SA(),[p.scene])),b=(0,te.useRef)(null),y=(0,te.useRef)(!1),w=(0,te.useCallback)(e=>{(b.current=e,"function"==typeof t)?t(e):t&&(t.current=e)},[t]),x=Ex("(max-width: 639px)"),{width:C,height:E}=function(e){let t,{ref:r,box:n="content-box"}=e,[{width:i,height:a},o]=(0,te.useState)(Se),s=(t=(0,te.useRef)(!1),(0,te.useEffect)(()=>(t.current=!0,()=>{t.current=!1}),[]),(0,te.useCallback)(()=>t.current,[])),l=(0,te.useRef)({...Se}),c=(0,te.useRef)(void 0);return c.current=e.onResize,(0,te.useEffect)(()=>{if(!r.current||"u"<typeof window||!("ResizeObserver"in window))return;let e=new ResizeObserver(([e])=>{let t="border-box"===n?"borderBoxSize":"device-pixel-content-box"===n?"devicePixelContentBoxSize":"contentBoxSize",r=St(e,t,"inlineSize"),i=St(e,t,"blockSize");if(l.current.width!==r||l.current.height!==i){let e={width:r,height:i};l.current.width=r,l.current.height=i,c.current?c.current(e):s()&&o(e)}});return e.observe(r.current,{box:n}),()=>{e.disconnect()}},[n,r,s]),{width:i,height:a}}({ref:b}),S=(0,te.useMemo)(()=>{if(!C||!E||!v)return null;let e=C,t=E;return x?e=(t=E)*v:C/E>v?e=E*v:t=C/v,{width:e,height:t}},[C,E,v,x]);return(0,te.useLayoutEffect)(()=>{S&&o?.(S.width,S.height)},[S,o]),(0,te.useEffect)(()=>{if(!S||y.current)return;y.current=!0;let e=window.setTimeout(()=>{window.dispatchEvent(new Event("resize"))},250);return()=>{window.clearTimeout(e)}},[S]),(0,te.useEffect)(()=>{A({layoutReady:null!==S})},[A,S]),(0,te.useEffect)(()=>{"object-glb"===h&&A({materialReady:!!c&&d})},[c,h,d,A]),(0,te.useEffect)(()=>{A({assetsReady:!f})},[n,f,A]),(0,tr.jsx)("div",{ref:w,className:C4("size-full flex items-center justify-center",e),...s,children:S&&(0,tr.jsxs)(ml,{className:"touch-none bg-transparent",frameloop:"demand",camera:M_,gl:Sy,style:{width:`${S.width}px`,height:`${S.height}px`},children:[(0,tr.jsxs)(te.Suspense,{fallback:null,children:[(0,tr.jsx)(SB,{ref:r}),(0,tr.jsx)(te.Suspense,{fallback:null,children:(0,tr.jsx)(Mw,{},n)}),i&&a&&(0,tr.jsx)(MB,{ref:a,target:i})]}),(0,tr.jsx)(te.Suspense,{fallback:null,children:(0,tr.jsx)(MI,{lighting:EE[l].lighting,onReadyChange:m})}),(0,tr.jsx)(MD,{sceneLightingReady:g})]})})});ML.displayName="CanvasWrapper";let MF=(0,te.memo)(({captureRef:e,introduction:t,className:r,contentKey:n,...i})=>{let a,o,s,l,c=EY("isDragging"),u=(0,te.useRef)(null),d=(0,te.useRef)(null),h=(0,te.useRef)(null),p=(a=(0,te.useRef)(null),o=(0,te.useRef)(!1),s=(0,te.useCallback)(()=>{null!==a.current&&cancelAnimationFrame(a.current),a.current=null},[]),l=(0,te.useCallback)(()=>{t&&(s(),t.onCancel())},[t,s]),(0,te.useEffect)(()=>{if(!t){o.current=!1;return}if(!t.ready){o.current&&t.onCancel();return}return a.current=requestAnimationFrame(()=>{let e=u.current,r=h.current?.getScreenPoint(),n=e?.instance.wrapperComponent,i=e?.instance.contentComponent;if(!e||!r||!n||!i)return void t.onCancel();let{scale:s,positionX:l,positionY:c}=e.instance.transformState,d=n.getBoundingClientRect(),p=Math.min(e.instance.setup.maxScale,1.28*s),A=(e,t,r)=>r<t?(t-r)/2:Math.max(t-r,Math.min(0,e)),f=A(d.width/2-(r.x-d.left-l)/s*p,d.width,i.offsetWidth*p),g=A(d.height/2-(r.y-d.top-c)/s*p,d.height,i.offsetHeight*p);o.current=!0;let m=window.matchMedia("(prefers-reduced-motion: reduce)").matches,v=performance.now(),b=r=>{let n=m?1:Math.min(1,(r-v)/700),i=(1-Math.cos(Math.PI*n))/2;e.setTransform(l+(f-l)*i,c+(g-c)*i,s+(p-s)*i,0),n<1?a.current=requestAnimationFrame(b):(a.current=null,t.onComplete())};b(v)}),()=>{s()}},[h,t,s,u]),l),A=Ex("(max-width: 639px)"),f=(0,te.useRef)(!!t);f.current=!!t;let g=(0,te.useCallback)(()=>{A&&u.current?.centerView(void 0,f.current?0:void 0)},[A]),m=(0,te.useRef)(n);return(0,te.useLayoutEffect)(()=>{m.current!==n&&(m.current=n,u.current?.resetTransform(0),g())},[n,g]),(0,tr.jsx)("div",{className:C4("relative flex items-center justify-center overflow-hidden",r),...i,onPointerDownCapture:e=>{p(),i.onPointerDownCapture?.(e)},onTouchStartCapture:e=>{p(),i.onTouchStartCapture?.(e)},onWheelCapture:e=>{p(),i.onWheelCapture?.(e)},children:(0,tr.jsx)(hW,{ref:u,disabled:c,children:(0,tr.jsx)(hK,{wrapperClass:"neurodyn-rzpp-wrapper size-full!",contentClass:"neurodyn-rzpp-content h-full! min-w-full sm:max-w-full",children:(0,tr.jsx)(ML,{captureRef:e??d,contentKey:n,introductionTarget:t?.target,focusRef:h,onSizeChange:g})})})})});async function MN(e){await navigator.clipboard.writeText(e)}function MO(e,t,{fadedOutIfMountedLoaded:r=!1}={}){let[n,i]=(0,te.useState)(r&&!e);return e&&n&&i(!1),(0,te.useEffect)(()=>{if(e)return;let r=!0;return Promise.allSettled((t.current?.getAnimations?.()??[]).map(e=>e.finished)).then(()=>{r&&i(!0)}),()=>{r=!1}},[e,t]),!e&&n}function MQ({variant:e,missingSurfaceMessage:t,open:r,portalContainer:n,showDialogCloseButton:i=!1,onOpenChange:a,onTryAgain:o,onCancel:s}){let{t:l}=rj(),c="custom-interior-missing-surface"===e||"room-missing-surface"===e,u=l(c?`missingSurface.${t}.title`:"floor.error.title"),d=c?l(`missingSurface.${t}.body`):e?l("custom-interior-processing"===e?"floor.error.processingBody":"viewer-load-failed"===e?"floor.error.loadBody":"artwork-load-failed"===e||"room-load-failed"===e?`loadError.${e}`:`accessError.${e}`):"";return(0,tr.jsx)(C6,{open:r,onOpenChange:a,children:(0,tr.jsxs)(Er,{portalContainer:n,showCloseButton:!1,className:"w-full max-w-85 gap-4 rounded-2xl p-6 text-center sm:max-w-85 sm:p-6",onInteractOutside:e=>{e.preventDefault()},children:[(0,tr.jsxs)("div",{className:"grid gap-1",children:[(0,tr.jsx)(Ei,{children:u}),(0,tr.jsx)(Ea,{className:"typo-base-14 font-medium text-text-base",children:d})]}),(0,tr.jsxs)("div",{className:"grid gap-2",children:[o&&(0,tr.jsx)(C8,{variant:"contrast",onClick:o,children:c?(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)(Eo,{"aria-hidden":"true"}),l("missingSurface.uploadAnother")]}):(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)(Eg,{"aria-hidden":"true"}),l("floor.error.tryAgain")]})}),s&&(0,tr.jsx)(C8,{variant:"outline",onClick:s,children:l("floor.error.cancel")}),i&&(0,tr.jsx)(Ee,{asChild:!0,children:(0,tr.jsx)(C8,{variant:"outline",children:l("close")})})]})]})})}function MU({rooms:e,customRooms:t,selectedRoomId:r,isInvalidFile:n,uploadRetryRequestId:i=0,showCloseButton:a=!1,onSelectRoom:o,onUploadFile:s}){let l,{t:c}=rj(),u=(0,te.useId)(),d=(0,te.useRef)(null);function h(e){return e.map(e=>(0,tr.jsxs)("button",{type:"button",className:"group relative aspect-[4/3] overflow-hidden rounded-2xl bg-background-base text-left transition focus-visible:ring-2 focus-visible:ring-icons-normal focus-visible:outline-hidden","aria-pressed":e.id===r,onClick:()=>o(e.id),children:[(0,tr.jsx)("img",{crossOrigin:"anonymous",src:EM(e),alt:"",decoding:"async",className:"size-full scale-[1.02] transform-gpu object-cover transition duration-200 group-hover:scale-105"}),(0,tr.jsx)("span",{className:"typo-base-12 absolute inset-x-0 bottom-0 truncate bg-linear-to-t from-black/45 via-black/10 to-transparent px-3 py-2 text-constant-white",children:c(`rooms.${e.id}`,{defaultValue:e.name})})]},e.id))}return(0,te.useEffect)(()=>{i>0&&d.current?.click()},[i]),(0,tr.jsxs)("section",{"aria-labelledby":"floor-interior-selection-title",className:"relative mx-auto grid h-auto min-h-0 max-h-[calc(100svh-8px)] w-full max-w-151 grid-rows-[auto_auto_minmax(0,1fr)_auto] gap-4 overflow-hidden rounded-t-2xl rounded-b-none bg-background-containers p-4 shadow-[var(--shadow-login)] sm:my-4 sm:max-h-[calc(100svh-32px)] sm:rounded-2xl sm:p-6","data-testid":"floor-interior-selection-panel","data-room-selection-panel":!0,children:[a&&(l=(0,tr.jsx)(C8,{type:"button",variant:"outline",size:"icon",className:"absolute top-4 right-4 sm:top-6 sm:right-6","aria-label":c("close"),"data-testid":"floor-interior-selection-icon-close",children:(0,tr.jsx)(El,{})}),(0,tr.jsx)(Ee,{asChild:!0,children:l})),(0,tr.jsx)("h2",{id:"floor-interior-selection-title",className:"typo-base-16 font-medium sm:typo-base-18 text-text-dark",children:c("floor.interiorSelection.title")}),(0,tr.jsxs)("div",{className:"grid gap-2","data-testid":"floor-interior-selection-upload",children:[(0,tr.jsxs)("label",{htmlFor:u,className:"flex min-h-15 cursor-pointer items-center justify-center gap-2 rounded-xl border border-dashed border-background-blue bg-background-blue-transparent px-4 text-center typo-button-normal text-background-blue opacity-80 transition hover:bg-background-blue-transparent/80",onDragOver:e=>e.preventDefault(),onDrop:function(e){e.preventDefault();let t=e.dataTransfer.files[0];t&&s(t)},children:[(0,tr.jsx)(Eo,{className:"size-5 text-background-blue"}),c("floor.interiorSelection.uploadPhoto"),(0,tr.jsx)("input",{ref:d,id:u,type:"file",accept:"image/*",className:"sr-only",onChange:function(e){let t=e.target.files?.[0];e.target.value="",t&&s(t)}})]}),n&&(0,tr.jsx)("p",{className:"typo-base-12 font-medium text-destructive",children:c("floor.interiorSelection.invalidFile")})]}),(0,tr.jsx)("div",{className:"grid min-h-0 overflow-y-auto overflow-x-hidden overscroll-contain pr-1 [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden","data-testid":"floor-interior-selection-scroll-content",children:(0,tr.jsxs)("div",{className:"grid min-h-max gap-4",children:[t.length>0&&(0,tr.jsxs)("div",{className:"grid gap-3",children:[(0,tr.jsx)("h3",{className:"typo-base-16 font-medium text-text-light",children:c("floor.interiorSelection.customTitle")}),(0,tr.jsx)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3","data-testid":"floor-custom-interior-selection-grid",children:h(t)})]}),(0,tr.jsxs)("div",{className:"grid gap-3",children:[(0,tr.jsx)("h3",{className:"typo-base-16 font-medium text-text-light",children:c("floor.interiorSelection.presetsTitle")}),(0,tr.jsx)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3","data-testid":"floor-preset-interior-selection-grid",children:h(e)})]})]})}),a&&(0,tr.jsx)(En,{className:"-mt-2 shrink-0 p-0 sm:mt-0",children:(0,tr.jsx)(Ee,{asChild:!0,children:(0,tr.jsx)(C8,{variant:"outline",className:"w-full",children:c("close")})})})]})}function Mz(e){return(0,tr.jsx)("div",{className:"absolute inset-0 z-20 grid items-end p-0 sm:items-center sm:p-4","data-testid":"floor-interior-selection-overlay",children:(0,tr.jsx)(MU,{...e})})}function Mj({open:e,showCloseButton:t=!0,portalContainer:r,onOpenChange:n,...i}){let{t:a}=rj();return(0,tr.jsx)(C6,{open:e,onOpenChange:n,children:(0,tr.jsxs)(Er,{contentInsideOverlay:!0,portalContainer:r,showCloseButton:!1,"data-testid":"floor-interior-selection-overlay",className:"top-auto bottom-0 grid max-h-[calc(100svh-8px)] w-[calc(100%-16px)] min-w-0 max-w-none translate-y-0 overflow-hidden rounded-t-2xl rounded-b-none border-none bg-transparent p-0 shadow-none sm:top-[50%] sm:bottom-auto sm:w-full sm:max-w-none sm:translate-y-[-50%] sm:rounded-none sm:p-4",children:[(0,tr.jsx)(Ei,{className:"sr-only",children:a("floor.interiorSelection.title")}),(0,tr.jsx)(Ea,{className:"sr-only"}),(0,tr.jsx)(MU,{...i,showCloseButton:t})]})})}MF.displayName="Scene";let MG="data-material-selection-action",MH="data-material-selection-panel";function MV(e,t,{requiresMaterialModel:r,getCollapseKey:n}){var i;let a;return i=e.filter(e=>!!(e.tinuuid&&e.materials?.[0]&&function(e,t){if(!t)return!0;let r=e.materials?.[0]?.native?.glbUrl;return"string"==typeof r&&r.trim().length>0}(e,r)&&!(t?.uuid&&e.uuid===t.uuid||t?.tinuuid&&e.tinuuid===t.tinuuid))),a=new Set,i.filter(e=>{let t=n(e);return!a.has(t)&&(a.add(t),!0)})}let Mq="vizbl-rug:";function MW(e){return"number"==typeof e&&Number.isFinite(e)&&e>0}function MK(e){return e.kit?.uuid??e.uuid??e.tinuuid??""}let MJ={"sized-design":{offersSizeVariants:!0,decodeVariant:function(e){let t=e.dimensions?.width,r=e.dimensions?.depth;return MW(t)&&MW(r)?{size:`${t/10}\xd7${r/10}`,shape:function(e){if(!e?.startsWith(Mq))return"rect";try{let t=JSON.parse(e.slice(Mq.length));return"round"===t.shape?"round":"rect"}catch{return"rect"}}(e.description)}:null},getCollapseKey:function(e){return e.kit?.uuid?e.kit.uuid:`object:${MK(e)}`}},"color-design":{offersSizeVariants:!1,decodeVariant:function({description:e}){let t="vizbl-flooring:";if(!e?.startsWith(t))return null;try{let r=JSON.parse(e.slice(t.length));return null!==r&&"object"==typeof r&&"color"in r&&"string"==typeof r.color?{color:r.color}:null}catch{return null}},getCollapseKey:MK},"single-listing":{offersSizeVariants:!1,decodeVariant:null,getCollapseKey:MK}},MY={"product-identity":{catalogsEveryMaterial:!0},finish:{catalogsEveryMaterial:!1},placeholder:{catalogsEveryMaterial:!1}};function MX(e){return MJ[EE[e].composition]}function MZ(e,t,r,n=""){return"name-prop"===EE[e].productNameSource?n:t?.kit?.name?.trim()||t?.name?.trim()||r?.name?.trim()||n}function M$(e){return e.hid??""}function M0({apiKey:e,baseURL:t,language:r,source:n,widgetSession:i}){return Sm.map(a=>({queryKey:C$(a,{apiKey:e,baseURL:t,language:r,source:n}),queryFn:({signal:o})=>C1(a,{apiKey:e,baseURL:t,language:r,signal:o,source:n,widgetSession:i})}))}function M1(){let{t:e}=rj(),{type:t}=EH();return e(`floor.materialSelection.${EE[t].catalogTitle}`)}function M2({className:e,gridClassName:t,titleClassName:r,onOpenChange:n,...i}){let a=M1(),o=(0,te.useRef)(null),{fetchNextMaterialsPage:s,hasNextPage:l,isFetchingNextPage:c,isLoading:u,materialItems:d,selectMaterial:h,selectedMaterialId:p}=function({includeEmbeddedObject:e=!1}={}){var t;let{material:r,tinuuid:n,embeddedObject:i,selectedObject:a,setMaterial:o,setTinuuid:s,apiKey:l,baseURL:c,language:u,source:d,widgetSession:h,setAccessError:p,setLoadError:A}=EW(),{type:f,name:g}=EH(),m=i?.owner?.uuid,{data:v,error:b,isFetchingNextPage:y,fetchNextPage:w,hasNextPage:x,isLoading:C}=nF({queryKey:["room-viewer","public-objects",{apiKey:(t={apiKey:l,baseURL:c,language:u,source:d,resourceType:f}).apiKey??null,language:t.language??null,ownerUuid:m??null,resourceType:t.resourceType??null,source:t.source}],enabled:!!m,queryFn:({pageParam:e,signal:t})=>{if(!m)throw Error("Owner uuid is required.");return C2(m,e,{apiKey:l,baseURL:c,language:u,signal:t,source:d,widgetSession:h,resourceType:f})},initialPageParam:1,getNextPageParam:(e,t,r)=>r<e.pages_count?r+1:void 0,getPreviousPageParam:(e,t,r)=>r>1?r-1:void 0},nS,void 0),{requiresMaterialModel:E}=Sb(f),{getCollapseKey:S}=MX(f),{catalogsEveryMaterial:M}=MY[EE[f].materialRole],{composition:I}=EE[f],B=(0,te.useMemo)(()=>v?.pages.flatMap(e=>e.objs)??[],[v]),k=(0,te.useMemo)(()=>{let t={requiresMaterialModel:E,getCollapseKey:S};if(e)return MV([...i?.tinuuid&&i.materials?.[0]?[i]:[],...B],null,t);return MV(B,i,t)},[i,B,S,e,E]),T=(0,te.useMemo)(()=>k.flatMap(e=>{if(!e.tinuuid)return[];let t="color-design"===I&&e.kit?.uuid,r=M&&!t?e.materials:e.materials?.slice(0,1);return r?.map(t=>{let r=M$(t);return r&&e.tinuuid?{materialId:r,productName:MZ(f,e,t,g),material:t,tinuuid:e.tinuuid}:null}).filter(e=>null!==e)??[]}),[M,I,k,f,g]),R="color-design"===I&&a?.tinuuid===n&&a?.kit?.uuid?k.find(e=>S(e)===S(a)):void 0,P=R?.tinuuid!==n&&R?M$(R.materials?.[0]??{}):r?M$(r):"",D=k.find(e=>e.tinuuid===n),_=k.find(e=>e.tinuuid&&e.materials?.[0]);return(0,te.useEffect)(()=>{let e=Cv(b);e?p(e):b&&A("viewer-load-failed")},[b,p,A]),(0,te.useEffect)(()=>{v&&0===k.length&&x&&!y&&w()},[v,w,x,y,k.length]),(0,te.useEffect)(()=>{if(null!==r)return;let e=D??_,t=e?.materials?.[0];e&&t&&e.tinuuid&&(o(t),s(e.tinuuid))},[_,D,r,o,s]),{fetchNextMaterialsPage:(0,te.useCallback)(()=>{!1===x||y||w()},[w,x,y]),hasNextPage:x,isFetchingNextPage:y,isLoading:C,materialItems:T,selectMaterial:(0,te.useCallback)(e=>{let t=k.find(t=>t.materials?.some(t=>M$(t)===e)),r=t?.materials?.find(t=>M$(t)===e);return!!t&&!!r&&!!t.tinuuid&&(o(r),s(t.tinuuid),!0)},[k,o,s]),selectedMaterialId:P}}({includeEmbeddedObject:!0});(0,te.useEffect)(()=>{let e=o.current;e&&!u&&!c&&l&&0!==d.length&&e.scrollHeight<=e.clientHeight&&s()},[s,l,c,u,d.length]);let A=(0,te.useCallback)(e=>{let{clientHeight:t,scrollHeight:r,scrollTop:n}=e.currentTarget;n+t>=r-64&&s()},[s]),f=(0,te.useCallback)(e=>{h(e)&&n(!1)},[n,h]);return(0,tr.jsxs)("div",{...i,className:C4("flex min-h-0 flex-col gap-3 overflow-hidden text-text-dark outline-none",e),"data-testid":"material-selection-panel",onPointerDownCapture:e=>{e.stopPropagation(),i.onPointerDownCapture?.(e)},onMouseDownCapture:e=>{e.stopPropagation(),i.onMouseDownCapture?.(e)},children:[(0,tr.jsx)("h2",{className:C4("typo-base-16 font-medium sm:typo-base-14 sm:font-semibold text-text-dark",r),children:a}),(0,tr.jsx)("div",{"data-testid":"material-selection-grid",ref:o,className:C4("min-h-0 flex-1 overflow-y-auto overflow-x-hidden overscroll-contain pr-1 [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",t),onScroll:A,children:(0,tr.jsxs)("div",{className:"grid min-h-max grid-cols-3 gap-x-2 gap-y-2","data-testid":"material-selection-grid-items",children:[d.map(({materialId:e,material:t,tinuuid:r,productName:n})=>{let i,a=e===p,o=(i=t.previews?.[0],i?.subRes?.small??i?.url);return(0,tr.jsxs)("button",{type:"button","data-selected":a,"aria-pressed":a,className:"group flex min-w-0 flex-col gap-1 rounded-lg bg-background-containers text-left focus-visible:ring-2 focus-visible:ring-icons-normal focus-visible:outline-hidden",onClick:()=>f(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),f(e))},children:[(0,tr.jsxs)("span",{className:"relative grid aspect-square w-full shrink-0 place-items-center overflow-hidden rounded-lg border border-border p-1 transition group-hover:border-icons-normal",children:[o?(0,tr.jsx)("img",{src:o,alt:"",className:"size-full rounded-md object-cover"}):(0,tr.jsx)(Eh,{className:"size-6 text-icons-normal"}),a&&(0,tr.jsx)("span",{className:"absolute top-1 right-1 grid size-6 place-items-center rounded-full bg-icons-blue text-icons-white","data-testid":"material-selection-selected-check",children:(0,tr.jsx)(Es,{className:"size-4"})})]}),(0,tr.jsx)("span",{className:"typo-base-12 line-clamp-3 w-full wrap-anywhere text-text-base",children:n})]},`${r}-${e}`)}),(u||c)&&(0,tr.jsx)("div",{className:"col-span-3 grid h-16 place-items-center",children:(0,tr.jsx)(Ey,{className:"size-6"})})]})})]})}function M3({open:e,portalContainer:t,onOpenChange:r}){let{t:n}=rj(),i=M1();return(0,tr.jsx)(C6,{open:e,onOpenChange:r,children:(0,tr.jsxs)(Er,{contentInsideOverlay:!0,"data-testid":"material-selection-mobile-overlay","data-material-selection-panel":"",className:"top-auto bottom-0 flex max-h-[calc(100svh-8px)] w-[calc(100%-16px)] !max-w-none translate-y-0 flex-col gap-2 overflow-hidden rounded-t-2xl rounded-b-none p-4 sm:hidden",portalContainer:t,showCloseButton:!1,children:[(0,tr.jsx)(Ei,{className:"sr-only",children:i}),(0,tr.jsx)(Ea,{className:"sr-only"}),(0,tr.jsx)(M2,{className:"min-h-0",gridClassName:"max-h-none",onOpenChange:r}),(0,tr.jsx)(En,{className:"shrink-0 p-0",children:(0,tr.jsx)(Ee,{asChild:!0,children:(0,tr.jsx)(C8,{type:"button",variant:"outline",className:"w-full",children:n("close")})})})]})})}function M9({className:e,value:t,max:r=100,...n}){let i=r>0?r:100,a="number"==typeof t?Math.min(Math.max(t/i*100,0),100):0;return(0,tr.jsx)(mA,{"data-slot":"progress",className:C4("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),value:t,max:i,...n,children:(0,tr.jsx)(mg,{"data-slot":"progress-indicator",className:"h-full bg-primary transition-[width]",style:{width:`${a}%`}})})}let M4=[{minimumProgress:0,translationKey:"floor.processing.stages.reading"},{minimumProgress:28,translationKey:"floor.processing.stages.mapping"},{minimumProgress:56,translationKey:"floor.processing.stages.lighting"},{minimumProgress:82,translationKey:"floor.processing.stages.finalizing"},{minimumProgress:100,translationKey:"floor.processing.stages.ready"}];function M5({isComplete:e,open:t,onCloseAnimationEnd:r,onOpenChange:n,portalContainer:i}){let{t:a}=rj(),o=(0,te.useRef)(t),[s,l]=(0,te.useState)(8),c=e?100:s,u=function(e){for(let t=M4.length-1;t>=0;t-=1){let r=M4[t];if(r&&e>=r.minimumProgress)return r}return M4[0]}(c);(0,te.useEffect)(()=>{t&&!o.current&&l(8),o.current=t},[t]),(0,te.useEffect)(()=>{if(!t||e)return;let r=window.setInterval(()=>{l(e=>Math.min(92,e+Math.max(2,Math.round((92-e)/8))))},650);return()=>window.clearInterval(r)},[e,t]);let d=(0,tr.jsxs)("div",{role:"status","aria-live":"polite",className:"grid content-start gap-4",children:[(0,tr.jsx)("h2",{className:"typo-base-18 font-medium text-text-dark",children:a("floor.processing.title")}),(0,tr.jsxs)("div",{"data-testid":"floor-processing-progress-panel",className:"grid min-h-[97px] min-w-0 content-center gap-2 overflow-hidden rounded-xl bg-background-base px-6 py-8",children:[(0,tr.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-3",children:[(0,tr.jsx)("span",{className:"typo-base-14 min-w-0 flex-1 truncate text-left font-medium text-text-light",children:a(u.translationKey)}),(0,tr.jsxs)("span",{className:"typo-base-14 shrink-0 font-medium text-text-dark",children:[c,"%"]})]}),(0,tr.jsx)(M9,{value:c,"aria-label":a("floor.processing.progressLabel"),className:"h-1 bg-background-base-3 [&_[data-slot=progress-indicator]]:bg-button-dark [&_[data-slot=progress-indicator]]:duration-500 [&_[data-slot=progress-indicator]]:ease-out"})]})]});return(0,tr.jsx)(C6,{open:t,onOpenChange:n,children:(0,tr.jsxs)(Er,{portalContainer:i,showCloseButton:!1,"data-testid":"floor-processing-card",className:"top-auto bottom-2 w-[calc(100%-16px)] !max-w-none translate-y-0 gap-4 overflow-hidden rounded-2xl p-6 text-center sm:top-[50%] sm:bottom-auto sm:w-full sm:!max-w-[377px] sm:translate-y-[-50%] sm:p-6",onInteractOutside:e=>{e.preventDefault()},onAnimationEnd:e=>{e.currentTarget===e.target&&"closed"===e.currentTarget.getAttribute("data-state")&&r?.()},children:[(0,tr.jsx)(Ei,{className:"sr-only",children:a("floor.processing.title")}),(0,tr.jsx)(Ea,{className:"sr-only",children:a(u.translationKey)}),d]})})}function M8(){if(!c){let e=new vY;c={os:e.getOS().name,type:e.getDevice().type}}return c}function M6(){return"iOS"===M8().os}function M7(){return"Android"===M8().os}function Ie(e,t){return!(!e||M7()&&"mobile"===M8().type||M7()&&"appclip"===e.ar)&&("floor"!==e.destination||!!t)}let It=/oklch\(([0-9.]+)\s+([0-9.]+)\s+([0-9.]+)\)/;function Ir(e,t){let r=e.match(It);return r?{l:Number.parseFloat(r[1]),c:Number.parseFloat(r[2]),h:Number.parseFloat(r[3])}:{l:t[0],c:t[1],h:t[2]}}function In({data:e,foreground:t,background:r,robustness:n="M",className:i,...a}){let[o,s]=(0,te.useState)(null);return((0,te.useEffect)(()=>{(async()=>{try{let i=getComputedStyle(document.documentElement),a=t??i.getPropertyValue("--foreground"),o=r??i.getPropertyValue("--background"),l=Ir(a,[.21,.006,285.885]),c=Ir(o,[.985,0,0]),u=await ww.toString(e,{type:"svg",color:{dark:wb(wy({mode:"oklch",...l})),light:wb(wy({mode:"oklch",...c}))},width:200,errorCorrectionLevel:n,margin:0});s(u)}catch(e){console.error(e)}})()},[e,t,r,n]),o)?(0,tr.jsx)("div",{className:C4("size-full","[&_svg]:size-full",i),dangerouslySetInnerHTML:{__html:o},...a}):null}async function Ii(e){return await e.updateComplete,!e.canActivateAR&&navigator.xr?.isSessionSupported&&(await navigator.xr.isSessionSupported("immersive-ar").catch(()=>!1),await new Promise(e=>setTimeout(e))),e}async function Ia(e){let t;await e.activateAR(),("session-started"===(t=e.getAttribute("ar-status"))||"object-placed"===t)&&await new Promise(t=>{let r=n=>{"not-presenting"===n.detail.status&&(e.removeEventListener("ar-status",r),t())};e.addEventListener("ar-status",r)})}function Io({className:e,buttonClassName:t,buttonLeadingIcon:n,buttonLabel:i,buttonSize:a,buttonVariant:o="contrast",...s}){let{type:l,width:c,height:u,name:d}=EH(),{handoff:h}=EE[l],{src:p,tinuuid:A,widgetSession:f}=EW(),{containerRef:g,resourceRef:m}=EK(),{t:v,i18n:b}=rj(),y=function(){let{i18n:e}=rj();return"ru"===(e.resolvedLanguage??e.language)?"arizo":"vizbl"}(),[w,x]=(0,te.useState)(""),[C,E]=(0,te.useState)(""),[S,M]=(0,te.useState)(()=>f?.token),[I,B]=(0,te.useState)(!1),[k,T]=(0,te.useState)(!1),R=(0,te.useRef)(null),P=(0,te.useRef)(null),[D,_]=(0,te.useState)(!1),L=(0,te.useRef)(!1),F=b.resolvedLanguage??b.language,N=Sh[y],O=(0,te.useMemo)(()=>(function({height:e,language:t,name:r,src:n,tenantConfig:i,tinuuid:a,handoff:o,type:s,width:l,widgetSessionToken:c,pageUrl:u}){if(!o)return null;if("floor"===o.destination&&a){let e=new URL(i.ROOM_URL);return e.searchParams.set("type",s),e.searchParams.set("tinuuid",a),e.searchParams.set("name",r),e.searchParams.set("language",t),c&&e.searchParams.set("widgetSessionToken",c),e.toString()}let d=new URL(i.POSTER_URL);return n&&d.searchParams.set("texture",function(e,t){if(!t||/^[a-z][a-z0-9+.-]*:/i.test(e)||e.startsWith("//"))return e;try{return new URL(e,t).href}catch{return e}}(n,u)),d.searchParams.set("texture_width",(100*l).toString()),d.searchParams.set("texture_height",(100*e).toString()),c&&d.searchParams.set("widgetSessionToken",c),d.toString()})({height:u,language:F,name:d,src:p,tenantConfig:N,tinuuid:A,handoff:h,type:l,width:c,widgetSessionToken:S,pageUrl:"u"<typeof window?void 0:window.location.href}),[p,A,h,l,c,u,d,F,N,S]),Q=(0,te.useMemo)(()=>{if(!A)return null;let e=new URL("https://appclip.apple.com/id");return e.searchParams.set("p","com.us.vizbl.Clip"),e.searchParams.set("tinuuid",A),e.toString()},[A]),U=(0,te.useCallback)(e=>{R.current=e,e&&P.current?.resolve(e)},[]);function z(){P.current=null,_(!1)}async function j(){M(await f?.getTokenForRequest().catch(()=>f.token))}let G=async()=>{let e;if(h?.ar==="appclip"){if(!A)return;if(M6()&&Q){CY(f,"appclip"),window.location.assign(Q);return}await j(),B(!0);return}if(!m.current||L.current)return;L.current=!0;try{e=await function(){if(!P.current){let e,t=new Promise(t=>{e=t});P.current={resolve:e,promise:Promise.resolve().then(r.bind(r,"../../node_modules/.pnpm/@google+model-viewer@4.2.0_three@0.185.1/node_modules/@google/model-viewer/lib/model-viewer.js")).then(()=>(_(!0),t),e=>{throw P.current=null,e})}}return P.current.promise.then(Ii)}()}finally{L.current=!1}let t=m.current;if(!t)return void z();if(e.canActivateAR)try{T(!0);let e=t.clone(!0);if(e.position.set(0,0,0),e.quaternion.identity(),e.updateMatrix(),e.updateMatrixWorld(!0),M6()){e.rotation.set(-Math.PI/2,0,0),e.updateMatrix(),e.updateMatrixWorld(!0);let t=new wC.U,r=await t.parseAsync(e,{ar:{anchoring:{type:"plane"},planeAnchoring:{alignment:"vertical"}}}),n=new File([r],"scene.usdz",{type:"model/vnd.usdz+zip"});x(URL.createObjectURL(n))}else{let t=new wx.r,r=await t.parseAsync(e,{binary:!0}),n=new File([r],"scene.glb",{type:"model/gltf-binary"});E(URL.createObjectURL(n))}}catch(e){throw z(),e}finally{T(!1)}else z(),await j(),B(!0)};if((0,te.useEffect)(()=>{let e=R.current;return e&&(""!==w||""!==C)&&Ia(e).finally(z),()=>{""!==w&&URL.revokeObjectURL(w),""!==C&&URL.revokeObjectURL(C)}},[w,C]),!Ie(h,A))return null;let H="appclip"===h.ar;return(0,tr.jsxs)("div",{className:C4(e),...s,children:[(0,tr.jsxs)(C8,{variant:o,size:a,disabled:k,onClick:G,className:t,children:[n,i??v("ar.viewInPlace")]}),(0,tr.jsx)(C6,{open:I,onOpenChange:B,children:(0,tr.jsxs)(Er,{className:"gap-6 sm:max-w-120",showCloseButton:!1,portalContainer:g,children:[(0,tr.jsx)("div",{className:"flex items-center justify-center p-10 bg-constant-white rounded-2xl",children:(0,tr.jsx)(In,{className:"size-48",robustness:"H",data:O??""})}),H?(0,tr.jsxs)("div",{className:"grid gap-2 text-center",children:[(0,tr.jsx)("p",{className:"text-lg text-text-sub font-medium",children:v("ar.appClipScanTitle")}),(0,tr.jsx)("p",{className:"text-sm text-text-light",children:v("ar.appClipRequirement")})]}):(0,tr.jsx)("p",{className:"text-lg text-center text-text-sub font-medium",children:v("ar.scanQrCode")}),(0,tr.jsxs)("p",{className:"text-xs text-center text-text-light",children:[!H&&(0,tr.jsxs)(tr.Fragment,{children:[v("ar.deviceRequirementsDisclaimer"),(0,tr.jsx)("br",{})]}),(0,tr.jsx)("a",{href:N.TERMS_URL,target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 transition-colors duration-300 hover:text-text-dark",style:{textDecoration:"underline",textUnderlineOffset:"2px"},children:v("legal.termsOfUse")})," ",v("legal.conjunction")," ",(0,tr.jsx)("a",{href:N.PRIVACY_URL,target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 transition-colors duration-300 hover:text-text-dark",style:{textDecoration:"underline",textUnderlineOffset:"2px"},children:v("legal.privacyPolicy")})]}),(0,tr.jsx)(Ee,{asChild:!0,children:(0,tr.jsx)(C8,{variant:"contrast",size:"lg",children:v("close")})})]})}),D&&(0,tr.jsx)("model-viewer",{ref:U,className:"fixed w-px h-px opacity-0 pointer-events-none",src:C,iosSrc:w,reveal:"manual",ar:!0,cameraControls:!0,arPlacement:"wall",arModes:"webxr",arScale:"fixed",shadowIntensity:1,interactionPromptThreshold:100})]})}let Is={"inline-compact":"h-9 w-full rounded-xl","inline-large":"h-11 w-full rounded-xl"},Il={"inline-compact":"size-5","inline-large":"size-6"},Ic={desktop:"floor-ar-card",tablet:void 0,phone:void 0};function Iu({...e}){return(0,tr.jsx)(wU,{"data-slot":"select",...e})}function Id({...e}){return(0,tr.jsx)(wH,{"data-slot":"select-value",...e})}function Ih({className:e,size:t="default",children:r,...n}){return(0,tr.jsxs)(wj,{"data-slot":"select-trigger","data-size":t,className:C4("flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-background-white shadow-sm outline-none transition-colors cursor-pointer","border-border-medium","text-text-dark","hover:border-border-dark","focus-visible:border-border-dark","aria-invalid:border-border-red","disabled:cursor-not-allowed disabled:border-border-medium disabled:bg-background-base disabled:opacity-40","data-[size=default]:h-11 data-[size=default]:px-2 data-[size=default]:py-2.5 data-[size=default]:typo-base-16","data-[size=md]:h-9 data-[size=md]:px-2 data-[size=md]:py-2 data-[size=md]:typo-base-14","data-[size=sm]:h-[1.875rem] data-[size=sm]:px-2 data-[size=sm]:typo-base-12","*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-6 [&_svg:not([class*=text-])]:text-text-dark",e),...n,children:[r,(0,tr.jsx)(wV,{asChild:!0,children:(0,tr.jsx)(Eu,{className:"size-6"})})]})}function Ip({className:e,children:t,position:r="item-aligned",align:n="center",portalContainer:i,...a}){return(0,tr.jsx)(wq,{container:i,children:(0,tr.jsxs)(wK,{"data-slot":"select-content",className:C4("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-xl border bg-background-white text-text-dark shadow-md","border-border-medium","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:n,...a,children:[(0,tr.jsx)(If,{}),(0,tr.jsx)(w9,{className:C4("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,tr.jsx)(Ig,{})]})})}function IA({className:e,children:t,...r}){return(0,tr.jsxs)(xr,{"data-slot":"select-item",className:C4("relative flex w-full cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-8 pl-3 outline-hidden","typo-base-16 text-text-sub","focus:bg-background-base focus:text-text-dark","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-6 [&_svg:not([class*=text-])]:text-text-dark","*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[(0,tr.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-6 items-center justify-center",children:(0,tr.jsx)(xo,{children:(0,tr.jsx)(Es,{className:"size-5"})})}),(0,tr.jsx)(xi,{children:t})]})}function If({className:e,...t}){return(0,tr.jsx)(xl,{"data-slot":"select-scroll-up-button",className:C4("flex cursor-default items-center justify-center py-1",e),...t,children:(0,tr.jsx)(lG,{className:"size-4"})})}function Ig({className:e,...t}){return(0,tr.jsx)(xu,{"data-slot":"select-scroll-down-button",className:C4("flex cursor-default items-center justify-center py-1",e),...t,children:(0,tr.jsx)(lH,{className:"size-4"})})}let Im=/^[a-z][a-z\d+.-]*:/i;function Iv(e,t="m"){switch(t){case"cm":return e/100;case"in":return .0254*e;case"m":return e}}function Ib(e,t){switch(t){case"cm":return 100*e;case"in":return e/.0254}}function Iy(e){let{t}=rj();return(0,te.useMemo)(()=>[{value:0,label:t("mattingOptions.none")},{value:.05,label:`${Number(Ib(.05,e).toFixed(2)).toString()} ${t(`units.${e}`)}`}],[e,t])}function Iw({label:e,variant:t,size:r,className:n}){let{t:i}=rj(),{displayUnit:a}=EH(),{containerRef:o}=EK(),{material:s,options:l,selectMaterial:c}=function(){let{material:e,setMaterial:t,setTinuuid:r,apiKey:n,baseURL:i,language:a,source:o,widgetSession:s}=EW(),l=nQ({queries:M0({apiKey:n,baseURL:i,language:a,source:o,widgetSession:s})}),c=(0,te.useMemo)(()=>l.flatMap(e=>{let t=e.data,r=t?.materials?.[0];return t?.tinuuid&&r?.hid?[{material:r,materialId:r.hid,tinuuid:t.tinuuid}]:[]}),[l]),u=(0,te.useCallback)(e=>{let n=c.find(t=>t.materialId===e);return!!n&&(t(n.material),r(n.tinuuid),!0)},[c,t,r]);return{material:e,options:c,selectMaterial:u}}(),{matting:u,setMatting:d}=EX(),h=Iy(a),p=(0,te.useId)(),A=(0,te.useId)();return(0,tr.jsxs)(EI,{modal:!1,children:[(0,tr.jsx)(EB,{asChild:!0,children:(0,tr.jsxs)(C8,{type:"button",variant:t,size:r,className:n,children:[(0,tr.jsx)(EA,{className:"size-4"}),e]})}),(0,tr.jsxs)(ET,{portalContainer:o,collisionBoundary:o,collisionPadding:8,align:"start",className:"flex w-56 max-w-[var(--radix-dropdown-menu-content-available-width)] flex-col",style:{maxHeight:"var(--radix-dropdown-menu-content-available-height)"},children:[(0,tr.jsx)(ED,{id:p,children:i("wallArt.pictureFrame")}),(0,tr.jsx)(Ek,{"aria-labelledby":p,className:"min-h-0 overflow-y-auto overscroll-contain",children:l.map(e=>(0,tr.jsxs)(EP,{indicatorPosition:"right",checked:s?.hid===e.materialId,onCheckedChange:()=>c(e.materialId),onSelect:e=>e.preventDefault(),className:"gap-2 [@media(pointer:coarse)]:min-h-11",children:[(0,tr.jsx)("span",{className:"pointer-events-none size-5 shrink-0 rounded-full border border-border-light",style:{backgroundColor:e.material.miniature?.color?.hex?`#${e.material.miniature.color.hex}`:void 0}}),(0,tr.jsx)("span",{className:"min-w-0 flex-1",children:e.material.miniature?.color?.name??e.material.name})]},`${e.tinuuid}-${e.materialId}`))}),(0,tr.jsx)(E_,{}),(0,tr.jsx)(ED,{id:A,children:i("matting")}),(0,tr.jsx)(Ek,{"aria-labelledby":A,className:"shrink-0",children:h.map(e=>(0,tr.jsx)(EP,{indicatorPosition:"right",checked:u===e.value,onCheckedChange:()=>d(e.value),onSelect:e=>e.preventDefault(),className:"[@media(pointer:coarse)]:min-h-11",children:e.label},e.value))})]})]})}function Ix({className:e,...t}){return(0,tr.jsx)("div",{"data-slot":"field-group",className:C4("group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",e),...t})}let IC=oY("group/field flex w-full gap-3 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],horizontal:["flex-row items-center","[&>[data-slot=field-label]]:flex-auto","has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"],responsive:["flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto","@md/field-group:[&>[data-slot=field-label]]:flex-auto","@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"]}},defaultVariants:{orientation:"vertical"}});function IE({className:e,orientation:t="vertical",...r}){return(0,tr.jsx)("div",{role:"group","data-slot":"field","data-orientation":t,className:C4(IC({orientation:t}),e),...r})}function IS({className:e,...t}){return(0,tr.jsx)("div",{"data-slot":"field-label",className:C4("flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50",e),...t})}function IM({...e}){return(0,tr.jsx)(xC,{"data-slot":"popover",...e})}function II({...e}){return(0,tr.jsx)(xM,{"data-slot":"popover-trigger",...e})}function IB({className:e,align:t="center",sideOffset:r=4,portalContainer:n,...i}){return(0,tr.jsx)(xT,{container:n,children:(0,tr.jsx)(xP,{"data-slot":"popover-content",align:t,sideOffset:r,className:C4("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...i})})}function Ik({className:e,defaultValue:t,value:r,min:n=0,max:i=100,variant:a="default","aria-label":o,"aria-labelledby":s,...l}){let c=(0,te.useMemo)(()=>Array.isArray(r)?r:Array.isArray(t)?t:[n],[r,t,n]);return(0,tr.jsxs)(xY,{"data-slot":"slider",defaultValue:t,value:r,min:n,max:i,"data-variant":a,"aria-label":o,"aria-labelledby":s,className:C4("relative flex w-full touch-none cursor-pointer items-center select-none data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...l,children:[(0,tr.jsx)(x3,{"data-slot":"slider-track",className:C4("relative grow overflow-hidden rounded-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5","editor"===a?"bg-border-light data-[orientation=horizontal]:h-0.5":"bg-muted data-[orientation=horizontal]:h-1.5"),children:(0,tr.jsx)(x4,{"data-slot":"slider-range",className:C4("absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full","editor"===a?"bg-background-blue":"bg-primary")})}),Array.from({length:c.length},(e,t)=>(0,tr.jsx)(x8,{"data-slot":"slider-thumb","aria-label":o,"aria-labelledby":s,className:C4("ring-ring/50 block shrink-0 rounded-full border bg-white transition-[color,box-shadow] focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50","editor"===a?"size-3 border-background-blue shadow-none hover:ring-2 focus-visible:ring-2":"size-4 border-primary shadow-sm hover:ring-4 focus-visible:ring-4")},t))]})}function IT({variant:e,size:t}){let{t:r}=rj(),{containerRef:n}=EK();return(0,tr.jsxs)(IM,{children:[(0,tr.jsx)(II,{asChild:!0,children:(0,tr.jsxs)(C8,{type:"button",variant:e,size:t,className:"shrink-0",children:[(0,tr.jsx)(Ef,{className:"size-4"}),(0,tr.jsx)("span",{className:"sr-only",children:r("scene.tunePosition")})]})}),(0,tr.jsxs)(IB,{className:"flex flex-col gap-4 border-button-dark bg-button-dark px-3 py-3.5 text-text-white",side:"top",align:"start",portalContainer:n,collisionBoundary:n,collisionPadding:8,children:[(0,tr.jsxs)(Ix,{children:[(0,tr.jsxs)(IE,{orientation:"horizontal",children:[(0,tr.jsx)(IS,{children:r("scene.rotation")}),(0,tr.jsx)(IR,{gesture:"rotation",min:-180,max:180,"aria-label":r("scene.rotation")})]}),(0,tr.jsxs)(IE,{orientation:"horizontal",children:[(0,tr.jsx)(IS,{children:r("scene.angle")}),(0,tr.jsx)(IR,{gesture:"angle",min:-75,max:75,"aria-label":r("scene.angle")})]})]}),(0,tr.jsx)(IP,{})]})]})}function IR({gesture:e,min:t,max:r,"aria-label":n}){let i=EY(e),{sceneGestures:{setAngle:a,setRotation:o}}=EJ(),s="angle"===e?a:o;return(0,tr.jsx)(Ik,{value:[i],onValueChange:([e])=>s(e??0),min:t,max:r,step:1,className:"w-40.5 **:data-[slot=slider-range]:bg-transparent **:data-[slot=slider-thumb]:border-background-base-3 **:data-[slot=slider-thumb]:bg-background-base-3 **:data-[slot=slider-track]:bg-icons-normal","aria-label":n})}function IP(){let{t:e}=rj(),t=EY("rotation"),r=EY("angle"),{sceneGestures:{setAngle:n,setRotation:i}}=EJ();return(0,tr.jsxs)(C8,{type:"button",variant:"ghost",size:"sm",className:"w-full text-text-white hover:bg-white/10 hover:text-text-white active:bg-white/20",disabled:0===t&&0===r,onClick:()=>{i(0),n(0)},children:[(0,tr.jsx)(Eg,{className:"size-4"}),e("scene.resetPosition")]})}let ID={card:"flex min-h-24 w-fit max-w-100 items-center gap-4 rounded-2xl bg-background-containers p-4 text-left text-text-dark shadow-[var(--shadow-login)]","compact-card":"flex min-h-[116px] w-fit max-w-[421px] items-center gap-4 rounded-2xl bg-background-containers p-4 text-left text-text-dark shadow-[var(--shadow-login)]","flow-card":"flex items-center justify-start gap-4 border-b border-border-light bg-background-containers p-4 text-left"},I_={card:"size-6 text-icons-normal","compact-card":"size-6 text-icons-normal","flow-card":"size-5 text-icons-normal"},IL={desktop:"floor-desktop-product-card",tablet:"floor-tablet-product-card",phone:"floor-mobile-product-card"},IF={default:"icon",sm:"icon-sm",lg:"icon-lg",icon:"icon","icon-sm":"icon-sm","icon-lg":"icon-lg"},IN={card:"flex h-24 w-[254px] items-center gap-4 overflow-hidden rounded-2xl bg-background-containers p-4 text-left text-text-dark shadow-[var(--shadow-login)]","framed-row":"flex h-[72px] items-center justify-between gap-3 overflow-hidden rounded-2xl bg-background-containers p-4 text-left text-text-dark shadow-[var(--shadow-login)]","plain-row":"flex w-full items-center justify-between gap-3 rounded-full bg-background-containers text-left"},IO={desktop:"floor-room-card",tablet:"floor-tablet-room-card",phone:void 0},IQ={desktop:"floor-desktop-room-name",tablet:"floor-tablet-room-name",phone:"floor-mobile-room-name"},IU={"product-card":function({actions:e,band:t,slot:r,presentation:n}){let i,{t:a}=rj(),{displayUnit:o,name:s,type:l}=EH(),{containerRef:c}=EK(),{material:u,selectedObject:d,src:h,tinuuid:p}=EW(),{variantItems:A,selectedTinuuid:f,selectVariant:g}=function(){let{tinuuid:e,selectedObject:t,selectResourceVariant:r,apiKey:n,baseURL:i,language:a,source:o,widgetSession:s}=EW(),{type:l}=EH(),{decodeVariant:c}=MX(l),u=t?.kit?.uuid,d=t?.owner?.uuid,{data:h,fetchNextPage:p,hasNextPage:A,isFetchingNextPage:f,isFetchNextPageError:g}=nF({queryKey:C0(u,d,{apiKey:n,baseURL:i,language:a,source:o,resourceType:l}),enabled:!!c&&!!u&&!!d,queryFn:({pageParam:e,signal:t})=>{if(!u||!d)throw Error("Kit uuid and owner uuid are required.");return C3(u,d,e,{apiKey:n,baseURL:i,language:a,signal:t,source:o,widgetSession:s,resourceType:l})},initialPageParam:1,getNextPageParam:(e,t,r)=>r<e.pages_count?r+1:void 0},nS,void 0);(0,te.useEffect)(()=>{!A||f||g||p({cancelRefetch:!1})},[h?.pages.length,p,A,f,g]);let m=(0,te.useMemo)(()=>h?.pages.flatMap(e=>e.objs)??[],[h]),v=(0,te.useMemo)(()=>{let e=new Set;return m.flatMap(t=>{let r=c?.(t);return!t.tinuuid||!t.materials?.[0]||!r||e.has(t.tinuuid)?[]:(e.add(t.tinuuid),[{tinuuid:t.tinuuid,...r}])})},[m,c]);return{variantItems:v,selectedTinuuid:e,selectVariant:e=>!!v.some(t=>t.tinuuid===e)&&(r(e),!0)}}(),{materialSource:m,offersReplacement:v,hasPictureFrame:b}=Sb(l),y="drag-with-rotation-and-angle"===EE[l].manipulation,w=IL[t],x=a(`resourceType.${l}.${n.actionLabelResourceTypeKey}`),C=C4("w-fit shrink-0","fixed"===n.actionWidth&&"w-[137px]"),E=a(`units.${o}`),S=e.isMaterialSelectionOpen,M=MZ(l,d,u,s),I="artwork-src"===m?h:(i=u?.previews?.[0],i?.subRes?.small??i?.url??d?.preview?.subRes?.small??d?.preview?.url??d?.mainPreview),B=A.find(e=>e.tinuuid===f),k=function(e){let t=e?.trim();if(!t||Im.test(t)&&!/^https?:/i.test(t)||/^[./?#]/.test(t)&&!t.startsWith("//"))return;let r=t.startsWith("//")?`https:${t}`:/^https?:/i.test(t)?t:`https://${t}`;try{let e=new URL(r);if("http:"!==e.protocol&&"https:"!==e.protocol||!e.hostname)return;return e.href}catch{return}}(d?.tinuuid===p?d.destinationUrl:void 0),T=S?e.onMaterialSelectionActionPointerDown:void 0;return(0,tr.jsxs)("div",{className:ID[n.appearance],"data-chrome-slot":r,"data-neurodyn-room-viewer-product":"","data-testid":w,children:[(0,tr.jsx)("div",{className:"grid size-16 shrink-0 place-items-center overflow-hidden bg-background-base",children:I?(0,tr.jsx)("img",{src:I,alt:"",className:"size-full min-h-0 object-cover"}):(0,tr.jsx)(Eh,{className:I_[n.appearance]})}),(0,tr.jsxs)("div",{className:"grid min-h-16 min-w-0 flex-1 grid-cols-1 content-center gap-3",children:[(0,tr.jsxs)("div",{className:"flex min-w-0 items-baseline justify-between gap-4",children:[(0,tr.jsxs)("div",{className:"min-w-0",children:[(0,tr.jsx)("div",{className:"sr-only",children:a(`resourceType.${l}.productCardTitle`)}),(0,tr.jsx)("div",{className:"typo-button-normal overflow-x-clip text-ellipsis whitespace-nowrap text-text-dark",children:M})]}),k&&(0,tr.jsx)("a",{href:k,target:"_blank",rel:"noopener noreferrer",className:"typo-button-normal shrink-0 text-button-primary underline-offset-2 hover:underline","data-testid":`${w}-description-link`,children:a("floor.scene.description")})]}),(0,tr.jsxs)("div",{className:"flex flex-nowrap items-center gap-4",children:[v&&(0,tr.jsxs)(C8,{type:"button",variant:n.actionVariant,size:n.actionSize,[MG]:!0,"aria-expanded":S,className:C,onPointerDown:T?e=>{e.preventDefault(),e.stopPropagation(),T()}:void 0,onClick:S?e.closeMaterialSelection:e.openMaterialSelection,children:[S?(0,tr.jsx)(El,{className:"size-4"}):(0,tr.jsx)(EA,{className:"size-4"}),S?a("floor.scene.hideCatalog"):x]}),(b||y)&&(0,tr.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[b&&(0,tr.jsx)(Iw,{label:x,variant:n.actionVariant,size:n.actionSize,className:C}),y&&(0,tr.jsx)(IT,{variant:n.actionVariant,size:IF[n.actionSize]})]}),A.length>1&&!!B&&(0,tr.jsxs)(Iu,{value:f??void 0,onValueChange:g,children:[(0,tr.jsx)(Ih,{size:"sm",className:"ml-auto w-fit min-w-0 shrink data-[size=sm]:h-8 *:data-[slot=select-value]:block *:data-[slot=select-value]:truncate","data-testid":`${w}-variant-select`,children:(0,tr.jsx)(Id,{})}),(0,tr.jsx)(Ip,{portalContainer:c,children:A.map(e=>{var t;let r;return(0,tr.jsx)(IA,{value:e.tinuuid,children:"color"in e?e.color:(t=e.size,r=t.split("\xd7").map(e=>"cm"===o?e:Math.round(Ib(Number(e)/100,o)).toString()).join("\xd7"),`${r} ${E}`)},e.tinuuid)})})]})]})]})]})},"room-card":function({actions:e,band:t,slot:r,presentation:n}){let{t:i}=rj(),{room:a}=Eq(),o=i(`rooms.${a.id}`,{defaultValue:a.name}),s=(0,tr.jsx)(C8,{type:"button",variant:n.actionVariant,size:n.actionSize,className:"card"===n.appearance?"w-fit":"shrink-0",onClick:e.openInteriorSelection,children:i(n.actionLabelKey)});return"card"===n.appearance?(0,tr.jsxs)("div",{className:IN[n.appearance],"data-chrome-slot":r,"data-neurodyn-room-viewer-room":"","data-testid":IO[t],children:[(0,tr.jsx)("img",{crossOrigin:"anonymous",src:EM(a),alt:"",className:"size-16 shrink-0 rounded-lg object-cover"}),(0,tr.jsxs)("span",{className:"grid min-w-0 flex-1 content-center gap-3",children:[(0,tr.jsx)("span",{className:"typo-button-normal block overflow-x-clip text-ellipsis whitespace-nowrap text-text-dark","data-testid":IQ[t],children:o}),s]})]}):(0,tr.jsxs)("div",{className:IN[n.appearance],"data-chrome-slot":r,"data-neurodyn-room-viewer-room":"","data-testid":IO[t],children:[(0,tr.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,tr.jsx)("img",{crossOrigin:"anonymous",src:EM(a),alt:"",className:"size-10 shrink-0 rounded-full object-cover"}),(0,tr.jsxs)("span",{className:"grid min-w-0",children:[(0,tr.jsx)("span",{className:"typo-base-12 truncate text-text-light",children:i("floor.scene.interiorCardTitle")}),(0,tr.jsx)("span",{className:"typo-button-normal overflow-x-clip text-ellipsis whitespace-nowrap text-text-dark","data-testid":IQ[t],children:o})]})]}),s]})},"ar-card":function({band:e,slot:t,presentation:r}){let{t:n}=rj(),{room:i}=Eq(),{type:a}=EH(),{tinuuid:o}=EW();return Ie(EE[a].handoff,o)?"card"===r.appearance?(0,tr.jsxs)("div",{className:"flex h-24 w-[280px] items-center gap-4 overflow-hidden rounded-2xl bg-background-containers p-4 text-text-dark shadow-[var(--shadow-login)]","data-chrome-slot":t,"data-neurodyn-room-viewer-try-at-home":"","data-testid":Ic[e],children:[(0,tr.jsx)("img",{crossOrigin:"anonymous",src:EM(i),alt:"",className:"size-16 shrink-0 rounded-lg object-cover"}),(0,tr.jsxs)("div",{className:"grid min-w-0 flex-1 content-center gap-2",children:[(0,tr.jsx)(Io,{buttonLabel:n(r.actionLabelKey),buttonVariant:r.actionVariant,buttonSize:r.actionSize,buttonClassName:"w-fit"}),(0,tr.jsx)("div",{className:"typo-base-12 truncate font-medium text-text-light",children:n("floor.scene.tryAtHomeBody")})]})]}):(0,tr.jsx)(Io,{className:"w-full","data-chrome-slot":t,"data-neurodyn-room-viewer-try-at-home":"",buttonLabel:n(r.actionLabelKey),buttonLeadingIcon:(0,tr.jsx)(Ev,{className:Il[r.appearance]}),buttonVariant:r.actionVariant,buttonSize:r.actionSize,buttonClassName:Is[r.appearance]}):null}},Iz={"immersive-default":{desktop:[{slot:"product-card",container:"leading",appearance:"card",actionLabelResourceTypeKey:"replaceProduct",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"leading",appearance:"card",actionLabelKey:"floor.interiorSelection.chooseInterior",actionVariant:"outline",actionSize:"sm"},{slot:"ar-card",container:"trailing",appearance:"card",actionLabelKey:"floor.scene.tryAtHome",actionVariant:"secondary",actionSize:"sm"}],tablet:[{slot:"product-card",container:"leading",appearance:"compact-card",actionLabelResourceTypeKey:"replaceProduct",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"trailing",appearance:"framed-row",actionLabelKey:"floor.interiorSelection.chooseInteriorShort",actionVariant:"outline",actionSize:"sm"},{slot:"ar-card",container:"trailing",appearance:"inline-compact",actionLabelKey:"floor.scene.tryAtHome",actionVariant:"secondary",actionSize:"default"}],phone:[{slot:"product-card",container:"leading",appearance:"flow-card",actionLabelResourceTypeKey:"replaceProductShort",actionVariant:"outline",actionSize:"sm",actionWidth:"fixed"},{slot:"room-card",container:"trailing",appearance:"plain-row",actionLabelKey:"floor.interiorSelection.chooseInterior",actionVariant:"outline",actionSize:"sm"},{slot:"ar-card",container:"trailing",appearance:"inline-large",actionLabelKey:"floor.scene.tryAtHome",actionVariant:"secondary",actionSize:"lg"}]},"immersive-panels":{desktop:[{slot:"product-card",container:"leading",appearance:"card",actionLabelResourceTypeKey:"replaceProduct",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"leading",appearance:"card",actionLabelKey:"floor.interiorSelection.chooseInterior",actionVariant:"outline",actionSize:"sm"}],tablet:[{slot:"product-card",container:"leading",appearance:"compact-card",actionLabelResourceTypeKey:"replaceProduct",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"trailing",appearance:"framed-row",actionLabelKey:"floor.interiorSelection.chooseInteriorShort",actionVariant:"outline",actionSize:"sm"}],phone:[{slot:"product-card",container:"leading",appearance:"flow-card",actionLabelResourceTypeKey:"replaceProductShort",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"trailing",appearance:"plain-row",actionLabelKey:"floor.interiorSelection.chooseInterior",actionVariant:"outline",actionSize:"sm"}]},"immersive-wallart":{desktop:[{slot:"product-card",container:"leading",appearance:"card",actionLabelResourceTypeKey:"appearance",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"leading",appearance:"card",actionLabelKey:"floor.interiorSelection.chooseInterior",actionVariant:"outline",actionSize:"sm"},{slot:"ar-card",container:"trailing",appearance:"card",actionLabelKey:"ar.viewInPlace",actionVariant:"secondary",actionSize:"sm"}],tablet:[{slot:"product-card",container:"leading",appearance:"compact-card",actionLabelResourceTypeKey:"appearance",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"trailing",appearance:"framed-row",actionLabelKey:"floor.interiorSelection.chooseInteriorShort",actionVariant:"outline",actionSize:"sm"},{slot:"ar-card",container:"trailing",appearance:"inline-compact",actionLabelKey:"ar.viewInPlace",actionVariant:"secondary",actionSize:"default"}],phone:[{slot:"product-card",container:"leading",appearance:"flow-card",actionLabelResourceTypeKey:"appearance",actionVariant:"outline",actionSize:"sm",actionWidth:"auto"},{slot:"room-card",container:"trailing",appearance:"plain-row",actionLabelKey:"floor.interiorSelection.chooseInterior",actionVariant:"outline",actionSize:"sm"},{slot:"ar-card",container:"trailing",appearance:"inline-large",actionLabelKey:"ar.viewInPlace",actionVariant:"secondary",actionSize:"lg"}]}};function Ij({actions:e,band:t,entry:r}){let n=IU[r.slot];return(0,tr.jsx)(n,{actions:e,band:t,slot:r.slot,presentation:r})}function IG({actions:e,band:t,container:r}){let{type:n}=EH(),i=Iz[EE[n].presentation];return(0,tr.jsx)(tr.Fragment,{children:i[t].filter(e=>e.container===r).map(r=>(0,tr.jsx)(Ij,{actions:e,band:t,entry:r},r.slot))})}async function IH(e,t={}){let r=t.source??"default",n={image:e};if(Cf({apiKey:t.apiKey,source:r})){let e=await t.widgetSession?.getTokenForRequest();return CH(n,{baseURL:t.baseURL,headers:{"x-api-key":t.apiKey,...e?{[Cq]:e}:{}},signal:t.signal,timeout:0,params:{productType:Cg({apiKey:t.apiKey,source:r,resourceType:t.resourceType})}})}return t.signal?CL(n,{signal:t.signal,timeout:0}):CL(n,{timeout:0})}let IV=[{id:0,label:"empty",rgb:[0,0,0]},{id:1,label:"floor",rgb:[32,208,96]},{id:2,label:"wall-1",rgb:[255,59,48]},{id:3,label:"wall-2",rgb:[10,132,255]},{id:4,label:"ceiling",rgb:[255,214,10]},{id:5,label:"plane-5",rgb:[191,90,242]},{id:6,label:"plane-6",rgb:[255,159,10]},{id:7,label:"plane-7",rgb:[100,210,255]},{id:8,label:"plane-8",rgb:[255,45,85]}];function Iq(){try{return"1"===window.localStorage.getItem("neurodyn-room-viewer:debug-mask-export")}catch{return!1}}async function IW(e,t){var r,n,i;let a,o,s,l,c=await (r=e.planeIds.dataPng,new Promise((e,t)=>{let n=new Image;n.onload=()=>e(n),n.onerror=()=>t(Error("Failed to load room plane id mask image.")),n.crossOrigin="anonymous",n.src=r})),u=e.planeIds.width||c.naturalWidth||c.width,d=e.planeIds.height||c.naturalHeight||c.height,h=document.createElement("canvas"),p=h.getContext("2d",{willReadFrequently:!0});if(!p)throw Error("Failed to prepare room plane mask canvas.");h.width=u,h.height=d,p.drawImage(c,0,0,u,d);let A=p.getImageData(0,0,u,d),f=document.createElement("canvas"),g=f.getContext("2d");if(!g)throw Error("Failed to prepare room debug mask canvas.");f.width=u,f.height=d;for(let e=0;e<u*d;e++){let t=4*e,r=function(e){return IV.find(t=>t.id===e)??{id:e,label:`plane-${e}`,rgb:[73*e%255,151*e%255,211*e%255]}}(A.data[t]??0);A.data[t]=r.rgb[0],A.data[t+1]=r.rgb[1],A.data[t+2]=r.rgb[2],A.data[t+3]=255}g.putImageData(A,0,0),n=await new Promise((e,t)=>{f.toBlob(r=>{r?e(r):t(Error("Failed to export room plane mask image."))},"image/png")}),o=Array.from((a=t.lastIndexOf("."))>0?t.slice(0,a):t).map(e=>{let t=e.charCodeAt(0),r="."===e||"_"===e||"-"===e;return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||r?e:"-"}).join("").split("-").filter(Boolean).join("-"),i=`${o||"room"}.debug-mask.colors.png`,s=URL.createObjectURL(n),(l=document.createElement("a")).href=s,l.download=i,l.style.display="none",document.body.append(l),l.click(),l.remove(),window.setTimeout(()=>URL.revokeObjectURL(s),1e3)}let IK="custom-interiors";function IJ(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?`custom-interior-${crypto.randomUUID()}`:`custom-interior-${Date.now()}-${Math.random().toString(36).slice(2)}`}function IY(){let e="u"<typeof indexedDB?null:indexedDB;return e?new Promise((t,r)=>{let n=e.open("neurodyn-floor-custom-interiors",1);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(IK)||e.createObjectStore(IK,{keyPath:"id"})},n.onerror=()=>r(n.error??Error("Failed to open Custom Interior store.")),n.onsuccess=()=>t(n.result)}):Promise.resolve(null)}async function IX(e,t,r=new Date){let n=await IY();if(!n)return null;let i={id:IJ(),schemaVersion:1,name:e.name,fileName:e.name,createdAt:r.toISOString(),imageBlob:e,scene:t};try{let e=n.transaction(IK,"readwrite");return e.objectStore(IK).put(i),await new Promise((t,r)=>{e.oncomplete=()=>t(),e.onerror=()=>r(e.error??Error("Custom Interior transaction failed.")),e.onabort=()=>r(e.error??Error("Custom Interior transaction aborted."))}),i}finally{n.close()}}async function IZ(){let e=await IY();if(!e)return[];try{return await new Promise((t,r)=>{let n=e.transaction(IK,"readonly").objectStore(IK).getAll();n.onerror=()=>r(n.error??Error("Failed to read Custom Interiors.")),n.onsuccess=()=>{let e=n.result.filter(e=>1===e.schemaVersion).sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt));t(e)}})}finally{e.close()}}function I$(e){let t=[];return{rooms:e.map(e=>{let r=URL.createObjectURL(e.imageBlob);return t.push(r),{id:e.id,name:e.name,image_url:r,scene:e.scene}}),revokeObjectUrls:()=>{for(let e of t)URL.revokeObjectURL(e);t.length=0}}}function I0(e){let t="dialog"===e?"interior-selection":"scene";return{step:t,hasSceneSelection:"scene"===t,sceneResetKey:0}}function I1(e,t){switch(t.type){case"clear-interior-selection":return{...e,step:"interior-selection",hasSceneSelection:!1,automaticRoomId:t.automaticRoomId};case"select-initial-room":return{step:"scene",hasSceneSelection:!0,sceneResetKey:e.sceneResetKey+1,automaticRoomId:t.roomId};case"open-interior-selection":case"return-to-interior-selection":return{...e,step:"interior-selection"};case"dismiss-interior-selection":case"recover-to-scene":return e.hasSceneSelection?{...e,step:"scene"}:e;case"start-custom-interior-processing":return{...e,step:"processing-custom-interior"};case"commit-interior-selection":return{step:"scene",hasSceneSelection:!0,sceneResetKey:e.sceneResetKey+1}}}function I2(e,t){return!e.aborted&&t()}class I3 extends Error{constructor(){super("Room Photo has a Missing Surface."),this.name="CustomInteriorMissingSurfaceError"}}async function I9({abortSignal:e,apiOptions:t,commitCustomInteriorSelection:r,downloadDebugMask:n,file:i,isActive:a,isDebugMaskExportEnabled:o,onDebugMaskError:s,onPersistenceError:l,onProcessingComplete:c,predictRoomScene:u,saveCustomInterior:d,surfaces:h,trackRuntimeCustomInterior:p,waitForProcessingCompletion:A}){let f=await u(i,{...t,signal:e});if(!I2(e,a))return null;if(o()&&n(f,i.name).catch(s),SY(f,h))throw SX({planes:f.planes,source:"room-photo-upload",surfaces:h}),new I3;let g=p(i,f);return I2(e,a)&&g&&(d(i,f).catch(l),c(),await A(),I2(e,a))?(r(g),g):null}function I4(){return new Promise(e=>window.setTimeout(e,250))}function I5(e){console.error("Failed to export room debug mask",e)}function I8(e){console.error("Failed to persist Custom Interior",e)}function I6(e){console.error("Failed to prepare Custom Interior",e)}function I7({showDialogCloseButton:e=!1}){let{t}=rj(),{name:r,type:n}=EH(),{missingSurfaceMessage:i}=EE[n],{accessError:a,glbUrl:o,apiKey:s,baseURL:l,hasRooms:c,source:u,widgetSession:d,isViewerAccessPending:h,loadError:p,selectedObject:A,tinuuid:f}=EW(),{clearActiveError:g,handleAccessError:m}=function(){let{setAccessError:e,setLoadError:t}=EW();return{clearActiveError:(0,te.useCallback)(()=>{e(null),t(null)},[e,t]),handleAccessError:e}}(),{room:v,sourceRooms:b}=Eq(),{resourceRef:y,containerRef:w,setContainerRef:x,sceneLoad:C,isRoomScenePending:E}=EK(),{dialogPortalContainer:S,viewerSurface:M,viewerDialogOpen:I,onViewerDialogOpenChange:B}=EV(),[k,T]=(0,te.useState)(!1),[R,P]=(0,te.useState)(!1),D=(0,te.useRef)(null),_=(0,te.useRef)(!1),L=a??p,F=!!L,N=A?.owner?.name??A?.brand??null,{canShare:O,download:Q,isDownloading:U,isSharing:z,share:j}=function({captureRef:e,fallbackToClipboard:t=!1,fileName:r="room-scene.png",shareMessage:n}){let[i,a]=(0,te.useState)(!1),[o,s]=(0,te.useState)(!1),l=(0,te.useMemo)(()=>"u">typeof navigator&&"function"==typeof navigator.share||t&&"u">typeof navigator&&"function"==typeof navigator.clipboard?.writeText,[t]),c=(0,te.useCallback)(async()=>{if(!l)return;let i="u">typeof navigator&&"function"==typeof navigator.share,o=window.location.href,s=`${n}
|
|
7240
|
-
${o}`;a(!0);try{if(!i&&t)return void await MN(s);let n=e.current;if(n)try{let e=await n.capture(),t=new File([e],r,{type:e.type||"image/png"});if(navigator.canShare?.({files:[t]}))return void await navigator.share({text:s,files:[t]})}catch(e){console.error("Failed to generate scene screenshot for sharing",e)}await navigator.share({text:s,url:o})}catch(e){e instanceof DOMException&&"AbortError"===e.name||console.error("Failed to share scene",e)}finally{a(!1)}},[l,e,t,r,n]);return{canShare:l,download:(0,te.useCallback)(async()=>{let t=e.current;if(t){s(!0);try{var n;let e,i;n=await t.capture(),e=URL.createObjectURL(n),(i=document.createElement("a")).href=e,i.download=r,document.body.append(i),i.click(),i.remove(),URL.revokeObjectURL(e)}catch(e){console.error("Failed to download scene screenshot",e)}finally{s(!1)}}},[e,r]),isDownloading:o,isSharing:i,share:c}}({captureRef:D,fallbackToClipboard:!0,shareMessage:t(`shareMessage.${n}`)}),G=(0,te.useCallback)(()=>{T(!1),P(!1)},[]),H=(0,te.useCallback)(()=>{if(_.current){_.current=!1;return}T(!0),P(!1)},[]),V=(0,te.useCallback)(()=>{_.current=!0,G()},[G]),q=(0,te.useCallback)(()=>{P(!0),T(!1)},[]),W=function({activeError:e,apiKey:t,baseURL:r,clearActiveError:n,closeMaterialSelection:i,glbUrl:a,handleAccessError:o,hasDialogPortalContainer:s,hasRooms:l,isRoomScenePending:c,isViewerAccessPending:u,onViewerDialogOpenChange:d,resourceType:h,sceneLoad:p,source:A,sourceRooms:f,viewerDialogOpen:g,viewerSurface:m,widgetSession:v}){let b=function(e){let{initialRoomId:t,room:r,sourceRooms:n}=Eq(),{isViewerAccessPending:i,loadError:a,setLoadError:o}=EW(),{type:s}=EH(),{patchSceneLoad:l,sceneGestures:{setAngle:c,setRotation:u}}=EJ(),d=(0,te.useMemo)(()=>({patchSceneLoad:l,setAngle:c,setRotation:u}),[l,c,u]),h=n.find(e=>e.id===t),p=!!h&&(!h?.scene||SJ(h.scene,ES(s)).length>0),A=function(e,t,r){let[n,i]=(0,te.useReducer)(I1,e,I0),[a,o]=(0,te.useState)();!r?.isPending&&a!==r?.roomId&&(o(r?.roomId),r&&i(r.isAvailable?{type:"select-initial-room",roomId:r.roomId}:{type:"clear-interior-selection"}));let s=(0,te.useCallback)(e=>{e(),function({patchSceneLoad:e,setAngle:t,setRotation:r}){t(0),r(0),e(MR)}(t),i({type:"commit-interior-selection"})},[t]),l=(0,te.useCallback)(()=>{i({type:"dismiss-interior-selection"})},[]),c=(0,te.useCallback)(()=>{i({type:"open-interior-selection"})},[]),u=(0,te.useCallback)(()=>{i({type:"recover-to-scene"})},[]),d=(0,te.useCallback)(()=>{i({type:"return-to-interior-selection"})},[]),h=(0,te.useCallback)(()=>{i({type:"clear-interior-selection",automaticRoomId:n.automaticRoomId})},[n.automaticRoomId]),p=(0,te.useCallback)(()=>{i({type:"start-custom-interior-processing"})},[]);return(0,te.useMemo)(()=>({...n,commitInteriorSelection:s,dismissInteriorSelection:l,openInteriorSelection:c,recoverToScene:u,returnToInteriorSelection:d,clearInteriorSelection:h,startCustomInteriorProcessing:p}),[s,l,c,u,d,h,p,n])}(e,d,t?{roomId:t,isAvailable:p,isPending:i}:void 0),{automaticRoomId:f,clearInteriorSelection:g}=A;return(0,te.useEffect)(()=>{f&&r.id===f&&EL(a)&&(g(),o(null))},[f,g,a,r.id,o]),A}(m),y=ES(h),{appendRuntimeCustomInterior:w,customRooms:x}=function({listCustomInteriors:e,surfaces:t}){let{appendRuntimeCustomInterior:r,customRooms:n,replaceRuntimeCustomInteriors:i}=function(){let[e,t]=(0,te.useState)(()=>[]),r=(0,te.useRef)(null),n=(0,te.useCallback)(e=>{r.current?.revokeObjectUrls();let n=I$(e);return r.current=n,t(n.rooms),n.rooms},[]),i=(0,te.useCallback)((e,n)=>{let i=I$([{id:IJ(),schemaVersion:1,name:e.name,fileName:e.name,createdAt:new Date().toISOString(),imageBlob:e,scene:n}]),a=i.rooms[0];if(!a)return i.revokeObjectUrls(),null;let o=r.current;return r.current={rooms:[],revokeObjectUrls:()=>{o?.revokeObjectUrls(),i.revokeObjectUrls()}},t(e=>[a,...e.filter(e=>e.id!==a.id)]),a},[]);return(0,te.useEffect)(()=>()=>{r.current?.revokeObjectUrls()},[]),(0,te.useMemo)(()=>({appendRuntimeCustomInterior:i,customRooms:e,replaceRuntimeCustomInteriors:n}),[i,e,n])}(),a=(0,te.useRef)(!0);(0,te.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let o=(0,te.useCallback)(async()=>{let r=await e();a.current&&i(r.filter(e=>!SY(e.scene,t)))},[e,i,t]);return(0,te.useEffect)(()=>{o()},[o]),(0,te.useMemo)(()=>({appendRuntimeCustomInterior:r,customRooms:n,replaceRuntimeCustomInteriors:i,refreshCustomInteriors:o}),[r,n,o,i])}({listCustomInteriors:IZ,surfaces:y}),C=(0,te.useMemo)(()=>new Set(f.map(e=>e.id)),[f]),{commitCustomInteriorSelection:E,selectInterior:S}=function(e){let{room:t,setRoomId:r,setRooms:n}=Eq(),{widgetSession:i}=EW();return function({floorFlow:e,customRooms:t,selectedRoomId:r,onInteriorSelected:n,restoreSourceRooms:i,setRoomId:a,setRooms:o}){let s=(0,te.useCallback)(t=>{e.commitInteriorSelection(()=>{o(e=>[t,...i(e).filter(e=>e.id!==t.id)]),a(t.id)}),n?.()},[e,n,i,a,o]),l=(0,te.useCallback)(t=>{let s=t===r;s&&e.hasSceneSelection||(e.commitInteriorSelection(()=>{o(i),a(t)}),s||n?.())},[e,n,i,r,a,o]),c=(0,te.useCallback)(n=>{if(n===r&&e.hasSceneSelection)return;let i=t.find(e=>e.id===n);i&&s(i)},[e.hasSceneSelection,s,t,r]),u=(0,te.useCallback)(e=>{t.some(t=>t.id===e)?c(e):l(e)},[t,c,l]);return(0,te.useMemo)(()=>({commitCustomInteriorSelection:s,selectInterior:u}),[s,u])}({...e,selectedRoomId:t.id,onInteriorSelected:()=>CY(i,"interior_selected"),setRoomId:r,setRooms:n})}({floorFlow:b,customRooms:x,restoreSourceRooms:(0,te.useCallback)(e=>[...f,...e.filter(e=>!C.has(e.id))],[C,f])}),M=function(e){let{setIsRoomScenePending:t}=EJ();return function({apiOptions:e,floorFlow:t,commitCustomInteriorSelection:r,downloadDebugMask:n,isDebugMaskExportEnabled:i,onAccessError:a,onDebugMaskError:o,onPersistenceError:s,onProcessingError:l,predictRoomScene:c,saveCustomInterior:u,setIsRoomScenePending:d,surfaces:h,trackRuntimeCustomInterior:p,waitForProcessingCompletion:A}){let[f,g]=(0,te.useState)(!1),[m,v]=(0,te.useState)(!1),[b,y]=(0,te.useState)(null),[w,x]=(0,te.useState)(null),[C,E]=(0,te.useState)(!1),[S,M]=(0,te.useState)(0),I=(0,te.useRef)(null),B=(0,te.useRef)(!1),k=(0,te.useRef)(!0),T=(0,te.useRef)(b);b&&(T.current=b),(0,te.useEffect)(()=>(k.current=!0,()=>{k.current=!1,I.current?.abort()}),[]);let R=(0,te.useCallback)(()=>{y(null),x(null),E(!1)},[]),P=(0,te.useCallback)(e=>{R(),g(!1),e()},[R]),D=(0,te.useCallback)(async f=>{if(R(),!f.type.startsWith("image/"))return void g(!0);g(!1),v(!1),t.startCustomInteriorProcessing(),B.current=!0;let m=new AbortController;I.current?.abort(),I.current=m,d(!0);try{await I9({abortSignal:m.signal,apiOptions:e,commitCustomInteriorSelection:r,downloadDebugMask:n,file:f,isActive:()=>k.current,isDebugMaskExportEnabled:i,onDebugMaskError:o,onPersistenceError:s,onProcessingComplete:()=>{v(!0)},predictRoomScene:c,saveCustomInterior:u,surfaces:h,trackRuntimeCustomInterior:p,waitForProcessingCompletion:A})}catch(r){if(m.signal.aborted)return;let e=Cv(r);if(e){B.current&&E(!0),a(e);return}let t=r instanceof I3?"custom-interior-missing-surface":"custom-interior-processing";if("custom-interior-processing"===t&&l(r),B.current){x(t),E(!0);return}y(t)}finally{I.current===m&&(I.current=null,k.current&&d(!1))}},[e,t,r,n,i,a,o,s,l,c,R,u,d,h,p,A]),_=(0,te.useCallback)(()=>{R(),g(!1),t.returnToInteriorSelection(),M(e=>e+1)},[t,R]),L=(0,te.useCallback)(()=>{R(),t.returnToInteriorSelection()},[t,R]),F=(0,te.useCallback)(({clearError:e,closeMaterialSelection:r})=>{e(),r(),t.hasSceneSelection&&t.recoverToScene()},[t]),N=(0,te.useCallback)(()=>{B.current=!1,E(!1),w&&(y(w),x(null))},[w]),O=(0,te.useCallback)(()=>k.current,[]);return(0,te.useMemo)(()=>({displayedUploadError:b??T.current,isCustomInteriorProcessingComplete:m,isInvalidFile:f,isMounted:O,isProcessingDialogClosingForError:C,pendingUploadError:w,uploadError:b,uploadRetryRequestId:S,cancelUploadError:L,handleProcessingDialogCloseAnimationEnd:N,openInteriorSelection:P,processUploadFile:D,recoverFromActiveError:F,resetUploadErrorPresentation:R,tryUploadAgain:_}),[L,N,m,f,O,C,P,w,D,F,R,_,b,S])}({...e,setIsRoomScenePending:t})}({apiOptions:(0,te.useMemo)(()=>({resourceType:h,apiKey:t,baseURL:r,source:A,widgetSession:v}),[t,r,h,A,v]),floorFlow:b,commitCustomInteriorSelection:E,downloadDebugMask:IW,isDebugMaskExportEnabled:Iq,onAccessError:o,onDebugMaskError:I5,onPersistenceError:I8,onProcessingError:I6,predictRoomScene:IH,saveCustomInterior:IX,surfaces:y,trackRuntimeCustomInterior:w,waitForProcessingCompletion:I4}),{dismissInteriorSelection:I,hasSceneSelection:B,openInteriorSelection:k,sceneResetKey:T,step:R}=b,{cancelUploadError:P,displayedUploadError:D,handleProcessingDialogCloseAnimationEnd:_,isCustomInteriorProcessingComplete:L,isInvalidFile:F,isProcessingDialogClosingForError:N,openInteriorSelection:O,pendingUploadError:Q,processUploadFile:U,recoverFromActiveError:z,resetUploadErrorPresentation:j,tryUploadAgain:G,uploadError:H,uploadRetryRequestId:V}=M,q=l&&B,W=(0,te.useRef)(e),K=!!(e&&q&&a);e&&(W.current=e);let J=(0,te.useCallback)(()=>{q&&(j(),I())},[I,q,j]),Y=(0,te.useCallback)(()=>{i(),O(k)},[i,k,O]),X=(0,te.useCallback)(()=>{z({clearError:n,closeMaterialSelection:i})},[n,i,z]),Z=(0,te.useCallback)(()=>{n(),Y()},[n,Y]),$=(0,te.useCallback)(e=>{if(!e){if(q)return void J();d?.(!1)}},[J,q,d]),ee=(0,te.useCallback)(e=>{if(!e){if(K)return void X();d?.(!1)}},[K,X,d]),et=(0,te.useCallback)(e=>{e||P()},[P]);!function({fallbackMs:e,handleProcessingDialogCloseAnimationEnd:t,isProcessingDialogClosingForError:r}){(0,te.useEffect)(()=>{if(!r)return;let n=window.setTimeout(t,e);return()=>window.clearTimeout(n)},[e,t,r])}({fallbackMs:220,handleProcessingDialogCloseAnimationEnd:_,isProcessingDialogClosingForError:N});let er=function({activeError:e,canRecoverFromActiveError:t,floorFlow:r,hasDialogPortalContainer:n,hasRooms:i,isProcessingDialogClosingForError:a,isRoomScenePending:o,isViewerAccessPending:s,pendingUploadError:l,sceneLoad:c,uploadError:u,viewerDialogOpen:d,viewerSurface:h}){let p="dialog"===h&&n,A=!p||d,f=i&&r.hasSceneSelection,g=i||"scene"!==r.step?r.step:"interior-selection",m=!s&&f&&(!e||t),v=f||p,b=!s&&!e&&v,y=!s&&!e&&!v&&"interior-selection"===g;return{activeErrorDialog:{open:!a&&!!e&&A,showCloseButton:!t},interiorSelection:{open:b&&"interior-selection"===g&&A,presentation:b?"dialog":y?"screen":null,shouldRender:b||y},processingDialog:{open:!e&&!u&&!l&&o&&"processing-custom-interior"===r.step&&A},scene:{isLoading:o||!(MT(c)&&c.shadersReady),resetKey:r.sceneResetKey,shouldRender:m,shouldRenderDialog:m},surface:{usesSiblingDialogFlow:p},uploadErrorDialog:{open:!a&&!e&&!!u&&A}}}({activeError:e,canRecoverFromActiveError:K,floorFlow:{hasSceneSelection:B,sceneResetKey:T,step:R},hasDialogPortalContainer:s,hasRooms:l,isProcessingDialogClosingForError:N,isRoomScenePending:c,isViewerAccessPending:u,pendingUploadError:Q,sceneLoad:p,uploadError:H,viewerDialogOpen:g,viewerSurface:m});return{...er,activeErrorDialog:{...er.activeErrorDialog,onCancel:K?X:void 0,onOpenChange:ee,onTryAgain:"room-missing-surface"===e?Z:K?X:void 0,variant:e??W.current},customRooms:x,interiorSelection:{...er.interiorSelection,isInvalidFile:F,onOpenChange:$,onSelectRoom:S,onUploadFile:U,openFromScene:Y,uploadRetryRequestId:V},sourceRooms:f,processingDialog:{...er.processingDialog,isComplete:L,onCloseAnimationEnd:_,onOpenChange:er.surface.usesSiblingDialogFlow?d:void 0},step:R,uploadErrorDialog:{...er.uploadErrorDialog,onCancel:P,onOpenChange:et,onTryAgain:G,variant:D}}}({activeError:L,apiKey:s,baseURL:l,clearActiveError:g,closeMaterialSelection:G,glbUrl:o,handleAccessError:m,hasDialogPortalContainer:null!==S,hasRooms:c,isRoomScenePending:E,isViewerAccessPending:h,onViewerDialogOpenChange:B,resourceType:n,sceneLoad:C,source:u,sourceRooms:b,viewerDialogOpen:I,viewerSurface:M,widgetSession:d}),K=(0,te.useRef)(null),J=!MO(W.scene.isLoading,K,{fadedOutIfMountedLoaded:!0}),Y=MO(W.scene.isLoading||!W.scene.shouldRender||!I,K),X=E7(),{pending:Z,finish:$}=function(e,t,r){let[n,i]=(0,te.useState)({open:e,pending:e&&t,sceneKey:r});n.open!==e?i({open:e,pending:e&&t,sceneKey:r}):n.sceneKey!==r?i({...n,sceneKey:r,pending:n.pending&&null===n.sceneKey}):n.pending&&!t&&i({...n,pending:!1});let a=(0,te.useCallback)(()=>i(e=>({...e,pending:!1})),[]);return{pending:e&&n.pending,finish:a}}(I,Ex("(max-width: 639px)")&&"focus-resource"===EE[n].introduction,W.scene.shouldRender?`${W.scene.resetKey}:${f??""}`:null),ee=X?.select,et=(0,te.useCallback)(()=>{$(),ee?.("0,0")},[$,ee]),er=(0,te.useMemo)(()=>Z?{ready:Y,target:y,onComplete:et,onCancel:$}:void 0,[Z,et,$,Y,y]),en=W.interiorSelection.openFromScene,ei=(0,te.useCallback)(()=>{G(),en()},[G,en]),ea=(0,te.useMemo)(()=>({isMaterialSelectionOpen:k,openMaterialSelection:H,closeMaterialSelection:G,onMaterialSelectionActionPointerDown:V,openInteriorSelection:ei}),[G,V,ei,H,k]),eo=(0,te.useMemo)(()=>({isMaterialSelectionOpen:R,openMaterialSelection:q,closeMaterialSelection:G,openInteriorSelection:ei}),[G,ei,q,R]);(0,te.useEffect)(()=>{if(k)return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)};function e(e){var t;(t=e.target)instanceof Element&&t.closest(`[${MG}], [${MH}]`)||T(!1)}function t(e){"Escape"===e.key&&T(!1)}},[k]);let es=W.surface.usesSiblingDialogFlow?S:w,el=(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)("div",{className:"absolute inset-0 bg-constant-black","data-testid":"floor-scene-background-base"}),(0,tr.jsx)("div",{"aria-hidden":!0,className:"absolute top-[-52px] right-[-1.36%] bottom-[-52px] left-[-1.36%] blur-[40px]","data-testid":"floor-blur-background",children:(0,tr.jsx)("img",{crossOrigin:"anonymous",src:EM(v),alt:"",className:"block size-full max-w-none object-cover object-center opacity-50"})}),(0,tr.jsxs)("div",{className:"pointer-events-none absolute top-0 right-0 left-0 z-20 flex min-h-22 items-start justify-between gap-4 bg-linear-to-b from-black/75 via-black/35 to-transparent px-4 pt-4 pb-8 text-constant-white sm:px-6 lg:min-h-25 lg:pt-6",children:[(0,tr.jsx)("div",{className:"min-w-0 pt-1",children:N?(0,tr.jsx)("h1",{"data-testid":"floor-scene-header-company",className:"typo-base-16 truncate font-medium lg:typo-base-18",children:N}):null}),(0,tr.jsxs)("div",{className:"pointer-events-auto inline-flex shrink-0 items-center gap-2",children:[(0,tr.jsxs)(C8,{type:"button",variant:"secondary","aria-label":t("floor.scene.share"),"data-neurodyn-room-viewer-share":"",disabled:!O||z,onClick:j,className:"size-10 rounded-full px-0 lg:h-9 lg:w-auto lg:rounded-xl lg:px-3.5",children:[(0,tr.jsx)(Em,{className:"size-5"}),(0,tr.jsx)("span",{className:"hidden lg:inline",children:t("floor.scene.share")})]}),(0,tr.jsxs)(C8,{type:"button",variant:"secondary","aria-label":t("floor.scene.download"),"data-neurodyn-room-viewer-download":"",disabled:U,onClick:Q,className:"size-10 rounded-full px-0 lg:h-9 lg:w-auto lg:rounded-xl lg:px-3.5",children:[(0,tr.jsx)(Ec,{className:"size-5"}),(0,tr.jsx)("span",{className:"hidden lg:inline",children:t("floor.scene.download")})]}),e&&(0,tr.jsx)(Ee,{asChild:!0,children:(0,tr.jsxs)(C8,{type:"button",variant:"secondary","aria-label":t("close"),className:"size-10 rounded-full px-0 lg:h-9 lg:w-auto lg:rounded-xl lg:px-3.5",children:[(0,tr.jsx)("span",{className:"hidden lg:inline",children:t("close")}),(0,tr.jsx)(El,{className:"!size-5"})]})})]})]}),(0,tr.jsxs)("div",{className:"relative z-10 size-full min-h-0 min-w-0","data-testid":"floor-scene-viewport",children:[(0,tr.jsx)(MF,{contentKey:W.scene.resetKey,introduction:er,captureRef:D,className:"relative z-10 size-full min-h-0"}),(0,tr.jsx)("div",{"aria-hidden":!W.scene.isLoading,className:C4("absolute inset-0 z-10 flex items-center justify-center bg-radial from-background-containers to-background-base-2 transition-opacity",W.scene.isLoading?"opacity-100 pointer-events-auto duration-0":"opacity-0 pointer-events-none duration-250ms"),ref:K,"data-testid":"floor-scene-loader",style:{transitionDuration:W.scene.isLoading?"0ms":"250ms"},children:J&&(0,tr.jsx)(Ey,{variant:"logo"})})]}),(0,tr.jsxs)("div",{className:"pointer-events-none absolute right-6 bottom-6 left-6 z-20 hidden items-end justify-between gap-4 lg:flex","data-testid":"floor-desktop-cards",children:[(0,tr.jsx)("div",{className:"pointer-events-auto flex min-w-0 items-stretch gap-3",children:(0,tr.jsx)(IG,{actions:ea,band:"desktop",container:"leading"})}),(0,tr.jsx)("div",{className:"pointer-events-auto",children:(0,tr.jsx)(IG,{actions:ea,band:"desktop",container:"trailing"})})]}),(0,tr.jsxs)("div",{className:"pointer-events-none absolute right-6 bottom-6 left-6 z-20 hidden items-end justify-between gap-2 sm:flex lg:hidden","data-testid":"floor-tablet-cards",children:[(0,tr.jsx)("div",{className:"pointer-events-auto flex min-w-0 items-stretch gap-3",children:(0,tr.jsx)(IG,{actions:ea,band:"tablet",container:"leading"})}),(0,tr.jsx)("div",{className:"pointer-events-auto grid w-[254px] gap-2",children:(0,tr.jsx)(IG,{actions:ea,band:"tablet",container:"trailing"})})]}),(0,tr.jsxs)("div",{className:"relative z-20 grid bg-background-containers text-text-dark shadow-[var(--shadow-login)] sm:hidden","data-testid":"floor-mobile-cards",children:[(0,tr.jsx)("div",{className:"grid",children:(0,tr.jsx)(IG,{actions:eo,band:"phone",container:"leading"})}),(0,tr.jsx)("div",{className:"grid gap-4 bg-background-containers px-6 pt-4 pb-6","data-testid":"floor-mobile-bottom-actions",children:(0,tr.jsx)(IG,{actions:eo,band:"phone",container:"trailing"})})]}),k&&!F&&(0,tr.jsx)(M2,{[MH]:!0,className:"absolute bottom-[152px] left-6 z-30 hidden max-h-[calc(100%-252px)] w-[348px] rounded-2xl bg-background-containers sm:flex lg:bottom-[132px] lg:max-h-[calc(100%-232px)]",gridClassName:"px-4 pb-4",titleClassName:"px-4 pt-4",onOpenChange:G}),(0,tr.jsx)(M3,{open:R&&!F,portalContainer:es,onOpenChange:P})]}),ec=W.interiorSelection.shouldRender?"dialog"===W.interiorSelection.presentation?(0,tr.jsx)(Mj,{open:W.interiorSelection.open,showCloseButton:e||W.scene.shouldRender,portalContainer:es,rooms:W.sourceRooms,customRooms:W.customRooms,selectedRoomId:v.id,isInvalidFile:W.interiorSelection.isInvalidFile,uploadRetryRequestId:W.interiorSelection.uploadRetryRequestId,onOpenChange:W.interiorSelection.onOpenChange,onSelectRoom:W.interiorSelection.onSelectRoom,onUploadFile:W.interiorSelection.onUploadFile}):"screen"===W.interiorSelection.presentation?(0,tr.jsx)(Mz,{rooms:W.sourceRooms,customRooms:W.customRooms,selectedRoomId:v.id,isInvalidFile:W.interiorSelection.isInvalidFile,uploadRetryRequestId:W.interiorSelection.uploadRetryRequestId,showCloseButton:e,onSelectRoom:W.interiorSelection.onSelectRoom,onUploadFile:W.interiorSelection.onUploadFile}):null:null,eu=(0,tr.jsx)(M5,{isComplete:W.processingDialog.isComplete,open:W.processingDialog.open,portalContainer:es,onCloseAnimationEnd:W.processingDialog.onCloseAnimationEnd,onOpenChange:W.processingDialog.onOpenChange}),ed=(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)(MQ,{missingSurfaceMessage:i,variant:W.activeErrorDialog.variant,open:W.activeErrorDialog.open,portalContainer:es,showDialogCloseButton:e&&W.activeErrorDialog.showCloseButton,onOpenChange:W.activeErrorDialog.onOpenChange,onTryAgain:W.activeErrorDialog.onTryAgain,onCancel:W.activeErrorDialog.onCancel}),(0,tr.jsx)(MQ,{missingSurfaceMessage:i,variant:W.uploadErrorDialog.variant,open:W.uploadErrorDialog.open,portalContainer:es,onOpenChange:W.uploadErrorDialog.onOpenChange,onTryAgain:W.uploadErrorDialog.onTryAgain,onCancel:W.uploadErrorDialog.onCancel})]}),eh=(0,tr.jsxs)("div",{ref:x,className:"relative grid size-full grid-rows-[minmax(0,1fr)_auto] overflow-hidden text-foreground sm:block","data-neurodyn-room-viewer-container":"","data-testid":"floor-viewer-root",children:[h?(0,tr.jsx)("div",{className:"flex size-full items-center justify-center bg-radial from-background-containers to-background-base-2",children:(0,tr.jsx)(Ey,{variant:"logo"})}):W.scene.shouldRender?el:null,!W.surface.usesSiblingDialogFlow&&ec,!W.surface.usesSiblingDialogFlow&&eu]});return W.surface.usesSiblingDialogFlow?(0,tr.jsxs)(tr.Fragment,{children:[(W.scene.shouldRenderDialog||h)&&(0,tr.jsx)(C6,{open:I,onOpenChange:B,children:(0,tr.jsxs)(Er,{className:"inset-0 h-dvh min-w-full max-w-none translate-x-0 translate-y-0 rounded-none border-none bg-transparent p-0 shadow-none sm:p-0 sm:max-w-none",contentInsideOverlay:!0,portalContainer:S,showCloseButton:!1,onInteractOutside:e=>{e.preventDefault()},children:[(0,tr.jsx)(Ei,{className:"sr-only",children:r}),(0,tr.jsx)(Ea,{className:"sr-only"}),eh]})}),ec,eu,ed]}):(0,tr.jsxs)(tr.Fragment,{children:[eh,ed]})}function Be(e){return(0,tr.jsx)(I7,{...e})}let Bt={angle:0,rotation:0,isDragging:!1};function Br(){let e=Bt,t=new Set;function r(r){return n=>{let i="function"==typeof n?n(e[r]):n;Object.is(i,e[r])||(e={...e,[r]:i},t.forEach(e=>e()))}}return{getState:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)}),setAngle:r("angle"),setRotation:r("rotation"),setIsDragging:r("isDragging")}}let Bn=[];function Bi(e,t,r){if(t===r)return e;let n=new Set(t.map(e=>e.id)),i=new Set(r.map(e=>e.id)),a=e.filter(e=>!n.has(e.id)&&!i.has(e.id));return a.length>0?[...a,...r]:r}function Ba({children:e,src:t,tinuuid:r,roomId:n,type:i,viewerSurface:a,dialogPortalContainer:o=null,viewerDialogOpen:s=!0,onViewerDialogOpenChange:l,width:c,height:u,displayUnit:d,name:h,apiKey:p,baseURL:A,source:f,externalWidgetSession:g}){var m,v;let b=Iy(d),y=function(){let{i18n:e}=rj();return"ru"===(e.resolvedLanguage??e.language)?"ru":"en"}(),w=Sb(i),x=n?.trim()||void 0,C="panel-group"===EE[i].manipulation,{offersSizeVariants:E}=MX(i),S="floor-room-presets"===EE[i].roomPresets?Sg:Sf,M=Cf({apiKey:p,baseURL:A,source:f}),[I,B]=(0,te.useState)(r),[k,T]=(0,te.useState)(null),R=(0,te.useCallback)(e=>{T(null),B(e)},[]),P=(0,te.useCallback)(e=>{T(e),B(e)},[]),[D,_]=(0,te.useState)(null),[L,F]=(0,te.useState)(b[0].value),[N]=(0,te.useState)(Br),[O,Q]=(0,te.useState)(null),[U,z]=(0,te.useState)(()=>({layoutReady:!1,placementReady:!1,materialReady:"artwork-src"===w.materialSource,artifactsReady:!1,assetsReady:!1,prepareReady:!1,shadersReady:!1})),[j,G]=(0,te.useState)(!1),[H,V]=(0,te.useState)(null),[q,W]=(0,te.useState)(null),K=(0,te.useRef)(null),J=(0,te.useRef)(!1),Y="object-glb"===w.materialSource,X="default"===f&&void 0!==p,Z=Cm("wall-panel"===(m={apiKey:p,baseURL:A,source:f,resourceType:i}).resourceType?m:{...m,resourceType:void 0}),$=nF({queryKey:["room-viewer","activate",{apiKey:p??null,source:f,resourceType:i}],enabled:X,queryFn:({signal:e})=>CN(Z.query,{...Z.config,baseURL:A,headers:{"x-api-key":p},signal:e})},ny,void 0),ee=Cv($.error),et=(0,te.useMemo)(()=>{let e=$.data;return CJ(e?.widgetSession,{apiConfig:{baseURL:A,headers:{"x-api-key":p}}})},[$.data,p,A]),er=g instanceof CK?g:null,en=g instanceof CK?null:g,ei=en?.token,ea=en?.sid,eo=en?.expiresIn,es=(0,te.useMemo)(()=>er||(CJ({token:ei,sid:ea,expiresIn:eo},{apiConfig:{baseURL:A,headers:{"x-api-key":p}}})??et),[et,p,A,er,ei,ea,eo]),el="shopify"===f?null!==es:X&&$.isSuccess,ec=nF({queryKey:["room-viewer","rooms",{apiKey:(v={apiKey:p,baseURL:A,language:y,source:f,widgetSession:es,resourceType:i}).apiKey??null,language:v.language??null,source:v.source,resourceType:v.resourceType??null,widgetSessionId:v.widgetSession?.sid??null}],enabled:M&&el,placeholderData:eN,queryFn:async({signal:e})=>{try{return await C9({apiKey:p,baseURL:A,language:y,signal:e,source:f,widgetSession:es,resourceType:i})}catch(e){if(Cv(e))throw e;return[]}}},ny,void 0),eu=M?ec.data??Bn:S,[ed,eh]=(0,te.useState)(()=>({rooms:eu,sourceRooms:eu})),ep=(0,te.useMemo)(()=>Bi(ed.rooms,ed.sourceRooms,eu),[ed.rooms,ed.sourceRooms,eu]),eA=(0,te.useCallback)(e=>{eh(t=>{let r=Bi(t.rooms,t.sourceRooms,eu);return{rooms:"function"==typeof e?e(r):e,sourceRooms:eu}})},[eu]),[ef,eg]=(0,te.useState)(()=>x??S[0].id),[em,ev]=(0,te.useState)(x);em!==x&&(ev(x),x&&(eg(x),z(e=>Mk(e,MR)),W(e=>EL(e)?null:e)));let eb=ep.find(e=>e.id===ef),ey=eb??ep[0]??S[0],ew="rotate-on-floor"===EE[i].manipulation;(0,te.useLayoutEffect)(()=>{x&&(N.setAngle(0),N.setRotation(0))},[x,N]),(0,te.useEffect)(()=>{ew&&N.setRotation(0)},[ew,ey.id,N]);let ex=ep.length>0;!eb&&ep[0]&&ef!==ep[0].id&&eg(ep[0].id);let eC=!X||$.isSuccess||$.isError&&null===ee,eE=nF({queryKey:C$(r??void 0,{apiKey:p,baseURL:A,language:y,source:f,resourceType:i}),enabled:eC&&Y&&null===D&&!!r,queryFn:async({signal:e})=>{if(!r)throw Error("Tinuuid is required.");return C1(r,{apiKey:p,baseURL:A,language:y,signal:e,source:f,widgetSession:es,resourceType:i})}},ny,void 0),eS=nF({queryKey:C$(I??void 0,{apiKey:p,baseURL:A,language:y,source:f,resourceType:i}),enabled:eC&&Y&&!!I,placeholderData:eN,queryFn:async({signal:e})=>{if(!I)throw Error("Tinuuid is required.");return C1(I,{apiKey:p,baseURL:A,language:y,signal:e,source:f,widgetSession:es,resourceType:i})}},ny,void 0),eM=eE.data??null,eI=eS.data??null,eB=eM?.materials?.[0]??null,ek=D?.native?.glbUrl??null,eT=Cv(eE.error),eR=Cv(ec.error),eP=M&&("shopify"===f?null===es||ec.isLoading:$.isSuccess&&ec.isLoading),eD=X&&$.isLoading||eP,e_=$.error&&null===ee?"viewer-load-failed":null,eL=eE.error&&null===eT?"viewer-load-failed":null,eF="artwork-src"===w.materialSource&&("string"!=typeof t||0===t.trim().length)?"artwork-load-failed":null,eO=Y&&!eD&&(!r||eE.isSuccess&&null===eB||null!==D&&null===ek)?"viewer-load-failed":null,eQ=null!==k&&k===I&&(eS.isError||eS.isSuccess&&eI?.tinuuid===I&&!eI.materials?.[0]?.native?.glbUrl)?"viewer-load-failed":null,eU=nQ({queries:M0({apiKey:p,baseURL:A,language:y,source:f,widgetSession:es}).map(e=>({...e,enabled:w.hasPictureFrame&&eC&&!eD}))}),ez=eU[0]?.data??null,ej=H??ee??eR??eT,eG=q??eQ??e_??eL??eO??eF,eH=(0,te.useCallback)(e=>{z(t=>Mk(t,e))},[]);(0,te.useEffect)(()=>{if("dialog"!==a||!s){J.current=!1;return}J.current||es&&(CY(es,"widget_opened"),J.current=!0)},[s,a,es]),(0,te.useEffect)(()=>{Y&&(R(r),_(null),V(null),W(null))},[r,R,Y]),(0,te.useEffect)(()=>{V(null),W(null)},[p,f]),(0,te.useEffect)(()=>{Y&&eM&&null===D&&_(eB)},[D,eB,eM,Y]),(0,te.useEffect)(()=>{let e=ez?.materials?.[0],t=ez?.tinuuid;null===D&&e&&t&&(_(e),R(t))},[ez,D,R]),(0,te.useEffect)(()=>{if(!Y||!E&&!C&&k!==I||null===eI||eI.tinuuid!==I)return;let e=eI.materials?.[0];if(!e)return;let t=eI.materials?.some(e=>e===D||!!e.hid&&e.hid===D?.hid);if(k===I){T(null),_(e);return}(!t||C)&&D!==e&&_(e)},[C,D,E,eI,I,Y,k]);let eV=(0,te.useMemo)(()=>({type:i,name:h,width:c,height:u,displayUnit:d}),[i,h,c,u,d]),eq=(0,te.useMemo)(()=>({viewerSurface:a,dialogPortalContainer:o,viewerDialogOpen:s,onViewerDialogOpenChange:l}),[a,o,s,l]),eW=(0,te.useMemo)(()=>({rooms:ep,sourceRooms:eu,setRooms:eA,room:ey,initialRoomId:x,setRoomId:eg}),[ep,ey,x,eA,eu]),eK=(0,te.useMemo)(()=>({src:t,glbUrl:ek,tinuuid:I,embeddedObject:eM,selectedObject:eI,material:D,setTinuuid:R,selectResourceVariant:P,setMaterial:_,apiKey:p,baseURL:A,language:y,source:f,widgetSession:es,hasRooms:ex,isViewerAccessPending:eD,accessError:ej,setAccessError:V,loadError:eG,setLoadError:W}),[t,ek,I,eM,eI,D,R,P,p,A,y,f,es,ex,eD,ej,eG]),eJ=(0,te.useMemo)(()=>({setContainerRef:Q,resourceRef:K,sceneGestures:N,patchSceneLoad:eH,setIsRoomScenePending:G}),[eH,N]),eY=(0,te.useMemo)(()=>({...eJ,containerRef:O,sceneLoad:U,isRoomScenePending:j}),[eJ,O,U,j]),eX=(0,te.useMemo)(()=>({matting:L,setMatting:F}),[L]);return(0,tr.jsx)(EF,{value:eV,children:(0,tr.jsx)(EN,{value:eq,children:(0,tr.jsx)(EO,{value:eW,children:(0,tr.jsx)(EQ,{value:eK,children:(0,tr.jsx)(Ez,{value:eJ,children:(0,tr.jsx)(EU,{value:eY,children:(0,tr.jsx)(Ej,{value:eX,children:(0,tr.jsx)(E6,{children:e})})})})})})})})}let Bo={poster:"wallart",carpet:"rugs"};function Bs(e){return"poster"===e||"carpet"===e}aj.gPd.DEFAULT_ANISOTROPY=4;let Bl=new e7({defaultOptions:{queries:{gcTime:1/0,refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(a_(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function Bc({type:e,src:t,tinuuid:r,roomId:n,name:i,height:a,width:o,language:s,dimensionUnit:l="m",displayUnit:c="cm",apiKey:u,source:d="default",showDialogCloseButton:h=!1,viewerSurface:p="inline",dialogPortalContainer:A=null,viewerDialogOpen:f=!0,onViewerDialogOpenChange:g,widgetSession:m}){let{i18n:v}=rj(),b=u?.trim()||void 0,y=r?.trim()||void 0,w=Bs(e)?Bo[e]:e,x=Sb(w).takesDimensionProps?function(e,t,r="m"){return{width:Iv(e??0,r),height:Iv(t??0,r)}}(o,a,l):null;return(0,te.useEffect)(()=>{Bs(e)&&Bo[e]},[e]),(0,te.useEffect)(()=>{"string"==typeof s&&v.changeLanguage(s)},[v,s]),(0,tr.jsx)(ta,{client:Bl,children:(0,tr.jsx)(Ba,{src:t??null,tinuuid:y??null,roomId:n,type:w,viewerSurface:p,dialogPortalContainer:A,viewerDialogOpen:f,onViewerDialogOpenChange:g,name:i,width:x?.width??0,height:x?.height??0,displayUnit:c,apiKey:b,baseURL:"shopify"===d?Cp:void 0,source:d,externalWidgetSession:m,children:(0,tr.jsx)(Be,{showDialogCloseButton:h})})})}function Bu({type:e,src:t,tinuuid:r,roomId:n,width:i,height:a,dimensionUnit:o,displayUnit:s,name:l,language:c,apiKey:u,source:d,widgetSession:h,disableClose:p=!1,open:A,defaultOpen:f,onOpenChange:g}){let[m,v]=(0,te.useState)(null),[b,y]=(0,te.useState)(f??!1),w=A??b,[x,C]=(0,te.useState)(w),E=w||x;(0,te.useEffect)(()=>{w&&C(!0)},[w]);let S=E0({disableClose:p,onOpenChange:g,open:A}),M=(0,te.useCallback)(e=>{let{disableClose:t,onOpenChange:r,open:n}=S.current;(e||!t)&&(void 0===n&&y(e),r?.(e))},[S]),I=(0,tr.jsx)(Bc,{type:e,src:t,tinuuid:r,roomId:n,name:l,height:a,width:i,dimensionUnit:o,displayUnit:s,language:c,apiKey:u,source:d,widgetSession:h,showDialogCloseButton:!p,viewerSurface:"dialog",dialogPortalContainer:m,viewerDialogOpen:w,onViewerDialogOpenChange:M});return(0,tr.jsxs)(tr.Fragment,{children:[(0,tV.createPortal)((0,tr.jsx)("style",{children:Cs.A}),document.head),(0,tV.createPortal)((0,tr.jsxs)(r6.div,{"data-neurodyn-room-viewer-root":"",style:{display:"block",letterSpacing:"normal",zIndex:0x7fffffff},children:[(0,tr.jsx)("style",{children:":host{display:block!important;visibility:visible!important}"}),(0,tr.jsx)("style",{children:Ch}),(0,tr.jsx)("div",{ref:v}),m&&(0,tr.jsx)(Co,{root:m,storageKey:"neurodyn-theme",defaultTheme:"light",children:(0,tr.jsx)(rG,{i18n:Cc,children:E&&I})})]}),document.body)]})}function Bd(e){return aS.create({baseURL:e,timeout:3e4})}Ck({baseURL:"https://api.neurodyn.ai/"});let Bh=new Set(["common","delete","get","head","post","put","patch","options","purge","link","unlink"]);function Bp(){return globalThis.process?.env?.NODE_ENV}function BA(e){if(void 0===e)return[];let t="function"==typeof e.toJSON?e.toJSON():e,r=[];return!function e(t,r){if(null!==t&&"object"==typeof t)for(let[n,i]of Object.entries(t)){if(null==i)continue;let t=n.toLowerCase();if("common"===t){e(i,r);continue}Bh.has(t)||r.push([n,String(i)])}}(t,r),r}function Bf(e){return!!("u">typeof FormData&&e instanceof FormData)||null!==e&&"object"==typeof e&&(e.constructor?.name==="FormData"||"function"==typeof e.getBoundary)}let Bg=new Set(["authorization","cookie","set-cookie","x-xsrf-token"]);function Bm(e){if(null==e)return;let t="function"==typeof e.toJSON?e.toJSON():e;if(null===t||"object"!=typeof t)return;let r={};for(let[e,n]of Object.entries(t))null!=n&&(r[e]=Bg.has(e.toLowerCase())?"[redacted]":String(n));return r}function Bv(e){if(null!=e){if("string"==typeof e)try{return JSON.parse(e)}catch{return e.length>2e3?`${e.slice(0,2e3)}… (${e.length} chars)`:e}return Bf(e)?"[FormData]":e}}function Bb(e){let t=(e.requestConfig.method??"GET").toUpperCase(),r=e.requestConfig.url??"",n=`[api:server] ${t} ${r} → ${e.status} (${e.durationMs}ms)`,i={requestId:e.requestId,...e.error?{error:e.error}:{},params:e.requestConfig.params,requestBody:Bv(e.requestConfig.data),requestHeaders:Bm(e.requestConfig.headers),responseHeaders:Bm(e.responseHeaders),responseBody:Bv(e.responseBody)};(e.status>=500||void 0!==e.error&&0===e.status?console.error:e.status>=400?console.warn:console.log)(n,i)}let By=function({clientName:e,configureFunctionName:t,defaultBaseURL:r}){let n=Bd(r),i=Bd(r),a=null,o=null,s=null,l=null,c=null,u=null;async function d(e,t){let r=function(e,t){let r;if(void 0===t.data||Bf(t.data))return t;let n=aN.from(t.headers);return n.has("Content-Type")||void 0!==(r=e.defaults.headers.common)&&aN.from(r).has("Content-Type")||n.set("Content-Type","application/json"),t.headers=n,t}(e,function(e){let t=aN.from(e.headers);if(null!==s){let e=s()?.trim();e&&!t.has("Authorization")&&t.set("Authorization",`Bearer ${e}`)}if(null!==u)for(let[r,n]of Object.entries(u({url:e.url,method:e.method})))n&&!t.has(r)&&t.set(r,n);return e.headers=t,e}({...t})),n=function(e){let t,r=aN.from(e.headers),n=r.get("x-request-id");if("string"==typeof n&&n.length>0)return n;let i=(t=globalThis.crypto,"function"==typeof t?.randomUUID?t.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`);return r.set("x-request-id",i),e.headers=r,i}(r),i=function(){if("u">typeof window)return!1;let e=Bp(),t=globalThis.process;return t?.env?.DEBUG_API==="true"||"production"!==e&&"test"!==e&&"testing"!==e}(),a=i?Date.now():0;try{let t=await e.request(r);return i&&Bb({requestConfig:r,requestId:n,status:t.status,durationMs:Date.now()-a,responseHeaders:t.headers,responseBody:t.data}),t}catch(e){throw i&&Bb({requestConfig:r,requestId:n,status:e.response?.status??0,durationMs:Date.now()-a,responseHeaders:e.response?.headers,responseBody:e.response?.data,error:e.message}),e}}async function h(e){return d(e.skipUnauthorizedRecovery?i:n,function(e){let{skipUnauthorizedRecovery:t,...r}=e;return r}(e))}let p=async e=>h({...e,skipUnauthorizedRecovery:!0});function A(){return null!==a}return{configureClientRuntime:function(t){let r,o=(r=function(e){let t=BA(e);if(0===t.length)return;let r=new Map;for(let[e,n]of t)r.set(e.toLowerCase(),n);return Object.fromEntries(Array.from(r.entries()).sort(([e],[t])=>e.localeCompare(t)))}(t.headers),JSON.stringify({...void 0!==t.baseURL?{baseURL:t.baseURL}:{},...void 0!==t.timeout?{timeout:t.timeout}:{},...void 0!==r?{headers:r}:{}}));if("{}"!==o){if(null!==a){if(a===o)return;let t=`${e} already configured. Existing: ${a}. New: ${o}.`;if("production"===Bp())return void console.warn(t);throw Error(t)}for(let e of[n,i])void 0!==t.baseURL&&(e.defaults.baseURL=t.baseURL),void 0!==t.timeout&&(e.defaults.timeout=t.timeout),void 0!==t.headers&&function(e,t){let r=e.defaults.headers,n=r.common,i=aN.from(n);for(let[e,r]of BA(t))i.set(e,r);r.common=i.toJSON(),e.defaults.headers=r}(e,t.headers);a=o}},configureAccessTokenResolverRuntime:function(e){s=e},configureUnauthorizedHandlerRuntime:function(e){if(l=e,null===e){null!==o&&(n.interceptors.response.eject(o),o=null),c=null;return}null===o&&(o=n.interceptors.response.use(e=>e,async e=>{let t=e.config;if(e.response?.status!==401||null===l||void 0===t||t._apiRetried)return Promise.reject(e);if(null===c){let t=l;if(null===t)return Promise.reject(e);c=Promise.resolve().then(()=>t(e,{requestWithoutUnauthorizedRecovery:p})).finally(()=>{c=null})}try{if(!await c)return Promise.reject(e);t._apiRetried=!0;let r=aN.from(t.headers);return r.delete("Authorization"),t.headers=r,d(n,t)}catch{return Promise.reject(e)}}))},configureHeadersResolverRuntime:function(e){u=e},isClientConfiguredRuntime:A,assertClientConfiguredRuntime:function(){if(!A())throw Error(`${e} is not configured. Call ${t}(...) before making requests.`)},resetClientForTestsRuntime:function(){let e;if("test"!==(e=Bp())&&"testing"!==e)throw Error("resetApiClientForTests() can only be called in test environment.");n=Bd(r),i=Bd(r),a=null,o=null,s=null,l=null,c=null,u=null},requestRuntime:h,requestWithoutUnauthorizedRecovery:p,addResponseInterceptorRuntime:function(e,t){return n.interceptors.response.use(e,t)}}}({clientName:"API client",configureFunctionName:"configureApiClient",defaultBaseURL:"https://api.vizbl.com"});By.configureClientRuntime,By.configureAccessTokenResolverRuntime,By.configureHeadersResolverRuntime,By.configureUnauthorizedHandlerRuntime,By.isClientConfiguredRuntime,By.assertClientConfiguredRuntime,By.resetClientForTestsRuntime;let Bw=By.requestRuntime;async function Bx(e){return Bw(e)}async function BC(e,t={}){let{client:r=Bx,...n}=t;return(await r({method:"POST",url:"/public/widget/activate-wallart",params:e,...n})).data}By.requestWithoutUnauthorizedRecovery,By.addResponseInterceptorRuntime,(ei=eh||(eh={})).assertEqual=e=>{},ei.assertIs=function(e){},ei.assertNever=function(e){throw Error()},ei.arrayToEnum=e=>{let t={};for(let r of e)t[r]=r;return t},ei.getValidEnumValues=e=>{let t=ei.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),r={};for(let n of t)r[n]=e[n];return ei.objectValues(r)},ei.objectValues=e=>ei.objectKeys(e).map(function(t){return e[t]}),ei.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},ei.find=(e,t)=>{for(let r of e)if(t(r))return r},ei.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,ei.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},ei.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(ep||(ep={})).mergeShapes=(e,t)=>({...e,...t});let BE=eh.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),BS=e=>{switch(typeof e){case"undefined":return BE.undefined;case"string":return BE.string;case"number":return Number.isNaN(e)?BE.nan:BE.number;case"boolean":return BE.boolean;case"function":return BE.function;case"bigint":return BE.bigint;case"symbol":return BE.symbol;case"object":if(Array.isArray(e))return BE.array;if(null===e)return BE.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return BE.promise;if("u">typeof Map&&e instanceof Map)return BE.map;if("u">typeof Set&&e instanceof Set)return BE.set;if("u">typeof Date&&e instanceof Date)return BE.date;return BE.object;default:return BE.unknown}},BM=eh.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class BI extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(let i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(n);else if("invalid_return_type"===i.code)n(i.returnTypeError);else if("invalid_arguments"===i.code)n(i.argumentsError);else if(0===i.path.length)r._errors.push(t(i));else{let e=r,n=0;for(;n<i.path.length;){let r=i.path[n];n===i.path.length-1?(e[r]=e[r]||{_errors:[]},e[r]._errors.push(t(i))):e[r]=e[r]||{_errors:[]},e=e[r],n++}}};return n(this),r}static assert(e){if(!(e instanceof BI))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,eh.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){let t={},r=[];for(let n of this.issues)if(n.path.length>0){let r=n.path[0];t[r]=t[r]||[],t[r].push(e(n))}else r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}BI.create=e=>new BI(e);let BB=(e,t)=>{let r;switch(e.code){case BM.invalid_type:r=e.received===BE.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case BM.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,eh.jsonStringifyReplacer)}`;break;case BM.unrecognized_keys:r=`Unrecognized key(s) in object: ${eh.joinValues(e.keys,", ")}`;break;case BM.invalid_union:r="Invalid input";break;case BM.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${eh.joinValues(e.options)}`;break;case BM.invalid_enum_value:r=`Invalid enum value. Expected ${eh.joinValues(e.options)}, received '${e.received}'`;break;case BM.invalid_arguments:r="Invalid function arguments";break;case BM.invalid_return_type:r="Invalid function return type";break;case BM.invalid_date:r="Invalid date";break;case BM.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:eh.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case BM.too_small:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type||"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case BM.too_big:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case BM.custom:r="Invalid input";break;case BM.invalid_intersection_types:r="Intersection results could not be merged";break;case BM.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case BM.not_finite:r="Number must be finite";break;default:r=t.defaultError,eh.assertNever(e)}return{message:r}};(ea=eA||(eA={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},ea.toString=e=>"string"==typeof e?e:e?.message;let Bk=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],o={...i,path:a};if(void 0!==i.message)return{...i,path:a,message:i.message};let s="";for(let e of n.filter(e=>!!e).slice().reverse())s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function BT(e,t){let r=Bk({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,BB,void 0].filter(e=>!!e)});e.common.issues.push(r)}class BR{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let r=[];for(let n of t){if("aborted"===n.status)return BP;"dirty"===n.status&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){let r=[];for(let e of t){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return BR.mergeObjectSync(e,r)}static mergeObjectSync(e,t){let r={};for(let n of t){let{key:t,value:i}=n;if("aborted"===t.status||"aborted"===i.status)return BP;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==i.value||n.alwaysSet)&&(r[t.value]=i.value)}return{status:e.value,value:r}}}let BP=Object.freeze({status:"aborted"}),BD=e=>({status:"dirty",value:e}),B_=e=>({status:"valid",value:e}),BL=e=>"u">typeof Promise&&e instanceof Promise;class BF{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let BN=(e,t)=>{if("valid"===t.status)return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new BI(e.common.issues);return this._error=t,this._error}}};function BO(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return"invalid_enum_value"===t.code?{message:a??i.defaultError}:void 0===i.data?{message:a??n??i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:a??r??i.defaultError}},description:i}}class BQ{get description(){return this._def.description}_getType(e){return BS(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:BS(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new BR,ctx:{common:e.parent.common,data:e.data,parsedType:BS(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(BL(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){let r={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:BS(e)},n=this._parseSync({data:e,path:r.path,parent:r});return BN(r,n)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:BS(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:t});return"valid"===r.status?{value:r.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>"valid"===e.status?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){let r={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:BS(e)},n=this._parse({data:e,path:r.path,parent:r});return BN(r,await (BL(n)?n:Promise.resolve(n)))}refine(e,t){return this._refinement((r,n)=>{let i=e(r),a=()=>n.addIssue({code:BM.custom,..."string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(r):t});return"u">typeof Promise&&i instanceof Promise?i.then(e=>!!e||(a(),!1)):!!i||(a(),!1)})}refinement(e,t){return this._refinement((r,n)=>!!e(r)||(n.addIssue("function"==typeof t?t(r,n):t),!1))}_refinement(e){return new kx({schema:this,typeName:ef.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return kC.create(this,this._def)}nullable(){return kE.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ka.create(this)}promise(){return kw.create(this,this._def)}or(e){return ks.create([this,e],this._def)}and(e){return ku.create(this,e,this._def)}transform(e){return new kx({...BO(this._def),schema:this,typeName:ef.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new kS({...BO(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:ef.ZodDefault})}brand(){return new kB({typeName:ef.ZodBranded,type:this,...BO(this._def)})}catch(e){return new kM({...BO(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:ef.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return kk.create(this,e)}readonly(){return kT.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let BU=/^c[^\s-]{8,}$/i,Bz=/^[0-9a-z]+$/,Bj=/^[0-9A-HJKMNP-TV-Z]{26}$/i,BG=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,BH=/^[a-z0-9_-]{21}$/i,BV=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Bq=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,BW=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,BK=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,BJ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,BY=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,BX=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,BZ=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,B$=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,B0="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",B1=RegExp(`^${B0}$`);function B2(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}class B3 extends BQ{_parse(e){var t,r,n,i;let a;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==BE.string){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.string,received:t.parsedType}),BP}let o=new BR;for(let s of this._def.checks)if("min"===s.kind)e.data.length<s.value&&(BT(a=this._getOrReturnCtx(e,a),{code:BM.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),o.dirty());else if("max"===s.kind)e.data.length>s.value&&(BT(a=this._getOrReturnCtx(e,a),{code:BM.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),o.dirty());else if("length"===s.kind){let t=e.data.length>s.value,r=e.data.length<s.value;(t||r)&&(a=this._getOrReturnCtx(e,a),t?BT(a,{code:BM.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):r&&BT(a,{code:BM.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),o.dirty())}else if("email"===s.kind)BW.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"email",code:BM.invalid_string,message:s.message}),o.dirty());else if("emoji"===s.kind)u||(u=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),u.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"emoji",code:BM.invalid_string,message:s.message}),o.dirty());else if("uuid"===s.kind)BG.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"uuid",code:BM.invalid_string,message:s.message}),o.dirty());else if("nanoid"===s.kind)BH.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"nanoid",code:BM.invalid_string,message:s.message}),o.dirty());else if("cuid"===s.kind)BU.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"cuid",code:BM.invalid_string,message:s.message}),o.dirty());else if("cuid2"===s.kind)Bz.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"cuid2",code:BM.invalid_string,message:s.message}),o.dirty());else if("ulid"===s.kind)Bj.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"ulid",code:BM.invalid_string,message:s.message}),o.dirty());else if("url"===s.kind)try{new URL(e.data)}catch{BT(a=this._getOrReturnCtx(e,a),{validation:"url",code:BM.invalid_string,message:s.message}),o.dirty()}else"regex"===s.kind?(s.regex.lastIndex=0,s.regex.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"regex",code:BM.invalid_string,message:s.message}),o.dirty())):"trim"===s.kind?e.data=e.data.trim():"includes"===s.kind?e.data.includes(s.value,s.position)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),o.dirty()):"toLowerCase"===s.kind?e.data=e.data.toLowerCase():"toUpperCase"===s.kind?e.data=e.data.toUpperCase():"startsWith"===s.kind?e.data.startsWith(s.value)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:{startsWith:s.value},message:s.message}),o.dirty()):"endsWith"===s.kind?e.data.endsWith(s.value)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:{endsWith:s.value},message:s.message}),o.dirty()):"datetime"===s.kind?(function(e){let t=`${B0}T${B2(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,RegExp(`^${t}$`)})(s).test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:"datetime",message:s.message}),o.dirty()):"date"===s.kind?B1.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:"date",message:s.message}),o.dirty()):"time"===s.kind?RegExp(`^${B2(s)}$`).test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:"time",message:s.message}),o.dirty()):"duration"===s.kind?Bq.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"duration",code:BM.invalid_string,message:s.message}),o.dirty()):"ip"===s.kind?(t=e.data,!(("v4"===(r=s.version)||!r)&&BK.test(t)||("v6"===r||!r)&&BY.test(t))&&1&&(BT(a=this._getOrReturnCtx(e,a),{validation:"ip",code:BM.invalid_string,message:s.message}),o.dirty())):"jwt"===s.kind?!function(e,t){if(!BV.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));if("object"!=typeof i||null===i||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)return!1;return!0}catch{return!1}}(e.data,s.alg)&&(BT(a=this._getOrReturnCtx(e,a),{validation:"jwt",code:BM.invalid_string,message:s.message}),o.dirty()):"cidr"===s.kind?(n=e.data,!(("v4"===(i=s.version)||!i)&&BJ.test(n)||("v6"===i||!i)&&BX.test(n))&&1&&(BT(a=this._getOrReturnCtx(e,a),{validation:"cidr",code:BM.invalid_string,message:s.message}),o.dirty())):"base64"===s.kind?BZ.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"base64",code:BM.invalid_string,message:s.message}),o.dirty()):"base64url"===s.kind?B$.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"base64url",code:BM.invalid_string,message:s.message}),o.dirty()):eh.assertNever(s);return{status:o.value,value:e.data}}_regex(e,t,r){return this.refinement(t=>e.test(t),{validation:t,code:BM.invalid_string,...eA.errToObj(r)})}_addCheck(e){return new B3({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...eA.errToObj(e)})}url(e){return this._addCheck({kind:"url",...eA.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...eA.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...eA.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...eA.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...eA.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...eA.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...eA.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...eA.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...eA.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...eA.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...eA.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...eA.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...eA.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...eA.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...eA.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...eA.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...eA.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...eA.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...eA.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...eA.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...eA.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...eA.errToObj(t)})}nonempty(e){return this.min(1,eA.errToObj(e))}trim(){return new B3({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new B3({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new B3({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}B3.create=e=>new B3({checks:[],typeName:ef.ZodString,coerce:e?.coerce??!1,...BO(e)});class B9 extends BQ{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==BE.number){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.number,received:t.parsedType}),BP}let r=new BR;for(let n of this._def.checks)"int"===n.kind?eh.isInteger(e.data)||(BT(t=this._getOrReturnCtx(e,t),{code:BM.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"multipleOf"===n.kind?0!==function(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n;return Number.parseInt(e.toFixed(i).replace(".",""))%Number.parseInt(t.toFixed(i).replace(".",""))/10**i}(e.data,n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(BT(t=this._getOrReturnCtx(e,t),{code:BM.not_finite,message:n.message}),r.dirty()):eh.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,eA.toString(t))}gt(e,t){return this.setLimit("min",e,!1,eA.toString(t))}lte(e,t){return this.setLimit("max",e,!0,eA.toString(t))}lt(e,t){return this.setLimit("max",e,!1,eA.toString(t))}setLimit(e,t,r,n){return new B9({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:eA.toString(n)}]})}_addCheck(e){return new B9({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:eA.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:eA.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:eA.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:eA.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:eA.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:eA.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:eA.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:eA.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:eA.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&eh.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let r of this._def.checks)if("finite"===r.kind||"int"===r.kind||"multipleOf"===r.kind)return!0;else"min"===r.kind?(null===t||r.value>t)&&(t=r.value):"max"===r.kind&&(null===e||r.value<e)&&(e=r.value);return Number.isFinite(t)&&Number.isFinite(e)}}B9.create=e=>new B9({checks:[],typeName:ef.ZodNumber,coerce:e?.coerce||!1,...BO(e)});class B4 extends BQ{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==BE.bigint)return this._getInvalidInput(e);let r=new BR;for(let n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):eh.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.bigint,received:t.parsedType}),BP}gte(e,t){return this.setLimit("min",e,!0,eA.toString(t))}gt(e,t){return this.setLimit("min",e,!1,eA.toString(t))}lte(e,t){return this.setLimit("max",e,!0,eA.toString(t))}lt(e,t){return this.setLimit("max",e,!1,eA.toString(t))}setLimit(e,t,r,n){return new B4({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:eA.toString(n)}]})}_addCheck(e){return new B4({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:eA.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:eA.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:eA.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:eA.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:eA.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}B4.create=e=>new B4({checks:[],typeName:ef.ZodBigInt,coerce:e?.coerce??!1,...BO(e)});class B5 extends BQ{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==BE.boolean){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.boolean,received:t.parsedType}),BP}return B_(e.data)}}B5.create=e=>new B5({typeName:ef.ZodBoolean,coerce:e?.coerce||!1,...BO(e)});class B8 extends BQ{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==BE.date){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.date,received:t.parsedType}),BP}if(Number.isNaN(e.data.getTime()))return BT(this._getOrReturnCtx(e),{code:BM.invalid_date}),BP;let r=new BR;for(let n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),r.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),r.dirty()):eh.assertNever(n);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new B8({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:eA.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:eA.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}B8.create=e=>new B8({checks:[],coerce:e?.coerce||!1,typeName:ef.ZodDate,...BO(e)});class B6 extends BQ{_parse(e){if(this._getType(e)!==BE.symbol){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.symbol,received:t.parsedType}),BP}return B_(e.data)}}B6.create=e=>new B6({typeName:ef.ZodSymbol,...BO(e)});class B7 extends BQ{_parse(e){if(this._getType(e)!==BE.undefined){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.undefined,received:t.parsedType}),BP}return B_(e.data)}}B7.create=e=>new B7({typeName:ef.ZodUndefined,...BO(e)});class ke extends BQ{_parse(e){if(this._getType(e)!==BE.null){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.null,received:t.parsedType}),BP}return B_(e.data)}}ke.create=e=>new ke({typeName:ef.ZodNull,...BO(e)});class kt extends BQ{constructor(){super(...arguments),this._any=!0}_parse(e){return B_(e.data)}}kt.create=e=>new kt({typeName:ef.ZodAny,...BO(e)});class kr extends BQ{constructor(){super(...arguments),this._unknown=!0}_parse(e){return B_(e.data)}}kr.create=e=>new kr({typeName:ef.ZodUnknown,...BO(e)});class kn extends BQ{_parse(e){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.never,received:t.parsedType}),BP}}kn.create=e=>new kn({typeName:ef.ZodNever,...BO(e)});class ki extends BQ{_parse(e){if(this._getType(e)!==BE.undefined){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.void,received:t.parsedType}),BP}return B_(e.data)}}ki.create=e=>new ki({typeName:ef.ZodVoid,...BO(e)});class ka extends BQ{_parse(e){let{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==BE.array)return BT(t,{code:BM.invalid_type,expected:BE.array,received:t.parsedType}),BP;if(null!==n.exactLength){let e=t.data.length>n.exactLength.value,i=t.data.length<n.exactLength.value;(e||i)&&(BT(t,{code:e?BM.too_big:BM.too_small,minimum:i?n.exactLength.value:void 0,maximum:e?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),r.dirty())}if(null!==n.minLength&&t.data.length<n.minLength.value&&(BT(t,{code:BM.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),r.dirty()),null!==n.maxLength&&t.data.length>n.maxLength.value&&(BT(t,{code:BM.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((e,r)=>n.type._parseAsync(new BF(t,e,t.path,r)))).then(e=>BR.mergeArray(r,e));let i=[...t.data].map((e,r)=>n.type._parseSync(new BF(t,e,t.path,r)));return BR.mergeArray(r,i)}get element(){return this._def.type}min(e,t){return new ka({...this._def,minLength:{value:e,message:eA.toString(t)}})}max(e,t){return new ka({...this._def,maxLength:{value:e,message:eA.toString(t)}})}length(e,t){return new ka({...this._def,exactLength:{value:e,message:eA.toString(t)}})}nonempty(e){return this.min(1,e)}}ka.create=(e,t)=>new ka({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ef.ZodArray,...BO(t)});class ko extends BQ{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=eh.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==BE.object){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.object,received:t.parsedType}),BP}let{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof kn&&"strip"===this._def.unknownKeys))for(let e in r.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=n[e],i=r.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new BF(r,i,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof kn){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of a)o.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)a.length>0&&(BT(r,{code:BM.unrecognized_keys,keys:a}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of a){let n=r.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new BF(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let r=await t.key,n=await t.value;e.push({key:r,value:n,alwaysSet:t.alwaysSet})}return e}).then(e=>BR.mergeObjectSync(t,e)):BR.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return eA.errToObj,new ko({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,r)=>{let n=this._def.errorMap?.(t,r).message??r.defaultError;return"unrecognized_keys"===t.code?{message:eA.errToObj(e).message??n}:{message:n}}}:{}})}strip(){return new ko({...this._def,unknownKeys:"strip"})}passthrough(){return new ko({...this._def,unknownKeys:"passthrough"})}extend(e){return new ko({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ko({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:ef.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new ko({...this._def,catchall:e})}pick(e){let t={};for(let r of eh.objectKeys(e))e[r]&&this.shape[r]&&(t[r]=this.shape[r]);return new ko({...this._def,shape:()=>t})}omit(e){let t={};for(let r of eh.objectKeys(this.shape))e[r]||(t[r]=this.shape[r]);return new ko({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof ko){let r={};for(let n in t.shape){let i=t.shape[n];r[n]=kC.create(e(i))}return new ko({...t._def,shape:()=>r})}if(t instanceof ka)return new ka({...t._def,type:e(t.element)});if(t instanceof kC)return kC.create(e(t.unwrap()));if(t instanceof kE)return kE.create(e(t.unwrap()));if(t instanceof kd)return kd.create(t.items.map(t=>e(t)));else return t}(this)}partial(e){let t={};for(let r of eh.objectKeys(this.shape)){let n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()}return new ko({...this._def,shape:()=>t})}required(e){let t={};for(let r of eh.objectKeys(this.shape))if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof kC;)e=e._def.innerType;t[r]=e}return new ko({...this._def,shape:()=>t})}keyof(){return kv(eh.objectKeys(this.shape))}}ko.create=(e,t)=>new ko({shape:()=>e,unknownKeys:"strip",catchall:kn.create(),typeName:ef.ZodObject,...BO(t)}),ko.strictCreate=(e,t)=>new ko({shape:()=>e,unknownKeys:"strict",catchall:kn.create(),typeName:ef.ZodObject,...BO(t)}),ko.lazycreate=(e,t)=>new ko({shape:e,unknownKeys:"strip",catchall:kn.create(),typeName:ef.ZodObject,...BO(t)});class ks extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map(async e=>{let r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}})).then(function(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;let r=e.map(e=>new BI(e.ctx.common.issues));return BT(t,{code:BM.invalid_union,unionErrors:r}),BP});{let e,n=[];for(let i of r){let r={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:r});if("valid"===a.status)return a;"dirty"!==a.status||e||(e={result:a,ctx:r}),r.common.issues.length&&n.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=n.map(e=>new BI(e));return BT(t,{code:BM.invalid_union,unionErrors:i}),BP}}get options(){return this._def.options}}ks.create=(e,t)=>new ks({options:e,typeName:ef.ZodUnion,...BO(t)});let kl=e=>{if(e instanceof kg)return kl(e.schema);if(e instanceof kx)return kl(e.innerType());if(e instanceof km)return[e.value];if(e instanceof kb)return e.options;if(e instanceof ky)return eh.objectValues(e.enum);else if(e instanceof kS)return kl(e._def.innerType);else if(e instanceof B7)return[void 0];else if(e instanceof ke)return[null];else if(e instanceof kC)return[void 0,...kl(e.unwrap())];else if(e instanceof kE)return[null,...kl(e.unwrap())];else if(e instanceof kB)return kl(e.unwrap());else if(e instanceof kT)return kl(e.unwrap());else if(e instanceof kM)return kl(e._def.innerType);else return[]};class kc extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==BE.object)return BT(t,{code:BM.invalid_type,expected:BE.object,received:t.parsedType}),BP;let r=this.discriminator,n=t.data[r],i=this.optionsMap.get(n);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(BT(t,{code:BM.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),BP)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){let n=new Map;for(let r of t){let t=kl(r.shape[e]);if(!t.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of t){if(n.has(i))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);n.set(i,r)}}return new kc({typeName:ef.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...BO(r)})}}class ku extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=(e,n)=>{if("aborted"===e.status||"aborted"===n.status)return BP;let i=function e(t,r){let n=BS(t),i=BS(r);if(t===r)return{valid:!0,data:t};if(n===BE.object&&i===BE.object){let n=eh.objectKeys(r),i=eh.objectKeys(t).filter(e=>-1!==n.indexOf(e)),a={...t,...r};for(let n of i){let i=e(t[n],r[n]);if(!i.valid)return{valid:!1};a[n]=i.data}return{valid:!0,data:a}}if(n===BE.array&&i===BE.array){if(t.length!==r.length)return{valid:!1};let n=[];for(let i=0;i<t.length;i++){let a=e(t[i],r[i]);if(!a.valid)return{valid:!1};n.push(a.data)}return{valid:!0,data:n}}if(n===BE.date&&i===BE.date&&+t==+r)return{valid:!0,data:t};return{valid:!1}}(e.value,n.value);return i.valid?(("dirty"===e.status||"dirty"===n.status)&&t.dirty(),{status:t.value,value:i.data}):(BT(r,{code:BM.invalid_intersection_types}),BP)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([e,t])=>n(e,t)):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ku.create=(e,t,r)=>new ku({left:e,right:t,typeName:ef.ZodIntersection,...BO(r)});class kd extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.array)return BT(r,{code:BM.invalid_type,expected:BE.array,received:r.parsedType}),BP;if(r.data.length<this._def.items.length)return BT(r,{code:BM.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),BP;!this._def.rest&&r.data.length>this._def.items.length&&(BT(r,{code:BM.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let n=[...r.data].map((e,t)=>{let n=this._def.items[t]||this._def.rest;return n?n._parse(new BF(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(n).then(e=>BR.mergeArray(t,e)):BR.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new kd({...this._def,rest:e})}}kd.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new kd({items:e,typeName:ef.ZodTuple,rest:null,...BO(t)})};class kh extends BQ{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.object)return BT(r,{code:BM.invalid_type,expected:BE.object,received:r.parsedType}),BP;let n=[],i=this._def.keyType,a=this._def.valueType;for(let e in r.data)n.push({key:i._parse(new BF(r,e,r.path,e)),value:a._parse(new BF(r,r.data[e],r.path,e)),alwaysSet:e in r.data});return r.common.async?BR.mergeObjectAsync(t,n):BR.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new kh(t instanceof BQ?{keyType:e,valueType:t,typeName:ef.ZodRecord,...BO(r)}:{keyType:B3.create(),valueType:e,typeName:ef.ZodRecord,...BO(t)})}}class kp extends BQ{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.map)return BT(r,{code:BM.invalid_type,expected:BE.map,received:r.parsedType}),BP;let n=this._def.keyType,i=this._def.valueType,a=[...r.data.entries()].map(([e,t],a)=>({key:n._parse(new BF(r,e,r.path,[a,"key"])),value:i._parse(new BF(r,t,r.path,[a,"value"]))}));if(r.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let r of a){let n=await r.key,i=await r.value;if("aborted"===n.status||"aborted"===i.status)return BP;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let r of a){let n=r.key,i=r.value;if("aborted"===n.status||"aborted"===i.status)return BP;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}kp.create=(e,t,r)=>new kp({valueType:t,keyType:e,typeName:ef.ZodMap,...BO(r)});class kA extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.set)return BT(r,{code:BM.invalid_type,expected:BE.set,received:r.parsedType}),BP;let n=this._def;null!==n.minSize&&r.data.size<n.minSize.value&&(BT(r,{code:BM.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),null!==n.maxSize&&r.data.size>n.maxSize.value&&(BT(r,{code:BM.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let r=new Set;for(let n of e){if("aborted"===n.status)return BP;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}let o=[...r.data.values()].map((e,t)=>i._parse(new BF(r,e,r.path,t)));return r.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(e,t){return new kA({...this._def,minSize:{value:e,message:eA.toString(t)}})}max(e,t){return new kA({...this._def,maxSize:{value:e,message:eA.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}kA.create=(e,t)=>new kA({valueType:e,minSize:null,maxSize:null,typeName:ef.ZodSet,...BO(t)});class kf extends BQ{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==BE.function)return BT(t,{code:BM.invalid_type,expected:BE.function,received:t.parsedType}),BP;function r(e,r){return Bk({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,BB,BB].filter(e=>!!e),issueData:{code:BM.invalid_arguments,argumentsError:r}})}function n(e,r){return Bk({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,BB,BB].filter(e=>!!e),issueData:{code:BM.invalid_return_type,returnTypeError:r}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof kw){let e=this;return B_(async function(...t){let o=new BI([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(r(t,e)),o}),l=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(l,i).catch(e=>{throw o.addIssue(n(l,e)),o})})}{let e=this;return B_(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new BI([r(t,o.error)]);let s=Reflect.apply(a,this,o.data),l=e._def.returns.safeParse(s,i);if(!l.success)throw new BI([n(s,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new kf({...this._def,args:kd.create(e).rest(kr.create())})}returns(e){return new kf({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new kf({args:e||kd.create([]).rest(kr.create()),returns:t||kr.create(),typeName:ef.ZodFunction,...BO(r)})}}class kg extends BQ{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}kg.create=(e,t)=>new kg({getter:e,typeName:ef.ZodLazy,...BO(t)});class km extends BQ{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return BT(t,{received:t.data,code:BM.invalid_literal,expected:this._def.value}),BP}return{status:"valid",value:e.data}}get value(){return this._def.value}}function kv(e,t){return new kb({values:e,typeName:ef.ZodEnum,...BO(t)})}km.create=(e,t)=>new km({value:e,typeName:ef.ZodLiteral,...BO(t)});class kb extends BQ{_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),r=this._def.values;return BT(t,{expected:eh.joinValues(r),received:t.parsedType,code:BM.invalid_type}),BP}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),r=this._def.values;return BT(t,{received:t.data,code:BM.invalid_enum_value,options:r}),BP}return B_(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return kb.create(e,{...this._def,...t})}exclude(e,t=this._def){return kb.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}kb.create=kv;class ky extends BQ{_parse(e){let t=eh.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==BE.string&&r.parsedType!==BE.number){let e=eh.objectValues(t);return BT(r,{expected:eh.joinValues(e),received:r.parsedType,code:BM.invalid_type}),BP}if(this._cache||(this._cache=new Set(eh.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let e=eh.objectValues(t);return BT(r,{received:r.data,code:BM.invalid_enum_value,options:e}),BP}return B_(e.data)}get enum(){return this._def.values}}ky.create=(e,t)=>new ky({values:e,typeName:ef.ZodNativeEnum,...BO(t)});class kw extends BQ{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==BE.promise&&!1===t.common.async?(BT(t,{code:BM.invalid_type,expected:BE.promise,received:t.parsedType}),BP):B_((t.parsedType===BE.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}kw.create=(e,t)=>new kw({type:e,typeName:ef.ZodPromise,...BO(t)});class kx extends BQ{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ef.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=this._def.effect||null,i={addIssue:e=>{BT(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===n.type){let e=n.transform(r.data,i);if(r.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return BP;let n=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return"aborted"===n.status?BP:"dirty"===n.status||"dirty"===t.value?BD(n.value):n});{if("aborted"===t.value)return BP;let n=this._def.schema._parseSync({data:e,path:r.path,parent:r});return"aborted"===n.status?BP:"dirty"===n.status||"dirty"===t.value?BD(n.value):n}}if("refinement"===n.type){let e=e=>{let t=n.refinement(e,i);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(r=>"aborted"===r.status?BP:("dirty"===r.status&&t.dirty(),e(r.value).then(()=>({status:t.value,value:r.value}))));{let n=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===n.status?BP:("dirty"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}}if("transform"===n.type)if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>"valid"!==e.status?BP:Promise.resolve(n.transform(e.value,i)).then(e=>({status:t.value,value:e})));else{let e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if("valid"!==e.status)return BP;let a=n.transform(e.value,i);if(a instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}eh.assertNever(n)}}kx.create=(e,t,r)=>new kx({schema:e,typeName:ef.ZodEffects,effect:t,...BO(r)}),kx.createWithPreprocess=(e,t,r)=>new kx({schema:t,effect:{type:"preprocess",transform:e},typeName:ef.ZodEffects,...BO(r)});class kC extends BQ{_parse(e){return this._getType(e)===BE.undefined?B_(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}kC.create=(e,t)=>new kC({innerType:e,typeName:ef.ZodOptional,...BO(t)});class kE extends BQ{_parse(e){return this._getType(e)===BE.null?B_(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}kE.create=(e,t)=>new kE({innerType:e,typeName:ef.ZodNullable,...BO(t)});class kS extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return t.parsedType===BE.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}kS.create=(e,t)=>new kS({innerType:e,typeName:ef.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...BO(t)});class kM extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return BL(n)?n.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new BI(r.common.issues)},input:r.data})})):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new BI(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}kM.create=(e,t)=>new kM({innerType:e,typeName:ef.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...BO(t)});class kI extends BQ{_parse(e){if(this._getType(e)!==BE.nan){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.nan,received:t.parsedType}),BP}return{status:"valid",value:e.data}}}kI.create=e=>new kI({typeName:ef.ZodNaN,...BO(e)}),Symbol("zod_brand");class kB extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class kk extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?BP:"dirty"===e.status?(t.dirty(),BD(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})();{let e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?BP:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new kk({in:e,out:t,typeName:ef.ZodPipeline})}}class kT extends BQ{_parse(e){let t=this._def.innerType._parse(e),r=e=>("valid"===e.status&&(e.value=Object.freeze(e.value)),e);return BL(t)?t.then(e=>r(e)):r(t)}unwrap(){return this._def.innerType}}kT.create=(e,t)=>new kT({innerType:e,typeName:ef.ZodReadonly,...BO(t)}),ko.lazycreate,(eo=ef||(ef={})).ZodString="ZodString",eo.ZodNumber="ZodNumber",eo.ZodNaN="ZodNaN",eo.ZodBigInt="ZodBigInt",eo.ZodBoolean="ZodBoolean",eo.ZodDate="ZodDate",eo.ZodSymbol="ZodSymbol",eo.ZodUndefined="ZodUndefined",eo.ZodNull="ZodNull",eo.ZodAny="ZodAny",eo.ZodUnknown="ZodUnknown",eo.ZodNever="ZodNever",eo.ZodVoid="ZodVoid",eo.ZodArray="ZodArray",eo.ZodObject="ZodObject",eo.ZodUnion="ZodUnion",eo.ZodDiscriminatedUnion="ZodDiscriminatedUnion",eo.ZodIntersection="ZodIntersection",eo.ZodTuple="ZodTuple",eo.ZodRecord="ZodRecord",eo.ZodMap="ZodMap",eo.ZodSet="ZodSet",eo.ZodFunction="ZodFunction",eo.ZodLazy="ZodLazy",eo.ZodLiteral="ZodLiteral",eo.ZodEnum="ZodEnum",eo.ZodEffects="ZodEffects",eo.ZodNativeEnum="ZodNativeEnum",eo.ZodOptional="ZodOptional",eo.ZodNullable="ZodNullable",eo.ZodDefault="ZodDefault",eo.ZodCatch="ZodCatch",eo.ZodPromise="ZodPromise",eo.ZodBranded="ZodBranded",eo.ZodPipeline="ZodPipeline",eo.ZodReadonly="ZodReadonly";let kR=B3.create,kP=B9.create;kI.create,B4.create;let kD=B5.create;B8.create,B6.create,B7.create,ke.create,kt.create;let k_=kr.create;kn.create,ki.create,ka.create;let kL=ko.create;ko.strictCreate,ks.create,kc.create,ku.create,kd.create,kh.create,kp.create,kA.create,kf.create,kg.create,km.create;let kF=kb.create;ky.create,kw.create,kx.create,kC.create,kE.create;let kN=kx.createWithPreprocess;kk.create;let kO=kF(["cm","inch"]),kQ=kF(["different_fields","one_field"]),kU=kF(["left_bottom","center","right_bottom","left_center","right_center"]),kz=kL({buttonLabel:kR(),backgroundColor:kR(),borderColor:kR(),textColor:kR(),borderRadius:kP(),borderWidth:kP()}),kj=kL({units:kO,productWidthAndHeight:kQ,metafieldForWidth:kR().nullable(),metafieldForHeight:kR().nullable(),metafieldForWidthAndHeight:kR().nullable(),widgetPosition:kU,_widgetSettings:kz.optional(),isWidgetActive:kD()}),kG=function(e){let t=e?.trim().replace(/\/+$/,"")??"";if(!t||t.includes("/v1/http")||t.endsWith("/v1"))return t;let r=t.indexOf("/http");return r>=0?`${t.slice(0,r)}/v1${t.slice(r)}`:`${t}/v1`}("/apps/vizbl-wall-art/http"),kH=kL({token:kR().trim().min(1),sid:kR().trim().min(1),expiresIn:kP().finite()}),kV=kL({metafields:kR().trim().min(1),posterPic:kR().trim().min(1),title:kR().trim().optional(),widgetSession:k_().optional()}),kq=kN(e=>"string"==typeof e?JSON.parse(e):e,kL({metafield:k_(),tinuuid:kR().trim().optional()}));async function kW(e,t){let r=await BC({productType:"wallart-shopify",variant_id:e,metafield_key:"poster_settings"},{baseURL:kG,signal:t});return function(e){let t,r,n=kV.safeParse("string"!=typeof e?e:JSON.parse(e));if(!n.success)return null;let i=kq.safeParse(n.data.metafields);if(!i.success)return null;let a=(t=function(e){if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return}}(i.data.metafield),(r=kj.safeParse(t)).success?r.data:null);if(!a)return null;let o=kH.safeParse(n.data.widgetSession);return{settings:a,posterPic:n.data.posterPic,title:n.data.title??null,tinuuid:i.data.tinuuid??null,widgetSession:o.success?o.data:null}}(r.body??r)}let kK="44px",kJ="60px",kY={left_center:{left:kJ,top:"50%",transform:"translateY(-50%)"},left_bottom:{left:kJ,bottom:kK},center:{left:`calc(50% + ${kJ})`,bottom:kK,transform:"translateX(-50%)"},right_bottom:{right:kJ,bottom:kK},right_center:{right:kJ,top:"50%",transform:"translateY(-50%)"}},kX=kN(e=>"number"==typeof e&&Number.isFinite(e)?String(e):e,kR().trim().regex(/^\d+$/));function kZ(e){let t=kX.safeParse(e);return t.success?t.data:null}function k$(e){return e?e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?e.value:e.getAttribute("value"):null}let k0=["product-form","[data-main-product]",'[id*="MainProduct"]',".product",".product__info-wrapper",".product__info-container","#MainContent"],k1=[".product-recommendations",".related-products","[data-product-recommendations]"];var k2=r("./src/shopify.css?inline");function k3(){let e=function({documentRef:e=document,locationRef:t=window.location,analytics:r=window.ShopifyAnalytics}={}){var n;let i=e.body;if(i?.classList.contains("template-collection"))return!1;if(n=t.pathname,/(?:^|\/)products\/[^/]+/i.test(n)||r?.meta?.page?.pageType?.toLowerCase()==="product")return!0;let a=e.querySelector('meta[property="og:type"]')?.getAttribute("content");return!!(a?.trim().toLowerCase()==="product"||i?.classList.contains("template-product"))}();return{isProductPage:e,variantId:e?function({documentRef:e=document,locationRef:t=window.location}={}){return function(e=window.location){return kZ(new URLSearchParams(e.search).get("variant"))}(t)??function(e=document){for(let{field:t}of Array.from(e.querySelectorAll('form[action*="/cart/add"]')).flatMap((t,r)=>{let n;return[...Array.from(t.querySelectorAll('input[name="id"], select[name="id"]')),...!(n=t.getAttribute("id"))?[]:Array.from(e.querySelectorAll('input[name="id"][form], select[name="id"][form]')).filter(e=>e.getAttribute("form")===n)].map((e,n)=>({field:e,formIndex:r,fieldIndex:n,score:function(e){let t=0,r=(e.getAttribute("id")??"").toLowerCase(),n=(e.getAttribute("class")??"").toLowerCase();for(let i of(r.includes("product-form")&&(t+=100),n.includes("product-form")&&(t+=80),k0))e.closest(i)&&(t+=25);for(let r of k1)e.closest(r)&&(t-=100);return t}(t)}))}).sort((e,t)=>t.score-e.score||e.formIndex-t.formIndex||e.fieldIndex-t.fieldIndex)){let e=kZ(k$(t));if(e)return e}return null}(e)??function(e=document){for(let t of Array.from(e.querySelectorAll('[name="id"][form^="product-form"]'))){let e=kZ(k$(t));if(e)return e}return null}(e)??function(e=document){let t=e.querySelector("[data-selected-variant-id]");return kZ(t?.getAttribute("data-selected-variant-id")??null)}(e)}():null}}function k9(){let e=function(){let[e,t]=(0,te.useState)(k3);return(0,te.useEffect)(()=>{let e=null,r=window.history.pushState,n=window.history.replaceState,i=()=>{null===e&&(e=window.requestAnimationFrame(()=>{e=null,t(e=>{let t=k3();return e.isProductPage===t.isProductPage&&e.variantId===t.variantId?e:t})}))};window.history.pushState=function(...e){let t=r.apply(this,e);return i(),t},window.history.replaceState=function(...e){let t=n.apply(this,e);return i(),t};let a=tH('body.template-product, body.template-collection, meta[property="og:type"], form[action*="/cart/add"], form[action*="/cart/add"] [name="id"], [name="id"][form], [data-selected-variant-id]',{initialize(e){let t;return{add(){t=(e=>{var t;let r=(t=e).matches("body")?["class"]:t.matches('meta[property="og:type"]')?["content"]:t.matches('form[action*="/cart/add"]')?["action","class","id"]:t.matches('form[action*="/cart/add"] [name="id"], [name="id"][form]')?["form","value"]:t.matches("[data-selected-variant-id]")?["data-selected-variant-id"]:[];if(0===r.length)return;let n=new MutationObserver(i);return n.observe(e,{attributes:!0,attributeFilter:r}),()=>{n.disconnect()}})(e),i()},remove(){t?.(),t=void 0,i()}}}});return document.addEventListener("change",i,!0),document.addEventListener("input",i,!0),document.addEventListener("click",i,!0),window.addEventListener("popstate",i),i(),()=>{null!==e&&window.cancelAnimationFrame(e),window.history.pushState=r,window.history.replaceState=n,a.abort(),document.removeEventListener("change",i,!0),document.removeEventListener("input",i,!0),document.removeEventListener("click",i,!0),window.removeEventListener("popstate",i)}},[]),e}(),[t,r]=(0,te.useState)(!1),{data:n}=nF({queryKey:["vizbl-shopify-room-viewer","activation",e.variantId],queryFn:({signal:t})=>kW(e.variantId??"",t),enabled:e.isProductPage&&null!==e.variantId,staleTime:3e5,gcTime:3e5,refetchOnWindowFocus:!1},ny,void 0),i=(0,te.useCallback)(()=>{r(!0)},[]),a=(0,te.useCallback)(e=>{r(e)},[]);if(!e.isProductPage||!e.variantId||!n?.settings.isWidgetActive)return null;let{settings:o,posterPic:s,title:l}=n,c=o._widgetSettings,u=function(e){if("one_field"===e.productWidthAndHeight){let[t,r]=e.metafieldForWidthAndHeight.split("x");return{width:Number(t),height:Number(r)}}return{width:Number(e.metafieldForWidth),height:Number(e.metafieldForHeight)}}(o),d="inch"===o.units?"in":"cm";return(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)("button",{type:"button",onClick:i,style:{position:"fixed",zIndex:0x7ffffffe,display:"inline-flex",alignItems:"center",justifyContent:"center",padding:"13.522px 21.635px",borderStyle:"solid",borderColor:c?.borderColor??"rgba(65, 90, 229, 0.3)",borderWidth:c?.borderWidth??1,borderRadius:c?.borderRadius??121.053,background:c?.backgroundColor??"#ffffff",boxShadow:"0px 0px 20px 0px rgba(23, 32, 51, 0.14), 0px 16px 32px 0px rgba(23, 32, 51, 0.17)",color:c?.textColor??"#111111",boxSizing:"border-box",cursor:"pointer",maxWidth:"calc(100vw - 16px)",fontFamily:'Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',fontSize:18,fontWeight:600,letterSpacing:0,lineHeight:"18px",margin:0,appearance:"none",...kY[o.widgetPosition]},children:c?.buttonLabel??"View in place"}),(0,tr.jsx)(Bu,{open:t,onOpenChange:a,type:"wallart",source:"shopify",src:s,name:l??"",width:u.width,height:u.height,dimensionUnit:d,widgetSession:n.widgetSession}),t&&(0,tV.createPortal)((0,tr.jsx)("style",{children:k2.A}),document.head)]})}let k4="vizbl-shopify-room-viewer",k5=new e7({defaultOptions:{queries:{refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(a_(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function k8(){let e,t=((e=document.getElementById(k4))||((e=document.createElement("div")).id=k4,document.body.appendChild(e)),e),r=to.createRoot(t);r.render((0,te.createElement)(ta,{client:k5},(0,te.createElement)(k9)));let n=tH(`#${k4}`,{remove(){n.abort(),r.unmount(),k8()}})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",k8,{once:!0}):k8()})()})();
|
|
7244
|
+
${o}`;a(!0);try{if(!i&&t)return void await MN(s);let n=e.current;if(n)try{let e=await n.capture(),t=new File([e],r,{type:e.type||"image/png"});if(navigator.canShare?.({files:[t]}))return void await navigator.share({text:s,files:[t]})}catch(e){console.error("Failed to generate scene screenshot for sharing",e)}await navigator.share({text:s,url:o})}catch(e){e instanceof DOMException&&"AbortError"===e.name||console.error("Failed to share scene",e)}finally{a(!1)}},[l,e,t,r,n]);return{canShare:l,download:(0,te.useCallback)(async()=>{let t=e.current;if(t){s(!0);try{var n;let e,i;n=await t.capture(),e=URL.createObjectURL(n),(i=document.createElement("a")).href=e,i.download=r,document.body.append(i),i.click(),i.remove(),URL.revokeObjectURL(e)}catch(e){console.error("Failed to download scene screenshot",e)}finally{s(!1)}}},[e,r]),isDownloading:o,isSharing:i,share:c}}({captureRef:D,fallbackToClipboard:!0,shareMessage:t(`shareMessage.${n}`)}),G=(0,te.useCallback)(()=>{T(!1),P(!1)},[]),H=(0,te.useCallback)(()=>{if(_.current){_.current=!1;return}T(!0),P(!1)},[]),V=(0,te.useCallback)(()=>{_.current=!0,G()},[G]),q=(0,te.useCallback)(()=>{P(!0),T(!1)},[]),W=function({activeError:e,apiKey:t,baseURL:r,clearActiveError:n,closeMaterialSelection:i,glbUrl:a,handleAccessError:o,hasDialogPortalContainer:s,hasRooms:l,isRoomScenePending:c,isViewerAccessPending:u,onViewerDialogOpenChange:d,resourceType:h,sceneLoad:p,source:A,sourceRooms:f,viewerDialogOpen:g,viewerSurface:m,widgetSession:v}){let b=function(e){let{initialRoomId:t,room:r,sourceRooms:n}=Eq(),{isViewerAccessPending:i,loadError:a,setLoadError:o}=EW(),{type:s}=EH(),{patchSceneLoad:l,sceneGestures:{setAngle:c,setRotation:u}}=EJ(),d=(0,te.useMemo)(()=>({patchSceneLoad:l,setAngle:c,setRotation:u}),[l,c,u]),h=n.find(e=>e.id===t),p=!!h&&(!h?.scene||SJ(h.scene,ES(s)).length>0),A=function(e,t,r){let[n,i]=(0,te.useReducer)(I1,e,I0),[a,o]=(0,te.useState)();!r?.isPending&&a!==r?.roomId&&(o(r?.roomId),r&&i(r.isAvailable?{type:"select-initial-room",roomId:r.roomId}:{type:"clear-interior-selection"}));let s=(0,te.useCallback)(e=>{e(),function({patchSceneLoad:e,setAngle:t,setRotation:r}){t(0),r(0),e(MR)}(t),i({type:"commit-interior-selection"})},[t]),l=(0,te.useCallback)(()=>{i({type:"dismiss-interior-selection"})},[]),c=(0,te.useCallback)(()=>{i({type:"open-interior-selection"})},[]),u=(0,te.useCallback)(()=>{i({type:"recover-to-scene"})},[]),d=(0,te.useCallback)(()=>{i({type:"return-to-interior-selection"})},[]),h=(0,te.useCallback)(()=>{i({type:"clear-interior-selection",automaticRoomId:n.automaticRoomId})},[n.automaticRoomId]),p=(0,te.useCallback)(()=>{i({type:"start-custom-interior-processing"})},[]);return(0,te.useMemo)(()=>({...n,commitInteriorSelection:s,dismissInteriorSelection:l,openInteriorSelection:c,recoverToScene:u,returnToInteriorSelection:d,clearInteriorSelection:h,startCustomInteriorProcessing:p}),[s,l,c,u,d,h,p,n])}(e,d,t?{roomId:t,isAvailable:p,isPending:i}:void 0),{automaticRoomId:f,clearInteriorSelection:g}=A;return(0,te.useEffect)(()=>{f&&r.id===f&&EL(a)&&(g(),o(null))},[f,g,a,r.id,o]),A}(m),y=ES(h),{appendRuntimeCustomInterior:w,customRooms:x}=function({listCustomInteriors:e,surfaces:t}){let{appendRuntimeCustomInterior:r,customRooms:n,replaceRuntimeCustomInteriors:i}=function(){let[e,t]=(0,te.useState)(()=>[]),r=(0,te.useRef)(null),n=(0,te.useCallback)(e=>{r.current?.revokeObjectUrls();let n=I$(e);return r.current=n,t(n.rooms),n.rooms},[]),i=(0,te.useCallback)((e,n)=>{let i=I$([{id:IJ(),schemaVersion:1,name:e.name,fileName:e.name,createdAt:new Date().toISOString(),imageBlob:e,scene:n}]),a=i.rooms[0];if(!a)return i.revokeObjectUrls(),null;let o=r.current;return r.current={rooms:[],revokeObjectUrls:()=>{o?.revokeObjectUrls(),i.revokeObjectUrls()}},t(e=>[a,...e.filter(e=>e.id!==a.id)]),a},[]);return(0,te.useEffect)(()=>()=>{r.current?.revokeObjectUrls()},[]),(0,te.useMemo)(()=>({appendRuntimeCustomInterior:i,customRooms:e,replaceRuntimeCustomInteriors:n}),[i,e,n])}(),a=(0,te.useRef)(!0);(0,te.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let o=(0,te.useCallback)(async()=>{let r=await e();a.current&&i(r.filter(e=>!SY(e.scene,t)))},[e,i,t]);return(0,te.useEffect)(()=>{o()},[o]),(0,te.useMemo)(()=>({appendRuntimeCustomInterior:r,customRooms:n,replaceRuntimeCustomInteriors:i,refreshCustomInteriors:o}),[r,n,o,i])}({listCustomInteriors:IZ,surfaces:y}),C=(0,te.useMemo)(()=>new Set(f.map(e=>e.id)),[f]),{commitCustomInteriorSelection:E,selectInterior:S}=function(e){let{room:t,setRoomId:r,setRooms:n}=Eq(),{widgetSession:i}=EW();return function({floorFlow:e,customRooms:t,selectedRoomId:r,onInteriorSelected:n,restoreSourceRooms:i,setRoomId:a,setRooms:o}){let s=(0,te.useCallback)(t=>{e.commitInteriorSelection(()=>{o(e=>[t,...i(e).filter(e=>e.id!==t.id)]),a(t.id)}),n?.()},[e,n,i,a,o]),l=(0,te.useCallback)(t=>{let s=t===r;s&&e.hasSceneSelection||(e.commitInteriorSelection(()=>{o(i),a(t)}),s||n?.())},[e,n,i,r,a,o]),c=(0,te.useCallback)(n=>{if(n===r&&e.hasSceneSelection)return;let i=t.find(e=>e.id===n);i&&s(i)},[e.hasSceneSelection,s,t,r]),u=(0,te.useCallback)(e=>{t.some(t=>t.id===e)?c(e):l(e)},[t,c,l]);return(0,te.useMemo)(()=>({commitCustomInteriorSelection:s,selectInterior:u}),[s,u])}({...e,selectedRoomId:t.id,onInteriorSelected:()=>CY(i,"interior_selected"),setRoomId:r,setRooms:n})}({floorFlow:b,customRooms:x,restoreSourceRooms:(0,te.useCallback)(e=>[...f,...e.filter(e=>!C.has(e.id))],[C,f])}),M=function(e){let{setIsRoomScenePending:t}=EJ();return function({apiOptions:e,floorFlow:t,commitCustomInteriorSelection:r,downloadDebugMask:n,isDebugMaskExportEnabled:i,onAccessError:a,onDebugMaskError:o,onPersistenceError:s,onProcessingError:l,predictRoomScene:c,saveCustomInterior:u,setIsRoomScenePending:d,surfaces:h,trackRuntimeCustomInterior:p,waitForProcessingCompletion:A}){let[f,g]=(0,te.useState)(!1),[m,v]=(0,te.useState)(!1),[b,y]=(0,te.useState)(null),[w,x]=(0,te.useState)(null),[C,E]=(0,te.useState)(!1),[S,M]=(0,te.useState)(0),I=(0,te.useRef)(null),B=(0,te.useRef)(!1),k=(0,te.useRef)(!0),T=(0,te.useRef)(b);b&&(T.current=b),(0,te.useEffect)(()=>(k.current=!0,()=>{k.current=!1,I.current?.abort()}),[]);let R=(0,te.useCallback)(()=>{y(null),x(null),E(!1)},[]),P=(0,te.useCallback)(e=>{R(),g(!1),e()},[R]),D=(0,te.useCallback)(async f=>{if(R(),!f.type.startsWith("image/"))return void g(!0);g(!1),v(!1),t.startCustomInteriorProcessing(),B.current=!0;let m=new AbortController;I.current?.abort(),I.current=m,d(!0);try{await I9({abortSignal:m.signal,apiOptions:e,commitCustomInteriorSelection:r,downloadDebugMask:n,file:f,isActive:()=>k.current,isDebugMaskExportEnabled:i,onDebugMaskError:o,onPersistenceError:s,onProcessingComplete:()=>{v(!0)},predictRoomScene:c,saveCustomInterior:u,surfaces:h,trackRuntimeCustomInterior:p,waitForProcessingCompletion:A})}catch(r){if(m.signal.aborted)return;let e=Cv(r);if(e){B.current&&E(!0),a(e);return}let t=r instanceof I3?"custom-interior-missing-surface":"custom-interior-processing";if("custom-interior-processing"===t&&l(r),B.current){x(t),E(!0);return}y(t)}finally{I.current===m&&(I.current=null,k.current&&d(!1))}},[e,t,r,n,i,a,o,s,l,c,R,u,d,h,p,A]),_=(0,te.useCallback)(()=>{R(),g(!1),t.returnToInteriorSelection(),M(e=>e+1)},[t,R]),L=(0,te.useCallback)(()=>{R(),t.returnToInteriorSelection()},[t,R]),F=(0,te.useCallback)(({clearError:e,closeMaterialSelection:r})=>{e(),r(),t.hasSceneSelection&&t.recoverToScene()},[t]),N=(0,te.useCallback)(()=>{B.current=!1,E(!1),w&&(y(w),x(null))},[w]),O=(0,te.useCallback)(()=>k.current,[]);return(0,te.useMemo)(()=>({displayedUploadError:b??T.current,isCustomInteriorProcessingComplete:m,isInvalidFile:f,isMounted:O,isProcessingDialogClosingForError:C,pendingUploadError:w,uploadError:b,uploadRetryRequestId:S,cancelUploadError:L,handleProcessingDialogCloseAnimationEnd:N,openInteriorSelection:P,processUploadFile:D,recoverFromActiveError:F,resetUploadErrorPresentation:R,tryUploadAgain:_}),[L,N,m,f,O,C,P,w,D,F,R,_,b,S])}({...e,setIsRoomScenePending:t})}({apiOptions:(0,te.useMemo)(()=>({resourceType:h,apiKey:t,baseURL:r,source:A,widgetSession:v}),[t,r,h,A,v]),floorFlow:b,commitCustomInteriorSelection:E,downloadDebugMask:IW,isDebugMaskExportEnabled:Iq,onAccessError:o,onDebugMaskError:I5,onPersistenceError:I8,onProcessingError:I6,predictRoomScene:IH,saveCustomInterior:IX,surfaces:y,trackRuntimeCustomInterior:w,waitForProcessingCompletion:I4}),{dismissInteriorSelection:I,hasSceneSelection:B,openInteriorSelection:k,sceneResetKey:T,step:R}=b,{cancelUploadError:P,displayedUploadError:D,handleProcessingDialogCloseAnimationEnd:_,isCustomInteriorProcessingComplete:L,isInvalidFile:F,isProcessingDialogClosingForError:N,openInteriorSelection:O,pendingUploadError:Q,processUploadFile:U,recoverFromActiveError:z,resetUploadErrorPresentation:j,tryUploadAgain:G,uploadError:H,uploadRetryRequestId:V}=M,q=l&&B,W=(0,te.useRef)(e),K=!!(e&&q&&a);e&&(W.current=e);let J=(0,te.useCallback)(()=>{q&&(j(),I())},[I,q,j]),Y=(0,te.useCallback)(()=>{i(),O(k)},[i,k,O]),X=(0,te.useCallback)(()=>{z({clearError:n,closeMaterialSelection:i})},[n,i,z]),Z=(0,te.useCallback)(()=>{n(),Y()},[n,Y]),$=(0,te.useCallback)(e=>{if(!e){if(q)return void J();d?.(!1)}},[J,q,d]),ee=(0,te.useCallback)(e=>{if(!e){if(K)return void X();d?.(!1)}},[K,X,d]),et=(0,te.useCallback)(e=>{e||P()},[P]);!function({fallbackMs:e,handleProcessingDialogCloseAnimationEnd:t,isProcessingDialogClosingForError:r}){(0,te.useEffect)(()=>{if(!r)return;let n=window.setTimeout(t,e);return()=>window.clearTimeout(n)},[e,t,r])}({fallbackMs:220,handleProcessingDialogCloseAnimationEnd:_,isProcessingDialogClosingForError:N});let er=function({activeError:e,canRecoverFromActiveError:t,floorFlow:r,hasDialogPortalContainer:n,hasRooms:i,isProcessingDialogClosingForError:a,isRoomScenePending:o,isViewerAccessPending:s,pendingUploadError:l,sceneLoad:c,uploadError:u,viewerDialogOpen:d,viewerSurface:h}){let p="dialog"===h&&n,A=!p||d,f=i&&r.hasSceneSelection,g=i||"scene"!==r.step?r.step:"interior-selection",m=!s&&f&&(!e||t),v=f||p,b=!s&&!e&&v,y=!s&&!e&&!v&&"interior-selection"===g;return{activeErrorDialog:{open:!a&&!!e&&A,showCloseButton:!t},interiorSelection:{open:b&&"interior-selection"===g&&A,presentation:b?"dialog":y?"screen":null,shouldRender:b||y},processingDialog:{open:!e&&!u&&!l&&o&&"processing-custom-interior"===r.step&&A},scene:{isLoading:o||!(MT(c)&&c.shadersReady),resetKey:r.sceneResetKey,shouldRender:m,shouldRenderDialog:m},surface:{usesSiblingDialogFlow:p},uploadErrorDialog:{open:!a&&!e&&!!u&&A}}}({activeError:e,canRecoverFromActiveError:K,floorFlow:{hasSceneSelection:B,sceneResetKey:T,step:R},hasDialogPortalContainer:s,hasRooms:l,isProcessingDialogClosingForError:N,isRoomScenePending:c,isViewerAccessPending:u,pendingUploadError:Q,sceneLoad:p,uploadError:H,viewerDialogOpen:g,viewerSurface:m});return{...er,activeErrorDialog:{...er.activeErrorDialog,onCancel:K?X:void 0,onOpenChange:ee,onTryAgain:"room-missing-surface"===e?Z:K?X:void 0,variant:e??W.current},customRooms:x,interiorSelection:{...er.interiorSelection,isInvalidFile:F,onOpenChange:$,onSelectRoom:S,onUploadFile:U,openFromScene:Y,uploadRetryRequestId:V},sourceRooms:f,processingDialog:{...er.processingDialog,isComplete:L,onCloseAnimationEnd:_,onOpenChange:er.surface.usesSiblingDialogFlow?d:void 0},step:R,uploadErrorDialog:{...er.uploadErrorDialog,onCancel:P,onOpenChange:et,onTryAgain:G,variant:D}}}({activeError:L,apiKey:s,baseURL:l,clearActiveError:g,closeMaterialSelection:G,glbUrl:o,handleAccessError:m,hasDialogPortalContainer:null!==S,hasRooms:c,isRoomScenePending:E,isViewerAccessPending:h,onViewerDialogOpenChange:B,resourceType:n,sceneLoad:C,source:u,sourceRooms:b,viewerDialogOpen:I,viewerSurface:M,widgetSession:d}),K=(0,te.useRef)(null),J=!MO(W.scene.isLoading,K,{fadedOutIfMountedLoaded:!0}),Y=MO(W.scene.isLoading||!W.scene.shouldRender||!I,K),X=E7(),{pending:Z,finish:$}=function(e,t,r){let[n,i]=(0,te.useState)({open:e,pending:e&&t,sceneKey:r});n.open!==e?i({open:e,pending:e&&t,sceneKey:r}):n.sceneKey!==r?i({...n,sceneKey:r,pending:n.pending&&null===n.sceneKey}):n.pending&&!t&&i({...n,pending:!1});let a=(0,te.useCallback)(()=>i(e=>({...e,pending:!1})),[]);return{pending:e&&n.pending,finish:a}}(I,Ex("(max-width: 639px)")&&"focus-resource"===EE[n].introduction,W.scene.shouldRender?`${W.scene.resetKey}:${f??""}`:null),ee=X?.select,et=(0,te.useCallback)(()=>{$(),ee?.("0,0")},[$,ee]),er=(0,te.useMemo)(()=>Z?{ready:Y,target:y,onComplete:et,onCancel:$}:void 0,[Z,et,$,Y,y]),en=W.interiorSelection.openFromScene,ei=(0,te.useCallback)(()=>{G(),en()},[G,en]),ea=(0,te.useMemo)(()=>({isMaterialSelectionOpen:k,openMaterialSelection:H,closeMaterialSelection:G,onMaterialSelectionActionPointerDown:V,openInteriorSelection:ei}),[G,V,ei,H,k]),eo=(0,te.useMemo)(()=>({isMaterialSelectionOpen:R,openMaterialSelection:q,closeMaterialSelection:G,openInteriorSelection:ei}),[G,ei,q,R]);(0,te.useEffect)(()=>{if(k)return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)};function e(e){var t;(t=e.target)instanceof Element&&t.closest(`[${MG}], [${MH}]`)||T(!1)}function t(e){"Escape"===e.key&&T(!1)}},[k]);let es=W.surface.usesSiblingDialogFlow?S:w,el=(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)("div",{className:"absolute inset-0 bg-constant-black","data-testid":"floor-scene-background-base"}),(0,tr.jsx)("div",{"aria-hidden":!0,className:"absolute top-[-52px] right-[-1.36%] bottom-[-52px] left-[-1.36%] blur-[40px]","data-testid":"floor-blur-background",children:(0,tr.jsx)("img",{crossOrigin:"anonymous",src:EM(v),alt:"",className:"block size-full max-w-none object-cover object-center opacity-50"})}),(0,tr.jsxs)("div",{className:"pointer-events-none absolute top-0 right-0 left-0 z-20 flex min-h-22 items-start justify-between gap-4 bg-linear-to-b from-black/75 via-black/35 to-transparent px-4 pt-4 pb-8 text-constant-white sm:px-6 lg:min-h-25 lg:pt-6",children:[(0,tr.jsx)("div",{className:"min-w-0 pt-1",children:N?(0,tr.jsx)("h1",{"data-testid":"floor-scene-header-company",className:"typo-base-16 truncate font-medium lg:typo-base-18",children:N}):null}),(0,tr.jsxs)("div",{className:"pointer-events-auto inline-flex shrink-0 items-center gap-2",children:[(0,tr.jsxs)(C8,{type:"button",variant:"secondary","aria-label":t("floor.scene.share"),"data-neurodyn-room-viewer-share":"",disabled:!O||z,onClick:j,className:"size-10 rounded-full px-0 lg:h-9 lg:w-auto lg:rounded-xl lg:px-3.5",children:[(0,tr.jsx)(Em,{className:"size-5"}),(0,tr.jsx)("span",{className:"hidden lg:inline",children:t("floor.scene.share")})]}),(0,tr.jsxs)(C8,{type:"button",variant:"secondary","aria-label":t("floor.scene.download"),"data-neurodyn-room-viewer-download":"",disabled:U,onClick:Q,className:"size-10 rounded-full px-0 lg:h-9 lg:w-auto lg:rounded-xl lg:px-3.5",children:[(0,tr.jsx)(Ec,{className:"size-5"}),(0,tr.jsx)("span",{className:"hidden lg:inline",children:t("floor.scene.download")})]}),e&&(0,tr.jsx)(Ee,{asChild:!0,children:(0,tr.jsxs)(C8,{type:"button",variant:"secondary","aria-label":t("close"),className:"size-10 rounded-full px-0 lg:h-9 lg:w-auto lg:rounded-xl lg:px-3.5",children:[(0,tr.jsx)("span",{className:"hidden lg:inline",children:t("close")}),(0,tr.jsx)(El,{className:"!size-5"})]})})]})]}),(0,tr.jsxs)("div",{className:"relative z-10 size-full min-h-0 min-w-0","data-testid":"floor-scene-viewport",children:[(0,tr.jsx)(MF,{contentKey:W.scene.resetKey,introduction:er,captureRef:D,className:"relative z-10 size-full min-h-0"}),(0,tr.jsx)("div",{"aria-hidden":!W.scene.isLoading,className:C4("absolute inset-0 z-10 flex items-center justify-center bg-radial from-background-containers to-background-base-2 transition-opacity",W.scene.isLoading?"opacity-100 pointer-events-auto duration-0":"opacity-0 pointer-events-none duration-250ms"),ref:K,"data-testid":"floor-scene-loader",style:{transitionDuration:W.scene.isLoading?"0ms":"250ms"},children:J&&(0,tr.jsx)(Ey,{variant:"logo"})})]}),(0,tr.jsxs)("div",{className:"pointer-events-none absolute right-6 bottom-6 left-6 z-20 hidden items-end justify-between gap-4 lg:flex","data-testid":"floor-desktop-cards",children:[(0,tr.jsx)("div",{className:"pointer-events-auto flex min-w-0 items-stretch gap-3",children:(0,tr.jsx)(IG,{actions:ea,band:"desktop",container:"leading"})}),(0,tr.jsx)("div",{className:"pointer-events-auto",children:(0,tr.jsx)(IG,{actions:ea,band:"desktop",container:"trailing"})})]}),(0,tr.jsxs)("div",{className:"pointer-events-none absolute right-6 bottom-6 left-6 z-20 hidden items-end justify-between gap-2 sm:flex lg:hidden","data-testid":"floor-tablet-cards",children:[(0,tr.jsx)("div",{className:"pointer-events-auto flex min-w-0 items-stretch gap-3",children:(0,tr.jsx)(IG,{actions:ea,band:"tablet",container:"leading"})}),(0,tr.jsx)("div",{className:"pointer-events-auto grid w-[254px] gap-2",children:(0,tr.jsx)(IG,{actions:ea,band:"tablet",container:"trailing"})})]}),(0,tr.jsxs)("div",{className:"relative z-20 grid bg-background-containers text-text-dark shadow-[var(--shadow-login)] sm:hidden","data-testid":"floor-mobile-cards",children:[(0,tr.jsx)("div",{className:"grid",children:(0,tr.jsx)(IG,{actions:eo,band:"phone",container:"leading"})}),(0,tr.jsx)("div",{className:"grid gap-4 bg-background-containers px-6 pt-4 pb-6","data-testid":"floor-mobile-bottom-actions",children:(0,tr.jsx)(IG,{actions:eo,band:"phone",container:"trailing"})})]}),k&&!F&&(0,tr.jsx)(M2,{[MH]:!0,className:"absolute bottom-[152px] left-6 z-30 hidden max-h-[calc(100%-252px)] w-[348px] rounded-2xl bg-background-containers sm:flex lg:bottom-[132px] lg:max-h-[calc(100%-232px)]",gridClassName:"px-4 pb-4",titleClassName:"px-4 pt-4",onOpenChange:G}),(0,tr.jsx)(M3,{open:R&&!F,portalContainer:es,onOpenChange:P})]}),ec=W.interiorSelection.shouldRender?"dialog"===W.interiorSelection.presentation?(0,tr.jsx)(Mj,{open:W.interiorSelection.open,showCloseButton:e||W.scene.shouldRender,portalContainer:es,rooms:W.sourceRooms,customRooms:W.customRooms,selectedRoomId:v.id,isInvalidFile:W.interiorSelection.isInvalidFile,uploadRetryRequestId:W.interiorSelection.uploadRetryRequestId,onOpenChange:W.interiorSelection.onOpenChange,onSelectRoom:W.interiorSelection.onSelectRoom,onUploadFile:W.interiorSelection.onUploadFile}):"screen"===W.interiorSelection.presentation?(0,tr.jsx)(Mz,{rooms:W.sourceRooms,customRooms:W.customRooms,selectedRoomId:v.id,isInvalidFile:W.interiorSelection.isInvalidFile,uploadRetryRequestId:W.interiorSelection.uploadRetryRequestId,showCloseButton:e,onSelectRoom:W.interiorSelection.onSelectRoom,onUploadFile:W.interiorSelection.onUploadFile}):null:null,eu=(0,tr.jsx)(M5,{isComplete:W.processingDialog.isComplete,open:W.processingDialog.open,portalContainer:es,onCloseAnimationEnd:W.processingDialog.onCloseAnimationEnd,onOpenChange:W.processingDialog.onOpenChange}),ed=(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)(MQ,{missingSurfaceMessage:i,variant:W.activeErrorDialog.variant,open:W.activeErrorDialog.open,portalContainer:es,showDialogCloseButton:e&&W.activeErrorDialog.showCloseButton,onOpenChange:W.activeErrorDialog.onOpenChange,onTryAgain:W.activeErrorDialog.onTryAgain,onCancel:W.activeErrorDialog.onCancel}),(0,tr.jsx)(MQ,{missingSurfaceMessage:i,variant:W.uploadErrorDialog.variant,open:W.uploadErrorDialog.open,portalContainer:es,onOpenChange:W.uploadErrorDialog.onOpenChange,onTryAgain:W.uploadErrorDialog.onTryAgain,onCancel:W.uploadErrorDialog.onCancel})]}),eh=(0,tr.jsxs)("div",{ref:x,className:"relative grid size-full grid-rows-[minmax(0,1fr)_auto] overflow-hidden text-foreground sm:block","data-neurodyn-room-viewer-container":"","data-testid":"floor-viewer-root",children:[h?(0,tr.jsx)("div",{className:"flex size-full items-center justify-center bg-radial from-background-containers to-background-base-2",children:(0,tr.jsx)(Ey,{variant:"logo"})}):W.scene.shouldRender?el:null,!W.surface.usesSiblingDialogFlow&&ec,!W.surface.usesSiblingDialogFlow&&eu]});return W.surface.usesSiblingDialogFlow?(0,tr.jsxs)(tr.Fragment,{children:[(W.scene.shouldRenderDialog||h)&&(0,tr.jsx)(C6,{open:I,onOpenChange:B,children:(0,tr.jsxs)(Er,{className:"inset-0 h-dvh min-w-full max-w-none translate-x-0 translate-y-0 rounded-none border-none bg-transparent p-0 shadow-none sm:p-0 sm:max-w-none",contentInsideOverlay:!0,portalContainer:S,showCloseButton:!1,onInteractOutside:e=>{e.preventDefault()},children:[(0,tr.jsx)(Ei,{className:"sr-only",children:r}),(0,tr.jsx)(Ea,{className:"sr-only"}),eh]})}),ec,eu,ed]}):(0,tr.jsxs)(tr.Fragment,{children:[eh,ed]})}function Be(e){return(0,tr.jsx)(I7,{...e})}let Bt={angle:0,rotation:0,isDragging:!1};function Br(){let e=Bt,t=new Set;function r(r){return n=>{let i="function"==typeof n?n(e[r]):n;Object.is(i,e[r])||(e={...e,[r]:i},t.forEach(e=>e()))}}return{getState:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)}),setAngle:r("angle"),setRotation:r("rotation"),setIsDragging:r("isDragging")}}let Bn=[];function Bi(e,t,r){if(t===r)return e;let n=new Set(t.map(e=>e.id)),i=new Set(r.map(e=>e.id)),a=e.filter(e=>!n.has(e.id)&&!i.has(e.id));return a.length>0?[...a,...r]:r}function Ba({children:e,src:t,tinuuid:r,roomId:n,type:i,viewerSurface:a,dialogPortalContainer:o=null,viewerDialogOpen:s=!0,onViewerDialogOpenChange:l,width:c,height:u,displayUnit:d,name:h,apiKey:p,baseURL:A,source:f,externalWidgetSession:g}){var m,v;let b=Iy(d),y=function(){let{i18n:e}=rj();return"ru"===(e.resolvedLanguage??e.language)?"ru":"en"}(),w=Sb(i),x=n?.trim()||void 0,C="panel-group"===EE[i].manipulation,{offersSizeVariants:E}=MX(i),S="floor-room-presets"===EE[i].roomPresets?Sg:Sf,M=Cf({apiKey:p,baseURL:A,source:f}),[I,B]=(0,te.useState)(r),[k,T]=(0,te.useState)(null),R=(0,te.useCallback)(e=>{T(null),B(e)},[]),P=(0,te.useCallback)(e=>{T(e),B(e)},[]),[D,_]=(0,te.useState)(null),[L,F]=(0,te.useState)(b[0].value),[N]=(0,te.useState)(Br),[O,Q]=(0,te.useState)(null),[U,z]=(0,te.useState)(()=>({layoutReady:!1,placementReady:!1,materialReady:"artwork-src"===w.materialSource,artifactsReady:!1,assetsReady:!1,prepareReady:!1,shadersReady:!1})),[j,G]=(0,te.useState)(!1),[H,V]=(0,te.useState)(null),[q,W]=(0,te.useState)(null),K=(0,te.useRef)(null),J=(0,te.useRef)(!1),Y="object-glb"===w.materialSource,X="default"===f&&void 0!==p,Z=Cm("wall-panel"===(m={apiKey:p,baseURL:A,source:f,resourceType:i}).resourceType?m:{...m,resourceType:void 0}),$=nF({queryKey:["room-viewer","activate",{apiKey:p??null,source:f,resourceType:i}],enabled:X,queryFn:({signal:e})=>CN(Z.query,{...Z.config,baseURL:A,headers:{"x-api-key":p},signal:e})},ny,void 0),ee=Cv($.error),et=(0,te.useMemo)(()=>{let e=$.data;return CJ(e?.widgetSession,{apiConfig:{baseURL:A,headers:{"x-api-key":p}}})},[$.data,p,A]),er=g instanceof CK?g:null,en=g instanceof CK?null:g,ei=en?.token,ea=en?.sid,eo=en?.expiresIn,es=(0,te.useMemo)(()=>er||(CJ({token:ei,sid:ea,expiresIn:eo},{apiConfig:{baseURL:A,headers:{"x-api-key":p}}})??et),[et,p,A,er,ei,ea,eo]),el="shopify"===f?null!==es:X&&$.isSuccess,ec=nF({queryKey:["room-viewer","rooms",{apiKey:(v={apiKey:p,baseURL:A,language:y,source:f,widgetSession:es,resourceType:i}).apiKey??null,language:v.language??null,source:v.source,resourceType:v.resourceType??null,widgetSessionId:v.widgetSession?.sid??null}],enabled:M&&el,placeholderData:eN,queryFn:async({signal:e})=>{try{return await C9({apiKey:p,baseURL:A,language:y,signal:e,source:f,widgetSession:es,resourceType:i})}catch(e){if(Cv(e))throw e;return[]}}},ny,void 0),eu=M?ec.data??Bn:S,[ed,eh]=(0,te.useState)(()=>({rooms:eu,sourceRooms:eu})),ep=(0,te.useMemo)(()=>Bi(ed.rooms,ed.sourceRooms,eu),[ed.rooms,ed.sourceRooms,eu]),eA=(0,te.useCallback)(e=>{eh(t=>{let r=Bi(t.rooms,t.sourceRooms,eu);return{rooms:"function"==typeof e?e(r):e,sourceRooms:eu}})},[eu]),[ef,eg]=(0,te.useState)(()=>x??S[0].id),[em,ev]=(0,te.useState)(x);em!==x&&(ev(x),x&&(eg(x),z(e=>Mk(e,MR)),W(e=>EL(e)?null:e)));let eb=ep.find(e=>e.id===ef),ey=eb??ep[0]??S[0],ew="rotate-on-floor"===EE[i].manipulation;(0,te.useLayoutEffect)(()=>{x&&(N.setAngle(0),N.setRotation(0))},[x,N]),(0,te.useEffect)(()=>{ew&&N.setRotation(0)},[ew,ey.id,N]);let ex=ep.length>0;!eb&&ep[0]&&ef!==ep[0].id&&eg(ep[0].id);let eC=!X||$.isSuccess||$.isError&&null===ee,eE=nF({queryKey:C$(r??void 0,{apiKey:p,baseURL:A,language:y,source:f,resourceType:i}),enabled:eC&&Y&&null===D&&!!r,queryFn:async({signal:e})=>{if(!r)throw Error("Tinuuid is required.");return C1(r,{apiKey:p,baseURL:A,language:y,signal:e,source:f,widgetSession:es,resourceType:i})}},ny,void 0),eS=nF({queryKey:C$(I??void 0,{apiKey:p,baseURL:A,language:y,source:f,resourceType:i}),enabled:eC&&Y&&!!I,placeholderData:eN,queryFn:async({signal:e})=>{if(!I)throw Error("Tinuuid is required.");return C1(I,{apiKey:p,baseURL:A,language:y,signal:e,source:f,widgetSession:es,resourceType:i})}},ny,void 0),eM=eE.data??null,eI=eS.data??null,eB=eM?.materials?.[0]??null,ek=D?.native?.glbUrl??null,eT=Cv(eE.error),eR=Cv(ec.error),eP=M&&("shopify"===f?null===es||ec.isLoading:$.isSuccess&&ec.isLoading),eD=X&&$.isLoading||eP,e_=$.error&&null===ee?"viewer-load-failed":null,eL=eE.error&&null===eT?"viewer-load-failed":null,eF="artwork-src"===w.materialSource&&("string"!=typeof t||0===t.trim().length)?"artwork-load-failed":null,eO=Y&&!eD&&(!r||eE.isSuccess&&null===eB||null!==D&&null===ek)?"viewer-load-failed":null,eQ=null!==k&&k===I&&(eS.isError||eS.isSuccess&&eI?.tinuuid===I&&!eI.materials?.[0]?.native?.glbUrl)?"viewer-load-failed":null,eU=nQ({queries:M0({apiKey:p,baseURL:A,language:y,source:f,widgetSession:es}).map(e=>({...e,enabled:w.hasPictureFrame&&eC&&!eD}))}),ez=eU[0]?.data??null,ej=H??ee??eR??eT,eG=q??eQ??e_??eL??eO??eF,eH=(0,te.useCallback)(e=>{z(t=>Mk(t,e))},[]);(0,te.useEffect)(()=>{if("dialog"!==a||!s){J.current=!1;return}J.current||es&&(CY(es,"widget_opened"),J.current=!0)},[s,a,es]),(0,te.useEffect)(()=>{Y&&(R(r),_(null),V(null),W(null))},[r,R,Y]),(0,te.useEffect)(()=>{V(null),W(null)},[p,f]),(0,te.useEffect)(()=>{Y&&eM&&null===D&&_(eB)},[D,eB,eM,Y]),(0,te.useEffect)(()=>{let e=ez?.materials?.[0],t=ez?.tinuuid;null===D&&e&&t&&(_(e),R(t))},[ez,D,R]),(0,te.useEffect)(()=>{if(!Y||!E&&!C&&k!==I||null===eI||eI.tinuuid!==I)return;let e=eI.materials?.[0];if(!e)return;let t=eI.materials?.some(e=>e===D||!!e.hid&&e.hid===D?.hid);if(k===I){T(null),_(e);return}(!t||C)&&D!==e&&_(e)},[C,D,E,eI,I,Y,k]);let eV=(0,te.useMemo)(()=>({type:i,name:h,width:c,height:u,displayUnit:d}),[i,h,c,u,d]),eq=(0,te.useMemo)(()=>({viewerSurface:a,dialogPortalContainer:o,viewerDialogOpen:s,onViewerDialogOpenChange:l}),[a,o,s,l]),eW=(0,te.useMemo)(()=>({rooms:ep,sourceRooms:eu,setRooms:eA,room:ey,initialRoomId:x,setRoomId:eg}),[ep,ey,x,eA,eu]),eK=(0,te.useMemo)(()=>({src:t,glbUrl:ek,tinuuid:I,embeddedObject:eM,selectedObject:eI,material:D,setTinuuid:R,selectResourceVariant:P,setMaterial:_,apiKey:p,baseURL:A,language:y,source:f,widgetSession:es,hasRooms:ex,isViewerAccessPending:eD,accessError:ej,setAccessError:V,loadError:eG,setLoadError:W}),[t,ek,I,eM,eI,D,R,P,p,A,y,f,es,ex,eD,ej,eG]),eJ=(0,te.useMemo)(()=>({setContainerRef:Q,resourceRef:K,sceneGestures:N,patchSceneLoad:eH,setIsRoomScenePending:G}),[eH,N]),eY=(0,te.useMemo)(()=>({...eJ,containerRef:O,sceneLoad:U,isRoomScenePending:j}),[eJ,O,U,j]),eX=(0,te.useMemo)(()=>({matting:L,setMatting:F}),[L]);return(0,tr.jsx)(EF,{value:eV,children:(0,tr.jsx)(EN,{value:eq,children:(0,tr.jsx)(EO,{value:eW,children:(0,tr.jsx)(EQ,{value:eK,children:(0,tr.jsx)(Ez,{value:eJ,children:(0,tr.jsx)(EU,{value:eY,children:(0,tr.jsx)(Ej,{value:eX,children:(0,tr.jsx)(E6,{children:e})})})})})})})})}let Bo={poster:"wallart",carpet:"rugs"};function Bs(e){return"poster"===e||"carpet"===e}aj.gPd.DEFAULT_ANISOTROPY=4;let Bl=new e7({defaultOptions:{queries:{gcTime:1/0,refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(a_(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function Bc({type:e,src:t,tinuuid:r,roomId:n,name:i,height:a,width:o,language:s,dimensionUnit:l="m",displayUnit:c="cm",apiKey:u,source:d="default",showDialogCloseButton:h=!1,viewerSurface:p="inline",dialogPortalContainer:A=null,viewerDialogOpen:f=!0,onViewerDialogOpenChange:g,widgetSession:m}){let{i18n:v}=rj(),b=u?.trim()||void 0,y=r?.trim()||void 0,w=Bs(e)?Bo[e]:e,x=Sb(w).takesDimensionProps?function(e,t,r="m"){return{width:Iv(e??0,r),height:Iv(t??0,r)}}(o,a,l):null;return(0,te.useEffect)(()=>{Bs(e)&&Bo[e]},[e]),(0,te.useEffect)(()=>{"string"==typeof s&&v.changeLanguage(s)},[v,s]),(0,tr.jsx)(ta,{client:Bl,children:(0,tr.jsx)(Ba,{src:t??null,tinuuid:y??null,roomId:n,type:w,viewerSurface:p,dialogPortalContainer:A,viewerDialogOpen:f,onViewerDialogOpenChange:g,name:i,width:x?.width??0,height:x?.height??0,displayUnit:c,apiKey:b,baseURL:"shopify"===d?Cp:void 0,source:d,externalWidgetSession:m,children:(0,tr.jsx)(Be,{showDialogCloseButton:h})})})}function Bu({type:e,src:t,tinuuid:r,roomId:n,width:i,height:a,dimensionUnit:o,displayUnit:s,name:l,language:c,apiKey:u,source:d,widgetSession:h,disableClose:p=!1,open:A,defaultOpen:f,onOpenChange:g}){let[m,v]=(0,te.useState)(null),[b,y]=(0,te.useState)(f??!1),w=A??b,[x,C]=(0,te.useState)(w),E=w||x;(0,te.useEffect)(()=>{w&&C(!0)},[w]);let S=E0({disableClose:p,onOpenChange:g,open:A}),M=(0,te.useCallback)(e=>{let{disableClose:t,onOpenChange:r,open:n}=S.current;(e||!t)&&(void 0===n&&y(e),r?.(e))},[S]),I=(0,tr.jsx)(Bc,{type:e,src:t,tinuuid:r,roomId:n,name:l,height:a,width:i,dimensionUnit:o,displayUnit:s,language:c,apiKey:u,source:d,widgetSession:h,showDialogCloseButton:!p,viewerSurface:"dialog",dialogPortalContainer:m,viewerDialogOpen:w,onViewerDialogOpenChange:M});return(0,tr.jsxs)(tr.Fragment,{children:[(0,tV.createPortal)((0,tr.jsx)("style",{children:Cs.A}),document.head),(0,tV.createPortal)((0,tr.jsxs)(r6.div,{"data-neurodyn-room-viewer-root":"",style:{display:"block",letterSpacing:"normal",position:"relative",zIndex:0x7fffffff},children:[(0,tr.jsx)("style",{children:":host{display:block!important;visibility:visible!important}"}),(0,tr.jsx)("style",{children:Ch}),(0,tr.jsx)("div",{ref:v}),m&&(0,tr.jsx)(Co,{root:m,storageKey:"neurodyn-theme",defaultTheme:"light",children:(0,tr.jsx)(rG,{i18n:Cc,children:E&&I})})]}),document.body)]})}function Bd(e){return aS.create({baseURL:e,timeout:3e4})}Ck({baseURL:"https://api.neurodyn.ai/"});let Bh=new Set(["common","delete","get","head","post","put","patch","options","purge","link","unlink"]);function Bp(){return globalThis.process?.env?.NODE_ENV}function BA(e){if(void 0===e)return[];let t="function"==typeof e.toJSON?e.toJSON():e,r=[];return!function e(t,r){if(null!==t&&"object"==typeof t)for(let[n,i]of Object.entries(t)){if(null==i)continue;let t=n.toLowerCase();if("common"===t){e(i,r);continue}Bh.has(t)||r.push([n,String(i)])}}(t,r),r}function Bf(e){return!!("u">typeof FormData&&e instanceof FormData)||null!==e&&"object"==typeof e&&(e.constructor?.name==="FormData"||"function"==typeof e.getBoundary)}let Bg=new Set(["authorization","cookie","set-cookie","x-xsrf-token"]);function Bm(e){if(null==e)return;let t="function"==typeof e.toJSON?e.toJSON():e;if(null===t||"object"!=typeof t)return;let r={};for(let[e,n]of Object.entries(t))null!=n&&(r[e]=Bg.has(e.toLowerCase())?"[redacted]":String(n));return r}function Bv(e){if(null!=e){if("string"==typeof e)try{return JSON.parse(e)}catch{return e.length>2e3?`${e.slice(0,2e3)}… (${e.length} chars)`:e}return Bf(e)?"[FormData]":e}}function Bb(e){let t=(e.requestConfig.method??"GET").toUpperCase(),r=e.requestConfig.url??"",n=`[api:server] ${t} ${r} → ${e.status} (${e.durationMs}ms)`,i={requestId:e.requestId,...e.error?{error:e.error}:{},params:e.requestConfig.params,requestBody:Bv(e.requestConfig.data),requestHeaders:Bm(e.requestConfig.headers),responseHeaders:Bm(e.responseHeaders),responseBody:Bv(e.responseBody)};(e.status>=500||void 0!==e.error&&0===e.status?console.error:e.status>=400?console.warn:console.log)(n,i)}let By=function({clientName:e,configureFunctionName:t,defaultBaseURL:r}){let n=Bd(r),i=Bd(r),a=null,o=null,s=null,l=null,c=null,u=null;async function d(e,t){let r=function(e,t){let r;if(void 0===t.data||Bf(t.data))return t;let n=aN.from(t.headers);return n.has("Content-Type")||void 0!==(r=e.defaults.headers.common)&&aN.from(r).has("Content-Type")||n.set("Content-Type","application/json"),t.headers=n,t}(e,function(e){let t=aN.from(e.headers);if(null!==s){let e=s()?.trim();e&&!t.has("Authorization")&&t.set("Authorization",`Bearer ${e}`)}if(null!==u)for(let[r,n]of Object.entries(u({url:e.url,method:e.method})))n&&!t.has(r)&&t.set(r,n);return e.headers=t,e}({...t})),n=function(e){let t,r=aN.from(e.headers),n=r.get("x-request-id");if("string"==typeof n&&n.length>0)return n;let i=(t=globalThis.crypto,"function"==typeof t?.randomUUID?t.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`);return r.set("x-request-id",i),e.headers=r,i}(r),i=function(){if("u">typeof window)return!1;let e=Bp(),t=globalThis.process;return t?.env?.DEBUG_API==="true"||"production"!==e&&"test"!==e&&"testing"!==e}(),a=i?Date.now():0;try{let t=await e.request(r);return i&&Bb({requestConfig:r,requestId:n,status:t.status,durationMs:Date.now()-a,responseHeaders:t.headers,responseBody:t.data}),t}catch(e){throw i&&Bb({requestConfig:r,requestId:n,status:e.response?.status??0,durationMs:Date.now()-a,responseHeaders:e.response?.headers,responseBody:e.response?.data,error:e.message}),e}}async function h(e){return d(e.skipUnauthorizedRecovery?i:n,function(e){let{skipUnauthorizedRecovery:t,...r}=e;return r}(e))}let p=async e=>h({...e,skipUnauthorizedRecovery:!0});function A(){return null!==a}return{configureClientRuntime:function(t){let r,o=(r=function(e){let t=BA(e);if(0===t.length)return;let r=new Map;for(let[e,n]of t)r.set(e.toLowerCase(),n);return Object.fromEntries(Array.from(r.entries()).sort(([e],[t])=>e.localeCompare(t)))}(t.headers),JSON.stringify({...void 0!==t.baseURL?{baseURL:t.baseURL}:{},...void 0!==t.timeout?{timeout:t.timeout}:{},...void 0!==r?{headers:r}:{}}));if("{}"!==o){if(null!==a){if(a===o)return;let t=`${e} already configured. Existing: ${a}. New: ${o}.`;if("production"===Bp())return void console.warn(t);throw Error(t)}for(let e of[n,i])void 0!==t.baseURL&&(e.defaults.baseURL=t.baseURL),void 0!==t.timeout&&(e.defaults.timeout=t.timeout),void 0!==t.headers&&function(e,t){let r=e.defaults.headers,n=r.common,i=aN.from(n);for(let[e,r]of BA(t))i.set(e,r);r.common=i.toJSON(),e.defaults.headers=r}(e,t.headers);a=o}},configureAccessTokenResolverRuntime:function(e){s=e},configureUnauthorizedHandlerRuntime:function(e){if(l=e,null===e){null!==o&&(n.interceptors.response.eject(o),o=null),c=null;return}null===o&&(o=n.interceptors.response.use(e=>e,async e=>{let t=e.config;if(e.response?.status!==401||null===l||void 0===t||t._apiRetried)return Promise.reject(e);if(null===c){let t=l;if(null===t)return Promise.reject(e);c=Promise.resolve().then(()=>t(e,{requestWithoutUnauthorizedRecovery:p})).finally(()=>{c=null})}try{if(!await c)return Promise.reject(e);t._apiRetried=!0;let r=aN.from(t.headers);return r.delete("Authorization"),t.headers=r,d(n,t)}catch{return Promise.reject(e)}}))},configureHeadersResolverRuntime:function(e){u=e},isClientConfiguredRuntime:A,assertClientConfiguredRuntime:function(){if(!A())throw Error(`${e} is not configured. Call ${t}(...) before making requests.`)},resetClientForTestsRuntime:function(){let e;if("test"!==(e=Bp())&&"testing"!==e)throw Error("resetApiClientForTests() can only be called in test environment.");n=Bd(r),i=Bd(r),a=null,o=null,s=null,l=null,c=null,u=null},requestRuntime:h,requestWithoutUnauthorizedRecovery:p,addResponseInterceptorRuntime:function(e,t){return n.interceptors.response.use(e,t)}}}({clientName:"API client",configureFunctionName:"configureApiClient",defaultBaseURL:"https://api.vizbl.com"});By.configureClientRuntime,By.configureAccessTokenResolverRuntime,By.configureHeadersResolverRuntime,By.configureUnauthorizedHandlerRuntime,By.isClientConfiguredRuntime,By.assertClientConfiguredRuntime,By.resetClientForTestsRuntime;let Bw=By.requestRuntime;async function Bx(e){return Bw(e)}async function BC(e,t={}){let{client:r=Bx,...n}=t;return(await r({method:"POST",url:"/public/widget/activate-wallart",params:e,...n})).data}By.requestWithoutUnauthorizedRecovery,By.addResponseInterceptorRuntime,(ei=eh||(eh={})).assertEqual=e=>{},ei.assertIs=function(e){},ei.assertNever=function(e){throw Error()},ei.arrayToEnum=e=>{let t={};for(let r of e)t[r]=r;return t},ei.getValidEnumValues=e=>{let t=ei.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),r={};for(let n of t)r[n]=e[n];return ei.objectValues(r)},ei.objectValues=e=>ei.objectKeys(e).map(function(t){return e[t]}),ei.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},ei.find=(e,t)=>{for(let r of e)if(t(r))return r},ei.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,ei.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},ei.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(ep||(ep={})).mergeShapes=(e,t)=>({...e,...t});let BE=eh.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),BS=e=>{switch(typeof e){case"undefined":return BE.undefined;case"string":return BE.string;case"number":return Number.isNaN(e)?BE.nan:BE.number;case"boolean":return BE.boolean;case"function":return BE.function;case"bigint":return BE.bigint;case"symbol":return BE.symbol;case"object":if(Array.isArray(e))return BE.array;if(null===e)return BE.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return BE.promise;if("u">typeof Map&&e instanceof Map)return BE.map;if("u">typeof Set&&e instanceof Set)return BE.set;if("u">typeof Date&&e instanceof Date)return BE.date;return BE.object;default:return BE.unknown}},BM=eh.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class BI extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(let i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(n);else if("invalid_return_type"===i.code)n(i.returnTypeError);else if("invalid_arguments"===i.code)n(i.argumentsError);else if(0===i.path.length)r._errors.push(t(i));else{let e=r,n=0;for(;n<i.path.length;){let r=i.path[n];n===i.path.length-1?(e[r]=e[r]||{_errors:[]},e[r]._errors.push(t(i))):e[r]=e[r]||{_errors:[]},e=e[r],n++}}};return n(this),r}static assert(e){if(!(e instanceof BI))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,eh.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){let t={},r=[];for(let n of this.issues)if(n.path.length>0){let r=n.path[0];t[r]=t[r]||[],t[r].push(e(n))}else r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}BI.create=e=>new BI(e);let BB=(e,t)=>{let r;switch(e.code){case BM.invalid_type:r=e.received===BE.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case BM.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,eh.jsonStringifyReplacer)}`;break;case BM.unrecognized_keys:r=`Unrecognized key(s) in object: ${eh.joinValues(e.keys,", ")}`;break;case BM.invalid_union:r="Invalid input";break;case BM.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${eh.joinValues(e.options)}`;break;case BM.invalid_enum_value:r=`Invalid enum value. Expected ${eh.joinValues(e.options)}, received '${e.received}'`;break;case BM.invalid_arguments:r="Invalid function arguments";break;case BM.invalid_return_type:r="Invalid function return type";break;case BM.invalid_date:r="Invalid date";break;case BM.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:eh.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case BM.too_small:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type||"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case BM.too_big:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case BM.custom:r="Invalid input";break;case BM.invalid_intersection_types:r="Intersection results could not be merged";break;case BM.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case BM.not_finite:r="Number must be finite";break;default:r=t.defaultError,eh.assertNever(e)}return{message:r}};(ea=eA||(eA={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},ea.toString=e=>"string"==typeof e?e:e?.message;let Bk=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],o={...i,path:a};if(void 0!==i.message)return{...i,path:a,message:i.message};let s="";for(let e of n.filter(e=>!!e).slice().reverse())s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function BT(e,t){let r=Bk({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,BB,void 0].filter(e=>!!e)});e.common.issues.push(r)}class BR{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let r=[];for(let n of t){if("aborted"===n.status)return BP;"dirty"===n.status&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){let r=[];for(let e of t){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return BR.mergeObjectSync(e,r)}static mergeObjectSync(e,t){let r={};for(let n of t){let{key:t,value:i}=n;if("aborted"===t.status||"aborted"===i.status)return BP;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==i.value||n.alwaysSet)&&(r[t.value]=i.value)}return{status:e.value,value:r}}}let BP=Object.freeze({status:"aborted"}),BD=e=>({status:"dirty",value:e}),B_=e=>({status:"valid",value:e}),BL=e=>"u">typeof Promise&&e instanceof Promise;class BF{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let BN=(e,t)=>{if("valid"===t.status)return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new BI(e.common.issues);return this._error=t,this._error}}};function BO(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return"invalid_enum_value"===t.code?{message:a??i.defaultError}:void 0===i.data?{message:a??n??i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:a??r??i.defaultError}},description:i}}class BQ{get description(){return this._def.description}_getType(e){return BS(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:BS(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new BR,ctx:{common:e.parent.common,data:e.data,parsedType:BS(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(BL(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){let r={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:BS(e)},n=this._parseSync({data:e,path:r.path,parent:r});return BN(r,n)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:BS(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:t});return"valid"===r.status?{value:r.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>"valid"===e.status?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){let r={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:BS(e)},n=this._parse({data:e,path:r.path,parent:r});return BN(r,await (BL(n)?n:Promise.resolve(n)))}refine(e,t){return this._refinement((r,n)=>{let i=e(r),a=()=>n.addIssue({code:BM.custom,..."string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(r):t});return"u">typeof Promise&&i instanceof Promise?i.then(e=>!!e||(a(),!1)):!!i||(a(),!1)})}refinement(e,t){return this._refinement((r,n)=>!!e(r)||(n.addIssue("function"==typeof t?t(r,n):t),!1))}_refinement(e){return new kx({schema:this,typeName:ef.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return kC.create(this,this._def)}nullable(){return kE.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ka.create(this)}promise(){return kw.create(this,this._def)}or(e){return ks.create([this,e],this._def)}and(e){return ku.create(this,e,this._def)}transform(e){return new kx({...BO(this._def),schema:this,typeName:ef.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new kS({...BO(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:ef.ZodDefault})}brand(){return new kB({typeName:ef.ZodBranded,type:this,...BO(this._def)})}catch(e){return new kM({...BO(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:ef.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return kk.create(this,e)}readonly(){return kT.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let BU=/^c[^\s-]{8,}$/i,Bz=/^[0-9a-z]+$/,Bj=/^[0-9A-HJKMNP-TV-Z]{26}$/i,BG=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,BH=/^[a-z0-9_-]{21}$/i,BV=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Bq=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,BW=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,BK=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,BJ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,BY=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,BX=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,BZ=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,B$=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,B0="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",B1=RegExp(`^${B0}$`);function B2(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}class B3 extends BQ{_parse(e){var t,r,n,i;let a;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==BE.string){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.string,received:t.parsedType}),BP}let o=new BR;for(let s of this._def.checks)if("min"===s.kind)e.data.length<s.value&&(BT(a=this._getOrReturnCtx(e,a),{code:BM.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),o.dirty());else if("max"===s.kind)e.data.length>s.value&&(BT(a=this._getOrReturnCtx(e,a),{code:BM.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),o.dirty());else if("length"===s.kind){let t=e.data.length>s.value,r=e.data.length<s.value;(t||r)&&(a=this._getOrReturnCtx(e,a),t?BT(a,{code:BM.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):r&&BT(a,{code:BM.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),o.dirty())}else if("email"===s.kind)BW.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"email",code:BM.invalid_string,message:s.message}),o.dirty());else if("emoji"===s.kind)u||(u=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),u.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"emoji",code:BM.invalid_string,message:s.message}),o.dirty());else if("uuid"===s.kind)BG.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"uuid",code:BM.invalid_string,message:s.message}),o.dirty());else if("nanoid"===s.kind)BH.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"nanoid",code:BM.invalid_string,message:s.message}),o.dirty());else if("cuid"===s.kind)BU.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"cuid",code:BM.invalid_string,message:s.message}),o.dirty());else if("cuid2"===s.kind)Bz.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"cuid2",code:BM.invalid_string,message:s.message}),o.dirty());else if("ulid"===s.kind)Bj.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"ulid",code:BM.invalid_string,message:s.message}),o.dirty());else if("url"===s.kind)try{new URL(e.data)}catch{BT(a=this._getOrReturnCtx(e,a),{validation:"url",code:BM.invalid_string,message:s.message}),o.dirty()}else"regex"===s.kind?(s.regex.lastIndex=0,s.regex.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"regex",code:BM.invalid_string,message:s.message}),o.dirty())):"trim"===s.kind?e.data=e.data.trim():"includes"===s.kind?e.data.includes(s.value,s.position)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),o.dirty()):"toLowerCase"===s.kind?e.data=e.data.toLowerCase():"toUpperCase"===s.kind?e.data=e.data.toUpperCase():"startsWith"===s.kind?e.data.startsWith(s.value)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:{startsWith:s.value},message:s.message}),o.dirty()):"endsWith"===s.kind?e.data.endsWith(s.value)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:{endsWith:s.value},message:s.message}),o.dirty()):"datetime"===s.kind?(function(e){let t=`${B0}T${B2(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,RegExp(`^${t}$`)})(s).test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:"datetime",message:s.message}),o.dirty()):"date"===s.kind?B1.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:"date",message:s.message}),o.dirty()):"time"===s.kind?RegExp(`^${B2(s)}$`).test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{code:BM.invalid_string,validation:"time",message:s.message}),o.dirty()):"duration"===s.kind?Bq.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"duration",code:BM.invalid_string,message:s.message}),o.dirty()):"ip"===s.kind?(t=e.data,!(("v4"===(r=s.version)||!r)&&BK.test(t)||("v6"===r||!r)&&BY.test(t))&&1&&(BT(a=this._getOrReturnCtx(e,a),{validation:"ip",code:BM.invalid_string,message:s.message}),o.dirty())):"jwt"===s.kind?!function(e,t){if(!BV.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));if("object"!=typeof i||null===i||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)return!1;return!0}catch{return!1}}(e.data,s.alg)&&(BT(a=this._getOrReturnCtx(e,a),{validation:"jwt",code:BM.invalid_string,message:s.message}),o.dirty()):"cidr"===s.kind?(n=e.data,!(("v4"===(i=s.version)||!i)&&BJ.test(n)||("v6"===i||!i)&&BX.test(n))&&1&&(BT(a=this._getOrReturnCtx(e,a),{validation:"cidr",code:BM.invalid_string,message:s.message}),o.dirty())):"base64"===s.kind?BZ.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"base64",code:BM.invalid_string,message:s.message}),o.dirty()):"base64url"===s.kind?B$.test(e.data)||(BT(a=this._getOrReturnCtx(e,a),{validation:"base64url",code:BM.invalid_string,message:s.message}),o.dirty()):eh.assertNever(s);return{status:o.value,value:e.data}}_regex(e,t,r){return this.refinement(t=>e.test(t),{validation:t,code:BM.invalid_string,...eA.errToObj(r)})}_addCheck(e){return new B3({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...eA.errToObj(e)})}url(e){return this._addCheck({kind:"url",...eA.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...eA.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...eA.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...eA.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...eA.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...eA.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...eA.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...eA.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...eA.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...eA.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...eA.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...eA.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...eA.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...eA.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...eA.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...eA.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...eA.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...eA.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...eA.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...eA.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...eA.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...eA.errToObj(t)})}nonempty(e){return this.min(1,eA.errToObj(e))}trim(){return new B3({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new B3({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new B3({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}B3.create=e=>new B3({checks:[],typeName:ef.ZodString,coerce:e?.coerce??!1,...BO(e)});class B9 extends BQ{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==BE.number){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.number,received:t.parsedType}),BP}let r=new BR;for(let n of this._def.checks)"int"===n.kind?eh.isInteger(e.data)||(BT(t=this._getOrReturnCtx(e,t),{code:BM.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"multipleOf"===n.kind?0!==function(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n;return Number.parseInt(e.toFixed(i).replace(".",""))%Number.parseInt(t.toFixed(i).replace(".",""))/10**i}(e.data,n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(BT(t=this._getOrReturnCtx(e,t),{code:BM.not_finite,message:n.message}),r.dirty()):eh.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,eA.toString(t))}gt(e,t){return this.setLimit("min",e,!1,eA.toString(t))}lte(e,t){return this.setLimit("max",e,!0,eA.toString(t))}lt(e,t){return this.setLimit("max",e,!1,eA.toString(t))}setLimit(e,t,r,n){return new B9({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:eA.toString(n)}]})}_addCheck(e){return new B9({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:eA.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:eA.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:eA.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:eA.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:eA.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:eA.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:eA.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:eA.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:eA.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&eh.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let r of this._def.checks)if("finite"===r.kind||"int"===r.kind||"multipleOf"===r.kind)return!0;else"min"===r.kind?(null===t||r.value>t)&&(t=r.value):"max"===r.kind&&(null===e||r.value<e)&&(e=r.value);return Number.isFinite(t)&&Number.isFinite(e)}}B9.create=e=>new B9({checks:[],typeName:ef.ZodNumber,coerce:e?.coerce||!1,...BO(e)});class B4 extends BQ{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==BE.bigint)return this._getInvalidInput(e);let r=new BR;for(let n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):eh.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.bigint,received:t.parsedType}),BP}gte(e,t){return this.setLimit("min",e,!0,eA.toString(t))}gt(e,t){return this.setLimit("min",e,!1,eA.toString(t))}lte(e,t){return this.setLimit("max",e,!0,eA.toString(t))}lt(e,t){return this.setLimit("max",e,!1,eA.toString(t))}setLimit(e,t,r,n){return new B4({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:eA.toString(n)}]})}_addCheck(e){return new B4({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:eA.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:eA.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:eA.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:eA.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:eA.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}B4.create=e=>new B4({checks:[],typeName:ef.ZodBigInt,coerce:e?.coerce??!1,...BO(e)});class B5 extends BQ{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==BE.boolean){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.boolean,received:t.parsedType}),BP}return B_(e.data)}}B5.create=e=>new B5({typeName:ef.ZodBoolean,coerce:e?.coerce||!1,...BO(e)});class B8 extends BQ{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==BE.date){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.date,received:t.parsedType}),BP}if(Number.isNaN(e.data.getTime()))return BT(this._getOrReturnCtx(e),{code:BM.invalid_date}),BP;let r=new BR;for(let n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),r.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(BT(t=this._getOrReturnCtx(e,t),{code:BM.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),r.dirty()):eh.assertNever(n);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new B8({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:eA.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:eA.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}B8.create=e=>new B8({checks:[],coerce:e?.coerce||!1,typeName:ef.ZodDate,...BO(e)});class B6 extends BQ{_parse(e){if(this._getType(e)!==BE.symbol){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.symbol,received:t.parsedType}),BP}return B_(e.data)}}B6.create=e=>new B6({typeName:ef.ZodSymbol,...BO(e)});class B7 extends BQ{_parse(e){if(this._getType(e)!==BE.undefined){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.undefined,received:t.parsedType}),BP}return B_(e.data)}}B7.create=e=>new B7({typeName:ef.ZodUndefined,...BO(e)});class ke extends BQ{_parse(e){if(this._getType(e)!==BE.null){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.null,received:t.parsedType}),BP}return B_(e.data)}}ke.create=e=>new ke({typeName:ef.ZodNull,...BO(e)});class kt extends BQ{constructor(){super(...arguments),this._any=!0}_parse(e){return B_(e.data)}}kt.create=e=>new kt({typeName:ef.ZodAny,...BO(e)});class kr extends BQ{constructor(){super(...arguments),this._unknown=!0}_parse(e){return B_(e.data)}}kr.create=e=>new kr({typeName:ef.ZodUnknown,...BO(e)});class kn extends BQ{_parse(e){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.never,received:t.parsedType}),BP}}kn.create=e=>new kn({typeName:ef.ZodNever,...BO(e)});class ki extends BQ{_parse(e){if(this._getType(e)!==BE.undefined){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.void,received:t.parsedType}),BP}return B_(e.data)}}ki.create=e=>new ki({typeName:ef.ZodVoid,...BO(e)});class ka extends BQ{_parse(e){let{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==BE.array)return BT(t,{code:BM.invalid_type,expected:BE.array,received:t.parsedType}),BP;if(null!==n.exactLength){let e=t.data.length>n.exactLength.value,i=t.data.length<n.exactLength.value;(e||i)&&(BT(t,{code:e?BM.too_big:BM.too_small,minimum:i?n.exactLength.value:void 0,maximum:e?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),r.dirty())}if(null!==n.minLength&&t.data.length<n.minLength.value&&(BT(t,{code:BM.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),r.dirty()),null!==n.maxLength&&t.data.length>n.maxLength.value&&(BT(t,{code:BM.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((e,r)=>n.type._parseAsync(new BF(t,e,t.path,r)))).then(e=>BR.mergeArray(r,e));let i=[...t.data].map((e,r)=>n.type._parseSync(new BF(t,e,t.path,r)));return BR.mergeArray(r,i)}get element(){return this._def.type}min(e,t){return new ka({...this._def,minLength:{value:e,message:eA.toString(t)}})}max(e,t){return new ka({...this._def,maxLength:{value:e,message:eA.toString(t)}})}length(e,t){return new ka({...this._def,exactLength:{value:e,message:eA.toString(t)}})}nonempty(e){return this.min(1,e)}}ka.create=(e,t)=>new ka({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ef.ZodArray,...BO(t)});class ko extends BQ{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=eh.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==BE.object){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.object,received:t.parsedType}),BP}let{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof kn&&"strip"===this._def.unknownKeys))for(let e in r.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=n[e],i=r.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new BF(r,i,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof kn){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of a)o.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)a.length>0&&(BT(r,{code:BM.unrecognized_keys,keys:a}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of a){let n=r.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new BF(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let r=await t.key,n=await t.value;e.push({key:r,value:n,alwaysSet:t.alwaysSet})}return e}).then(e=>BR.mergeObjectSync(t,e)):BR.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return eA.errToObj,new ko({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,r)=>{let n=this._def.errorMap?.(t,r).message??r.defaultError;return"unrecognized_keys"===t.code?{message:eA.errToObj(e).message??n}:{message:n}}}:{}})}strip(){return new ko({...this._def,unknownKeys:"strip"})}passthrough(){return new ko({...this._def,unknownKeys:"passthrough"})}extend(e){return new ko({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ko({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:ef.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new ko({...this._def,catchall:e})}pick(e){let t={};for(let r of eh.objectKeys(e))e[r]&&this.shape[r]&&(t[r]=this.shape[r]);return new ko({...this._def,shape:()=>t})}omit(e){let t={};for(let r of eh.objectKeys(this.shape))e[r]||(t[r]=this.shape[r]);return new ko({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof ko){let r={};for(let n in t.shape){let i=t.shape[n];r[n]=kC.create(e(i))}return new ko({...t._def,shape:()=>r})}if(t instanceof ka)return new ka({...t._def,type:e(t.element)});if(t instanceof kC)return kC.create(e(t.unwrap()));if(t instanceof kE)return kE.create(e(t.unwrap()));if(t instanceof kd)return kd.create(t.items.map(t=>e(t)));else return t}(this)}partial(e){let t={};for(let r of eh.objectKeys(this.shape)){let n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()}return new ko({...this._def,shape:()=>t})}required(e){let t={};for(let r of eh.objectKeys(this.shape))if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof kC;)e=e._def.innerType;t[r]=e}return new ko({...this._def,shape:()=>t})}keyof(){return kv(eh.objectKeys(this.shape))}}ko.create=(e,t)=>new ko({shape:()=>e,unknownKeys:"strip",catchall:kn.create(),typeName:ef.ZodObject,...BO(t)}),ko.strictCreate=(e,t)=>new ko({shape:()=>e,unknownKeys:"strict",catchall:kn.create(),typeName:ef.ZodObject,...BO(t)}),ko.lazycreate=(e,t)=>new ko({shape:e,unknownKeys:"strip",catchall:kn.create(),typeName:ef.ZodObject,...BO(t)});class ks extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map(async e=>{let r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}})).then(function(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;let r=e.map(e=>new BI(e.ctx.common.issues));return BT(t,{code:BM.invalid_union,unionErrors:r}),BP});{let e,n=[];for(let i of r){let r={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:r});if("valid"===a.status)return a;"dirty"!==a.status||e||(e={result:a,ctx:r}),r.common.issues.length&&n.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=n.map(e=>new BI(e));return BT(t,{code:BM.invalid_union,unionErrors:i}),BP}}get options(){return this._def.options}}ks.create=(e,t)=>new ks({options:e,typeName:ef.ZodUnion,...BO(t)});let kl=e=>{if(e instanceof kg)return kl(e.schema);if(e instanceof kx)return kl(e.innerType());if(e instanceof km)return[e.value];if(e instanceof kb)return e.options;if(e instanceof ky)return eh.objectValues(e.enum);else if(e instanceof kS)return kl(e._def.innerType);else if(e instanceof B7)return[void 0];else if(e instanceof ke)return[null];else if(e instanceof kC)return[void 0,...kl(e.unwrap())];else if(e instanceof kE)return[null,...kl(e.unwrap())];else if(e instanceof kB)return kl(e.unwrap());else if(e instanceof kT)return kl(e.unwrap());else if(e instanceof kM)return kl(e._def.innerType);else return[]};class kc extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==BE.object)return BT(t,{code:BM.invalid_type,expected:BE.object,received:t.parsedType}),BP;let r=this.discriminator,n=t.data[r],i=this.optionsMap.get(n);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(BT(t,{code:BM.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),BP)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){let n=new Map;for(let r of t){let t=kl(r.shape[e]);if(!t.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of t){if(n.has(i))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);n.set(i,r)}}return new kc({typeName:ef.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...BO(r)})}}class ku extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=(e,n)=>{if("aborted"===e.status||"aborted"===n.status)return BP;let i=function e(t,r){let n=BS(t),i=BS(r);if(t===r)return{valid:!0,data:t};if(n===BE.object&&i===BE.object){let n=eh.objectKeys(r),i=eh.objectKeys(t).filter(e=>-1!==n.indexOf(e)),a={...t,...r};for(let n of i){let i=e(t[n],r[n]);if(!i.valid)return{valid:!1};a[n]=i.data}return{valid:!0,data:a}}if(n===BE.array&&i===BE.array){if(t.length!==r.length)return{valid:!1};let n=[];for(let i=0;i<t.length;i++){let a=e(t[i],r[i]);if(!a.valid)return{valid:!1};n.push(a.data)}return{valid:!0,data:n}}if(n===BE.date&&i===BE.date&&+t==+r)return{valid:!0,data:t};return{valid:!1}}(e.value,n.value);return i.valid?(("dirty"===e.status||"dirty"===n.status)&&t.dirty(),{status:t.value,value:i.data}):(BT(r,{code:BM.invalid_intersection_types}),BP)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([e,t])=>n(e,t)):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ku.create=(e,t,r)=>new ku({left:e,right:t,typeName:ef.ZodIntersection,...BO(r)});class kd extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.array)return BT(r,{code:BM.invalid_type,expected:BE.array,received:r.parsedType}),BP;if(r.data.length<this._def.items.length)return BT(r,{code:BM.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),BP;!this._def.rest&&r.data.length>this._def.items.length&&(BT(r,{code:BM.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let n=[...r.data].map((e,t)=>{let n=this._def.items[t]||this._def.rest;return n?n._parse(new BF(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(n).then(e=>BR.mergeArray(t,e)):BR.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new kd({...this._def,rest:e})}}kd.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new kd({items:e,typeName:ef.ZodTuple,rest:null,...BO(t)})};class kh extends BQ{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.object)return BT(r,{code:BM.invalid_type,expected:BE.object,received:r.parsedType}),BP;let n=[],i=this._def.keyType,a=this._def.valueType;for(let e in r.data)n.push({key:i._parse(new BF(r,e,r.path,e)),value:a._parse(new BF(r,r.data[e],r.path,e)),alwaysSet:e in r.data});return r.common.async?BR.mergeObjectAsync(t,n):BR.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new kh(t instanceof BQ?{keyType:e,valueType:t,typeName:ef.ZodRecord,...BO(r)}:{keyType:B3.create(),valueType:e,typeName:ef.ZodRecord,...BO(t)})}}class kp extends BQ{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.map)return BT(r,{code:BM.invalid_type,expected:BE.map,received:r.parsedType}),BP;let n=this._def.keyType,i=this._def.valueType,a=[...r.data.entries()].map(([e,t],a)=>({key:n._parse(new BF(r,e,r.path,[a,"key"])),value:i._parse(new BF(r,t,r.path,[a,"value"]))}));if(r.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let r of a){let n=await r.key,i=await r.value;if("aborted"===n.status||"aborted"===i.status)return BP;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let r of a){let n=r.key,i=r.value;if("aborted"===n.status||"aborted"===i.status)return BP;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}kp.create=(e,t,r)=>new kp({valueType:t,keyType:e,typeName:ef.ZodMap,...BO(r)});class kA extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==BE.set)return BT(r,{code:BM.invalid_type,expected:BE.set,received:r.parsedType}),BP;let n=this._def;null!==n.minSize&&r.data.size<n.minSize.value&&(BT(r,{code:BM.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),null!==n.maxSize&&r.data.size>n.maxSize.value&&(BT(r,{code:BM.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let r=new Set;for(let n of e){if("aborted"===n.status)return BP;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}let o=[...r.data.values()].map((e,t)=>i._parse(new BF(r,e,r.path,t)));return r.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(e,t){return new kA({...this._def,minSize:{value:e,message:eA.toString(t)}})}max(e,t){return new kA({...this._def,maxSize:{value:e,message:eA.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}kA.create=(e,t)=>new kA({valueType:e,minSize:null,maxSize:null,typeName:ef.ZodSet,...BO(t)});class kf extends BQ{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==BE.function)return BT(t,{code:BM.invalid_type,expected:BE.function,received:t.parsedType}),BP;function r(e,r){return Bk({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,BB,BB].filter(e=>!!e),issueData:{code:BM.invalid_arguments,argumentsError:r}})}function n(e,r){return Bk({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,BB,BB].filter(e=>!!e),issueData:{code:BM.invalid_return_type,returnTypeError:r}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof kw){let e=this;return B_(async function(...t){let o=new BI([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(r(t,e)),o}),l=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(l,i).catch(e=>{throw o.addIssue(n(l,e)),o})})}{let e=this;return B_(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new BI([r(t,o.error)]);let s=Reflect.apply(a,this,o.data),l=e._def.returns.safeParse(s,i);if(!l.success)throw new BI([n(s,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new kf({...this._def,args:kd.create(e).rest(kr.create())})}returns(e){return new kf({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new kf({args:e||kd.create([]).rest(kr.create()),returns:t||kr.create(),typeName:ef.ZodFunction,...BO(r)})}}class kg extends BQ{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}kg.create=(e,t)=>new kg({getter:e,typeName:ef.ZodLazy,...BO(t)});class km extends BQ{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return BT(t,{received:t.data,code:BM.invalid_literal,expected:this._def.value}),BP}return{status:"valid",value:e.data}}get value(){return this._def.value}}function kv(e,t){return new kb({values:e,typeName:ef.ZodEnum,...BO(t)})}km.create=(e,t)=>new km({value:e,typeName:ef.ZodLiteral,...BO(t)});class kb extends BQ{_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),r=this._def.values;return BT(t,{expected:eh.joinValues(r),received:t.parsedType,code:BM.invalid_type}),BP}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),r=this._def.values;return BT(t,{received:t.data,code:BM.invalid_enum_value,options:r}),BP}return B_(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return kb.create(e,{...this._def,...t})}exclude(e,t=this._def){return kb.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}kb.create=kv;class ky extends BQ{_parse(e){let t=eh.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==BE.string&&r.parsedType!==BE.number){let e=eh.objectValues(t);return BT(r,{expected:eh.joinValues(e),received:r.parsedType,code:BM.invalid_type}),BP}if(this._cache||(this._cache=new Set(eh.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let e=eh.objectValues(t);return BT(r,{received:r.data,code:BM.invalid_enum_value,options:e}),BP}return B_(e.data)}get enum(){return this._def.values}}ky.create=(e,t)=>new ky({values:e,typeName:ef.ZodNativeEnum,...BO(t)});class kw extends BQ{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==BE.promise&&!1===t.common.async?(BT(t,{code:BM.invalid_type,expected:BE.promise,received:t.parsedType}),BP):B_((t.parsedType===BE.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}kw.create=(e,t)=>new kw({type:e,typeName:ef.ZodPromise,...BO(t)});class kx extends BQ{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ef.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=this._def.effect||null,i={addIssue:e=>{BT(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===n.type){let e=n.transform(r.data,i);if(r.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return BP;let n=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return"aborted"===n.status?BP:"dirty"===n.status||"dirty"===t.value?BD(n.value):n});{if("aborted"===t.value)return BP;let n=this._def.schema._parseSync({data:e,path:r.path,parent:r});return"aborted"===n.status?BP:"dirty"===n.status||"dirty"===t.value?BD(n.value):n}}if("refinement"===n.type){let e=e=>{let t=n.refinement(e,i);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(r=>"aborted"===r.status?BP:("dirty"===r.status&&t.dirty(),e(r.value).then(()=>({status:t.value,value:r.value}))));{let n=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===n.status?BP:("dirty"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}}if("transform"===n.type)if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>"valid"!==e.status?BP:Promise.resolve(n.transform(e.value,i)).then(e=>({status:t.value,value:e})));else{let e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if("valid"!==e.status)return BP;let a=n.transform(e.value,i);if(a instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}eh.assertNever(n)}}kx.create=(e,t,r)=>new kx({schema:e,typeName:ef.ZodEffects,effect:t,...BO(r)}),kx.createWithPreprocess=(e,t,r)=>new kx({schema:t,effect:{type:"preprocess",transform:e},typeName:ef.ZodEffects,...BO(r)});class kC extends BQ{_parse(e){return this._getType(e)===BE.undefined?B_(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}kC.create=(e,t)=>new kC({innerType:e,typeName:ef.ZodOptional,...BO(t)});class kE extends BQ{_parse(e){return this._getType(e)===BE.null?B_(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}kE.create=(e,t)=>new kE({innerType:e,typeName:ef.ZodNullable,...BO(t)});class kS extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return t.parsedType===BE.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}kS.create=(e,t)=>new kS({innerType:e,typeName:ef.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...BO(t)});class kM extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return BL(n)?n.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new BI(r.common.issues)},input:r.data})})):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new BI(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}kM.create=(e,t)=>new kM({innerType:e,typeName:ef.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...BO(t)});class kI extends BQ{_parse(e){if(this._getType(e)!==BE.nan){let t=this._getOrReturnCtx(e);return BT(t,{code:BM.invalid_type,expected:BE.nan,received:t.parsedType}),BP}return{status:"valid",value:e.data}}}kI.create=e=>new kI({typeName:ef.ZodNaN,...BO(e)}),Symbol("zod_brand");class kB extends BQ{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class kk extends BQ{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?BP:"dirty"===e.status?(t.dirty(),BD(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})();{let e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?BP:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new kk({in:e,out:t,typeName:ef.ZodPipeline})}}class kT extends BQ{_parse(e){let t=this._def.innerType._parse(e),r=e=>("valid"===e.status&&(e.value=Object.freeze(e.value)),e);return BL(t)?t.then(e=>r(e)):r(t)}unwrap(){return this._def.innerType}}kT.create=(e,t)=>new kT({innerType:e,typeName:ef.ZodReadonly,...BO(t)}),ko.lazycreate,(eo=ef||(ef={})).ZodString="ZodString",eo.ZodNumber="ZodNumber",eo.ZodNaN="ZodNaN",eo.ZodBigInt="ZodBigInt",eo.ZodBoolean="ZodBoolean",eo.ZodDate="ZodDate",eo.ZodSymbol="ZodSymbol",eo.ZodUndefined="ZodUndefined",eo.ZodNull="ZodNull",eo.ZodAny="ZodAny",eo.ZodUnknown="ZodUnknown",eo.ZodNever="ZodNever",eo.ZodVoid="ZodVoid",eo.ZodArray="ZodArray",eo.ZodObject="ZodObject",eo.ZodUnion="ZodUnion",eo.ZodDiscriminatedUnion="ZodDiscriminatedUnion",eo.ZodIntersection="ZodIntersection",eo.ZodTuple="ZodTuple",eo.ZodRecord="ZodRecord",eo.ZodMap="ZodMap",eo.ZodSet="ZodSet",eo.ZodFunction="ZodFunction",eo.ZodLazy="ZodLazy",eo.ZodLiteral="ZodLiteral",eo.ZodEnum="ZodEnum",eo.ZodEffects="ZodEffects",eo.ZodNativeEnum="ZodNativeEnum",eo.ZodOptional="ZodOptional",eo.ZodNullable="ZodNullable",eo.ZodDefault="ZodDefault",eo.ZodCatch="ZodCatch",eo.ZodPromise="ZodPromise",eo.ZodBranded="ZodBranded",eo.ZodPipeline="ZodPipeline",eo.ZodReadonly="ZodReadonly";let kR=B3.create,kP=B9.create;kI.create,B4.create;let kD=B5.create;B8.create,B6.create,B7.create,ke.create,kt.create;let k_=kr.create;kn.create,ki.create,ka.create;let kL=ko.create;ko.strictCreate,ks.create,kc.create,ku.create,kd.create,kh.create,kp.create,kA.create,kf.create,kg.create,km.create;let kF=kb.create;ky.create,kw.create,kx.create,kC.create,kE.create;let kN=kx.createWithPreprocess;kk.create;let kO=kF(["cm","inch"]),kQ=kF(["different_fields","one_field"]),kU=kF(["left_bottom","center","right_bottom","left_center","right_center"]),kz=kL({buttonLabel:kR(),backgroundColor:kR(),borderColor:kR(),textColor:kR(),borderRadius:kP(),borderWidth:kP()}),kj=kL({units:kO,productWidthAndHeight:kQ,metafieldForWidth:kR().nullable(),metafieldForHeight:kR().nullable(),metafieldForWidthAndHeight:kR().nullable(),widgetPosition:kU,_widgetSettings:kz.optional(),isWidgetActive:kD()}),kG=function(e){let t=e?.trim().replace(/\/+$/,"")??"";if(!t||t.includes("/v1/http")||t.endsWith("/v1"))return t;let r=t.indexOf("/http");return r>=0?`${t.slice(0,r)}/v1${t.slice(r)}`:`${t}/v1`}("/apps/vizbl-wall-art/http"),kH=kL({token:kR().trim().min(1),sid:kR().trim().min(1),expiresIn:kP().finite()}),kV=kL({metafields:kR().trim().min(1),posterPic:kR().trim().min(1),title:kR().trim().optional(),widgetSession:k_().optional()}),kq=kN(e=>"string"==typeof e?JSON.parse(e):e,kL({metafield:k_(),tinuuid:kR().trim().optional()}));async function kW(e,t){let r=await BC({productType:"wallart-shopify",variant_id:e,metafield_key:"poster_settings"},{baseURL:kG,signal:t});return function(e){let t,r,n=kV.safeParse("string"!=typeof e?e:JSON.parse(e));if(!n.success)return null;let i=kq.safeParse(n.data.metafields);if(!i.success)return null;let a=(t=function(e){if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return}}(i.data.metafield),(r=kj.safeParse(t)).success?r.data:null);if(!a)return null;let o=kH.safeParse(n.data.widgetSession);return{settings:a,posterPic:n.data.posterPic,title:n.data.title??null,tinuuid:i.data.tinuuid??null,widgetSession:o.success?o.data:null}}(r.body??r)}let kK="44px",kJ="60px",kY={left_center:{left:kJ,top:"50%",transform:"translateY(-50%)"},left_bottom:{left:kJ,bottom:kK},center:{left:`calc(50% + ${kJ})`,bottom:kK,transform:"translateX(-50%)"},right_bottom:{right:kJ,bottom:kK},right_center:{right:kJ,top:"50%",transform:"translateY(-50%)"}},kX=kN(e=>"number"==typeof e&&Number.isFinite(e)?String(e):e,kR().trim().regex(/^\d+$/));function kZ(e){let t=kX.safeParse(e);return t.success?t.data:null}function k$(e){return e?e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?e.value:e.getAttribute("value"):null}let k0=["product-form","[data-main-product]",'[id*="MainProduct"]',".product",".product__info-wrapper",".product__info-container","#MainContent"],k1=[".product-recommendations",".related-products","[data-product-recommendations]"];var k2=r("./src/shopify.css?inline");function k3(){let e=function({documentRef:e=document,locationRef:t=window.location,analytics:r=window.ShopifyAnalytics}={}){var n;let i=e.body;if(i?.classList.contains("template-collection"))return!1;if(n=t.pathname,/(?:^|\/)products\/[^/]+/i.test(n)||r?.meta?.page?.pageType?.toLowerCase()==="product")return!0;let a=e.querySelector('meta[property="og:type"]')?.getAttribute("content");return!!(a?.trim().toLowerCase()==="product"||i?.classList.contains("template-product"))}();return{isProductPage:e,variantId:e?function({documentRef:e=document,locationRef:t=window.location}={}){return function(e=window.location){return kZ(new URLSearchParams(e.search).get("variant"))}(t)??function(e=document){for(let{field:t}of Array.from(e.querySelectorAll('form[action*="/cart/add"]')).flatMap((t,r)=>{let n;return[...Array.from(t.querySelectorAll('input[name="id"], select[name="id"]')),...!(n=t.getAttribute("id"))?[]:Array.from(e.querySelectorAll('input[name="id"][form], select[name="id"][form]')).filter(e=>e.getAttribute("form")===n)].map((e,n)=>({field:e,formIndex:r,fieldIndex:n,score:function(e){let t=0,r=(e.getAttribute("id")??"").toLowerCase(),n=(e.getAttribute("class")??"").toLowerCase();for(let i of(r.includes("product-form")&&(t+=100),n.includes("product-form")&&(t+=80),k0))e.closest(i)&&(t+=25);for(let r of k1)e.closest(r)&&(t-=100);return t}(t)}))}).sort((e,t)=>t.score-e.score||e.formIndex-t.formIndex||e.fieldIndex-t.fieldIndex)){let e=kZ(k$(t));if(e)return e}return null}(e)??function(e=document){for(let t of Array.from(e.querySelectorAll('[name="id"][form^="product-form"]'))){let e=kZ(k$(t));if(e)return e}return null}(e)??function(e=document){let t=e.querySelector("[data-selected-variant-id]");return kZ(t?.getAttribute("data-selected-variant-id")??null)}(e)}():null}}function k9(){let e=function(){let[e,t]=(0,te.useState)(k3);return(0,te.useEffect)(()=>{let e=null,r=window.history.pushState,n=window.history.replaceState,i=()=>{null===e&&(e=window.requestAnimationFrame(()=>{e=null,t(e=>{let t=k3();return e.isProductPage===t.isProductPage&&e.variantId===t.variantId?e:t})}))};window.history.pushState=function(...e){let t=r.apply(this,e);return i(),t},window.history.replaceState=function(...e){let t=n.apply(this,e);return i(),t};let a=tH('body.template-product, body.template-collection, meta[property="og:type"], form[action*="/cart/add"], form[action*="/cart/add"] [name="id"], [name="id"][form], [data-selected-variant-id]',{initialize(e){let t;return{add(){t=(e=>{var t;let r=(t=e).matches("body")?["class"]:t.matches('meta[property="og:type"]')?["content"]:t.matches('form[action*="/cart/add"]')?["action","class","id"]:t.matches('form[action*="/cart/add"] [name="id"], [name="id"][form]')?["form","value"]:t.matches("[data-selected-variant-id]")?["data-selected-variant-id"]:[];if(0===r.length)return;let n=new MutationObserver(i);return n.observe(e,{attributes:!0,attributeFilter:r}),()=>{n.disconnect()}})(e),i()},remove(){t?.(),t=void 0,i()}}}});return document.addEventListener("change",i,!0),document.addEventListener("input",i,!0),document.addEventListener("click",i,!0),window.addEventListener("popstate",i),i(),()=>{null!==e&&window.cancelAnimationFrame(e),window.history.pushState=r,window.history.replaceState=n,a.abort(),document.removeEventListener("change",i,!0),document.removeEventListener("input",i,!0),document.removeEventListener("click",i,!0),window.removeEventListener("popstate",i)}},[]),e}(),[t,r]=(0,te.useState)(!1),{data:n}=nF({queryKey:["vizbl-shopify-room-viewer","activation",e.variantId],queryFn:({signal:t})=>kW(e.variantId??"",t),enabled:e.isProductPage&&null!==e.variantId,staleTime:3e5,gcTime:3e5,refetchOnWindowFocus:!1},ny,void 0),i=(0,te.useCallback)(()=>{r(!0)},[]),a=(0,te.useCallback)(e=>{r(e)},[]);if(!e.isProductPage||!e.variantId||!n?.settings.isWidgetActive)return null;let{settings:o,posterPic:s,title:l}=n,c=o._widgetSettings,u=function(e){if("one_field"===e.productWidthAndHeight){let[t,r]=e.metafieldForWidthAndHeight.split("x");return{width:Number(t),height:Number(r)}}return{width:Number(e.metafieldForWidth),height:Number(e.metafieldForHeight)}}(o),d="inch"===o.units?"in":"cm";return(0,tr.jsxs)(tr.Fragment,{children:[(0,tr.jsx)("button",{type:"button",onClick:i,style:{position:"fixed",zIndex:0x7ffffffe,display:"inline-flex",alignItems:"center",justifyContent:"center",padding:"13.522px 21.635px",borderStyle:"solid",borderColor:c?.borderColor??"rgba(65, 90, 229, 0.3)",borderWidth:c?.borderWidth??1,borderRadius:c?.borderRadius??121.053,background:c?.backgroundColor??"#ffffff",boxShadow:"0px 0px 20px 0px rgba(23, 32, 51, 0.14), 0px 16px 32px 0px rgba(23, 32, 51, 0.17)",color:c?.textColor??"#111111",boxSizing:"border-box",cursor:"pointer",maxWidth:"calc(100vw - 16px)",fontFamily:'Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',fontSize:18,fontWeight:600,letterSpacing:0,lineHeight:"18px",margin:0,appearance:"none",...kY[o.widgetPosition]},children:c?.buttonLabel??"View in place"}),(0,tr.jsx)(Bu,{open:t,onOpenChange:a,type:"wallart",source:"shopify",src:s,name:l??"",width:u.width,height:u.height,dimensionUnit:d,widgetSession:n.widgetSession}),t&&(0,tV.createPortal)((0,tr.jsx)("style",{children:k2.A}),document.head)]})}let k4="vizbl-shopify-room-viewer",k5=new e7({defaultOptions:{queries:{refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(a_(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function k8(){let e,t=((e=document.getElementById(k4))||((e=document.createElement("div")).id=k4,document.body.appendChild(e)),e),r=to.createRoot(t);r.render((0,te.createElement)(ta,{client:k5},(0,te.createElement)(k9)));let n=tH(`#${k4}`,{remove(){n.abort(),r.unmount(),k8()}})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",k8,{once:!0}):k8()})()})();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vizbl/shopify-room-viewer",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.35",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"react-dom": "^19.2.0",
|
|
16
16
|
"selector-observer": "^2.1.6",
|
|
17
17
|
"zod": "^3.25.76",
|
|
18
|
-
"@neurodyn/react-room-viewer": "0.0.
|
|
18
|
+
"@neurodyn/react-room-viewer": "0.0.35"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@rsbuild/core": "1.7.1",
|