@vizbl/shopify-room-viewer 0.0.3 → 0.0.4
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.
|
@@ -6651,4 +6651,4 @@ ${em}`:em);function j1(e){return"shopify"===e.source||void 0!==e.apiKey}function
|
|
|
6651
6651
|
`);if(n.includes("#include <output_fragment>")){e.fragmentShader=n.replace("#include <output_fragment>",`${r}
|
|
6652
6652
|
#include <output_fragment>`);return}e.fragmentShader=n.replace("#include <opaque_fragment>",`${r}
|
|
6653
6653
|
#include <opaque_fragment>`)}(n,t)},e.customProgramCacheKey=()=>`${n()}|neurodyn-room-scene-v2`,e.needsUpdate=!0,()=>{e.onBeforeCompile=r,e.customProgramCacheKey=n,e.side=i,e.transparent=a,e.alphaToCoverage=s,e.needsUpdate=!0}}let qt=Math.PI/2;function qr({glbUrl:e,position:t,quaternion:r,materialPatch:n}){let{resourceRef:i,rotation:a,setIsDragging:s}=Wn(),o=HX(e),l=(0,rd.useMemo)(()=>o.scene.clone(!0),[o]),u=(0,rd.useMemo)(()=>{let e;return e=new Set,l.traverse(t=>{if(!t.isMesh||!t.material)return;if(Array.isArray(t.material)){t.material=t.material.map(t=>{let r=t.clone();return e.add(r),r});return}let r=t.material.clone();e.add(r),t.material=r}),Array.from(e)},[l]),c=(0,rd.useMemo)(()=>bg.degToRad(a),[a]);return(0,rd.useLayoutEffect)(()=>{let e=u.map(e=>qe(e,n));return()=>{e.forEach(e=>e())}},[u,n]),(0,rp.jsx)("group",{ref:i,position:t,quaternion:r,onPointerDown:()=>s(!0),onPointerUp:()=>s(!1),onPointerLeave:()=>s(!1),children:(0,rp.jsx)("group",{"rotation-z":c,children:(0,rp.jsx)("group",{"rotation-x":qt,children:(0,rp.jsx)("primitive",{object:l})})})})}function qn(e,t){(0,rd.useLayoutEffect)(()=>{let r=e.current;if(r)return qe(r,t)},[e,t])}let qi=[1,1,1];function qa({node:e,position:t,scale:r=qi,uvScale:n,materialPatch:i}){let a=(0,rd.useRef)(null);return(0,rd.useEffect)(()=>{if(!a.current||void 0===n)return;let t=a.current.geometry.attributes.uv,r=e.geometry.attributes.uv.array;for(let e=0;e<t.count;e++){let i=r[2*e],a=r[2*e+1];t.setXY(e,i*n,a)}t.needsUpdate=!0},[n,e.geometry]),(0,rd.useLayoutEffect)(()=>{let e=a.current?.material;if(!e)return;let t=(Array.isArray(e)?e:[e]).map(e=>qe(e,i));return()=>{t.forEach(e=>e())}},[i,e]),(0,rp.jsx)(H0,{ref:a,object:e,position:t,scale:r})}function qs({width:e,height:t,materialPatch:r}){let{material:n}=Wn(),{nodes:i}=HX(n?.native?.glbUrl),a=(0,rd.useMemo)(()=>{let e=new bb,t={};["vizbl0","vizbl1","vizbl2","vizbl3","vizbl4","vizbl5","vizbl6","vizbl7"].forEach(r=>{let n=i[r];if(!n?.geometry)return;let a=n.clone();a.geometry=n.geometry.clone(),Array.isArray(n.material)?a.material=n.material.map(e=>e.clone()):n.material&&(a.material=n.material.clone()),a.updateMatrixWorld(!0),a.geometry.applyMatrix4(a.matrixWorld),a.position.set(0,0,0),a.rotation.set(0,0,0),a.scale.set(1,1,1),a.updateMatrixWorld(!0),a.geometry.computeBoundingBox(),a.geometry.boundingBox&&(a.geometry.boundingBox.getCenter(e),a.geometry.translate(-e.x,-e.y,-e.z)),a.geometry.computeBoundingBox(),t[r]=a});let r=t.vizbl0;if(!r?.geometry)throw Error("Corner mesh not found");let n=r.geometry.boundingBox,a=n.max.x-n.min.x,s=n.max.y-n.min.y,o={top:0,bottom:0,left:0,right:0},l={top:0,bottom:0,left:0,right:0},u=t.vizbl1;if(u?.geometry){let e=u.geometry.boundingBox;o.top=e.max.x-e.min.x,l.top=e.max.y-e.min.y}let c=t.vizbl3;if(c?.geometry){let e=c.geometry.boundingBox;o.right=e.max.y-e.min.y,l.right=e.max.x-e.min.x}let d=t.vizbl5;if(d?.geometry){let e=d.geometry.boundingBox;o.bottom=e.max.x-e.min.x,l.bottom=e.max.y-e.min.y}let h=t.vizbl7;if(h?.geometry){let e=h.geometry.boundingBox;o.left=e.max.y-e.min.y,l.left=e.max.x-e.min.x}return{cornerSize:{width:a,height:s},barLengths:o,barThickness:l,normalizedNodes:t}},[i]),s=e-2*a.cornerSize.width+.002,o=t-2*a.cornerSize.height+.002,l=s/a.barLengths.top,u=s/a.barLengths.bottom,c=o/a.barLengths.left,d=o/a.barLengths.right;return(0,rp.jsxs)("group",{children:[(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl0,position:[-e/2+a.cornerSize.width/2-.001,t/2-a.cornerSize.height/2+.001,0],materialPatch:r}),(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl1,position:[0,t/2-a.barThickness.top/2+.001,0],scale:[l,1,1],uvScale:l,materialPatch:r}),(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl2,position:[e/2-a.cornerSize.width/2+.001,t/2-a.cornerSize.height/2+.001,0],materialPatch:r}),(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl3,position:[e/2-a.barThickness.right/2+.001,0,0],scale:[1,d,1],uvScale:d,materialPatch:r}),(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl4,position:[e/2-a.cornerSize.width/2+.001,-t/2+a.cornerSize.height/2-.001,0],materialPatch:r}),(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl5,position:[0,-t/2+a.barThickness.bottom/2-.001,0],scale:[u,1,1],uvScale:u,materialPatch:r}),(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl6,position:[-e/2+a.cornerSize.width/2-.001,-t/2+a.cornerSize.height/2-.001,0],materialPatch:r}),(0,rp.jsx)(qa,{node:a.normalizedNodes.vizbl7,position:[-e/2+a.barThickness.left/2-.001,0,0],scale:[1,c,1],uvScale:c,materialPatch:r})]})}function qo({width:e,height:t,position:r,quaternion:n,materialPatch:i}){let a=(0,rd.useRef)(null);return qn(a,i),(0,rp.jsxs)("mesh",{position:r,quaternion:n,children:[(0,rp.jsx)("planeGeometry",{args:[e,t]}),(0,rp.jsx)("meshStandardMaterial",{ref:a,color:"white"})]})}function ql({src:e,position:t,quaternion:r,materialPatch:n}){let{width:i,height:a,angle:s,material:o,frameWidth:l,rotation:u,resourceRef:c,matting:d,setIsDragging:h}=Wn(),p=Hu(Sh,e),f=(0,rd.useRef)(null),A=(0,rd.useMemo)(()=>bg.degToRad(s),[s]),g=(0,rd.useMemo)(()=>bg.degToRad(u),[u]);qn(f,n);let m=i+2*d,v=a+2*d,b=d>0?m:i,y=d>0?v:a;return(0,rp.jsx)("group",{ref:c,position:t,quaternion:r,onPointerDown:()=>h(!0),onPointerUp:()=>h(!1),onPointerLeave:()=>h(!1),children:(0,rp.jsxs)("group",{rotation:[0,g,A],children:[o?.native?.glbUrl&&l>0&&(0,rp.jsx)(qs,{width:b,height:y,materialPatch:n}),d>0&&(0,rp.jsx)(qo,{width:m,height:v,position:[0,0,.01],materialPatch:n}),(0,rp.jsxs)("mesh",{position:[0,0,.02],children:[(0,rp.jsx)("planeGeometry",{args:[i,a]}),(0,rp.jsx)("meshStandardMaterial",{ref:f,map:p})]})]})})}function qu(){let{room:e}=Wn(),t=Hs(e=>e.scene),r=Hu(Sh,e.image_url);return(0,rd.useLayoutEffect)(()=>(r.colorSpace="srgb",t.background=r,()=>{t.background===r&&(t.background=null)}),[t,r]),null}function qc({plane:e,geometry:t,setPlaneRef:r}){return(0,rp.jsx)("mesh",{ref:t=>r(e,t),geometry:t,userData:{planeId:e.id,kind:e.kind},children:(0,rp.jsx)("meshBasicMaterial",{visible:!1,side:2})})}function qd(){let{src:e,glbUrl:t,type:r,room:n,patchSceneLoad:i}=Wn(),{gl:a,size:s,camera:o,invalidate:l,raycaster:u,pointer:c}=Hs(),d=(0,rd.useMemo)(()=>n.scene??V3(),[n.scene]),[h,p]=Hu(Sh,[d.planeIds.dataPng,d.shading?.dataPng??"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNoaGgAAAMEAYFL09IQAAAAAElFTkSuQmCC"]),f=(0,rd.useMemo)(()=>({value:0}),[]),A=(0,rd.useMemo)(()=>new bm(1,1),[]),g=(0,rd.useMemo)(()=>new bm(d.planeIds.width,d.planeIds.height),[d.planeIds.height,d.planeIds.width]),m=(0,rd.useMemo)(()=>({planeIdsTexture:h,shadingTexture:p,planeIdsSize:g,viewport:A,activePlaneIdUniform:f}),[f,g,h,p,A]),[v,b]=(0,rd.useState)(null),[y,w]=(0,rd.useState)(null),x=(0,rd.useRef)(null),C=(0,rd.useRef)(new Map),E=(0,rd.useMemo)(()=>d.planes.filter(e=>"carpet"===r?"floor"===e.kind:"floor"!==e.kind),[d.planes,r]),S=(0,rd.useMemo)(()=>E.map(e=>e.id),[E]),M=(0,rd.useMemo)(()=>new Map(d.planes.map(e=>{let t,r;return[e.id,(t=e.polygon3D.flatMap(e=>(function(e,t){let[r,n,i]=e;return[r*(W2(t)*(t.camera.fx/t.camera.fy)),i,-n]})(e,d)),(r=new wm).setAttribute("position",new wu(t,3)),e.polygon3D.length>=4&&r.setIndex([0,1,2,0,2,3]),r)]})),[d]),I=(0,rd.useCallback)((e,t)=>{t?C.current.set(e.id,t):C.current.delete(e.id)},[]);(0,rd.useLayoutEffect)(()=>{o instanceof wz&&(o.fov=d.camera.fovYDeg),o.position.set(0,0,0),o.up.set(0,0,1),o.lookAt(0,1,0),o.updateProjectionMatrix(),l()},[o,l,d.camera.fovYDeg]),(0,rd.useLayoutEffect)(()=>{h.minFilter=1003,h.magFilter=1003,h.wrapS=1001,h.wrapT=1001,h.generateMipmaps=!1,h.needsUpdate=!0,p.minFilter=1006,p.magFilter=1006,p.wrapS=1001,p.wrapT=1001,p.generateMipmaps=!1,p.needsUpdate=!0},[h,p]),(0,rd.useLayoutEffect)(()=>{a.getDrawingBufferSize(A),A.set(Math.max(1,A.x),Math.max(1,A.y))},[a,s.height,s.width,A]),(0,rd.useEffect)(()=>{let e=!1;return b(null),W3(d.planeIds.dataPng,d.planeIds.width,d.planeIds.height).then(t=>{e||b(t)}).catch(t=>{console.error(t),e||b(null)}),()=>{e=!0}},[d.planeIds]),(0,rd.useEffect)(()=>{w(null),x.current=null,f.value=0,i({placementReady:!1,prepareReady:!1,artifactsReady:!1})},[f,i,n.id,r]);let B=(0,rd.useCallback)((e,t)=>{let n,i,a,s,u,c,d,h,p,A=(i=new bb((n=e.geometry.attributes.position).getX(0),n.getY(0),n.getZ(0)),a=new bb(n.getX(1),n.getY(1),n.getZ(1)),s=new bb(n.getX(2),n.getY(2),n.getZ(2)),u=new bb().crossVectors(a.sub(i),s.sub(i)).normalize(),c=o.position.clone().sub(t).normalize(),0>u.dot(c)&&u.multiplyScalar(-1),d=u,h=t.clone().addScaledVector(d,.05),p=function(e,t){if("carpet"===t)return W6(e);let r=e.clone().normalize(),n=W8.clone().addScaledVector(r,-W8.dot(r));if(1e-6>n.lengthSq())return W6(r);n.normalize();let i=new bb().crossVectors(n,r).normalize(),a=new ys().makeBasis(i,n,r);return new bv().setFromRotationMatrix(a)}(d,r),{position:h.toArray(),quaternion:p.toArray(),activePlaneId:e.userData.planeId});x.current=A.activePlaneId,f.value=A.activePlaneId,w(A),l()},[f,o,l,r]),T=(0,rd.useCallback)(e=>v?function({activePlaneId:e,allowedPlaneIds:t,camera:r,planeIdMap:n,planeMap:i,pointer:a,raycaster:s}){let o=new Set(t),l=[],u=new Set,c=e=>{!(null===e||u.has(e))&&o.has(e)&&(u.add(e),l.push(e))};for(let o of(c(function(e,t){let r=Math.floor((e.x+1)*.5*t.width),n=Math.floor((1-e.y)*.5*t.height);if(r<0||n<0||r>=t.width||n>=t.height)return null;let i=t.data[n*t.width+r]??0;return i>0?i:null}(a,n)),c(e),t.forEach(c),s.setFromCamera(a,r),l)){let e=i.get(o),t=e?s.intersectObject(e,!1)[0]:null;if(t)return t}return null}({activePlaneId:x.current,allowedPlaneIds:S,camera:o,planeIdMap:v,planeMap:C.current,pointer:e,raycaster:u}):null,[S,o,v,u]);(0,rd.useEffect)(()=>{if(!v||null!==y)return;let e=E[0],t=e?C.current.get(e.id):null;t&&B(t,function(e){let t=e.geometry.attributes.position,r=new bb;for(let e=0;e<t.count;e++)r.add(new bb(t.getX(e),t.getY(e),t.getZ(e)));return r.divideScalar(Math.max(1,t.count))}(t))},[E,v,y,B]),(0,rd.useEffect)(()=>{i({artifactsReady:null!==v,placementReady:null!==y,prepareReady:null!==y})},[i,v,y]);let k=(0,rd.useCallback)(()=>{let e=T(c);e&&B(e.object,e.point)},[T,c,B]);return(0,rp.jsxs)(rp.Fragment,{children:["carpet"===r?y&&t&&(0,rp.jsx)(G0,{autoTransform:!1,onDrag:k,children:(0,rp.jsx)(qr,{glbUrl:t,position:y.position,quaternion:y.quaternion,materialPatch:m})}):y&&e&&(0,rp.jsx)(G0,{autoTransform:!1,onDrag:k,children:(0,rp.jsx)(ql,{src:e,position:y.position,quaternion:y.quaternion,materialPatch:m})}),d.planes.map(e=>(0,rp.jsx)(qc,{plane:e,geometry:M.get(e.id),setPlaneRef:I},e.id)),(0,rp.jsx)(qu,{})]})}let qh={position:[0,0,0],up:[0,0,1],near:.01,far:100};function qp({className:e,ref:t,captureRef:r,onSizeChange:n,...i}){let{room:a,src:s,glbUrl:o,type:l,patchSceneLoad:u}=Wn(),{active:c}=G3(),d=W2((0,rd.useMemo)(()=>a.scene??V3(),[a.scene])),h=(0,rd.useRef)(null),p=(0,rd.useRef)(!1),f=(0,rd.useCallback)(e=>{(h.current=e,"function"==typeof t)?t(e):t&&(t.current=e)},[t]),A=Vj("(max-width: 639px)"),{width:g,height:m}=function(e){let t,{ref:r,box:n="content-box"}=e,[{width:i,height:a},s]=(0,rd.useState)(W0),o=(t=(0,rd.useRef)(!1),(0,rd.useEffect)(()=>(t.current=!0,()=>{t.current=!1}),[]),(0,rd.useCallback)(()=>t.current,[])),l=(0,rd.useRef)({...W0}),u=(0,rd.useRef)(void 0);return u.current=e.onResize,(0,rd.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=W1(e,t,"inlineSize"),i=W1(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,u.current?u.current(e):o()&&s(e)}});return e.observe(r.current,{box:n}),()=>{e.disconnect()}},[n,r,o]),{width:i,height:a}}({ref:h}),v=(0,rd.useMemo)(()=>{if(!g||!m||!d)return null;let e=g,t=m;return A?e=(t=m)*d:g/m>d?e=m*d:t=g/d,{width:e,height:t}},[g,m,d,A]);return(0,rd.useLayoutEffect)(()=>{v&&n?.(v.width,v.height)},[v,n]),(0,rd.useEffect)(()=>{if(!v||p.current)return;p.current=!0;let e=window.setTimeout(()=>{window.dispatchEvent(new Event("resize"))},250);return()=>{window.clearTimeout(e)}},[v]),(0,rd.useEffect)(()=>{u({placementReady:!1,prepareReady:!1})},[u,a.id,l]),(0,rd.useEffect)(()=>{u({layoutReady:null!==v})},[u,v]),(0,rd.useEffect)(()=>{u({materialReady:"poster"===l?!!s:!!o})},[o,u,s,l]),(0,rd.useEffect)(()=>{u({assetsReady:!c})},[c,u]),(0,rp.jsx)("div",{ref:f,className:Vx("size-full flex items-center justify-center sm:pt-21 sm:pb-12",e),...i,children:v&&(0,rp.jsx)(jV,{className:"bg-transparent",frameloop:"demand",camera:qh,gl:{toneMapping:4,toneMappingExposure:1.2,alpha:!0,preserveDrawingBuffer:!0},style:{width:`${v.width}px`,height:`${v.height}px`},children:(0,rp.jsxs)(rd.Suspense,{fallback:null,children:[(0,rp.jsx)(W5,{ref:r}),(0,rp.jsx)(jz,{files:"poster"===l?["https://cdn.neurodyn.ai/assets/hdr/neutral.hdr"]:void 0,preset:"carpet"===l?"warehouse":void 0}),(0,rp.jsx)(qd,{})]})})})}function qf({className:e,...t}){let{containerRef:r,isDragging:n,angle:i,rotation:a,setAngle:s,setRotation:o,type:l}=Wn(),{t:u}=sa(),c=(0,rd.useRef)(null),d=(0,rd.useRef)(null),[h,p]=(0,rd.useState)(!1),f=Vj("(max-width: 639px)"),A=Vj("(min-width: 768px)"),g="poster"===l||"carpet"===l&&!A,m=(0,rd.useMemo)(()=>"u">typeof navigator&&"function"==typeof navigator.share,[]),v=(0,rd.useCallback)(()=>{f&&c.current?.centerView()},[f]),b=(0,rd.useCallback)(async()=>{if(!m)return;let e=window.location.href,t=u("poster"===l?"shareMessage.poster":"shareMessage.carpet"),r=`${t}
|
|
6654
|
-
${e}`;p(!0);try{let t=d.current;if(t)try{let e=await t.capture(),n=new File([e],"room-scene.png",{type:e.type||"image/png"});if(navigator.canShare?.({files:[n]}))return void await navigator.share({text:r,files:[n]})}catch(e){console.error("Failed to generate scene screenshot for sharing",e)}await navigator.share({text:r,url:e})}catch(e){e instanceof DOMException&&"AbortError"===e.name||console.error("Failed to share scene",e)}finally{p(!1)}},[m,u,l]);return(0,rp.jsxs)("div",{className:Vx("relative flex items-center justify-center overflow-hidden",e),...t,children:[(0,rp.jsx)(go,{ref:c,disabled:n,children:(0,rp.jsx)(gl,{wrapperClass:"neurodyn-rzpp-wrapper size-full!",contentClass:"neurodyn-rzpp-content h-full! min-w-full sm:max-w-full",children:(0,rp.jsx)(qp,{captureRef:d,onSizeChange:v})})}),(0,rp.jsx)(W$,{className:"absolute bottom-4 left-4 sm:bottom-6 sm:left-6"}),"carpet"===l&&(0,rp.jsxs)("div",{className:"bg-button-dark typo-button-normal absolute bottom-6 left-1/2 hidden h-9 -translate-x-1/2 items-center gap-1.5 rounded-lg px-3.75 text-text-white md:inline-flex",children:[(0,rp.jsx)("span",{className:"shrink-0",children:u("scene.position")}),(0,rp.jsx)(WG,{value:[a],onValueChange:([e])=>o(e??0),min:-180,max:180,step:1,className:"w-29.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":u("scene.position")})]}),(0,rp.jsxs)("div",{className:"absolute right-4 bottom-4 inline-flex items-center gap-2 sm:right-6 sm:bottom-6",children:[g&&(0,rp.jsxs)(WU,{children:[(0,rp.jsx)(Wz,{asChild:!0,children:(0,rp.jsxs)(VE,{variant:"contrast",size:f?"icon":"default",children:[(0,rp.jsx)(VO,{className:"size-5"}),(0,rp.jsx)("span",{className:"sr-only sm:not-sr-only",children:u("scene.tunePosition")})]})}),(0,rp.jsx)(WH,{className:"px-3 py-3.5 bg-button-dark border-button-dark text-text-white",side:"top",align:"end",portalContainer:r,children:(0,rp.jsxs)(Wa,{children:[(0,rp.jsxs)(Wo,{orientation:"horizontal",children:[(0,rp.jsx)(Wu,{children:u("scene.rotation")}),(0,rp.jsx)(WG,{value:[a],onValueChange:([e])=>o(e??0),min:-180,max:180,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":u("scene.rotation")})]}),"poster"===l&&(0,rp.jsxs)(Wo,{orientation:"horizontal",children:[(0,rp.jsx)(Wu,{children:u("scene.angle")}),(0,rp.jsx)(WG,{value:[i],onValueChange:([e])=>s(e??0),max:75,min:-75,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":u("scene.angle")})]})]})})]}),"poster"===l&&(0,rp.jsxs)(VE,{variant:"contrast",size:f?"icon":"default",disabled:!m||h,onClick:b,children:[(0,rp.jsx)(VQ,{className:"size-5"}),(0,rp.jsx)("span",{className:"sr-only sm:not-sr-only",children:u("scene.share")})]}),f&&"poster"===l&&(0,rp.jsxs)(WU,{children:[(0,rp.jsx)(Wz,{asChild:!0,children:(0,rp.jsx)(VE,{variant:"contrast",size:"icon",children:(0,rp.jsx)(VN,{})})}),(0,rp.jsxs)(WH,{className:"grid gap-5",portalContainer:r,children:[(0,rp.jsx)(Wm,{}),(0,rp.jsx)(W_,{})]})]})]})]})}function qA({showDialogCloseButton:e=!1}){let{setContainerRef:t,sceneLoad:r,isRoomScenePending:n,isViewerAccessPending:i,accessError:a}=Wn(),{t:s}=sa(),o=i||n||!Object.values(r).every(Boolean);return a?(0,rp.jsx)("div",{ref:t,className:"relative size-full overflow-hidden bg-radial from-background-containers to-background-base-2 text-foreground",children:(0,rp.jsx)(WQ,{variant:a,showDialogCloseButton:e})}):(0,rp.jsxs)("div",{ref:t,className:"relative size-full bg-radial from-background-containers to-background-base-2 text-foreground overflow-hidden",children:[e&&(0,rp.jsx)(VI,{asChild:!0,children:(0,rp.jsxs)(VE,{className:"absolute top-3 right-6 z-20",variant:"secondary",children:[s("close"),(0,rp.jsx)(u8,{})]})}),!i&&(0,rp.jsxs)(rp.Fragment,{children:[(0,rp.jsx)(WN,{className:"absolute top-0 right-0 left-0 z-15"}),(0,rp.jsxs)("div",{className:"size-full max-w-full grid grid-rows-[1fr_auto]",children:[(0,rp.jsx)(qf,{className:"size-full min-h-0"}),(0,rp.jsx)(WO,{className:"bg-background"})]})]}),(0,rp.jsx)("div",{"aria-hidden":!o,className:Vx("absolute inset-0 z-10 flex items-center justify-center bg-radial from-background-containers to-background-base-2 transition-opacity",o?"opacity-100 pointer-events-auto duration-0":"opacity-0 pointer-events-none duration-250ms"),children:(0,rp.jsx)(Vz,{variant:"logo"})})]})}let qg=new rc({defaultOptions:{queries:{gcTime:1/0,refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(ic(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function qm({type:e,src:t,tinuuid:r,name:n,height:i,width:a,language:s,dimensionUnit:o="m",displayUnit:l="cm",rooms:u,apiKey:c,source:d="default",showDialogCloseButton:h=!1}){let{i18n:p}=sa(),f=c?.trim()||void 0,A="poster"===e?function(e,t,r="m"){return{width:V7(e??0,r),height:V7(t??0,r)}}(a,i,o):null;return(0,rd.useEffect)(()=>{"string"==typeof s&&p.changeLanguage(s)},[p,s]),(0,rp.jsx)(rg,{client:qg,children:(0,rp.jsx)(Wr,{src:t??null,tinuuid:r??null,type:e,name:n,width:A?.width??0,height:A?.height??0,displayUnit:l,rooms:u,apiKey:f,baseURL:"shopify"===d?"/apps/vizbl/http":void 0,source:d,children:(0,rp.jsx)(qA,{showDialogCloseButton:h})})})}function qv({type:e,src:t,tinuuid:r,width:n,height:i,dimensionUnit:a,displayUnit:s,name:o,language:l,rooms:u,apiKey:c,source:d,...h}){let[p,f]=(0,rd.useState)(null);return(0,rp.jsxs)(rp.Fragment,{children:[(0,al.createPortal)((0,rp.jsx)("style",{children:jX.A}),document.head),(0,al.createPortal)((0,rp.jsxs)(sS.div,{style:{display:"block",letterSpacing:"normal",zIndex:0x7fffffff},children:[(0,rp.jsx)("style",{children:j0}),(0,rp.jsx)("div",{ref:f}),p&&(0,rp.jsx)(jK,{root:p,storageKey:"neurodyn-theme",children:(0,rp.jsx)(ss,{i18n:jZ,children:(0,rp.jsx)(VS,{...h,children:(0,rp.jsxs)(VT,{className:"min-w-full h-svh p-0 rounded-none sm:p-0",portalContainer:p,showCloseButton:!1,onInteractOutside:e=>{e.preventDefault()},children:[(0,rp.jsxs)(Vk,{className:"sr-only",children:[(0,rp.jsx)(V_,{children:o}),(0,rp.jsx)(VR,{})]}),(0,rp.jsx)(qm,{type:e,src:t,tinuuid:r,name:o,height:i,width:n,dimensionUnit:a,displayUnit:s,language:l,rooms:u,apiKey:c,source:d,showDialogCloseButton:!0})]})})})})]}),document.body)]})}VA({baseURL:"https://api.neurodyn.ai/v1/"}),Va({baseURL:"https://api.neurodyn.ai/"});let qb=iB({clientName:"API node client",configureFunctionName:"configureNodeApiClient",defaultBaseURL:"https://api.vizbl.com"});qb.configureClientRuntime,qb.configureAccessTokenResolverRuntime,qb.configureHeadersResolverRuntime,qb.configureUnauthorizedHandlerRuntime,qb.isClientConfiguredRuntime,qb.assertClientConfiguredRuntime,qb.resetClientForTestsRuntime;let qy=qb.requestRuntime;async function qw(e){return qy(e)}async function qx(e,t={}){let{client:r=qw,...n}=t;return(await r({method:"POST",url:"/public/widget/activate-wallart",params:e,...n})).data}qb.requestWithoutUnauthorizedRecovery,qb.addResponseInterceptorRuntime,(ez=tC||(tC={})).assertEqual=e=>{},ez.assertIs=function(e){},ez.assertNever=function(e){throw Error()},ez.arrayToEnum=e=>{let t={};for(let r of e)t[r]=r;return t},ez.getValidEnumValues=e=>{let t=ez.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),r={};for(let n of t)r[n]=e[n];return ez.objectValues(r)},ez.objectValues=e=>ez.objectKeys(e).map(function(t){return e[t]}),ez.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},ez.find=(e,t)=>{for(let r of e)if(t(r))return r},ez.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,ez.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},ez.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(tE||(tE={})).mergeShapes=(e,t)=>({...e,...t});let qC=tC.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),qE=e=>{switch(typeof e){case"undefined":return qC.undefined;case"string":return qC.string;case"number":return Number.isNaN(e)?qC.nan:qC.number;case"boolean":return qC.boolean;case"function":return qC.function;case"bigint":return qC.bigint;case"symbol":return qC.symbol;case"object":if(Array.isArray(e))return qC.array;if(null===e)return qC.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return qC.promise;if("u">typeof Map&&e instanceof Map)return qC.map;if("u">typeof Set&&e instanceof Set)return qC.set;if("u">typeof Date&&e instanceof Date)return qC.date;return qC.object;default:return qC.unknown}},qS=tC.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 qM 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 qM))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,tC.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()}}qM.create=e=>new qM(e);let qI=(e,t)=>{let r;switch(e.code){case qS.invalid_type:r=e.received===qC.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case qS.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,tC.jsonStringifyReplacer)}`;break;case qS.unrecognized_keys:r=`Unrecognized key(s) in object: ${tC.joinValues(e.keys,", ")}`;break;case qS.invalid_union:r="Invalid input";break;case qS.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${tC.joinValues(e.options)}`;break;case qS.invalid_enum_value:r=`Invalid enum value. Expected ${tC.joinValues(e.options)}, received '${e.received}'`;break;case qS.invalid_arguments:r="Invalid function arguments";break;case qS.invalid_return_type:r="Invalid function return type";break;case qS.invalid_date:r="Invalid date";break;case qS.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}"`:tC.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case qS.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 qS.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 qS.custom:r="Invalid input";break;case qS.invalid_intersection_types:r="Intersection results could not be merged";break;case qS.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case qS.not_finite:r="Number must be finite";break;default:r=t.defaultError,tC.assertNever(e)}return{message:r}};(eH=tS||(tS={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},eH.toString=e=>"string"==typeof e?e:e?.message;let qB=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],s={...i,path:a};if(void 0!==i.message)return{...i,path:a,message:i.message};let o="";for(let e of n.filter(e=>!!e).slice().reverse())o=e(s,{data:t,defaultError:o}).message;return{...i,path:a,message:o}};function qT(e,t){let r=qB({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,qI,void 0].filter(e=>!!e)});e.common.issues.push(r)}class qk{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 q_;"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 qk.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 q_;"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 q_=Object.freeze({status:"aborted"}),qR=e=>({status:"dirty",value:e}),qP=e=>({status:"valid",value:e}),qD=e=>"u">typeof Promise&&e instanceof Promise;class qL{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 qF=(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 qM(e.common.issues);return this._error=t,this._error}}};function qO(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 qN{get description(){return this._def.description}_getType(e){return qE(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:qE(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new qk,ctx:{common:e.parent.common,data:e.data,parsedType:qE(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(qD(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:qE(e)},n=this._parseSync({data:e,path:r.path,parent:r});return qF(r,n)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:qE(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:qE(e)},n=this._parse({data:e,path:r.path,parent:r});return qF(r,await (qD(n)?n:Promise.resolve(n)))}refine(e,t){return this._refinement((r,n)=>{let i=e(r),a=()=>n.addIssue({code:qS.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 Yw({schema:this,typeName:tM.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 Yx.create(this,this._def)}nullable(){return YC.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yi.create(this)}promise(){return Yy.create(this,this._def)}or(e){return Ys.create([this,e],this._def)}and(e){return Yu.create(this,e,this._def)}transform(e){return new Yw({...qO(this._def),schema:this,typeName:tM.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new YE({...qO(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:tM.ZodDefault})}brand(){return new YI({typeName:tM.ZodBranded,type:this,...qO(this._def)})}catch(e){return new YS({...qO(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:tM.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return YB.create(this,e)}readonly(){return YT.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let qQ=/^c[^\s-]{8,}$/i,qU=/^[0-9a-z]+$/,qz=/^[0-9A-HJKMNP-TV-Z]{26}$/i,qH=/^[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,qG=/^[a-z0-9_-]{21}$/i,qj=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,qV=/^[-+]?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)?)??$/,qW=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,qq=/^(?:(?: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])$/,qY=/^(?:(?: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])$/,qJ=/^(([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]))$/,qK=/^(([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])$/,qX=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qZ=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,q$="((\\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])))",q0=RegExp(`^${q$}$`);function q1(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 q2 extends qN{_parse(e){var t,r,n,i;let a;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==qC.string){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.string,received:t.parsedType}),q_}let s=new qk;for(let o of this._def.checks)if("min"===o.kind)e.data.length<o.value&&(qT(a=this._getOrReturnCtx(e,a),{code:qS.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if("max"===o.kind)e.data.length>o.value&&(qT(a=this._getOrReturnCtx(e,a),{code:qS.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if("length"===o.kind){let t=e.data.length>o.value,r=e.data.length<o.value;(t||r)&&(a=this._getOrReturnCtx(e,a),t?qT(a,{code:qS.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):r&&qT(a,{code:qS.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),s.dirty())}else if("email"===o.kind)qW.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"email",code:qS.invalid_string,message:o.message}),s.dirty());else if("emoji"===o.kind)S||(S=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),S.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"emoji",code:qS.invalid_string,message:o.message}),s.dirty());else if("uuid"===o.kind)qH.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"uuid",code:qS.invalid_string,message:o.message}),s.dirty());else if("nanoid"===o.kind)qG.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"nanoid",code:qS.invalid_string,message:o.message}),s.dirty());else if("cuid"===o.kind)qQ.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"cuid",code:qS.invalid_string,message:o.message}),s.dirty());else if("cuid2"===o.kind)qU.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"cuid2",code:qS.invalid_string,message:o.message}),s.dirty());else if("ulid"===o.kind)qz.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"ulid",code:qS.invalid_string,message:o.message}),s.dirty());else if("url"===o.kind)try{new URL(e.data)}catch{qT(a=this._getOrReturnCtx(e,a),{validation:"url",code:qS.invalid_string,message:o.message}),s.dirty()}else"regex"===o.kind?(o.regex.lastIndex=0,o.regex.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"regex",code:qS.invalid_string,message:o.message}),s.dirty())):"trim"===o.kind?e.data=e.data.trim():"includes"===o.kind?e.data.includes(o.value,o.position)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),s.dirty()):"toLowerCase"===o.kind?e.data=e.data.toLowerCase():"toUpperCase"===o.kind?e.data=e.data.toUpperCase():"startsWith"===o.kind?e.data.startsWith(o.value)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:{startsWith:o.value},message:o.message}),s.dirty()):"endsWith"===o.kind?e.data.endsWith(o.value)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:{endsWith:o.value},message:o.message}),s.dirty()):"datetime"===o.kind?(function(e){let t=`${q$}T${q1(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,RegExp(`^${t}$`)})(o).test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:"datetime",message:o.message}),s.dirty()):"date"===o.kind?q0.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:"date",message:o.message}),s.dirty()):"time"===o.kind?RegExp(`^${q1(o)}$`).test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:"time",message:o.message}),s.dirty()):"duration"===o.kind?qV.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"duration",code:qS.invalid_string,message:o.message}),s.dirty()):"ip"===o.kind?(t=e.data,!(("v4"===(r=o.version)||!r)&&qq.test(t)||("v6"===r||!r)&&qJ.test(t))&&1&&(qT(a=this._getOrReturnCtx(e,a),{validation:"ip",code:qS.invalid_string,message:o.message}),s.dirty())):"jwt"===o.kind?!function(e,t){if(!qj.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,o.alg)&&(qT(a=this._getOrReturnCtx(e,a),{validation:"jwt",code:qS.invalid_string,message:o.message}),s.dirty()):"cidr"===o.kind?(n=e.data,!(("v4"===(i=o.version)||!i)&&qY.test(n)||("v6"===i||!i)&&qK.test(n))&&1&&(qT(a=this._getOrReturnCtx(e,a),{validation:"cidr",code:qS.invalid_string,message:o.message}),s.dirty())):"base64"===o.kind?qX.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"base64",code:qS.invalid_string,message:o.message}),s.dirty()):"base64url"===o.kind?qZ.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"base64url",code:qS.invalid_string,message:o.message}),s.dirty()):tC.assertNever(o);return{status:s.value,value:e.data}}_regex(e,t,r){return this.refinement(t=>e.test(t),{validation:t,code:qS.invalid_string,...tS.errToObj(r)})}_addCheck(e){return new q2({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...tS.errToObj(e)})}url(e){return this._addCheck({kind:"url",...tS.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...tS.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...tS.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...tS.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...tS.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...tS.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...tS.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...tS.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...tS.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...tS.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...tS.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...tS.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,...tS.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,...tS.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...tS.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...tS.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...tS.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...tS.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...tS.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...tS.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...tS.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...tS.errToObj(t)})}nonempty(e){return this.min(1,tS.errToObj(e))}trim(){return new q2({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new q2({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new q2({...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}}q2.create=e=>new q2({checks:[],typeName:tM.ZodString,coerce:e?.coerce??!1,...qO(e)});class q3 extends qN{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)!==qC.number){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.number,received:t.parsedType}),q_}let r=new qk;for(let n of this._def.checks)"int"===n.kind?tC.isInteger(e.data)||(qT(t=this._getOrReturnCtx(e,t),{code:qS.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.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)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.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)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(qT(t=this._getOrReturnCtx(e,t),{code:qS.not_finite,message:n.message}),r.dirty()):tC.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,tS.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tS.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tS.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tS.toString(t))}setLimit(e,t,r,n){return new q3({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:tS.toString(n)}]})}_addCheck(e){return new q3({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:tS.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:tS.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:tS.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:tS.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:tS.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tS.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:tS.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:tS.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:tS.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&&tC.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)}}q3.create=e=>new q3({checks:[],typeName:tM.ZodNumber,coerce:e?.coerce||!1,...qO(e)});class q4 extends qN{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)!==qC.bigint)return this._getInvalidInput(e);let r=new qk;for(let n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.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)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):tC.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.bigint,received:t.parsedType}),q_}gte(e,t){return this.setLimit("min",e,!0,tS.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tS.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tS.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tS.toString(t))}setLimit(e,t,r,n){return new q4({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:tS.toString(n)}]})}_addCheck(e){return new q4({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:tS.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:tS.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:tS.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:tS.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tS.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}}q4.create=e=>new q4({checks:[],typeName:tM.ZodBigInt,coerce:e?.coerce??!1,...qO(e)});class q5 extends qN{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==qC.boolean){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.boolean,received:t.parsedType}),q_}return qP(e.data)}}q5.create=e=>new q5({typeName:tM.ZodBoolean,coerce:e?.coerce||!1,...qO(e)});class q9 extends qN{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==qC.date){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.date,received:t.parsedType}),q_}if(Number.isNaN(e.data.getTime()))return qT(this._getOrReturnCtx(e),{code:qS.invalid_date}),q_;let r=new qk;for(let n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),r.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),r.dirty()):tC.assertNever(n);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new q9({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:tS.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:tS.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}}q9.create=e=>new q9({checks:[],coerce:e?.coerce||!1,typeName:tM.ZodDate,...qO(e)});class q8 extends qN{_parse(e){if(this._getType(e)!==qC.symbol){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.symbol,received:t.parsedType}),q_}return qP(e.data)}}q8.create=e=>new q8({typeName:tM.ZodSymbol,...qO(e)});class q6 extends qN{_parse(e){if(this._getType(e)!==qC.undefined){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.undefined,received:t.parsedType}),q_}return qP(e.data)}}q6.create=e=>new q6({typeName:tM.ZodUndefined,...qO(e)});class q7 extends qN{_parse(e){if(this._getType(e)!==qC.null){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.null,received:t.parsedType}),q_}return qP(e.data)}}q7.create=e=>new q7({typeName:tM.ZodNull,...qO(e)});class Ye extends qN{constructor(){super(...arguments),this._any=!0}_parse(e){return qP(e.data)}}Ye.create=e=>new Ye({typeName:tM.ZodAny,...qO(e)});class Yt extends qN{constructor(){super(...arguments),this._unknown=!0}_parse(e){return qP(e.data)}}Yt.create=e=>new Yt({typeName:tM.ZodUnknown,...qO(e)});class Yr extends qN{_parse(e){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.never,received:t.parsedType}),q_}}Yr.create=e=>new Yr({typeName:tM.ZodNever,...qO(e)});class Yn extends qN{_parse(e){if(this._getType(e)!==qC.undefined){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.void,received:t.parsedType}),q_}return qP(e.data)}}Yn.create=e=>new Yn({typeName:tM.ZodVoid,...qO(e)});class Yi extends qN{_parse(e){let{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==qC.array)return qT(t,{code:qS.invalid_type,expected:qC.array,received:t.parsedType}),q_;if(null!==n.exactLength){let e=t.data.length>n.exactLength.value,i=t.data.length<n.exactLength.value;(e||i)&&(qT(t,{code:e?qS.too_big:qS.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&&(qT(t,{code:qS.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&&(qT(t,{code:qS.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 qL(t,e,t.path,r)))).then(e=>qk.mergeArray(r,e));let i=[...t.data].map((e,r)=>n.type._parseSync(new qL(t,e,t.path,r)));return qk.mergeArray(r,i)}get element(){return this._def.type}min(e,t){return new Yi({...this._def,minLength:{value:e,message:tS.toString(t)}})}max(e,t){return new Yi({...this._def,maxLength:{value:e,message:tS.toString(t)}})}length(e,t){return new Yi({...this._def,exactLength:{value:e,message:tS.toString(t)}})}nonempty(e){return this.min(1,e)}}Yi.create=(e,t)=>new Yi({type:e,minLength:null,maxLength:null,exactLength:null,typeName:tM.ZodArray,...qO(t)});class Ya extends qN{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=tC.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==qC.object){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.object,received:t.parsedType}),q_}let{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Yr&&"strip"===this._def.unknownKeys))for(let e in r.data)i.includes(e)||a.push(e);let s=[];for(let e of i){let t=n[e],i=r.data[e];s.push({key:{status:"valid",value:e},value:t._parse(new qL(r,i,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof Yr){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of a)s.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)a.length>0&&(qT(r,{code:qS.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];s.push({key:{status:"valid",value:t},value:e._parse(new qL(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of s){let r=await t.key,n=await t.value;e.push({key:r,value:n,alwaysSet:t.alwaysSet})}return e}).then(e=>qk.mergeObjectSync(t,e)):qk.mergeObjectSync(t,s)}get shape(){return this._def.shape()}strict(e){return tS.errToObj,new Ya({...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:tS.errToObj(e).message??n}:{message:n}}}:{}})}strip(){return new Ya({...this._def,unknownKeys:"strip"})}passthrough(){return new Ya({...this._def,unknownKeys:"passthrough"})}extend(e){return new Ya({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Ya({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:tM.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Ya({...this._def,catchall:e})}pick(e){let t={};for(let r of tC.objectKeys(e))e[r]&&this.shape[r]&&(t[r]=this.shape[r]);return new Ya({...this._def,shape:()=>t})}omit(e){let t={};for(let r of tC.objectKeys(this.shape))e[r]||(t[r]=this.shape[r]);return new Ya({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof Ya){let r={};for(let n in t.shape){let i=t.shape[n];r[n]=Yx.create(e(i))}return new Ya({...t._def,shape:()=>r})}if(t instanceof Yi)return new Yi({...t._def,type:e(t.element)});if(t instanceof Yx)return Yx.create(e(t.unwrap()));if(t instanceof YC)return YC.create(e(t.unwrap()));if(t instanceof Yc)return Yc.create(t.items.map(t=>e(t)));else return t}(this)}partial(e){let t={};for(let r of tC.objectKeys(this.shape)){let n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()}return new Ya({...this._def,shape:()=>t})}required(e){let t={};for(let r of tC.objectKeys(this.shape))if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof Yx;)e=e._def.innerType;t[r]=e}return new Ya({...this._def,shape:()=>t})}keyof(){return Ym(tC.objectKeys(this.shape))}}Ya.create=(e,t)=>new Ya({shape:()=>e,unknownKeys:"strip",catchall:Yr.create(),typeName:tM.ZodObject,...qO(t)}),Ya.strictCreate=(e,t)=>new Ya({shape:()=>e,unknownKeys:"strict",catchall:Yr.create(),typeName:tM.ZodObject,...qO(t)}),Ya.lazycreate=(e,t)=>new Ya({shape:e,unknownKeys:"strip",catchall:Yr.create(),typeName:tM.ZodObject,...qO(t)});class Ys extends qN{_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 qM(e.ctx.common.issues));return qT(t,{code:qS.invalid_union,unionErrors:r}),q_});{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 qM(e));return qT(t,{code:qS.invalid_union,unionErrors:i}),q_}}get options(){return this._def.options}}Ys.create=(e,t)=>new Ys({options:e,typeName:tM.ZodUnion,...qO(t)});let Yo=e=>{if(e instanceof YA)return Yo(e.schema);if(e instanceof Yw)return Yo(e.innerType());if(e instanceof Yg)return[e.value];if(e instanceof Yv)return e.options;if(e instanceof Yb)return tC.objectValues(e.enum);else if(e instanceof YE)return Yo(e._def.innerType);else if(e instanceof q6)return[void 0];else if(e instanceof q7)return[null];else if(e instanceof Yx)return[void 0,...Yo(e.unwrap())];else if(e instanceof YC)return[null,...Yo(e.unwrap())];else if(e instanceof YI)return Yo(e.unwrap());else if(e instanceof YT)return Yo(e.unwrap());else if(e instanceof YS)return Yo(e._def.innerType);else return[]};class Yl extends qN{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==qC.object)return qT(t,{code:qS.invalid_type,expected:qC.object,received:t.parsedType}),q_;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}):(qT(t,{code:qS.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),q_)}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=Yo(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 Yl({typeName:tM.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...qO(r)})}}class Yu extends qN{_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=(e,n)=>{if("aborted"===e.status||"aborted"===n.status)return q_;let i=function e(t,r){let n=qE(t),i=qE(r);if(t===r)return{valid:!0,data:t};if(n===qC.object&&i===qC.object){let n=tC.objectKeys(r),i=tC.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===qC.array&&i===qC.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===qC.date&&i===qC.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}):(qT(r,{code:qS.invalid_intersection_types}),q_)};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}))}}Yu.create=(e,t,r)=>new Yu({left:e,right:t,typeName:tM.ZodIntersection,...qO(r)});class Yc extends qN{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==qC.array)return qT(r,{code:qS.invalid_type,expected:qC.array,received:r.parsedType}),q_;if(r.data.length<this._def.items.length)return qT(r,{code:qS.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q_;!this._def.rest&&r.data.length>this._def.items.length&&(qT(r,{code:qS.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 qL(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(n).then(e=>qk.mergeArray(t,e)):qk.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new Yc({...this._def,rest:e})}}Yc.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Yc({items:e,typeName:tM.ZodTuple,rest:null,...qO(t)})};class Yd extends qN{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!==qC.object)return qT(r,{code:qS.invalid_type,expected:qC.object,received:r.parsedType}),q_;let n=[],i=this._def.keyType,a=this._def.valueType;for(let e in r.data)n.push({key:i._parse(new qL(r,e,r.path,e)),value:a._parse(new qL(r,r.data[e],r.path,e)),alwaysSet:e in r.data});return r.common.async?qk.mergeObjectAsync(t,n):qk.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new Yd(t instanceof qN?{keyType:e,valueType:t,typeName:tM.ZodRecord,...qO(r)}:{keyType:q2.create(),valueType:e,typeName:tM.ZodRecord,...qO(t)})}}class Yh extends qN{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!==qC.map)return qT(r,{code:qS.invalid_type,expected:qC.map,received:r.parsedType}),q_;let n=this._def.keyType,i=this._def.valueType,a=[...r.data.entries()].map(([e,t],a)=>({key:n._parse(new qL(r,e,r.path,[a,"key"])),value:i._parse(new qL(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 q_;("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 q_;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}Yh.create=(e,t,r)=>new Yh({valueType:t,keyType:e,typeName:tM.ZodMap,...qO(r)});class Yp extends qN{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==qC.set)return qT(r,{code:qS.invalid_type,expected:qC.set,received:r.parsedType}),q_;let n=this._def;null!==n.minSize&&r.data.size<n.minSize.value&&(qT(r,{code:qS.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&&(qT(r,{code:qS.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 q_;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}let s=[...r.data.values()].map((e,t)=>i._parse(new qL(r,e,r.path,t)));return r.common.async?Promise.all(s).then(e=>a(e)):a(s)}min(e,t){return new Yp({...this._def,minSize:{value:e,message:tS.toString(t)}})}max(e,t){return new Yp({...this._def,maxSize:{value:e,message:tS.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Yp.create=(e,t)=>new Yp({valueType:e,minSize:null,maxSize:null,typeName:tM.ZodSet,...qO(t)});class Yf extends qN{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==qC.function)return qT(t,{code:qS.invalid_type,expected:qC.function,received:t.parsedType}),q_;function r(e,r){return qB({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,qI,qI].filter(e=>!!e),issueData:{code:qS.invalid_arguments,argumentsError:r}})}function n(e,r){return qB({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,qI,qI].filter(e=>!!e),issueData:{code:qS.invalid_return_type,returnTypeError:r}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Yy){let e=this;return qP(async function(...t){let s=new qM([]),o=await e._def.args.parseAsync(t,i).catch(e=>{throw s.addIssue(r(t,e)),s}),l=await Reflect.apply(a,this,o);return await e._def.returns._def.type.parseAsync(l,i).catch(e=>{throw s.addIssue(n(l,e)),s})})}{let e=this;return qP(function(...t){let s=e._def.args.safeParse(t,i);if(!s.success)throw new qM([r(t,s.error)]);let o=Reflect.apply(a,this,s.data),l=e._def.returns.safeParse(o,i);if(!l.success)throw new qM([n(o,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Yf({...this._def,args:Yc.create(e).rest(Yt.create())})}returns(e){return new Yf({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new Yf({args:e||Yc.create([]).rest(Yt.create()),returns:t||Yt.create(),typeName:tM.ZodFunction,...qO(r)})}}class YA extends qN{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})}}YA.create=(e,t)=>new YA({getter:e,typeName:tM.ZodLazy,...qO(t)});class Yg extends qN{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return qT(t,{received:t.data,code:qS.invalid_literal,expected:this._def.value}),q_}return{status:"valid",value:e.data}}get value(){return this._def.value}}function Ym(e,t){return new Yv({values:e,typeName:tM.ZodEnum,...qO(t)})}Yg.create=(e,t)=>new Yg({value:e,typeName:tM.ZodLiteral,...qO(t)});class Yv extends qN{_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),r=this._def.values;return qT(t,{expected:tC.joinValues(r),received:t.parsedType,code:qS.invalid_type}),q_}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 qT(t,{received:t.data,code:qS.invalid_enum_value,options:r}),q_}return qP(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 Yv.create(e,{...this._def,...t})}exclude(e,t=this._def){return Yv.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}Yv.create=Ym;class Yb extends qN{_parse(e){let t=tC.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==qC.string&&r.parsedType!==qC.number){let e=tC.objectValues(t);return qT(r,{expected:tC.joinValues(e),received:r.parsedType,code:qS.invalid_type}),q_}if(this._cache||(this._cache=new Set(tC.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let e=tC.objectValues(t);return qT(r,{received:r.data,code:qS.invalid_enum_value,options:e}),q_}return qP(e.data)}get enum(){return this._def.values}}Yb.create=(e,t)=>new Yb({values:e,typeName:tM.ZodNativeEnum,...qO(t)});class Yy extends qN{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==qC.promise&&!1===t.common.async?(qT(t,{code:qS.invalid_type,expected:qC.promise,received:t.parsedType}),q_):qP((t.parsedType===qC.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Yy.create=(e,t)=>new Yy({type:e,typeName:tM.ZodPromise,...qO(t)});class Yw extends qN{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===tM.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=>{qT(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 q_;let n=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return"aborted"===n.status?q_:"dirty"===n.status||"dirty"===t.value?qR(n.value):n});{if("aborted"===t.value)return q_;let n=this._def.schema._parseSync({data:e,path:r.path,parent:r});return"aborted"===n.status?q_:"dirty"===n.status||"dirty"===t.value?qR(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?q_:("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?q_:("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?q_: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 q_;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}}tC.assertNever(n)}}Yw.create=(e,t,r)=>new Yw({schema:e,typeName:tM.ZodEffects,effect:t,...qO(r)}),Yw.createWithPreprocess=(e,t,r)=>new Yw({schema:t,effect:{type:"preprocess",transform:e},typeName:tM.ZodEffects,...qO(r)});class Yx extends qN{_parse(e){return this._getType(e)===qC.undefined?qP(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Yx.create=(e,t)=>new Yx({innerType:e,typeName:tM.ZodOptional,...qO(t)});class YC extends qN{_parse(e){return this._getType(e)===qC.null?qP(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}YC.create=(e,t)=>new YC({innerType:e,typeName:tM.ZodNullable,...qO(t)});class YE extends qN{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return t.parsedType===qC.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}YE.create=(e,t)=>new YE({innerType:e,typeName:tM.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...qO(t)});class YS extends qN{_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 qD(n)?n.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new qM(r.common.issues)},input:r.data})})):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new qM(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}YS.create=(e,t)=>new YS({innerType:e,typeName:tM.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...qO(t)});class YM extends qN{_parse(e){if(this._getType(e)!==qC.nan){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.nan,received:t.parsedType}),q_}return{status:"valid",value:e.data}}}YM.create=e=>new YM({typeName:tM.ZodNaN,...qO(e)}),Symbol("zod_brand");class YI extends qN{_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 YB extends qN{_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?q_:"dirty"===e.status?(t.dirty(),qR(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?q_:"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 YB({in:e,out:t,typeName:tM.ZodPipeline})}}class YT extends qN{_parse(e){let t=this._def.innerType._parse(e),r=e=>("valid"===e.status&&(e.value=Object.freeze(e.value)),e);return qD(t)?t.then(e=>r(e)):r(t)}unwrap(){return this._def.innerType}}YT.create=(e,t)=>new YT({innerType:e,typeName:tM.ZodReadonly,...qO(t)}),Ya.lazycreate,(eG=tM||(tM={})).ZodString="ZodString",eG.ZodNumber="ZodNumber",eG.ZodNaN="ZodNaN",eG.ZodBigInt="ZodBigInt",eG.ZodBoolean="ZodBoolean",eG.ZodDate="ZodDate",eG.ZodSymbol="ZodSymbol",eG.ZodUndefined="ZodUndefined",eG.ZodNull="ZodNull",eG.ZodAny="ZodAny",eG.ZodUnknown="ZodUnknown",eG.ZodNever="ZodNever",eG.ZodVoid="ZodVoid",eG.ZodArray="ZodArray",eG.ZodObject="ZodObject",eG.ZodUnion="ZodUnion",eG.ZodDiscriminatedUnion="ZodDiscriminatedUnion",eG.ZodIntersection="ZodIntersection",eG.ZodTuple="ZodTuple",eG.ZodRecord="ZodRecord",eG.ZodMap="ZodMap",eG.ZodSet="ZodSet",eG.ZodFunction="ZodFunction",eG.ZodLazy="ZodLazy",eG.ZodLiteral="ZodLiteral",eG.ZodEnum="ZodEnum",eG.ZodEffects="ZodEffects",eG.ZodNativeEnum="ZodNativeEnum",eG.ZodOptional="ZodOptional",eG.ZodNullable="ZodNullable",eG.ZodDefault="ZodDefault",eG.ZodCatch="ZodCatch",eG.ZodPromise="ZodPromise",eG.ZodBranded="ZodBranded",eG.ZodPipeline="ZodPipeline",eG.ZodReadonly="ZodReadonly";let Yk=q2.create,Y_=q3.create;YM.create,q4.create;let YR=q5.create;q9.create,q8.create,q6.create,q7.create,Ye.create;let YP=Yt.create;Yr.create,Yn.create,Yi.create;let YD=Ya.create;Ya.strictCreate,Ys.create,Yl.create,Yu.create,Yc.create,Yd.create,Yh.create,Yp.create,Yf.create,YA.create,Yg.create;let YL=Yv.create;Yb.create,Yy.create,Yw.create,Yx.create,YC.create;let YF=Yw.createWithPreprocess;YB.create;let YO=YL(["cm","inch"]),YN=YL(["different_fields","one_field"]),YQ=YL(["left_bottom","center","right_bottom","left_center","right_center"]),YU=YD({buttonLabel:Yk(),backgroundColor:Yk(),borderColor:Yk(),textColor:Yk(),borderRadius:Y_(),borderWidth:Y_()}),Yz=YD({units:YO,productWidthAndHeight:YN,metafieldForWidth:Yk().nullable(),metafieldForHeight:Yk().nullable(),metafieldForWidthAndHeight:Yk().nullable(),widgetPosition:YQ,_widgetSettings:YU.optional(),isWidgetActive:YR()}),YH="/apps/vizbl/http",YG=YD({metafields:Yk().trim().min(1),posterPic:Yk().trim().min(1),title:Yk().trim().optional()}),Yj=YF(e=>"string"==typeof e?JSON.parse(e):e,YD({metafield:YP(),tinuuid:Yk().trim().optional()}));async function YV(e,t){let r=await qx({productType:"wallart-shopify",variant_id:e,metafield_key:"poster_settings"},{baseURL:YH,signal:t});return function(e){let t,r,n=YG.safeParse("string"!=typeof e?e:JSON.parse(e));if(!n.success)return null;let i=Yj.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=Yz.safeParse(t)).success?r.data:null);return a?{settings:a,posterPic:n.data.posterPic,title:n.data.title??null,tinuuid:i.data.tinuuid??null}:null}(r.body??r)}let YW="44px",Yq="60px",YY={left_center:{left:Yq,top:"50%",transform:"translateY(-50%)"},left_bottom:{left:Yq,bottom:YW},center:{left:`calc(50% + ${Yq})`,bottom:YW,transform:"translateX(-50%)"},right_bottom:{right:Yq,bottom:YW},right_center:{right:Yq,top:"50%",transform:"translateY(-50%)"}},YJ=YF(e=>"number"==typeof e&&Number.isFinite(e)?String(e):e,Yk().trim().regex(/^\d+$/));function YK(e){let t=YJ.safeParse(e);return t.success?t.data:null}function YX(e){return e?e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?e.value:e.getAttribute("value"):null}let YZ=["product-form","[data-main-product]",'[id*="MainProduct"]',".product",".product__info-wrapper",".product__info-container","#MainContent"],Y$=[".product-recommendations",".related-products","[data-product-recommendations]"];async function Y0(e,t={}){let{client:r=iR,...n}=t;return(await r({method:"POST",url:"/shopify/GetRoomsForWidget",data:e,...n})).data}async function Y1(e,t){let r=await Y0(void 0,{params:{variant_id:e},signal:t});return function(e){let{rooms:t}="string"==typeof e?JSON.parse(e):e;return t.filter(e=>!1!==e.active).sort((e,t)=>(e.position??0)-(t.position??0)).map(({active:e,position:t,...r})=>r)}(r.body??r)}var Y2=i("./src/shopify.css?inline");function Y3(){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 YK(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),YZ))e.closest(i)&&(t+=25);for(let r of Y$)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=YK(YX(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=YK(YX(t));if(e)return e}return null}(e)??function(e=document){let t=e.querySelector("[data-selected-variant-id]");return YK(t?.getAttribute("data-selected-variant-id")??null)}(e)}():null}}function Y4(){let e=function(){let[e,t]=(0,rd.useState)(Y3);return(0,rd.useEffect)(()=>{let e=null,r=window.history.pushState,n=window.history.replaceState,i=()=>{null===e&&(e=window.requestAnimationFrame(()=>{e=null,t(e=>{let t=Y3();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=ao('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,rd.useState)(!1),{data:n}=s8({queryKey:["vizbl-shopify-room-viewer","activation",e.variantId],queryFn:({signal:t})=>YV(e.variantId??"",t),enabled:e.isProductPage&&null!==e.variantId,staleTime:3e5,gcTime:3e5,refetchOnWindowFocus:!1},sq,void 0),{data:i}=s8({queryKey:["vizbl-shopify-room-viewer","rooms-for-widget",e.variantId],queryFn:({signal:t})=>Y1(e.variantId??"",t),enabled:!!n?.settings.isWidgetActive&&null!==e.variantId,staleTime:3e5,gcTime:3e5,refetchOnWindowFocus:!1},sq,void 0),a=(0,rd.useCallback)(()=>{r(!0)},[]),s=(0,rd.useCallback)(e=>{r(e)},[]);if(!e.isProductPage||!e.variantId||!n?.settings.isWidgetActive)return null;let{settings:o,posterPic:l,title:u}=n,c=o._widgetSettings,d=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),h="inch"===o.units?"in":"cm";return(0,rp.jsxs)(rp.Fragment,{children:[(0,rp.jsx)("button",{type:"button",onClick:a,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",...YY[o.widgetPosition]},children:c?.buttonLabel??"View in place"}),(0,rp.jsx)(qv,{open:t,onOpenChange:s,type:"poster",source:"shopify",src:l,name:u??"",rooms:i,width:d.width,height:d.height,dimensionUnit:h}),t&&(0,al.createPortal)((0,rp.jsx)("style",{children:Y2.A}),document.head)]})}let Y5="vizbl-shopify-room-viewer",Y9=new rc({defaultOptions:{queries:{refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(ic(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function Y8(){let e,t=((e=document.getElementById(Y5))||((e=document.createElement("div")).id=Y5,document.body.appendChild(e)),e),r=iP.createRoot(t);r.render((0,rd.createElement)(rg,{client:Y9},(0,rd.createElement)(Y4)));let n=ao(`#${Y5}`,{remove(){n.abort(),r.unmount(),Y8()}})}ik({baseURL:YH}),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Y8,{once:!0}):Y8()})()})();
|
|
6654
|
+
${e}`;p(!0);try{let t=d.current;if(t)try{let e=await t.capture(),n=new File([e],"room-scene.png",{type:e.type||"image/png"});if(navigator.canShare?.({files:[n]}))return void await navigator.share({text:r,files:[n]})}catch(e){console.error("Failed to generate scene screenshot for sharing",e)}await navigator.share({text:r,url:e})}catch(e){e instanceof DOMException&&"AbortError"===e.name||console.error("Failed to share scene",e)}finally{p(!1)}},[m,u,l]);return(0,rp.jsxs)("div",{className:Vx("relative flex items-center justify-center overflow-hidden",e),...t,children:[(0,rp.jsx)(go,{ref:c,disabled:n,children:(0,rp.jsx)(gl,{wrapperClass:"neurodyn-rzpp-wrapper size-full!",contentClass:"neurodyn-rzpp-content h-full! min-w-full sm:max-w-full",children:(0,rp.jsx)(qp,{captureRef:d,onSizeChange:v})})}),(0,rp.jsx)(W$,{className:"absolute bottom-4 left-4 sm:bottom-6 sm:left-6"}),"carpet"===l&&(0,rp.jsxs)("div",{className:"bg-button-dark typo-button-normal absolute bottom-6 left-1/2 hidden h-9 -translate-x-1/2 items-center gap-1.5 rounded-lg px-3.75 text-text-white md:inline-flex",children:[(0,rp.jsx)("span",{className:"shrink-0",children:u("scene.position")}),(0,rp.jsx)(WG,{value:[a],onValueChange:([e])=>o(e??0),min:-180,max:180,step:1,className:"w-29.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":u("scene.position")})]}),(0,rp.jsxs)("div",{className:"absolute right-4 bottom-4 inline-flex items-center gap-2 sm:right-6 sm:bottom-6",children:[g&&(0,rp.jsxs)(WU,{children:[(0,rp.jsx)(Wz,{asChild:!0,children:(0,rp.jsxs)(VE,{variant:"contrast",size:f?"icon":"default",children:[(0,rp.jsx)(VO,{className:"size-5"}),(0,rp.jsx)("span",{className:"sr-only sm:not-sr-only",children:u("scene.tunePosition")})]})}),(0,rp.jsx)(WH,{className:"px-3 py-3.5 bg-button-dark border-button-dark text-text-white",side:"top",align:"end",portalContainer:r,children:(0,rp.jsxs)(Wa,{children:[(0,rp.jsxs)(Wo,{orientation:"horizontal",children:[(0,rp.jsx)(Wu,{children:u("scene.rotation")}),(0,rp.jsx)(WG,{value:[a],onValueChange:([e])=>o(e??0),min:-180,max:180,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":u("scene.rotation")})]}),"poster"===l&&(0,rp.jsxs)(Wo,{orientation:"horizontal",children:[(0,rp.jsx)(Wu,{children:u("scene.angle")}),(0,rp.jsx)(WG,{value:[i],onValueChange:([e])=>s(e??0),max:75,min:-75,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":u("scene.angle")})]})]})})]}),"poster"===l&&(0,rp.jsxs)(VE,{variant:"contrast",size:f?"icon":"default",disabled:!m||h,onClick:b,children:[(0,rp.jsx)(VQ,{className:"size-5"}),(0,rp.jsx)("span",{className:"sr-only sm:not-sr-only",children:u("scene.share")})]}),f&&"poster"===l&&(0,rp.jsxs)(WU,{children:[(0,rp.jsx)(Wz,{asChild:!0,children:(0,rp.jsx)(VE,{variant:"contrast",size:"icon",children:(0,rp.jsx)(VN,{})})}),(0,rp.jsxs)(WH,{className:"grid gap-5",portalContainer:r,children:[(0,rp.jsx)(Wm,{}),(0,rp.jsx)(W_,{})]})]})]})]})}function qA({showDialogCloseButton:e=!1}){let{setContainerRef:t,sceneLoad:r,isRoomScenePending:n,isViewerAccessPending:i,accessError:a}=Wn(),{t:s}=sa(),o=i||n||!Object.values(r).every(Boolean);return a?(0,rp.jsx)("div",{ref:t,className:"relative size-full overflow-hidden bg-radial from-background-containers to-background-base-2 text-foreground",children:(0,rp.jsx)(WQ,{variant:a,showDialogCloseButton:e})}):(0,rp.jsxs)("div",{ref:t,className:"relative size-full bg-radial from-background-containers to-background-base-2 text-foreground overflow-hidden",children:[e&&(0,rp.jsx)(VI,{asChild:!0,children:(0,rp.jsxs)(VE,{className:"absolute top-3 right-6 z-20",variant:"secondary",children:[s("close"),(0,rp.jsx)(u8,{})]})}),!i&&(0,rp.jsxs)(rp.Fragment,{children:[(0,rp.jsx)(WN,{className:"absolute top-0 right-0 left-0 z-15"}),(0,rp.jsxs)("div",{className:"size-full max-w-full grid grid-rows-[1fr_auto]",children:[(0,rp.jsx)(qf,{className:"size-full min-h-0"}),(0,rp.jsx)(WO,{className:"bg-background"})]})]}),(0,rp.jsx)("div",{"aria-hidden":!o,className:Vx("absolute inset-0 z-10 flex items-center justify-center bg-radial from-background-containers to-background-base-2 transition-opacity",o?"opacity-100 pointer-events-auto duration-0":"opacity-0 pointer-events-none duration-250ms"),children:(0,rp.jsx)(Vz,{variant:"logo"})})]})}let qg=new rc({defaultOptions:{queries:{gcTime:1/0,refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(ic(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function qm({type:e,src:t,tinuuid:r,name:n,height:i,width:a,language:s,dimensionUnit:o="m",displayUnit:l="cm",rooms:u,apiKey:c,source:d="default",showDialogCloseButton:h=!1}){let{i18n:p}=sa(),f=c?.trim()||void 0,A="poster"===e?function(e,t,r="m"){return{width:V7(e??0,r),height:V7(t??0,r)}}(a,i,o):null;return(0,rd.useEffect)(()=>{"string"==typeof s&&p.changeLanguage(s)},[p,s]),(0,rp.jsx)(rg,{client:qg,children:(0,rp.jsx)(Wr,{src:t??null,tinuuid:r??null,type:e,name:n,width:A?.width??0,height:A?.height??0,displayUnit:l,rooms:u,apiKey:f,baseURL:"shopify"===d?"/apps/vizbl-wall-art/http":void 0,source:d,children:(0,rp.jsx)(qA,{showDialogCloseButton:h})})})}function qv({type:e,src:t,tinuuid:r,width:n,height:i,dimensionUnit:a,displayUnit:s,name:o,language:l,rooms:u,apiKey:c,source:d,...h}){let[p,f]=(0,rd.useState)(null);return(0,rp.jsxs)(rp.Fragment,{children:[(0,al.createPortal)((0,rp.jsx)("style",{children:jX.A}),document.head),(0,al.createPortal)((0,rp.jsxs)(sS.div,{style:{display:"block",letterSpacing:"normal",zIndex:0x7fffffff},children:[(0,rp.jsx)("style",{children:j0}),(0,rp.jsx)("div",{ref:f}),p&&(0,rp.jsx)(jK,{root:p,storageKey:"neurodyn-theme",children:(0,rp.jsx)(ss,{i18n:jZ,children:(0,rp.jsx)(VS,{...h,children:(0,rp.jsxs)(VT,{className:"min-w-full h-svh p-0 rounded-none sm:p-0",portalContainer:p,showCloseButton:!1,onInteractOutside:e=>{e.preventDefault()},children:[(0,rp.jsxs)(Vk,{className:"sr-only",children:[(0,rp.jsx)(V_,{children:o}),(0,rp.jsx)(VR,{})]}),(0,rp.jsx)(qm,{type:e,src:t,tinuuid:r,name:o,height:i,width:n,dimensionUnit:a,displayUnit:s,language:l,rooms:u,apiKey:c,source:d,showDialogCloseButton:!0})]})})})})]}),document.body)]})}VA({baseURL:"https://api.neurodyn.ai/v1/"}),Va({baseURL:"https://api.neurodyn.ai/"});let qb=iB({clientName:"API node client",configureFunctionName:"configureNodeApiClient",defaultBaseURL:"https://api.vizbl.com"});qb.configureClientRuntime,qb.configureAccessTokenResolverRuntime,qb.configureHeadersResolverRuntime,qb.configureUnauthorizedHandlerRuntime,qb.isClientConfiguredRuntime,qb.assertClientConfiguredRuntime,qb.resetClientForTestsRuntime;let qy=qb.requestRuntime;async function qw(e){return qy(e)}async function qx(e,t={}){let{client:r=qw,...n}=t;return(await r({method:"POST",url:"/public/widget/activate-wallart",params:e,...n})).data}qb.requestWithoutUnauthorizedRecovery,qb.addResponseInterceptorRuntime,(ez=tC||(tC={})).assertEqual=e=>{},ez.assertIs=function(e){},ez.assertNever=function(e){throw Error()},ez.arrayToEnum=e=>{let t={};for(let r of e)t[r]=r;return t},ez.getValidEnumValues=e=>{let t=ez.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),r={};for(let n of t)r[n]=e[n];return ez.objectValues(r)},ez.objectValues=e=>ez.objectKeys(e).map(function(t){return e[t]}),ez.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},ez.find=(e,t)=>{for(let r of e)if(t(r))return r},ez.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,ez.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},ez.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(tE||(tE={})).mergeShapes=(e,t)=>({...e,...t});let qC=tC.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),qE=e=>{switch(typeof e){case"undefined":return qC.undefined;case"string":return qC.string;case"number":return Number.isNaN(e)?qC.nan:qC.number;case"boolean":return qC.boolean;case"function":return qC.function;case"bigint":return qC.bigint;case"symbol":return qC.symbol;case"object":if(Array.isArray(e))return qC.array;if(null===e)return qC.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return qC.promise;if("u">typeof Map&&e instanceof Map)return qC.map;if("u">typeof Set&&e instanceof Set)return qC.set;if("u">typeof Date&&e instanceof Date)return qC.date;return qC.object;default:return qC.unknown}},qS=tC.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 qM 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 qM))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,tC.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()}}qM.create=e=>new qM(e);let qI=(e,t)=>{let r;switch(e.code){case qS.invalid_type:r=e.received===qC.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case qS.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,tC.jsonStringifyReplacer)}`;break;case qS.unrecognized_keys:r=`Unrecognized key(s) in object: ${tC.joinValues(e.keys,", ")}`;break;case qS.invalid_union:r="Invalid input";break;case qS.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${tC.joinValues(e.options)}`;break;case qS.invalid_enum_value:r=`Invalid enum value. Expected ${tC.joinValues(e.options)}, received '${e.received}'`;break;case qS.invalid_arguments:r="Invalid function arguments";break;case qS.invalid_return_type:r="Invalid function return type";break;case qS.invalid_date:r="Invalid date";break;case qS.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}"`:tC.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case qS.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 qS.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 qS.custom:r="Invalid input";break;case qS.invalid_intersection_types:r="Intersection results could not be merged";break;case qS.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case qS.not_finite:r="Number must be finite";break;default:r=t.defaultError,tC.assertNever(e)}return{message:r}};(eH=tS||(tS={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},eH.toString=e=>"string"==typeof e?e:e?.message;let qB=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],s={...i,path:a};if(void 0!==i.message)return{...i,path:a,message:i.message};let o="";for(let e of n.filter(e=>!!e).slice().reverse())o=e(s,{data:t,defaultError:o}).message;return{...i,path:a,message:o}};function qT(e,t){let r=qB({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,qI,void 0].filter(e=>!!e)});e.common.issues.push(r)}class qk{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 q_;"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 qk.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 q_;"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 q_=Object.freeze({status:"aborted"}),qR=e=>({status:"dirty",value:e}),qP=e=>({status:"valid",value:e}),qD=e=>"u">typeof Promise&&e instanceof Promise;class qL{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 qF=(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 qM(e.common.issues);return this._error=t,this._error}}};function qO(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 qN{get description(){return this._def.description}_getType(e){return qE(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:qE(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new qk,ctx:{common:e.parent.common,data:e.data,parsedType:qE(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(qD(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:qE(e)},n=this._parseSync({data:e,path:r.path,parent:r});return qF(r,n)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:qE(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:qE(e)},n=this._parse({data:e,path:r.path,parent:r});return qF(r,await (qD(n)?n:Promise.resolve(n)))}refine(e,t){return this._refinement((r,n)=>{let i=e(r),a=()=>n.addIssue({code:qS.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 Yw({schema:this,typeName:tM.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 Yx.create(this,this._def)}nullable(){return YC.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yi.create(this)}promise(){return Yy.create(this,this._def)}or(e){return Ys.create([this,e],this._def)}and(e){return Yu.create(this,e,this._def)}transform(e){return new Yw({...qO(this._def),schema:this,typeName:tM.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new YE({...qO(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:tM.ZodDefault})}brand(){return new YI({typeName:tM.ZodBranded,type:this,...qO(this._def)})}catch(e){return new YS({...qO(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:tM.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return YB.create(this,e)}readonly(){return YT.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let qQ=/^c[^\s-]{8,}$/i,qU=/^[0-9a-z]+$/,qz=/^[0-9A-HJKMNP-TV-Z]{26}$/i,qH=/^[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,qG=/^[a-z0-9_-]{21}$/i,qj=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,qV=/^[-+]?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)?)??$/,qW=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,qq=/^(?:(?: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])$/,qY=/^(?:(?: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])$/,qJ=/^(([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]))$/,qK=/^(([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])$/,qX=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qZ=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,q$="((\\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])))",q0=RegExp(`^${q$}$`);function q1(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 q2 extends qN{_parse(e){var t,r,n,i;let a;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==qC.string){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.string,received:t.parsedType}),q_}let s=new qk;for(let o of this._def.checks)if("min"===o.kind)e.data.length<o.value&&(qT(a=this._getOrReturnCtx(e,a),{code:qS.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if("max"===o.kind)e.data.length>o.value&&(qT(a=this._getOrReturnCtx(e,a),{code:qS.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if("length"===o.kind){let t=e.data.length>o.value,r=e.data.length<o.value;(t||r)&&(a=this._getOrReturnCtx(e,a),t?qT(a,{code:qS.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):r&&qT(a,{code:qS.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),s.dirty())}else if("email"===o.kind)qW.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"email",code:qS.invalid_string,message:o.message}),s.dirty());else if("emoji"===o.kind)S||(S=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),S.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"emoji",code:qS.invalid_string,message:o.message}),s.dirty());else if("uuid"===o.kind)qH.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"uuid",code:qS.invalid_string,message:o.message}),s.dirty());else if("nanoid"===o.kind)qG.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"nanoid",code:qS.invalid_string,message:o.message}),s.dirty());else if("cuid"===o.kind)qQ.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"cuid",code:qS.invalid_string,message:o.message}),s.dirty());else if("cuid2"===o.kind)qU.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"cuid2",code:qS.invalid_string,message:o.message}),s.dirty());else if("ulid"===o.kind)qz.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"ulid",code:qS.invalid_string,message:o.message}),s.dirty());else if("url"===o.kind)try{new URL(e.data)}catch{qT(a=this._getOrReturnCtx(e,a),{validation:"url",code:qS.invalid_string,message:o.message}),s.dirty()}else"regex"===o.kind?(o.regex.lastIndex=0,o.regex.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"regex",code:qS.invalid_string,message:o.message}),s.dirty())):"trim"===o.kind?e.data=e.data.trim():"includes"===o.kind?e.data.includes(o.value,o.position)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),s.dirty()):"toLowerCase"===o.kind?e.data=e.data.toLowerCase():"toUpperCase"===o.kind?e.data=e.data.toUpperCase():"startsWith"===o.kind?e.data.startsWith(o.value)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:{startsWith:o.value},message:o.message}),s.dirty()):"endsWith"===o.kind?e.data.endsWith(o.value)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:{endsWith:o.value},message:o.message}),s.dirty()):"datetime"===o.kind?(function(e){let t=`${q$}T${q1(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,RegExp(`^${t}$`)})(o).test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:"datetime",message:o.message}),s.dirty()):"date"===o.kind?q0.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:"date",message:o.message}),s.dirty()):"time"===o.kind?RegExp(`^${q1(o)}$`).test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{code:qS.invalid_string,validation:"time",message:o.message}),s.dirty()):"duration"===o.kind?qV.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"duration",code:qS.invalid_string,message:o.message}),s.dirty()):"ip"===o.kind?(t=e.data,!(("v4"===(r=o.version)||!r)&&qq.test(t)||("v6"===r||!r)&&qJ.test(t))&&1&&(qT(a=this._getOrReturnCtx(e,a),{validation:"ip",code:qS.invalid_string,message:o.message}),s.dirty())):"jwt"===o.kind?!function(e,t){if(!qj.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,o.alg)&&(qT(a=this._getOrReturnCtx(e,a),{validation:"jwt",code:qS.invalid_string,message:o.message}),s.dirty()):"cidr"===o.kind?(n=e.data,!(("v4"===(i=o.version)||!i)&&qY.test(n)||("v6"===i||!i)&&qK.test(n))&&1&&(qT(a=this._getOrReturnCtx(e,a),{validation:"cidr",code:qS.invalid_string,message:o.message}),s.dirty())):"base64"===o.kind?qX.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"base64",code:qS.invalid_string,message:o.message}),s.dirty()):"base64url"===o.kind?qZ.test(e.data)||(qT(a=this._getOrReturnCtx(e,a),{validation:"base64url",code:qS.invalid_string,message:o.message}),s.dirty()):tC.assertNever(o);return{status:s.value,value:e.data}}_regex(e,t,r){return this.refinement(t=>e.test(t),{validation:t,code:qS.invalid_string,...tS.errToObj(r)})}_addCheck(e){return new q2({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...tS.errToObj(e)})}url(e){return this._addCheck({kind:"url",...tS.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...tS.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...tS.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...tS.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...tS.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...tS.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...tS.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...tS.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...tS.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...tS.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...tS.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...tS.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,...tS.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,...tS.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...tS.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...tS.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...tS.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...tS.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...tS.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...tS.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...tS.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...tS.errToObj(t)})}nonempty(e){return this.min(1,tS.errToObj(e))}trim(){return new q2({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new q2({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new q2({...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}}q2.create=e=>new q2({checks:[],typeName:tM.ZodString,coerce:e?.coerce??!1,...qO(e)});class q3 extends qN{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)!==qC.number){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.number,received:t.parsedType}),q_}let r=new qk;for(let n of this._def.checks)"int"===n.kind?tC.isInteger(e.data)||(qT(t=this._getOrReturnCtx(e,t),{code:qS.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.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)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.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)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(qT(t=this._getOrReturnCtx(e,t),{code:qS.not_finite,message:n.message}),r.dirty()):tC.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,tS.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tS.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tS.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tS.toString(t))}setLimit(e,t,r,n){return new q3({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:tS.toString(n)}]})}_addCheck(e){return new q3({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:tS.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:tS.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:tS.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:tS.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:tS.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tS.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:tS.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:tS.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:tS.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&&tC.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)}}q3.create=e=>new q3({checks:[],typeName:tM.ZodNumber,coerce:e?.coerce||!1,...qO(e)});class q4 extends qN{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)!==qC.bigint)return this._getInvalidInput(e);let r=new qk;for(let n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.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)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):tC.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.bigint,received:t.parsedType}),q_}gte(e,t){return this.setLimit("min",e,!0,tS.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tS.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tS.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tS.toString(t))}setLimit(e,t,r,n){return new q4({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:tS.toString(n)}]})}_addCheck(e){return new q4({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:tS.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:tS.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:tS.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:tS.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tS.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}}q4.create=e=>new q4({checks:[],typeName:tM.ZodBigInt,coerce:e?.coerce??!1,...qO(e)});class q5 extends qN{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==qC.boolean){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.boolean,received:t.parsedType}),q_}return qP(e.data)}}q5.create=e=>new q5({typeName:tM.ZodBoolean,coerce:e?.coerce||!1,...qO(e)});class q9 extends qN{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==qC.date){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.date,received:t.parsedType}),q_}if(Number.isNaN(e.data.getTime()))return qT(this._getOrReturnCtx(e),{code:qS.invalid_date}),q_;let r=new qk;for(let n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),r.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(qT(t=this._getOrReturnCtx(e,t),{code:qS.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),r.dirty()):tC.assertNever(n);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new q9({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:tS.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:tS.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}}q9.create=e=>new q9({checks:[],coerce:e?.coerce||!1,typeName:tM.ZodDate,...qO(e)});class q8 extends qN{_parse(e){if(this._getType(e)!==qC.symbol){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.symbol,received:t.parsedType}),q_}return qP(e.data)}}q8.create=e=>new q8({typeName:tM.ZodSymbol,...qO(e)});class q6 extends qN{_parse(e){if(this._getType(e)!==qC.undefined){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.undefined,received:t.parsedType}),q_}return qP(e.data)}}q6.create=e=>new q6({typeName:tM.ZodUndefined,...qO(e)});class q7 extends qN{_parse(e){if(this._getType(e)!==qC.null){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.null,received:t.parsedType}),q_}return qP(e.data)}}q7.create=e=>new q7({typeName:tM.ZodNull,...qO(e)});class Ye extends qN{constructor(){super(...arguments),this._any=!0}_parse(e){return qP(e.data)}}Ye.create=e=>new Ye({typeName:tM.ZodAny,...qO(e)});class Yt extends qN{constructor(){super(...arguments),this._unknown=!0}_parse(e){return qP(e.data)}}Yt.create=e=>new Yt({typeName:tM.ZodUnknown,...qO(e)});class Yr extends qN{_parse(e){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.never,received:t.parsedType}),q_}}Yr.create=e=>new Yr({typeName:tM.ZodNever,...qO(e)});class Yn extends qN{_parse(e){if(this._getType(e)!==qC.undefined){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.void,received:t.parsedType}),q_}return qP(e.data)}}Yn.create=e=>new Yn({typeName:tM.ZodVoid,...qO(e)});class Yi extends qN{_parse(e){let{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==qC.array)return qT(t,{code:qS.invalid_type,expected:qC.array,received:t.parsedType}),q_;if(null!==n.exactLength){let e=t.data.length>n.exactLength.value,i=t.data.length<n.exactLength.value;(e||i)&&(qT(t,{code:e?qS.too_big:qS.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&&(qT(t,{code:qS.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&&(qT(t,{code:qS.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 qL(t,e,t.path,r)))).then(e=>qk.mergeArray(r,e));let i=[...t.data].map((e,r)=>n.type._parseSync(new qL(t,e,t.path,r)));return qk.mergeArray(r,i)}get element(){return this._def.type}min(e,t){return new Yi({...this._def,minLength:{value:e,message:tS.toString(t)}})}max(e,t){return new Yi({...this._def,maxLength:{value:e,message:tS.toString(t)}})}length(e,t){return new Yi({...this._def,exactLength:{value:e,message:tS.toString(t)}})}nonempty(e){return this.min(1,e)}}Yi.create=(e,t)=>new Yi({type:e,minLength:null,maxLength:null,exactLength:null,typeName:tM.ZodArray,...qO(t)});class Ya extends qN{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=tC.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==qC.object){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.object,received:t.parsedType}),q_}let{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Yr&&"strip"===this._def.unknownKeys))for(let e in r.data)i.includes(e)||a.push(e);let s=[];for(let e of i){let t=n[e],i=r.data[e];s.push({key:{status:"valid",value:e},value:t._parse(new qL(r,i,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof Yr){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of a)s.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)a.length>0&&(qT(r,{code:qS.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];s.push({key:{status:"valid",value:t},value:e._parse(new qL(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of s){let r=await t.key,n=await t.value;e.push({key:r,value:n,alwaysSet:t.alwaysSet})}return e}).then(e=>qk.mergeObjectSync(t,e)):qk.mergeObjectSync(t,s)}get shape(){return this._def.shape()}strict(e){return tS.errToObj,new Ya({...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:tS.errToObj(e).message??n}:{message:n}}}:{}})}strip(){return new Ya({...this._def,unknownKeys:"strip"})}passthrough(){return new Ya({...this._def,unknownKeys:"passthrough"})}extend(e){return new Ya({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Ya({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:tM.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Ya({...this._def,catchall:e})}pick(e){let t={};for(let r of tC.objectKeys(e))e[r]&&this.shape[r]&&(t[r]=this.shape[r]);return new Ya({...this._def,shape:()=>t})}omit(e){let t={};for(let r of tC.objectKeys(this.shape))e[r]||(t[r]=this.shape[r]);return new Ya({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof Ya){let r={};for(let n in t.shape){let i=t.shape[n];r[n]=Yx.create(e(i))}return new Ya({...t._def,shape:()=>r})}if(t instanceof Yi)return new Yi({...t._def,type:e(t.element)});if(t instanceof Yx)return Yx.create(e(t.unwrap()));if(t instanceof YC)return YC.create(e(t.unwrap()));if(t instanceof Yc)return Yc.create(t.items.map(t=>e(t)));else return t}(this)}partial(e){let t={};for(let r of tC.objectKeys(this.shape)){let n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()}return new Ya({...this._def,shape:()=>t})}required(e){let t={};for(let r of tC.objectKeys(this.shape))if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof Yx;)e=e._def.innerType;t[r]=e}return new Ya({...this._def,shape:()=>t})}keyof(){return Ym(tC.objectKeys(this.shape))}}Ya.create=(e,t)=>new Ya({shape:()=>e,unknownKeys:"strip",catchall:Yr.create(),typeName:tM.ZodObject,...qO(t)}),Ya.strictCreate=(e,t)=>new Ya({shape:()=>e,unknownKeys:"strict",catchall:Yr.create(),typeName:tM.ZodObject,...qO(t)}),Ya.lazycreate=(e,t)=>new Ya({shape:e,unknownKeys:"strip",catchall:Yr.create(),typeName:tM.ZodObject,...qO(t)});class Ys extends qN{_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 qM(e.ctx.common.issues));return qT(t,{code:qS.invalid_union,unionErrors:r}),q_});{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 qM(e));return qT(t,{code:qS.invalid_union,unionErrors:i}),q_}}get options(){return this._def.options}}Ys.create=(e,t)=>new Ys({options:e,typeName:tM.ZodUnion,...qO(t)});let Yo=e=>{if(e instanceof YA)return Yo(e.schema);if(e instanceof Yw)return Yo(e.innerType());if(e instanceof Yg)return[e.value];if(e instanceof Yv)return e.options;if(e instanceof Yb)return tC.objectValues(e.enum);else if(e instanceof YE)return Yo(e._def.innerType);else if(e instanceof q6)return[void 0];else if(e instanceof q7)return[null];else if(e instanceof Yx)return[void 0,...Yo(e.unwrap())];else if(e instanceof YC)return[null,...Yo(e.unwrap())];else if(e instanceof YI)return Yo(e.unwrap());else if(e instanceof YT)return Yo(e.unwrap());else if(e instanceof YS)return Yo(e._def.innerType);else return[]};class Yl extends qN{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==qC.object)return qT(t,{code:qS.invalid_type,expected:qC.object,received:t.parsedType}),q_;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}):(qT(t,{code:qS.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),q_)}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=Yo(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 Yl({typeName:tM.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...qO(r)})}}class Yu extends qN{_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=(e,n)=>{if("aborted"===e.status||"aborted"===n.status)return q_;let i=function e(t,r){let n=qE(t),i=qE(r);if(t===r)return{valid:!0,data:t};if(n===qC.object&&i===qC.object){let n=tC.objectKeys(r),i=tC.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===qC.array&&i===qC.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===qC.date&&i===qC.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}):(qT(r,{code:qS.invalid_intersection_types}),q_)};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}))}}Yu.create=(e,t,r)=>new Yu({left:e,right:t,typeName:tM.ZodIntersection,...qO(r)});class Yc extends qN{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==qC.array)return qT(r,{code:qS.invalid_type,expected:qC.array,received:r.parsedType}),q_;if(r.data.length<this._def.items.length)return qT(r,{code:qS.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q_;!this._def.rest&&r.data.length>this._def.items.length&&(qT(r,{code:qS.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 qL(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(n).then(e=>qk.mergeArray(t,e)):qk.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new Yc({...this._def,rest:e})}}Yc.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Yc({items:e,typeName:tM.ZodTuple,rest:null,...qO(t)})};class Yd extends qN{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!==qC.object)return qT(r,{code:qS.invalid_type,expected:qC.object,received:r.parsedType}),q_;let n=[],i=this._def.keyType,a=this._def.valueType;for(let e in r.data)n.push({key:i._parse(new qL(r,e,r.path,e)),value:a._parse(new qL(r,r.data[e],r.path,e)),alwaysSet:e in r.data});return r.common.async?qk.mergeObjectAsync(t,n):qk.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new Yd(t instanceof qN?{keyType:e,valueType:t,typeName:tM.ZodRecord,...qO(r)}:{keyType:q2.create(),valueType:e,typeName:tM.ZodRecord,...qO(t)})}}class Yh extends qN{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!==qC.map)return qT(r,{code:qS.invalid_type,expected:qC.map,received:r.parsedType}),q_;let n=this._def.keyType,i=this._def.valueType,a=[...r.data.entries()].map(([e,t],a)=>({key:n._parse(new qL(r,e,r.path,[a,"key"])),value:i._parse(new qL(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 q_;("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 q_;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}Yh.create=(e,t,r)=>new Yh({valueType:t,keyType:e,typeName:tM.ZodMap,...qO(r)});class Yp extends qN{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==qC.set)return qT(r,{code:qS.invalid_type,expected:qC.set,received:r.parsedType}),q_;let n=this._def;null!==n.minSize&&r.data.size<n.minSize.value&&(qT(r,{code:qS.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&&(qT(r,{code:qS.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 q_;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}let s=[...r.data.values()].map((e,t)=>i._parse(new qL(r,e,r.path,t)));return r.common.async?Promise.all(s).then(e=>a(e)):a(s)}min(e,t){return new Yp({...this._def,minSize:{value:e,message:tS.toString(t)}})}max(e,t){return new Yp({...this._def,maxSize:{value:e,message:tS.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Yp.create=(e,t)=>new Yp({valueType:e,minSize:null,maxSize:null,typeName:tM.ZodSet,...qO(t)});class Yf extends qN{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==qC.function)return qT(t,{code:qS.invalid_type,expected:qC.function,received:t.parsedType}),q_;function r(e,r){return qB({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,qI,qI].filter(e=>!!e),issueData:{code:qS.invalid_arguments,argumentsError:r}})}function n(e,r){return qB({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,qI,qI].filter(e=>!!e),issueData:{code:qS.invalid_return_type,returnTypeError:r}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Yy){let e=this;return qP(async function(...t){let s=new qM([]),o=await e._def.args.parseAsync(t,i).catch(e=>{throw s.addIssue(r(t,e)),s}),l=await Reflect.apply(a,this,o);return await e._def.returns._def.type.parseAsync(l,i).catch(e=>{throw s.addIssue(n(l,e)),s})})}{let e=this;return qP(function(...t){let s=e._def.args.safeParse(t,i);if(!s.success)throw new qM([r(t,s.error)]);let o=Reflect.apply(a,this,s.data),l=e._def.returns.safeParse(o,i);if(!l.success)throw new qM([n(o,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Yf({...this._def,args:Yc.create(e).rest(Yt.create())})}returns(e){return new Yf({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new Yf({args:e||Yc.create([]).rest(Yt.create()),returns:t||Yt.create(),typeName:tM.ZodFunction,...qO(r)})}}class YA extends qN{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})}}YA.create=(e,t)=>new YA({getter:e,typeName:tM.ZodLazy,...qO(t)});class Yg extends qN{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return qT(t,{received:t.data,code:qS.invalid_literal,expected:this._def.value}),q_}return{status:"valid",value:e.data}}get value(){return this._def.value}}function Ym(e,t){return new Yv({values:e,typeName:tM.ZodEnum,...qO(t)})}Yg.create=(e,t)=>new Yg({value:e,typeName:tM.ZodLiteral,...qO(t)});class Yv extends qN{_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),r=this._def.values;return qT(t,{expected:tC.joinValues(r),received:t.parsedType,code:qS.invalid_type}),q_}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 qT(t,{received:t.data,code:qS.invalid_enum_value,options:r}),q_}return qP(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 Yv.create(e,{...this._def,...t})}exclude(e,t=this._def){return Yv.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}Yv.create=Ym;class Yb extends qN{_parse(e){let t=tC.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==qC.string&&r.parsedType!==qC.number){let e=tC.objectValues(t);return qT(r,{expected:tC.joinValues(e),received:r.parsedType,code:qS.invalid_type}),q_}if(this._cache||(this._cache=new Set(tC.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let e=tC.objectValues(t);return qT(r,{received:r.data,code:qS.invalid_enum_value,options:e}),q_}return qP(e.data)}get enum(){return this._def.values}}Yb.create=(e,t)=>new Yb({values:e,typeName:tM.ZodNativeEnum,...qO(t)});class Yy extends qN{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==qC.promise&&!1===t.common.async?(qT(t,{code:qS.invalid_type,expected:qC.promise,received:t.parsedType}),q_):qP((t.parsedType===qC.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Yy.create=(e,t)=>new Yy({type:e,typeName:tM.ZodPromise,...qO(t)});class Yw extends qN{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===tM.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=>{qT(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 q_;let n=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return"aborted"===n.status?q_:"dirty"===n.status||"dirty"===t.value?qR(n.value):n});{if("aborted"===t.value)return q_;let n=this._def.schema._parseSync({data:e,path:r.path,parent:r});return"aborted"===n.status?q_:"dirty"===n.status||"dirty"===t.value?qR(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?q_:("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?q_:("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?q_: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 q_;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}}tC.assertNever(n)}}Yw.create=(e,t,r)=>new Yw({schema:e,typeName:tM.ZodEffects,effect:t,...qO(r)}),Yw.createWithPreprocess=(e,t,r)=>new Yw({schema:t,effect:{type:"preprocess",transform:e},typeName:tM.ZodEffects,...qO(r)});class Yx extends qN{_parse(e){return this._getType(e)===qC.undefined?qP(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Yx.create=(e,t)=>new Yx({innerType:e,typeName:tM.ZodOptional,...qO(t)});class YC extends qN{_parse(e){return this._getType(e)===qC.null?qP(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}YC.create=(e,t)=>new YC({innerType:e,typeName:tM.ZodNullable,...qO(t)});class YE extends qN{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return t.parsedType===qC.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}YE.create=(e,t)=>new YE({innerType:e,typeName:tM.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...qO(t)});class YS extends qN{_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 qD(n)?n.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new qM(r.common.issues)},input:r.data})})):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new qM(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}YS.create=(e,t)=>new YS({innerType:e,typeName:tM.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...qO(t)});class YM extends qN{_parse(e){if(this._getType(e)!==qC.nan){let t=this._getOrReturnCtx(e);return qT(t,{code:qS.invalid_type,expected:qC.nan,received:t.parsedType}),q_}return{status:"valid",value:e.data}}}YM.create=e=>new YM({typeName:tM.ZodNaN,...qO(e)}),Symbol("zod_brand");class YI extends qN{_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 YB extends qN{_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?q_:"dirty"===e.status?(t.dirty(),qR(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?q_:"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 YB({in:e,out:t,typeName:tM.ZodPipeline})}}class YT extends qN{_parse(e){let t=this._def.innerType._parse(e),r=e=>("valid"===e.status&&(e.value=Object.freeze(e.value)),e);return qD(t)?t.then(e=>r(e)):r(t)}unwrap(){return this._def.innerType}}YT.create=(e,t)=>new YT({innerType:e,typeName:tM.ZodReadonly,...qO(t)}),Ya.lazycreate,(eG=tM||(tM={})).ZodString="ZodString",eG.ZodNumber="ZodNumber",eG.ZodNaN="ZodNaN",eG.ZodBigInt="ZodBigInt",eG.ZodBoolean="ZodBoolean",eG.ZodDate="ZodDate",eG.ZodSymbol="ZodSymbol",eG.ZodUndefined="ZodUndefined",eG.ZodNull="ZodNull",eG.ZodAny="ZodAny",eG.ZodUnknown="ZodUnknown",eG.ZodNever="ZodNever",eG.ZodVoid="ZodVoid",eG.ZodArray="ZodArray",eG.ZodObject="ZodObject",eG.ZodUnion="ZodUnion",eG.ZodDiscriminatedUnion="ZodDiscriminatedUnion",eG.ZodIntersection="ZodIntersection",eG.ZodTuple="ZodTuple",eG.ZodRecord="ZodRecord",eG.ZodMap="ZodMap",eG.ZodSet="ZodSet",eG.ZodFunction="ZodFunction",eG.ZodLazy="ZodLazy",eG.ZodLiteral="ZodLiteral",eG.ZodEnum="ZodEnum",eG.ZodEffects="ZodEffects",eG.ZodNativeEnum="ZodNativeEnum",eG.ZodOptional="ZodOptional",eG.ZodNullable="ZodNullable",eG.ZodDefault="ZodDefault",eG.ZodCatch="ZodCatch",eG.ZodPromise="ZodPromise",eG.ZodBranded="ZodBranded",eG.ZodPipeline="ZodPipeline",eG.ZodReadonly="ZodReadonly";let Yk=q2.create,Y_=q3.create;YM.create,q4.create;let YR=q5.create;q9.create,q8.create,q6.create,q7.create,Ye.create;let YP=Yt.create;Yr.create,Yn.create,Yi.create;let YD=Ya.create;Ya.strictCreate,Ys.create,Yl.create,Yu.create,Yc.create,Yd.create,Yh.create,Yp.create,Yf.create,YA.create,Yg.create;let YL=Yv.create;Yb.create,Yy.create,Yw.create,Yx.create,YC.create;let YF=Yw.createWithPreprocess;YB.create;let YO=YL(["cm","inch"]),YN=YL(["different_fields","one_field"]),YQ=YL(["left_bottom","center","right_bottom","left_center","right_center"]),YU=YD({buttonLabel:Yk(),backgroundColor:Yk(),borderColor:Yk(),textColor:Yk(),borderRadius:Y_(),borderWidth:Y_()}),Yz=YD({units:YO,productWidthAndHeight:YN,metafieldForWidth:Yk().nullable(),metafieldForHeight:Yk().nullable(),metafieldForWidthAndHeight:Yk().nullable(),widgetPosition:YQ,_widgetSettings:YU.optional(),isWidgetActive:YR()}),YH="/apps/vizbl-wall-art/http",YG=YD({metafields:Yk().trim().min(1),posterPic:Yk().trim().min(1),title:Yk().trim().optional()}),Yj=YF(e=>"string"==typeof e?JSON.parse(e):e,YD({metafield:YP(),tinuuid:Yk().trim().optional()}));async function YV(e,t){let r=await qx({productType:"wallart-shopify",variant_id:e,metafield_key:"poster_settings"},{baseURL:YH,signal:t});return function(e){let t,r,n=YG.safeParse("string"!=typeof e?e:JSON.parse(e));if(!n.success)return null;let i=Yj.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=Yz.safeParse(t)).success?r.data:null);return a?{settings:a,posterPic:n.data.posterPic,title:n.data.title??null,tinuuid:i.data.tinuuid??null}:null}(r.body??r)}let YW="44px",Yq="60px",YY={left_center:{left:Yq,top:"50%",transform:"translateY(-50%)"},left_bottom:{left:Yq,bottom:YW},center:{left:`calc(50% + ${Yq})`,bottom:YW,transform:"translateX(-50%)"},right_bottom:{right:Yq,bottom:YW},right_center:{right:Yq,top:"50%",transform:"translateY(-50%)"}},YJ=YF(e=>"number"==typeof e&&Number.isFinite(e)?String(e):e,Yk().trim().regex(/^\d+$/));function YK(e){let t=YJ.safeParse(e);return t.success?t.data:null}function YX(e){return e?e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?e.value:e.getAttribute("value"):null}let YZ=["product-form","[data-main-product]",'[id*="MainProduct"]',".product",".product__info-wrapper",".product__info-container","#MainContent"],Y$=[".product-recommendations",".related-products","[data-product-recommendations]"];async function Y0(e,t={}){let{client:r=iR,...n}=t;return(await r({method:"POST",url:"/shopify/GetRoomsForWidget",data:e,...n})).data}async function Y1(e,t){let r=await Y0(void 0,{params:{variant_id:e},signal:t});return function(e){let{rooms:t}="string"==typeof e?JSON.parse(e):e;return t.filter(e=>!1!==e.active).sort((e,t)=>(e.position??0)-(t.position??0)).map(({active:e,position:t,...r})=>r)}(r.body??r)}var Y2=i("./src/shopify.css?inline");function Y3(){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 YK(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),YZ))e.closest(i)&&(t+=25);for(let r of Y$)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=YK(YX(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=YK(YX(t));if(e)return e}return null}(e)??function(e=document){let t=e.querySelector("[data-selected-variant-id]");return YK(t?.getAttribute("data-selected-variant-id")??null)}(e)}():null}}function Y4(){let e=function(){let[e,t]=(0,rd.useState)(Y3);return(0,rd.useEffect)(()=>{let e=null,r=window.history.pushState,n=window.history.replaceState,i=()=>{null===e&&(e=window.requestAnimationFrame(()=>{e=null,t(e=>{let t=Y3();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=ao('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,rd.useState)(!1),{data:n}=s8({queryKey:["vizbl-shopify-room-viewer","activation",e.variantId],queryFn:({signal:t})=>YV(e.variantId??"",t),enabled:e.isProductPage&&null!==e.variantId,staleTime:3e5,gcTime:3e5,refetchOnWindowFocus:!1},sq,void 0),{data:i}=s8({queryKey:["vizbl-shopify-room-viewer","rooms-for-widget",e.variantId],queryFn:({signal:t})=>Y1(e.variantId??"",t),enabled:!!n?.settings.isWidgetActive&&null!==e.variantId,staleTime:3e5,gcTime:3e5,refetchOnWindowFocus:!1},sq,void 0),a=(0,rd.useCallback)(()=>{r(!0)},[]),s=(0,rd.useCallback)(e=>{r(e)},[]);if(!e.isProductPage||!e.variantId||!n?.settings.isWidgetActive)return null;let{settings:o,posterPic:l,title:u}=n,c=o._widgetSettings,d=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),h="inch"===o.units?"in":"cm";return(0,rp.jsxs)(rp.Fragment,{children:[(0,rp.jsx)("button",{type:"button",onClick:a,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",...YY[o.widgetPosition]},children:c?.buttonLabel??"View in place"}),(0,rp.jsx)(qv,{open:t,onOpenChange:s,type:"poster",source:"shopify",src:l,name:u??"",rooms:i,width:d.width,height:d.height,dimensionUnit:h}),t&&(0,al.createPortal)((0,rp.jsx)("style",{children:Y2.A}),document.head)]})}let Y5="vizbl-shopify-room-viewer",Y9=new rc({defaultOptions:{queries:{refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:(e,t)=>{let r=function(e){if(ic(e))return e.response?.status}(t);return(void 0===r||!(r>=400)||!(r<500))&&e<2}}}});function Y8(){let e,t=((e=document.getElementById(Y5))||((e=document.createElement("div")).id=Y5,document.body.appendChild(e)),e),r=iP.createRoot(t);r.render((0,rd.createElement)(rg,{client:Y9},(0,rd.createElement)(Y4)));let n=ao(`#${Y5}`,{remove(){n.abort(),r.unmount(),Y8()}})}ik({baseURL:YH}),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Y8,{once:!0}):Y8()})()})();
|
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.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -15,9 +15,10 @@
|
|
|
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.4"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
+
"@rsbuild/core": "1.7.1",
|
|
21
22
|
"@rsbuild/plugin-react": "1.4.2",
|
|
22
23
|
"@rslib/core": "^0.18.6",
|
|
23
24
|
"@testing-library/jest-dom": "^6.6.3",
|