@object-ui/console 3.1.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AppManagementPage-D_71FpIH.js → AppManagementPage-CaWUYaXX.js} +1 -1
- package/dist/assets/{AuditLogPage-D3g_VEdE.js → AuditLogPage-CB1qkThp.js} +1 -1
- package/dist/assets/{CreateAppPage-mqt5j4rK.js → CreateAppPage-DLRU3TEg.js} +1 -1
- package/dist/assets/{DashboardDesignPage-Cijb3jeF.js → DashboardDesignPage-DGz-5xrK.js} +1 -1
- package/dist/assets/{DashboardView-DjhlMHLV.js → DashboardView-v834XbaQ.js} +1 -1
- package/dist/assets/{EditAppPage-BiK_DWcO.js → EditAppPage-DocDqKMS.js} +1 -1
- package/dist/assets/{ForgotPasswordPage-Bzady8r_.js → ForgotPasswordPage-8ypvh4-X.js} +1 -1
- package/dist/assets/{KanbanEnhanced-OvdpYe81.js → KanbanEnhanced-Cw4oddBv.js} +1 -1
- package/dist/assets/{KanbanImpl-EcxwmGw7.js → KanbanImpl-D6ggfmB0.js} +1 -1
- package/dist/assets/{LoginPage-valW4Wu1.js → LoginPage-XakThPoT.js} +1 -1
- package/dist/assets/{OrgManagementPage-D0d52PdP.js → OrgManagementPage-Df5167oO.js} +1 -1
- package/dist/assets/{PageDesignPage-hpFLdWCR.js → PageDesignPage-BzM4EsXt.js} +1 -1
- package/dist/assets/PageView-CpIQvLmr.js +2 -0
- package/dist/assets/{PermissionManagementPage-ELCC8HyK.js → PermissionManagementPage-CZH3URJU.js} +1 -1
- package/dist/assets/{ProfilePage-Dj1N0mY3.js → ProfilePage-BvIbbebc.js} +1 -1
- package/dist/assets/RecordDetailView-BNnPf0DG.js +1 -0
- package/dist/assets/{RegisterPage-DqUU8oW-.js → RegisterPage-CIeFN9rY.js} +1 -1
- package/dist/assets/{ReportView-CNi0A66t.js → ReportView-DYhXezmy.js} +1 -1
- package/dist/assets/{RoleManagementPage-DRvuG53j.js → RoleManagementPage-D0X7HlqJ.js} +1 -1
- package/dist/assets/{SearchResultsPage-nMlMQCb8.js → SearchResultsPage-CoMB32KW.js} +1 -1
- package/dist/assets/{SystemHubPage-CAY-YvG2.js → SystemHubPage-Cvl3VKcV.js} +1 -1
- package/dist/assets/{UserManagementPage-fzvfJxav.js → UserManagementPage-5k8BQxT1.js} +1 -1
- package/dist/assets/data-adapter-Bif-TtZA.js +1 -0
- package/dist/assets/framework-52FGgFF6.js +10 -0
- package/dist/assets/{index-Dv78M4Xq.js → index-D5i0wk-G.js} +1 -1
- package/dist/assets/index-fjkakZm9.js +9 -0
- package/dist/assets/index-h9Jznm67.css +1 -0
- package/dist/assets/infrastructure-Dn7jNPwf.js +1 -0
- package/dist/assets/plugins-core-CP8uPw4p.js +8 -0
- package/dist/assets/plugins-views-DZCu8Ex3.js +62 -0
- package/dist/assets/{ui-components-BxvihT61.js → ui-components-BE4yvyhE.js} +6 -6
- package/dist/assets/ui-components-CxztIKgM.css +1 -0
- package/dist/assets/{ui-layout-C6KWQtRO.js → ui-layout-CYnH69Z2.js} +1 -1
- package/dist/assets/vendor-objectstack-CatrkstC.js +34 -0
- package/dist/assets/{vendor-zod-DxQVy2_o.js → vendor-zod-C5j6C2CQ.js} +1 -1
- package/dist/index.html +14 -14
- package/package.json +29 -29
- package/dist/assets/PageView-DxIAf-SB.js +0 -2
- package/dist/assets/RecordDetailView-DS9tEr5f.js +0 -1
- package/dist/assets/data-adapter-rvE3xy2B.js +0 -1
- package/dist/assets/framework-BM176iet.js +0 -10
- package/dist/assets/index-B6cpm7bF.css +0 -1
- package/dist/assets/index-CTBPkbPG.js +0 -9
- package/dist/assets/infrastructure-n1j_TN6w.js +0 -1
- package/dist/assets/plugins-core-qwgXbAqa.js +0 -8
- package/dist/assets/plugins-views-CveFN6PV.js +0 -62
- package/dist/assets/ui-components-CRV2BvKI.css +0 -1
- package/dist/assets/vendor-objectstack-YKtcdalX.js +0 -34
|
@@ -36,4 +36,4 @@ function a(e,t,n){function r(c,u){if(c._zod||Object.defineProperty(c,"_zod",{val
|
|
|
36
36
|
|
|
37
37
|
`)}m.write("payload.value = newResult;"),m.write("return payload;");const zt=m.compile();return(T,Z)=>zt(h,T,Z)};let s;const i=L,c=!Ue.jitless,l=c&&kt.value,f=t.catchall;let p;e._zod.parse=(h,m)=>{p??(p=r.value);const k=h.value;return i(k)?c&&l&&m?.async===!1&&m.jitless!==!0?(s||(s=o(t.shape)),h=s(h,m),f?nt([],k,h,m,p,e):h):n(h,m):(h.issues.push({expected:"object",code:"invalid_type",input:k,inst:e}),h)}});function we(e,t,n,r){for(const s of e)if(s.issues.length===0)return t.value=s.value,t;const o=e.filter(s=>!R(s));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(i=>E(i,r,P())))}),t)}const rt=a("$ZodUnion",(e,t)=>{g.init(e,t),_(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),_(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),_(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),_(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(s=>s._zod.pattern);return new RegExp(`^(${o.map(s=>pe(s.source)).join("|")})$`)}});const n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,s)=>{if(n)return r(o,s);let i=!1;const c=[];for(const u of t.options){const l=u._zod.run({value:o.value,issues:[]},s);if(l instanceof Promise)c.push(l),i=!0;else{if(l.issues.length===0)return l;c.push(l)}}return i?Promise.all(c).then(u=>we(u,o,e,s)):we(c,o,e,s)}}),mr=a("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,rt.init(e,t);const n=e._zod.parse;_(e._zod,"propValues",()=>{const o={};for(const s of t.options){const i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(const[c,u]of Object.entries(i)){o[c]||(o[c]=new Set);for(const l of u)o[c].add(l)}}return o});const r=te(()=>{const o=t.options,s=new Map;for(const i of o){const c=i._zod.propValues?.[t.discriminator];if(!c||c.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const u of c){if(s.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);s.set(u,i)}}return s});e._zod.parse=(o,s)=>{const i=o.value;if(!L(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;const c=r.value.get(i?.[t.discriminator]);return c?c._zod.run(o,s):t.unionFallback?n(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:i,path:[t.discriminator],inst:e}),o)}}),_r=a("$ZodIntersection",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,s=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([u,l])=>ke(n,u,l)):ke(n,s,i)}});function ae(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(x(e)&&x(t)){const n=Object.keys(t),r=Object.keys(e).filter(s=>n.indexOf(s)!==-1),o={...e,...t};for(const s of r){const i=ae(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],s=t[r],i=ae(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function ke(e,t,n){const r=new Map;let o;for(const c of t.issues)if(c.code==="unrecognized_keys"){o??(o=c);for(const u of c.keys)r.has(u)||r.set(u,{}),r.get(u).l=!0}else e.issues.push(c);for(const c of n.issues)if(c.code==="unrecognized_keys")for(const u of c.keys)r.has(u)||r.set(u,{}),r.get(u).r=!0;else e.issues.push(c);const s=[...r].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(s.length&&o&&e.issues.push({...o,keys:s}),R(e))return e;const i=ae(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const ot=a("$ZodTuple",(e,t)=>{g.init(e,t);const n=t.items;e._zod.parse=(r,o)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({input:s,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];const i=[],c=[...n].reverse().findIndex(f=>f._zod.optin!=="optional"),u=c===-1?0:n.length-c;if(!t.rest){const f=s.length>n.length,p=s.length<u-1;if(f||p)return r.issues.push({...f?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:s,inst:e,origin:"array"}),r}let l=-1;for(const f of n){if(l++,l>=s.length&&l>=u)continue;const p=f._zod.run({value:s[l],issues:[]},o);p instanceof Promise?i.push(p.then(h=>W(h,r,l))):W(p,r,l)}if(t.rest){const f=s.slice(n.length);for(const p of f){l++;const h=t.rest._zod.run({value:p,issues:[]},o);h instanceof Promise?i.push(h.then(m=>W(m,r,l))):W(h,r,l)}}return i.length?Promise.all(i).then(()=>r):r}});function W(e,t,n){e.issues.length&&t.issues.push(...j(n,e.issues)),t.value[n]=e.value}const gr=a("$ZodRecord",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!x(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const s=[],i=t.keyType._zod.values;if(i){n.value={};const c=new Set;for(const l of i)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){c.add(typeof l=="number"?l.toString():l);const f=t.valueType._zod.run({value:o[l],issues:[]},r);f instanceof Promise?s.push(f.then(p=>{p.issues.length&&n.issues.push(...j(l,p.issues)),n.value[l]=p.value})):(f.issues.length&&n.issues.push(...j(l,f.issues)),n.value[l]=f.value)}let u;for(const l in o)c.has(l)||(u=u??[],u.push(l));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:u})}else{n.value={};for(const c of Reflect.ownKeys(o)){if(c==="__proto__")continue;let u=t.keyType._zod.run({value:c,issues:[]},r);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof c=="string"&&qe.test(c)&&u.issues.length){const p=t.keyType._zod.run({value:Number(c),issues:[]},r);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(u=p)}if(u.issues.length){t.mode==="loose"?n.value[c]=o[c]:n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(p=>E(p,r,P())),input:c,path:[c],inst:e});continue}const f=t.valueType._zod.run({value:o[c],issues:[]},r);f instanceof Promise?s.push(f.then(p=>{p.issues.length&&n.issues.push(...j(c,p.issues)),n.value[u.value]=p.value})):(f.issues.length&&n.issues.push(...j(c,f.issues)),n.value[u.value]=f.value)}}return s.length?Promise.all(s).then(()=>n):n}}),vr=a("$ZodEnum",(e,t)=>{g.init(e,t);const n=Je(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>$t.has(typeof o)).map(o=>typeof o=="string"?F(o):o.toString()).join("|")})$`),e._zod.parse=(o,s)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:n,input:i,inst:e}),o}}),zr=a("$ZodLiteral",(e,t)=>{if(g.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?F(r):r?F(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{const s=r.value;return n.has(s)||r.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),r}}),yr=a("$ZodTransform",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Fe(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n));if(o instanceof Promise)throw new C;return n.value=o,n}});function $e(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const it=a("$ZodOptional",(e,t)=>{g.init(e,t),e._zod.optin="optional",e._zod.optout="optional",_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),_(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${pe(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>$e(s,n.value)):$e(o,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),br=a("$ZodExactOptional",(e,t)=>{it.init(e,t),_(e._zod,"values",()=>t.innerType._zod.values),_(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),wr=a("$ZodNullable",(e,t)=>{g.init(e,t),_(e._zod,"optin",()=>t.innerType._zod.optin),_(e._zod,"optout",()=>t.innerType._zod.optout),_(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${pe(n.source)}|null)$`):void 0}),_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),kr=a("$ZodDefault",(e,t)=>{g.init(e,t),e._zod.optin="optional",_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>Ze(s,t)):Ze(o,t)}});function Ze(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const $r=a("$ZodPrefault",(e,t)=>{g.init(e,t),e._zod.optin="optional",_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),Zr=a("$ZodNonOptional",(e,t)=>{g.init(e,t),_(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>Se(s,e)):Se(o,e)}});function Se(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Sr=a("$ZodCatch",(e,t)=>{g.init(e,t),_(e._zod,"optin",()=>t.innerType._zod.optin),_(e._zod,"optout",()=>t.innerType._zod.optout),_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>E(i,r,P()))},input:n.value}),n.issues=[]),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(s=>E(s,r,P()))},input:n.value}),n.issues=[]),n)}}),Or=a("$ZodPipe",(e,t)=>{g.init(e,t),_(e._zod,"values",()=>t.in._zod.values),_(e._zod,"optin",()=>t.in._zod.optin),_(e._zod,"optout",()=>t.out._zod.optout),_(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const s=t.out._zod.run(n,r);return s instanceof Promise?s.then(i=>K(i,t.in,r)):K(s,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(s=>K(s,t.out,r)):K(o,t.out,r)}});function K(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Ir=a("$ZodReadonly",(e,t)=>{g.init(e,t),_(e._zod,"propValues",()=>t.innerType._zod.propValues),_(e._zod,"values",()=>t.innerType._zod.values),_(e._zod,"optin",()=>t.innerType?._zod?.optin),_(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(Oe):Oe(o)}});function Oe(e){return e.value=Object.freeze(e.value),e}const Tr=a("$ZodFunction",(e,t)=>(g.init(e,t),e._def=t,e._zod.def=t,e.implement=n=>{if(typeof n!="function")throw new Error("implement() must be called with a function");return function(...r){const o=e._def.input?ve(e._def.input,r):r,s=Reflect.apply(n,this,o);return e._def.output?ve(e._def.output,s):s}},e.implementAsync=n=>{if(typeof n!="function")throw new Error("implementAsync() must be called with a function");return async function(...r){const o=e._def.input?await ze(e._def.input,r):r,s=await Reflect.apply(n,this,o);return e._def.output?await ze(e._def.output,s):s}},e._zod.parse=(n,r)=>typeof n.value!="function"?(n.issues.push({code:"invalid_type",expected:"function",input:n.value,inst:e}),n):(e._def.output&&e._def.output._zod.def.type==="promise"?n.value=e.implementAsync(n.value):n.value=e.implement(n.value),n),e.input=(...n)=>{const r=e.constructor;return Array.isArray(n[0])?new r({type:"function",input:new ot({type:"tuple",items:n[0],rest:n[1]}),output:e._def.output}):new r({type:"function",input:n[0],output:e._def.output})},e.output=n=>{const r=e.constructor;return new r({type:"function",input:e._def.input,output:n})},e)),Pr=a("$ZodPromise",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>Promise.resolve(n.value).then(o=>t.innerType._zod.run({value:o,issues:[]},r))}),Er=a("$ZodLazy",(e,t)=>{g.init(e,t),_(e._zod,"innerType",()=>t.getter()),_(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),_(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),_(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),_(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),Nr=a("$ZodCustom",(e,t)=>{S.init(e,t),g.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(s=>Ie(s,n,r,e));Ie(o,n,r,e)}});function Ie(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(M(o))}}var Te;class Ar{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function jr(){return new Ar}(Te=globalThis).__zod_globalRegistry??(Te.__zod_globalRegistry=jr());const J=globalThis.__zod_globalRegistry;function Dr(e,t){return new e({type:"string",...d(t)})}function Rr(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...d(t)})}function Pe(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...d(t)})}function Cr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...d(t)})}function xr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...d(t)})}function Fr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...d(t)})}function Ur(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...d(t)})}function Jr(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...d(t)})}function Lr(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...d(t)})}function Mr(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...d(t)})}function Vr(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...d(t)})}function Br(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...d(t)})}function Wr(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...d(t)})}function Kr(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...d(t)})}function Gr(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...d(t)})}function qr(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...d(t)})}function Yr(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...d(t)})}function Xr(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...d(t)})}function Hr(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...d(t)})}function Qr(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...d(t)})}function eo(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...d(t)})}function to(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...d(t)})}function no(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...d(t)})}function ro(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...d(t)})}function oo(e,t){return new e({type:"string",format:"date",check:"string_format",...d(t)})}function io(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...d(t)})}function so(e,t){return new e({type:"string",format:"duration",check:"string_format",...d(t)})}function co(e,t){return new e({type:"number",checks:[],...d(t)})}function uo(e,t){return new e({type:"number",coerce:!0,checks:[],...d(t)})}function ao(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...d(t)})}function lo(e,t){return new e({type:"boolean",...d(t)})}function fo(e,t){return new e({type:"boolean",coerce:!0,...d(t)})}function po(e,t){return new e({type:"null",...d(t)})}function ho(e){return new e({type:"any"})}function mo(e){return new e({type:"unknown"})}function _o(e,t){return new e({type:"never",...d(t)})}function go(e,t){return new e({type:"void",...d(t)})}function vo(e,t){return new e({type:"date",...d(t)})}function Ee(e,t){return new Xe({check:"less_than",...d(t),value:e,inclusive:!1})}function q(e,t){return new Xe({check:"less_than",...d(t),value:e,inclusive:!0})}function Ne(e,t){return new He({check:"greater_than",...d(t),value:e,inclusive:!1})}function Y(e,t){return new He({check:"greater_than",...d(t),value:e,inclusive:!0})}function Ae(e,t){return new zn({check:"multiple_of",...d(t),value:e})}function st(e,t){return new bn({check:"max_length",...d(t),maximum:e})}function H(e,t){return new wn({check:"min_length",...d(t),minimum:e})}function ct(e,t){return new kn({check:"length_equals",...d(t),length:e})}function zo(e,t){return new $n({check:"string_format",format:"regex",...d(t),pattern:e})}function yo(e){return new Zn({check:"string_format",format:"lowercase",...d(e)})}function bo(e){return new Sn({check:"string_format",format:"uppercase",...d(e)})}function wo(e,t){return new On({check:"string_format",format:"includes",...d(t),includes:e})}function ko(e,t){return new In({check:"string_format",format:"starts_with",...d(t),prefix:e})}function $o(e,t){return new Tn({check:"string_format",format:"ends_with",...d(t),suffix:e})}function U(e){return new Pn({check:"overwrite",tx:e})}function Zo(e){return U(t=>t.normalize(e))}function So(){return U(e=>e.trim())}function Oo(){return U(e=>e.toLowerCase())}function Io(){return U(e=>e.toUpperCase())}function To(){return U(e=>wt(e))}function Po(e,t,n){return new e({type:"array",element:t,...d(n)})}function Eo(e,t,n){return new e({type:"custom",check:"custom",fn:t,...d(n)})}function No(e){const t=Ao(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(M(r,n.value,t._zod.def));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(M(o))}},e(n.value,n)));return t}function Ao(e,t){const n=new S({check:"custom",...d(t)});return n._zod.check=e,n}function ut(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??J,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function z(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,s=t.seen.get(e);if(s)return s.count++,n.schemaPath.includes(e)&&(s.cycle=n.path),s.schema;const i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);const c=e._zod.toJSONSchema?.();if(c)i.schema=c;else{const f={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,f);else{const h=i.schema,m=t.processors[o.type];if(!m)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);m(e,t,h,f)}const p=e._zod.parent;p&&(i.ref||(i.ref=p),z(p,t,f),t.seen.get(p).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Object.assign(i.schema,u),t.io==="input"&&$(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function at(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const i of e.seen.entries()){const c=e.metadataRegistry.get(i[0])?.id;if(c){const u=r.get(c);if(u&&u!==i[0])throw new Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(c,i[0])}}const o=i=>{const c=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const p=e.external.registry.get(i[0])?.id,h=e.external.uri??(k=>k);if(p)return{ref:h(p)};const m=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=m,{defId:m,ref:`${h("__shared")}#/${c}/${m}`}}if(i[1]===n)return{ref:"#"};const l=`#/${c}/`,f=i[1].schema.id??`__schema${e.counter++}`;return{defId:f,ref:l+f}},s=i=>{if(i[1].schema.$ref)return;const c=i[1],{ref:u,defId:l}=o(i);c.def={...c.schema},l&&(c.defId=l);const f=c.schema;for(const p in f)delete f[p];f.$ref=u};if(e.cycles==="throw")for(const i of e.seen.entries()){const c=i[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
|
|
38
38
|
|
|
39
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const c=i[1];if(t===i[0]){s(i);continue}if(e.external){const l=e.external.registry.get(i[0])?.id;if(t!==i[0]&&l){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(c.cycle){s(i);continue}if(c.count>1&&e.reused==="ref"){s(i);continue}}}function lt(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=i=>{const c=e.seen.get(i);if(c.ref===null)return;const u=c.def??c.schema,l={...u},f=c.ref;if(c.ref=null,f){r(f);const h=e.seen.get(f),m=h.schema;if(m.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(m)):Object.assign(u,m),Object.assign(u,l),i._zod.parent===f)for(const w in u)w==="$ref"||w==="allOf"||w in l||delete u[w];if(m.$ref&&h.def)for(const w in u)w==="$ref"||w==="allOf"||w in h.def&&JSON.stringify(u[w])===JSON.stringify(h.def[w])&&delete u[w]}const p=i._zod.parent;if(p&&p!==f){r(p);const h=e.seen.get(p);if(h?.schema.$ref&&(u.$ref=h.schema.$ref,h.def))for(const m in u)m==="$ref"||m==="allOf"||m in h.def&&JSON.stringify(u[m])===JSON.stringify(h.def[m])&&delete u[m]}e.override({zodSchema:i,jsonSchema:u,path:c.path??[]})};for(const i of[...e.seen.entries()].reverse())r(i[0]);const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(i)}Object.assign(o,n.def??n.schema);const s=e.external?.defs??{};for(const i of e.seen.entries()){const c=i[1];c.def&&c.defId&&(s[c.defId]=c.def)}e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{const i=JSON.parse(JSON.stringify(o));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Q(t,"input",e.processors),output:Q(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function $(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return $(r.element,n);if(r.type==="set")return $(r.valueType,n);if(r.type==="lazy")return $(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return $(r.innerType,n);if(r.type==="intersection")return $(r.left,n)||$(r.right,n);if(r.type==="record"||r.type==="map")return $(r.keyType,n)||$(r.valueType,n);if(r.type==="pipe")return $(r.in,n)||$(r.out,n);if(r.type==="object"){for(const o in r.shape)if($(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if($(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if($(o,n))return!0;return!!(r.rest&&$(r.rest,n))}return!1}const jo=(e,t={})=>n=>{const r=ut({...n,processors:t});return z(e,r),at(r,e),lt(r,e)},Q=(e,t,n={})=>r=>{const{libraryOptions:o,target:s}=r??{},i=ut({...o??{},target:s,io:t,processors:n});return z(e,i),at(i,e),lt(i,e)},Do={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ro=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:s,maximum:i,format:c,patterns:u,contentEncoding:l}=e._zod.bag;if(typeof s=="number"&&(o.minLength=s),typeof i=="number"&&(o.maxLength=i),c&&(o.format=Do[c]??c,o.format===""&&delete o.format,c==="time"&&delete o.format),l&&(o.contentEncoding=l),u&&u.size>0){const f=[...u];f.length===1?o.pattern=f[0].source:f.length>1&&(o.allOf=[...f.map(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Co=(e,t,n,r)=>{const o=n,{minimum:s,maximum:i,format:c,multipleOf:u,exclusiveMaximum:l,exclusiveMinimum:f}=e._zod.bag;typeof c=="string"&&c.includes("int")?o.type="integer":o.type="number",typeof f=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.minimum=f,o.exclusiveMinimum=!0):o.exclusiveMinimum=f),typeof s=="number"&&(o.minimum=s,typeof f=="number"&&t.target!=="draft-04"&&(f>=s?delete o.minimum:delete o.exclusiveMinimum)),typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.maximum=l,o.exclusiveMaximum=!0):o.exclusiveMaximum=l),typeof i=="number"&&(o.maximum=i,typeof l=="number"&&t.target!=="draft-04"&&(l<=i?delete o.maximum:delete o.exclusiveMaximum)),typeof u=="number"&&(o.multipleOf=u)},xo=(e,t,n,r)=>{n.type="boolean"},Fo=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},Uo=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Jo=(e,t,n,r)=>{n.not={}},Lo=(e,t,n,r)=>{},Mo=(e,t,n,r)=>{},Vo=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Bo=(e,t,n,r)=>{const o=e._zod.def,s=Je(o.entries);s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),n.enum=s},Wo=(e,t,n,r)=>{const o=e._zod.def,s=[];for(const i of o.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){const i=s[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),s.every(i=>typeof i=="boolean")&&(n.type="boolean"),s.every(i=>i===null)&&(n.type="null"),n.enum=s},Ko=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Go=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},qo=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Yo=(e,t,n,r)=>{const o=n,s=e._zod.def,{minimum:i,maximum:c}=e._zod.bag;typeof i=="number"&&(o.minItems=i),typeof c=="number"&&(o.maxItems=c),o.type="array",o.items=z(s.element,t,{...r,path:[...r.path,"items"]})},Xo=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="object",o.properties={};const i=s.shape;for(const l in i)o.properties[l]=z(i[l],t,{...r,path:[...r.path,"properties",l]});const c=new Set(Object.keys(i)),u=new Set([...c].filter(l=>{const f=s.shape[l]._zod;return t.io==="input"?f.optin===void 0:f.optout===void 0}));u.size>0&&(o.required=Array.from(u)),s.catchall?._zod.def.type==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=z(s.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Ho=(e,t,n,r)=>{const o=e._zod.def,s=o.inclusive===!1,i=o.options.map((c,u)=>z(c,t,{...r,path:[...r.path,s?"oneOf":"anyOf",u]}));s?n.oneOf=i:n.anyOf=i},Qo=(e,t,n,r)=>{const o=e._zod.def,s=z(o.left,t,{...r,path:[...r.path,"allOf",0]}),i=z(o.right,t,{...r,path:[...r.path,"allOf",1]}),c=l=>"allOf"in l&&Object.keys(l).length===1,u=[...c(s)?s.allOf:[s],...c(i)?i.allOf:[i]];n.allOf=u},ei=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="array";const i=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",u=s.items.map((h,m)=>z(h,t,{...r,path:[...r.path,i,m]})),l=s.rest?z(s.rest,t,{...r,path:[...r.path,c,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null;t.target==="draft-2020-12"?(o.prefixItems=u,l&&(o.items=l)):t.target==="openapi-3.0"?(o.items={anyOf:u},l&&o.items.anyOf.push(l),o.minItems=u.length,l||(o.maxItems=u.length)):(o.items=u,l&&(o.additionalItems=l));const{minimum:f,maximum:p}=e._zod.bag;typeof f=="number"&&(o.minItems=f),typeof p=="number"&&(o.maxItems=p)},ti=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="object";const i=s.keyType,u=i._zod.bag?.patterns;if(s.mode==="loose"&&u&&u.size>0){const f=z(s.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const p of u)o.patternProperties[p.source]=f}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(o.propertyNames=z(s.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=z(s.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const l=i._zod.values;if(l){const f=[...l].filter(p=>typeof p=="string"||typeof p=="number");f.length>0&&(o.required=f)}},ni=(e,t,n,r)=>{const o=e._zod.def,s=z(o.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=o.innerType,n.nullable=!0):n.anyOf=[s,{type:"null"}]},ri=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},oi=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},ii=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},si=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},ci=(e,t,n,r)=>{const o=e._zod.def,s=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;z(s,t,r);const i=t.seen.get(e);i.ref=s},ui=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,n.readOnly=!0},ai=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},ft=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},li=(e,t,n,r)=>{const o=e._zod.innerType;z(o,t,r);const s=t.seen.get(e);s.ref=o},fi=a("ZodISODateTime",(e,t)=>{Vn.init(e,t),b.init(e,t)});function pi(e){return ro(fi,e)}const di=a("ZodISODate",(e,t)=>{Bn.init(e,t),b.init(e,t)});function hi(e){return oo(di,e)}const mi=a("ZodISOTime",(e,t)=>{Wn.init(e,t),b.init(e,t)});function _i(e){return io(mi,e)}const gi=a("ZodISODuration",(e,t)=>{Kn.init(e,t),b.init(e,t)});function vi(e){return so(gi,e)}const zi=(e,t)=>{Be.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Dt(e,n)},flatten:{value:n=>jt(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,ue,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,ue,2)}},isEmpty:{get(){return e.issues.length===0}}})},O=a("ZodError",zi,{Parent:Error}),yi=re(O),bi=oe(O),wi=ie(O),ki=se(O),$i=xt(O),Zi=Ft(O),Si=Ut(O),Oi=Jt(O),Ii=Lt(O),Ti=Mt(O),Pi=Vt(O),Ei=Bt(O),v=a("ZodType",(e,t)=>(g.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Q(e,"input"),output:Q(e,"output")}}),e.toJSONSchema=jo(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(N(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>A(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>yi(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>wi(e,n,r),e.parseAsync=async(n,r)=>bi(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>ki(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>$i(e,n,r),e.decode=(n,r)=>Zi(e,n,r),e.encodeAsync=async(n,r)=>Si(e,n,r),e.decodeAsync=async(n,r)=>Oi(e,n,r),e.safeEncode=(n,r)=>Ii(e,n,r),e.safeDecode=(n,r)=>Ti(e,n,r),e.safeEncodeAsync=async(n,r)=>Pi(e,n,r),e.safeDecodeAsync=async(n,r)=>Ei(e,n,r),e.refine=(n,r)=>e.check(js(n,r)),e.superRefine=n=>e.check(Ds(n)),e.overwrite=n=>e.check(U(n)),e.optional=()=>Re(e),e.exactOptional=()=>vs(e),e.nullable=()=>Ce(e),e.nullish=()=>Re(Ce(e)),e.nonoptional=n=>$s(e,n),e.array=()=>ht(e),e.or=n=>ss([e,n]),e.and=n=>as(e,n),e.transform=n=>xe(e,_s(n)),e.default=n=>bs(e,n),e.prefault=n=>ks(e,n),e.catch=n=>Ss(e,n),e.pipe=n=>xe(e,n),e.readonly=()=>Ts(e),e.describe=n=>{const r=e.clone();return J.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return J.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return J.get(e);const r=e.clone();return J.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),pt=a("_ZodString",(e,t)=>{he.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Ro(e,r,o);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(zo(...r)),e.includes=(...r)=>e.check(wo(...r)),e.startsWith=(...r)=>e.check(ko(...r)),e.endsWith=(...r)=>e.check($o(...r)),e.min=(...r)=>e.check(H(...r)),e.max=(...r)=>e.check(st(...r)),e.length=(...r)=>e.check(ct(...r)),e.nonempty=(...r)=>e.check(H(1,...r)),e.lowercase=r=>e.check(yo(r)),e.uppercase=r=>e.check(bo(r)),e.trim=()=>e.check(So()),e.normalize=(...r)=>e.check(Zo(...r)),e.toLowerCase=()=>e.check(Oo()),e.toUpperCase=()=>e.check(Io()),e.slugify=()=>e.check(To())}),Ni=a("ZodString",(e,t)=>{he.init(e,t),pt.init(e,t),e.email=n=>e.check(Rr(Ai,n)),e.url=n=>e.check(Jr(ji,n)),e.jwt=n=>e.check(no(qi,n)),e.emoji=n=>e.check(Lr(Di,n)),e.guid=n=>e.check(Pe(je,n)),e.uuid=n=>e.check(Cr(G,n)),e.uuidv4=n=>e.check(xr(G,n)),e.uuidv6=n=>e.check(Fr(G,n)),e.uuidv7=n=>e.check(Ur(G,n)),e.nanoid=n=>e.check(Mr(Ri,n)),e.guid=n=>e.check(Pe(je,n)),e.cuid=n=>e.check(Vr(Ci,n)),e.cuid2=n=>e.check(Br(xi,n)),e.ulid=n=>e.check(Wr(Fi,n)),e.base64=n=>e.check(Qr(Wi,n)),e.base64url=n=>e.check(eo(Ki,n)),e.xid=n=>e.check(Kr(Ui,n)),e.ksuid=n=>e.check(Gr(Ji,n)),e.ipv4=n=>e.check(qr(Li,n)),e.ipv6=n=>e.check(Yr(Mi,n)),e.cidrv4=n=>e.check(Xr(Vi,n)),e.cidrv6=n=>e.check(Hr(Bi,n)),e.e164=n=>e.check(to(Gi,n)),e.datetime=n=>e.check(pi(n)),e.date=n=>e.check(hi(n)),e.time=n=>e.check(_i(n)),e.duration=n=>e.check(vi(n))});function Cs(e){return Dr(Ni,e)}const b=a("ZodStringFormat",(e,t)=>{y.init(e,t),pt.init(e,t)}),Ai=a("ZodEmail",(e,t)=>{Dn.init(e,t),b.init(e,t)}),je=a("ZodGUID",(e,t)=>{An.init(e,t),b.init(e,t)}),G=a("ZodUUID",(e,t)=>{jn.init(e,t),b.init(e,t)}),ji=a("ZodURL",(e,t)=>{Rn.init(e,t),b.init(e,t)}),Di=a("ZodEmoji",(e,t)=>{Cn.init(e,t),b.init(e,t)}),Ri=a("ZodNanoID",(e,t)=>{xn.init(e,t),b.init(e,t)}),Ci=a("ZodCUID",(e,t)=>{Fn.init(e,t),b.init(e,t)}),xi=a("ZodCUID2",(e,t)=>{Un.init(e,t),b.init(e,t)}),Fi=a("ZodULID",(e,t)=>{Jn.init(e,t),b.init(e,t)}),Ui=a("ZodXID",(e,t)=>{Ln.init(e,t),b.init(e,t)}),Ji=a("ZodKSUID",(e,t)=>{Mn.init(e,t),b.init(e,t)}),Li=a("ZodIPv4",(e,t)=>{Gn.init(e,t),b.init(e,t)}),Mi=a("ZodIPv6",(e,t)=>{qn.init(e,t),b.init(e,t)}),Vi=a("ZodCIDRv4",(e,t)=>{Yn.init(e,t),b.init(e,t)}),Bi=a("ZodCIDRv6",(e,t)=>{Xn.init(e,t),b.init(e,t)}),Wi=a("ZodBase64",(e,t)=>{Hn.init(e,t),b.init(e,t)}),Ki=a("ZodBase64URL",(e,t)=>{er.init(e,t),b.init(e,t)}),Gi=a("ZodE164",(e,t)=>{tr.init(e,t),b.init(e,t)}),qi=a("ZodJWT",(e,t)=>{rr.init(e,t),b.init(e,t)}),me=a("ZodNumber",(e,t)=>{et.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Co(e,r,o),e.gt=(r,o)=>e.check(Ne(r,o)),e.gte=(r,o)=>e.check(Y(r,o)),e.min=(r,o)=>e.check(Y(r,o)),e.lt=(r,o)=>e.check(Ee(r,o)),e.lte=(r,o)=>e.check(q(r,o)),e.max=(r,o)=>e.check(q(r,o)),e.int=r=>e.check(De(r)),e.safe=r=>e.check(De(r)),e.positive=r=>e.check(Ne(0,r)),e.nonnegative=r=>e.check(Y(0,r)),e.negative=r=>e.check(Ee(0,r)),e.nonpositive=r=>e.check(q(0,r)),e.multipleOf=(r,o)=>e.check(Ae(r,o)),e.step=(r,o)=>e.check(Ae(r,o)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function xs(e){return co(me,e)}const Yi=a("ZodNumberFormat",(e,t)=>{or.init(e,t),me.init(e,t)});function De(e){return ao(Yi,e)}const dt=a("ZodBoolean",(e,t)=>{ir.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xo(e,n,r)});function Fs(e){return lo(dt,e)}const Xi=a("ZodNull",(e,t)=>{sr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fo(e,n,r)});function Us(e){return po(Xi,e)}const Hi=a("ZodAny",(e,t)=>{cr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lo()});function Js(){return ho(Hi)}const Qi=a("ZodUnknown",(e,t)=>{ur.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mo()});function ee(){return mo(Qi)}const es=a("ZodNever",(e,t)=>{ar.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jo(e,n,r)});function ts(e){return _o(es,e)}const ns=a("ZodVoid",(e,t)=>{lr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Uo(e,n)});function Ls(e){return go(ns,e)}const rs=a("ZodDate",(e,t)=>{fr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Vo(e,r),e.min=(r,o)=>e.check(Y(r,o)),e.max=(r,o)=>e.check(q(r,o));const n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function Ms(e){return vo(rs,e)}const os=a("ZodArray",(e,t)=>{pr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yo(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(H(n,r)),e.nonempty=n=>e.check(H(1,n)),e.max=(n,r)=>e.check(st(n,r)),e.length=(n,r)=>e.check(ct(n,r)),e.unwrap=()=>e.element});function ht(e,t){return Po(os,e,t)}const is=a("ZodObject",(e,t)=>{hr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xo(e,n,r,o),_(e,"shape",()=>t.shape),e.keyof=()=>ds(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ee()}),e.loose=()=>e.clone({...e._zod.def,catchall:ee()}),e.strict=()=>e.clone({...e._zod.def,catchall:ts()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>Tt(e,n),e.safeExtend=n=>Pt(e,n),e.merge=n=>Et(e,n),e.pick=n=>Ot(e,n),e.omit=n=>It(e,n),e.partial=(...n)=>Nt(_t,e,n[0]),e.required=(...n)=>At(gt,e,n[0])});function Vs(e,t){const n={type:"object",shape:e??{},...d(t)};return new is(n)}const mt=a("ZodUnion",(e,t)=>{rt.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ho(e,n,r,o),e.options=t.options});function ss(e,t){return new mt({type:"union",options:e,...d(t)})}const cs=a("ZodDiscriminatedUnion",(e,t)=>{mt.init(e,t),mr.init(e,t)});function Bs(e,t,n){return new cs({type:"union",options:t,discriminator:e,...d(n)})}const us=a("ZodIntersection",(e,t)=>{_r.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qo(e,n,r,o)});function as(e,t){return new us({type:"intersection",left:e,right:t})}const ls=a("ZodTuple",(e,t)=>{ot.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ei(e,n,r,o),e.rest=n=>e.clone({...e._zod.def,rest:n})});function fs(e,t,n){const r=t instanceof g,o=r?n:t,s=r?t:null;return new ls({type:"tuple",items:e,rest:s,...d(o)})}const ps=a("ZodRecord",(e,t)=>{gr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ti(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Ws(e,t,n){return new ps({type:"record",keyType:e,valueType:t,...d(n)})}const le=a("ZodEnum",(e,t)=>{vr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Bo(e,r,o),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const s={};for(const i of r)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new le({...t,checks:[],...d(o),entries:s})},e.exclude=(r,o)=>{const s={...t.entries};for(const i of r)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new le({...t,checks:[],...d(o),entries:s})}});function ds(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new le({type:"enum",entries:n,...d(t)})}const hs=a("ZodLiteral",(e,t)=>{zr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wo(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Ks(e,t){return new hs({type:"literal",values:Array.isArray(e)?e:[e],...d(t)})}const ms=a("ZodTransform",(e,t)=>{yr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qo(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Fe(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(M(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(M(i))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function _s(e){return new ms({type:"transform",transform:e})}const _t=a("ZodOptional",(e,t)=>{it.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ft(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Re(e){return new _t({type:"optional",innerType:e})}const gs=a("ZodExactOptional",(e,t)=>{br.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ft(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function vs(e){return new gs({type:"optional",innerType:e})}const zs=a("ZodNullable",(e,t)=>{wr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ni(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ce(e){return new zs({type:"nullable",innerType:e})}const ys=a("ZodDefault",(e,t)=>{kr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>oi(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function bs(e,t){return new ys({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Me(t)}})}const ws=a("ZodPrefault",(e,t)=>{$r.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ii(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ks(e,t){return new ws({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Me(t)}})}const gt=a("ZodNonOptional",(e,t)=>{Zr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ri(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function $s(e,t){return new gt({type:"nonoptional",innerType:e,...d(t)})}const Zs=a("ZodCatch",(e,t)=>{Sr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>si(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ss(e,t){return new Zs({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const Os=a("ZodPipe",(e,t)=>{Or.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ci(e,n,r,o),e.in=t.in,e.out=t.out});function xe(e,t){return new Os({type:"pipe",in:e,out:t})}const Is=a("ZodReadonly",(e,t)=>{Ir.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ui(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ts(e){return new Is({type:"readonly",innerType:e})}const Ps=a("ZodLazy",(e,t)=>{Er.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>li(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function Gs(e){return new Ps({type:"lazy",getter:e})}const Es=a("ZodPromise",(e,t)=>{Pr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ai(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function qs(e){return new Es({type:"promise",innerType:e})}const Ns=a("ZodFunction",(e,t)=>{Tr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Go(e,n)});function Ys(e){return new Ns({type:"function",input:Array.isArray(e?.input)?fs(e?.input):ht(ee()),output:ee()})}const As=a("ZodCustom",(e,t)=>{Nr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ko(e,n)});function js(e,t={}){return Eo(As,e,t)}function Ds(e){return No(e)}const Xs={custom:"custom"};function Hs(e){return uo(me,e)}function Qs(e){return fo(dt,e)}export{Xs as Z,ds as _,Js as a,ht as b,Fs as c,ee as d,Ks as e,Ys as f,Bs as g,Ms as h,Ls as i,as as j,Us as k,Gs as l,Qs as m,xs as n,Vs as o,qs as p,Hs as q,Ws as r,Cs as s,fs as t,ss as u};
|
|
39
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const c=i[1];if(t===i[0]){s(i);continue}if(e.external){const l=e.external.registry.get(i[0])?.id;if(t!==i[0]&&l){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(c.cycle){s(i);continue}if(c.count>1&&e.reused==="ref"){s(i);continue}}}function lt(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=i=>{const c=e.seen.get(i);if(c.ref===null)return;const u=c.def??c.schema,l={...u},f=c.ref;if(c.ref=null,f){r(f);const h=e.seen.get(f),m=h.schema;if(m.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(m)):Object.assign(u,m),Object.assign(u,l),i._zod.parent===f)for(const w in u)w==="$ref"||w==="allOf"||w in l||delete u[w];if(m.$ref&&h.def)for(const w in u)w==="$ref"||w==="allOf"||w in h.def&&JSON.stringify(u[w])===JSON.stringify(h.def[w])&&delete u[w]}const p=i._zod.parent;if(p&&p!==f){r(p);const h=e.seen.get(p);if(h?.schema.$ref&&(u.$ref=h.schema.$ref,h.def))for(const m in u)m==="$ref"||m==="allOf"||m in h.def&&JSON.stringify(u[m])===JSON.stringify(h.def[m])&&delete u[m]}e.override({zodSchema:i,jsonSchema:u,path:c.path??[]})};for(const i of[...e.seen.entries()].reverse())r(i[0]);const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(i)}Object.assign(o,n.def??n.schema);const s=e.external?.defs??{};for(const i of e.seen.entries()){const c=i[1];c.def&&c.defId&&(s[c.defId]=c.def)}e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{const i=JSON.parse(JSON.stringify(o));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Q(t,"input",e.processors),output:Q(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function $(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return $(r.element,n);if(r.type==="set")return $(r.valueType,n);if(r.type==="lazy")return $(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return $(r.innerType,n);if(r.type==="intersection")return $(r.left,n)||$(r.right,n);if(r.type==="record"||r.type==="map")return $(r.keyType,n)||$(r.valueType,n);if(r.type==="pipe")return $(r.in,n)||$(r.out,n);if(r.type==="object"){for(const o in r.shape)if($(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if($(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if($(o,n))return!0;return!!(r.rest&&$(r.rest,n))}return!1}const jo=(e,t={})=>n=>{const r=ut({...n,processors:t});return z(e,r),at(r,e),lt(r,e)},Q=(e,t,n={})=>r=>{const{libraryOptions:o,target:s}=r??{},i=ut({...o??{},target:s,io:t,processors:n});return z(e,i),at(i,e),lt(i,e)},Do={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ro=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:s,maximum:i,format:c,patterns:u,contentEncoding:l}=e._zod.bag;if(typeof s=="number"&&(o.minLength=s),typeof i=="number"&&(o.maxLength=i),c&&(o.format=Do[c]??c,o.format===""&&delete o.format,c==="time"&&delete o.format),l&&(o.contentEncoding=l),u&&u.size>0){const f=[...u];f.length===1?o.pattern=f[0].source:f.length>1&&(o.allOf=[...f.map(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Co=(e,t,n,r)=>{const o=n,{minimum:s,maximum:i,format:c,multipleOf:u,exclusiveMaximum:l,exclusiveMinimum:f}=e._zod.bag;typeof c=="string"&&c.includes("int")?o.type="integer":o.type="number",typeof f=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.minimum=f,o.exclusiveMinimum=!0):o.exclusiveMinimum=f),typeof s=="number"&&(o.minimum=s,typeof f=="number"&&t.target!=="draft-04"&&(f>=s?delete o.minimum:delete o.exclusiveMinimum)),typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.maximum=l,o.exclusiveMaximum=!0):o.exclusiveMaximum=l),typeof i=="number"&&(o.maximum=i,typeof l=="number"&&t.target!=="draft-04"&&(l<=i?delete o.maximum:delete o.exclusiveMaximum)),typeof u=="number"&&(o.multipleOf=u)},xo=(e,t,n,r)=>{n.type="boolean"},Fo=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},Uo=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Jo=(e,t,n,r)=>{n.not={}},Lo=(e,t,n,r)=>{},Mo=(e,t,n,r)=>{},Vo=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Bo=(e,t,n,r)=>{const o=e._zod.def,s=Je(o.entries);s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),n.enum=s},Wo=(e,t,n,r)=>{const o=e._zod.def,s=[];for(const i of o.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){const i=s[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),s.every(i=>typeof i=="boolean")&&(n.type="boolean"),s.every(i=>i===null)&&(n.type="null"),n.enum=s},Ko=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Go=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},qo=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Yo=(e,t,n,r)=>{const o=n,s=e._zod.def,{minimum:i,maximum:c}=e._zod.bag;typeof i=="number"&&(o.minItems=i),typeof c=="number"&&(o.maxItems=c),o.type="array",o.items=z(s.element,t,{...r,path:[...r.path,"items"]})},Xo=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="object",o.properties={};const i=s.shape;for(const l in i)o.properties[l]=z(i[l],t,{...r,path:[...r.path,"properties",l]});const c=new Set(Object.keys(i)),u=new Set([...c].filter(l=>{const f=s.shape[l]._zod;return t.io==="input"?f.optin===void 0:f.optout===void 0}));u.size>0&&(o.required=Array.from(u)),s.catchall?._zod.def.type==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=z(s.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Ho=(e,t,n,r)=>{const o=e._zod.def,s=o.inclusive===!1,i=o.options.map((c,u)=>z(c,t,{...r,path:[...r.path,s?"oneOf":"anyOf",u]}));s?n.oneOf=i:n.anyOf=i},Qo=(e,t,n,r)=>{const o=e._zod.def,s=z(o.left,t,{...r,path:[...r.path,"allOf",0]}),i=z(o.right,t,{...r,path:[...r.path,"allOf",1]}),c=l=>"allOf"in l&&Object.keys(l).length===1,u=[...c(s)?s.allOf:[s],...c(i)?i.allOf:[i]];n.allOf=u},ei=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="array";const i=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",u=s.items.map((h,m)=>z(h,t,{...r,path:[...r.path,i,m]})),l=s.rest?z(s.rest,t,{...r,path:[...r.path,c,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null;t.target==="draft-2020-12"?(o.prefixItems=u,l&&(o.items=l)):t.target==="openapi-3.0"?(o.items={anyOf:u},l&&o.items.anyOf.push(l),o.minItems=u.length,l||(o.maxItems=u.length)):(o.items=u,l&&(o.additionalItems=l));const{minimum:f,maximum:p}=e._zod.bag;typeof f=="number"&&(o.minItems=f),typeof p=="number"&&(o.maxItems=p)},ti=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="object";const i=s.keyType,u=i._zod.bag?.patterns;if(s.mode==="loose"&&u&&u.size>0){const f=z(s.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const p of u)o.patternProperties[p.source]=f}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(o.propertyNames=z(s.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=z(s.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const l=i._zod.values;if(l){const f=[...l].filter(p=>typeof p=="string"||typeof p=="number");f.length>0&&(o.required=f)}},ni=(e,t,n,r)=>{const o=e._zod.def,s=z(o.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=o.innerType,n.nullable=!0):n.anyOf=[s,{type:"null"}]},ri=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},oi=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},ii=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},si=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},ci=(e,t,n,r)=>{const o=e._zod.def,s=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;z(s,t,r);const i=t.seen.get(e);i.ref=s},ui=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,n.readOnly=!0},ai=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},ft=(e,t,n,r)=>{const o=e._zod.def;z(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},li=(e,t,n,r)=>{const o=e._zod.innerType;z(o,t,r);const s=t.seen.get(e);s.ref=o},fi=a("ZodISODateTime",(e,t)=>{Vn.init(e,t),b.init(e,t)});function pi(e){return ro(fi,e)}const di=a("ZodISODate",(e,t)=>{Bn.init(e,t),b.init(e,t)});function hi(e){return oo(di,e)}const mi=a("ZodISOTime",(e,t)=>{Wn.init(e,t),b.init(e,t)});function _i(e){return io(mi,e)}const gi=a("ZodISODuration",(e,t)=>{Kn.init(e,t),b.init(e,t)});function vi(e){return so(gi,e)}const zi=(e,t)=>{Be.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Dt(e,n)},flatten:{value:n=>jt(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,ue,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,ue,2)}},isEmpty:{get(){return e.issues.length===0}}})},O=a("ZodError",zi,{Parent:Error}),yi=re(O),bi=oe(O),wi=ie(O),ki=se(O),$i=xt(O),Zi=Ft(O),Si=Ut(O),Oi=Jt(O),Ii=Lt(O),Ti=Mt(O),Pi=Vt(O),Ei=Bt(O),v=a("ZodType",(e,t)=>(g.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Q(e,"input"),output:Q(e,"output")}}),e.toJSONSchema=jo(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(N(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>A(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>yi(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>wi(e,n,r),e.parseAsync=async(n,r)=>bi(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>ki(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>$i(e,n,r),e.decode=(n,r)=>Zi(e,n,r),e.encodeAsync=async(n,r)=>Si(e,n,r),e.decodeAsync=async(n,r)=>Oi(e,n,r),e.safeEncode=(n,r)=>Ii(e,n,r),e.safeDecode=(n,r)=>Ti(e,n,r),e.safeEncodeAsync=async(n,r)=>Pi(e,n,r),e.safeDecodeAsync=async(n,r)=>Ei(e,n,r),e.refine=(n,r)=>e.check(js(n,r)),e.superRefine=n=>e.check(Ds(n)),e.overwrite=n=>e.check(U(n)),e.optional=()=>Re(e),e.exactOptional=()=>vs(e),e.nullable=()=>Ce(e),e.nullish=()=>Re(Ce(e)),e.nonoptional=n=>$s(e,n),e.array=()=>ht(e),e.or=n=>ss([e,n]),e.and=n=>as(e,n),e.transform=n=>xe(e,_s(n)),e.default=n=>bs(e,n),e.prefault=n=>ks(e,n),e.catch=n=>Ss(e,n),e.pipe=n=>xe(e,n),e.readonly=()=>Ts(e),e.describe=n=>{const r=e.clone();return J.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return J.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return J.get(e);const r=e.clone();return J.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),pt=a("_ZodString",(e,t)=>{he.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Ro(e,r,o);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(zo(...r)),e.includes=(...r)=>e.check(wo(...r)),e.startsWith=(...r)=>e.check(ko(...r)),e.endsWith=(...r)=>e.check($o(...r)),e.min=(...r)=>e.check(H(...r)),e.max=(...r)=>e.check(st(...r)),e.length=(...r)=>e.check(ct(...r)),e.nonempty=(...r)=>e.check(H(1,...r)),e.lowercase=r=>e.check(yo(r)),e.uppercase=r=>e.check(bo(r)),e.trim=()=>e.check(So()),e.normalize=(...r)=>e.check(Zo(...r)),e.toLowerCase=()=>e.check(Oo()),e.toUpperCase=()=>e.check(Io()),e.slugify=()=>e.check(To())}),Ni=a("ZodString",(e,t)=>{he.init(e,t),pt.init(e,t),e.email=n=>e.check(Rr(Ai,n)),e.url=n=>e.check(Jr(ji,n)),e.jwt=n=>e.check(no(qi,n)),e.emoji=n=>e.check(Lr(Di,n)),e.guid=n=>e.check(Pe(je,n)),e.uuid=n=>e.check(Cr(G,n)),e.uuidv4=n=>e.check(xr(G,n)),e.uuidv6=n=>e.check(Fr(G,n)),e.uuidv7=n=>e.check(Ur(G,n)),e.nanoid=n=>e.check(Mr(Ri,n)),e.guid=n=>e.check(Pe(je,n)),e.cuid=n=>e.check(Vr(Ci,n)),e.cuid2=n=>e.check(Br(xi,n)),e.ulid=n=>e.check(Wr(Fi,n)),e.base64=n=>e.check(Qr(Wi,n)),e.base64url=n=>e.check(eo(Ki,n)),e.xid=n=>e.check(Kr(Ui,n)),e.ksuid=n=>e.check(Gr(Ji,n)),e.ipv4=n=>e.check(qr(Li,n)),e.ipv6=n=>e.check(Yr(Mi,n)),e.cidrv4=n=>e.check(Xr(Vi,n)),e.cidrv6=n=>e.check(Hr(Bi,n)),e.e164=n=>e.check(to(Gi,n)),e.datetime=n=>e.check(pi(n)),e.date=n=>e.check(hi(n)),e.time=n=>e.check(_i(n)),e.duration=n=>e.check(vi(n))});function Cs(e){return Dr(Ni,e)}const b=a("ZodStringFormat",(e,t)=>{y.init(e,t),pt.init(e,t)}),Ai=a("ZodEmail",(e,t)=>{Dn.init(e,t),b.init(e,t)}),je=a("ZodGUID",(e,t)=>{An.init(e,t),b.init(e,t)}),G=a("ZodUUID",(e,t)=>{jn.init(e,t),b.init(e,t)}),ji=a("ZodURL",(e,t)=>{Rn.init(e,t),b.init(e,t)}),Di=a("ZodEmoji",(e,t)=>{Cn.init(e,t),b.init(e,t)}),Ri=a("ZodNanoID",(e,t)=>{xn.init(e,t),b.init(e,t)}),Ci=a("ZodCUID",(e,t)=>{Fn.init(e,t),b.init(e,t)}),xi=a("ZodCUID2",(e,t)=>{Un.init(e,t),b.init(e,t)}),Fi=a("ZodULID",(e,t)=>{Jn.init(e,t),b.init(e,t)}),Ui=a("ZodXID",(e,t)=>{Ln.init(e,t),b.init(e,t)}),Ji=a("ZodKSUID",(e,t)=>{Mn.init(e,t),b.init(e,t)}),Li=a("ZodIPv4",(e,t)=>{Gn.init(e,t),b.init(e,t)}),Mi=a("ZodIPv6",(e,t)=>{qn.init(e,t),b.init(e,t)}),Vi=a("ZodCIDRv4",(e,t)=>{Yn.init(e,t),b.init(e,t)}),Bi=a("ZodCIDRv6",(e,t)=>{Xn.init(e,t),b.init(e,t)}),Wi=a("ZodBase64",(e,t)=>{Hn.init(e,t),b.init(e,t)}),Ki=a("ZodBase64URL",(e,t)=>{er.init(e,t),b.init(e,t)}),Gi=a("ZodE164",(e,t)=>{tr.init(e,t),b.init(e,t)}),qi=a("ZodJWT",(e,t)=>{rr.init(e,t),b.init(e,t)}),me=a("ZodNumber",(e,t)=>{et.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Co(e,r,o),e.gt=(r,o)=>e.check(Ne(r,o)),e.gte=(r,o)=>e.check(Y(r,o)),e.min=(r,o)=>e.check(Y(r,o)),e.lt=(r,o)=>e.check(Ee(r,o)),e.lte=(r,o)=>e.check(q(r,o)),e.max=(r,o)=>e.check(q(r,o)),e.int=r=>e.check(De(r)),e.safe=r=>e.check(De(r)),e.positive=r=>e.check(Ne(0,r)),e.nonnegative=r=>e.check(Y(0,r)),e.negative=r=>e.check(Ee(0,r)),e.nonpositive=r=>e.check(q(0,r)),e.multipleOf=(r,o)=>e.check(Ae(r,o)),e.step=(r,o)=>e.check(Ae(r,o)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function xs(e){return co(me,e)}const Yi=a("ZodNumberFormat",(e,t)=>{or.init(e,t),me.init(e,t)});function De(e){return ao(Yi,e)}const dt=a("ZodBoolean",(e,t)=>{ir.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xo(e,n,r)});function Fs(e){return lo(dt,e)}const Xi=a("ZodNull",(e,t)=>{sr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fo(e,n,r)});function Us(e){return po(Xi,e)}const Hi=a("ZodAny",(e,t)=>{cr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lo()});function Js(){return ho(Hi)}const Qi=a("ZodUnknown",(e,t)=>{ur.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mo()});function ee(){return mo(Qi)}const es=a("ZodNever",(e,t)=>{ar.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jo(e,n,r)});function ts(e){return _o(es,e)}const ns=a("ZodVoid",(e,t)=>{lr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Uo(e,n)});function Ls(e){return go(ns,e)}const rs=a("ZodDate",(e,t)=>{fr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Vo(e,r),e.min=(r,o)=>e.check(Y(r,o)),e.max=(r,o)=>e.check(q(r,o));const n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function Ms(e){return vo(rs,e)}const os=a("ZodArray",(e,t)=>{pr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yo(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(H(n,r)),e.nonempty=n=>e.check(H(1,n)),e.max=(n,r)=>e.check(st(n,r)),e.length=(n,r)=>e.check(ct(n,r)),e.unwrap=()=>e.element});function ht(e,t){return Po(os,e,t)}const is=a("ZodObject",(e,t)=>{hr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xo(e,n,r,o),_(e,"shape",()=>t.shape),e.keyof=()=>ds(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ee()}),e.loose=()=>e.clone({...e._zod.def,catchall:ee()}),e.strict=()=>e.clone({...e._zod.def,catchall:ts()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>Tt(e,n),e.safeExtend=n=>Pt(e,n),e.merge=n=>Et(e,n),e.pick=n=>Ot(e,n),e.omit=n=>It(e,n),e.partial=(...n)=>Nt(_t,e,n[0]),e.required=(...n)=>At(gt,e,n[0])});function Vs(e,t){const n={type:"object",shape:e??{},...d(t)};return new is(n)}const mt=a("ZodUnion",(e,t)=>{rt.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ho(e,n,r,o),e.options=t.options});function ss(e,t){return new mt({type:"union",options:e,...d(t)})}const cs=a("ZodDiscriminatedUnion",(e,t)=>{mt.init(e,t),mr.init(e,t)});function Bs(e,t,n){return new cs({type:"union",options:t,discriminator:e,...d(n)})}const us=a("ZodIntersection",(e,t)=>{_r.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qo(e,n,r,o)});function as(e,t){return new us({type:"intersection",left:e,right:t})}const ls=a("ZodTuple",(e,t)=>{ot.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ei(e,n,r,o),e.rest=n=>e.clone({...e._zod.def,rest:n})});function fs(e,t,n){const r=t instanceof g,o=r?n:t,s=r?t:null;return new ls({type:"tuple",items:e,rest:s,...d(o)})}const ps=a("ZodRecord",(e,t)=>{gr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ti(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Ws(e,t,n){return new ps({type:"record",keyType:e,valueType:t,...d(n)})}const le=a("ZodEnum",(e,t)=>{vr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Bo(e,r,o),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const s={};for(const i of r)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new le({...t,checks:[],...d(o),entries:s})},e.exclude=(r,o)=>{const s={...t.entries};for(const i of r)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new le({...t,checks:[],...d(o),entries:s})}});function ds(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new le({type:"enum",entries:n,...d(t)})}const hs=a("ZodLiteral",(e,t)=>{zr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wo(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Ks(e,t){return new hs({type:"literal",values:Array.isArray(e)?e:[e],...d(t)})}const ms=a("ZodTransform",(e,t)=>{yr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qo(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Fe(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(M(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(M(i))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function _s(e){return new ms({type:"transform",transform:e})}const _t=a("ZodOptional",(e,t)=>{it.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ft(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Re(e){return new _t({type:"optional",innerType:e})}const gs=a("ZodExactOptional",(e,t)=>{br.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ft(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function vs(e){return new gs({type:"optional",innerType:e})}const zs=a("ZodNullable",(e,t)=>{wr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ni(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ce(e){return new zs({type:"nullable",innerType:e})}const ys=a("ZodDefault",(e,t)=>{kr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>oi(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function bs(e,t){return new ys({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Me(t)}})}const ws=a("ZodPrefault",(e,t)=>{$r.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ii(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ks(e,t){return new ws({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Me(t)}})}const gt=a("ZodNonOptional",(e,t)=>{Zr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ri(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function $s(e,t){return new gt({type:"nonoptional",innerType:e,...d(t)})}const Zs=a("ZodCatch",(e,t)=>{Sr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>si(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ss(e,t){return new Zs({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const Os=a("ZodPipe",(e,t)=>{Or.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ci(e,n,r,o),e.in=t.in,e.out=t.out});function xe(e,t){return new Os({type:"pipe",in:e,out:t})}const Is=a("ZodReadonly",(e,t)=>{Ir.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ui(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ts(e){return new Is({type:"readonly",innerType:e})}const Ps=a("ZodLazy",(e,t)=>{Er.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>li(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function Gs(e){return new Ps({type:"lazy",getter:e})}const Es=a("ZodPromise",(e,t)=>{Pr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ai(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function qs(e){return new Es({type:"promise",innerType:e})}const Ns=a("ZodFunction",(e,t)=>{Tr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Go(e,n)});function Ys(e){return new Ns({type:"function",input:Array.isArray(e?.input)?fs(e?.input):ht(ee()),output:ee()})}const As=a("ZodCustom",(e,t)=>{Nr.init(e,t),v.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ko(e,n)});function js(e,t={}){return Eo(As,e,t)}function Ds(e){return No(e)}const Xs={custom:"custom"};function Hs(e){return uo(me,e)}function Qs(e){return fo(dt,e)}export{Xs as Z,ds as _,ht as a,Fs as b,ss as c,Bs as d,Js as e,Gs as f,Ys as g,Us as h,Ls as i,as as j,Qs as k,Ks as l,Hs as m,xs as n,Vs as o,qs as p,Ms as q,Ws as r,Cs as s,fs as t,ee as u};
|
package/dist/index.html
CHANGED
|
@@ -19,29 +19,29 @@
|
|
|
19
19
|
<script>
|
|
20
20
|
window.process = window.process || { env: { NODE_ENV: 'development' }, version: '', platform: 'browser' };
|
|
21
21
|
</script>
|
|
22
|
-
<script type="module" crossorigin src="/console/assets/index-
|
|
22
|
+
<script type="module" crossorigin src="/console/assets/index-fjkakZm9.js"></script>
|
|
23
23
|
<link rel="modulepreload" crossorigin href="/console/assets/vendor-react-9M-xu2bR.js">
|
|
24
|
-
<link rel="modulepreload" crossorigin href="/console/assets/vendor-zod-
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/console/assets/vendor-objectstack-
|
|
26
|
-
<link rel="modulepreload" crossorigin href="/console/assets/framework-
|
|
24
|
+
<link rel="modulepreload" crossorigin href="/console/assets/vendor-zod-C5j6C2CQ.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/console/assets/vendor-objectstack-CatrkstC.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/console/assets/framework-52FGgFF6.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/console/assets/vendor-ui-utils-3tkeUVaX.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/console/assets/vendor-icons-ndICq8DC.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/console/assets/vendor-i18n-E3-WitRV.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/console/assets/vendor-radix-C6qchjxv.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/console/assets/vendor-charts-BLNOCZWl.js">
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/console/assets/infrastructure-
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/console/assets/ui-components-
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/console/assets/infrastructure-Dn7jNPwf.js">
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/console/assets/ui-components-BE4yvyhE.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/console/assets/vendor-dndkit-CX1oDZqy.js">
|
|
35
|
-
<link rel="modulepreload" crossorigin href="/console/assets/plugins-views-
|
|
36
|
-
<link rel="modulepreload" crossorigin href="/console/assets/plugins-core-
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/console/assets/data-adapter-
|
|
38
|
-
<link rel="modulepreload" crossorigin href="/console/assets/ui-layout-
|
|
39
|
-
<link rel="stylesheet" crossorigin href="/console/assets/ui-components-
|
|
35
|
+
<link rel="modulepreload" crossorigin href="/console/assets/plugins-views-DZCu8Ex3.js">
|
|
36
|
+
<link rel="modulepreload" crossorigin href="/console/assets/plugins-core-CP8uPw4p.js">
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/console/assets/data-adapter-Bif-TtZA.js">
|
|
38
|
+
<link rel="modulepreload" crossorigin href="/console/assets/ui-layout-CYnH69Z2.js">
|
|
39
|
+
<link rel="stylesheet" crossorigin href="/console/assets/ui-components-CxztIKgM.css">
|
|
40
40
|
<link rel="stylesheet" crossorigin href="/console/assets/plugins-views-P3eB-els.css">
|
|
41
|
-
<link rel="stylesheet" crossorigin href="/console/assets/index-
|
|
41
|
+
<link rel="stylesheet" crossorigin href="/console/assets/index-h9Jznm67.css">
|
|
42
42
|
<link rel="modulepreload" href="/console/assets/vendor-react-9M-xu2bR.js" />
|
|
43
|
-
<link rel="modulepreload" href="/console/assets/framework-
|
|
44
|
-
<link rel="modulepreload" href="/console/assets/ui-components-
|
|
43
|
+
<link rel="modulepreload" href="/console/assets/framework-52FGgFF6.js" />
|
|
44
|
+
<link rel="modulepreload" href="/console/assets/ui-components-BE4yvyhE.js" />
|
|
45
45
|
<link rel="modulepreload" href="/console/assets/vendor-radix-C6qchjxv.js" />
|
|
46
46
|
</head>
|
|
47
47
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@object-ui/console",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "ObjectStack Console - The standard runtime UI for ObjectStack applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./plugin.js",
|
|
@@ -51,36 +51,36 @@
|
|
|
51
51
|
"typescript": "^5.9.3",
|
|
52
52
|
"vite": "^6.4.1",
|
|
53
53
|
"vitest": "^4.0.18",
|
|
54
|
-
"@object-ui/
|
|
55
|
-
"@object-ui/
|
|
56
|
-
"@object-ui/components": "3.1.
|
|
57
|
-
"@object-ui/core": "3.1.
|
|
58
|
-
"@object-ui/data-objectstack": "3.1.
|
|
59
|
-
"@object-ui/example-crm": "3.1.0",
|
|
54
|
+
"@object-ui/collaboration": "3.1.2",
|
|
55
|
+
"@object-ui/auth": "3.1.2",
|
|
56
|
+
"@object-ui/components": "3.1.2",
|
|
57
|
+
"@object-ui/core": "3.1.2",
|
|
58
|
+
"@object-ui/data-objectstack": "3.1.2",
|
|
60
59
|
"@object-ui/example-kitchen-sink": "3.1.0",
|
|
61
60
|
"@object-ui/example-todo": "3.1.0",
|
|
62
|
-
"@object-ui/
|
|
63
|
-
"@object-ui/
|
|
64
|
-
"@object-ui/
|
|
65
|
-
"@object-ui/mobile": "3.1.
|
|
66
|
-
"@object-ui/
|
|
67
|
-
"@object-ui/
|
|
68
|
-
"@object-ui/plugin-
|
|
69
|
-
"@object-ui/plugin-
|
|
70
|
-
"@object-ui/plugin-
|
|
71
|
-
"@object-ui/plugin-
|
|
72
|
-
"@object-ui/plugin-
|
|
73
|
-
"@object-ui/plugin-
|
|
74
|
-
"@object-ui/plugin-
|
|
75
|
-
"@object-ui/plugin-
|
|
76
|
-
"@object-ui/plugin-
|
|
77
|
-
"@object-ui/plugin-
|
|
78
|
-
"@object-ui/plugin-
|
|
79
|
-
"@object-ui/plugin-
|
|
80
|
-
"@object-ui/plugin-
|
|
81
|
-
"@object-ui/plugin-
|
|
82
|
-
"@object-ui/
|
|
83
|
-
"@object-ui/
|
|
61
|
+
"@object-ui/example-crm": "3.1.0",
|
|
62
|
+
"@object-ui/fields": "3.1.2",
|
|
63
|
+
"@object-ui/i18n": "3.1.2",
|
|
64
|
+
"@object-ui/mobile": "3.1.2",
|
|
65
|
+
"@object-ui/layout": "3.1.2",
|
|
66
|
+
"@object-ui/permissions": "3.1.2",
|
|
67
|
+
"@object-ui/plugin-calendar": "3.1.2",
|
|
68
|
+
"@object-ui/plugin-charts": "3.1.2",
|
|
69
|
+
"@object-ui/plugin-dashboard": "3.1.2",
|
|
70
|
+
"@object-ui/plugin-designer": "3.1.2",
|
|
71
|
+
"@object-ui/plugin-detail": "3.1.2",
|
|
72
|
+
"@object-ui/plugin-form": "3.1.2",
|
|
73
|
+
"@object-ui/plugin-gantt": "3.1.2",
|
|
74
|
+
"@object-ui/plugin-grid": "3.1.2",
|
|
75
|
+
"@object-ui/plugin-kanban": "3.1.2",
|
|
76
|
+
"@object-ui/plugin-list": "3.1.2",
|
|
77
|
+
"@object-ui/plugin-map": "3.1.2",
|
|
78
|
+
"@object-ui/plugin-markdown": "3.1.2",
|
|
79
|
+
"@object-ui/plugin-report": "3.1.2",
|
|
80
|
+
"@object-ui/plugin-timeline": "3.1.2",
|
|
81
|
+
"@object-ui/plugin-view": "3.1.2",
|
|
82
|
+
"@object-ui/react": "3.1.2",
|
|
83
|
+
"@object-ui/types": "3.1.2"
|
|
84
84
|
},
|
|
85
85
|
"msw": {
|
|
86
86
|
"workerDirectory": [
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Dv78M4Xq.js","assets/framework-BM176iet.js","assets/vendor-react-9M-xu2bR.js","assets/vendor-objectstack-YKtcdalX.js","assets/vendor-zod-DxQVy2_o.js","assets/ui-components-BxvihT61.js","assets/vendor-ui-utils-3tkeUVaX.js","assets/vendor-icons-ndICq8DC.js","assets/vendor-radix-C6qchjxv.js","assets/vendor-i18n-E3-WitRV.js","assets/vendor-charts-BLNOCZWl.js","assets/infrastructure-n1j_TN6w.js","assets/ui-components-CRV2BvKI.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{S as w,h as v,i as j,j as b,k as y,b7 as S,b8 as E,b9 as N,ap as k}from"./ui-components-BxvihT61.js";import{r,j as e,i as D,k as P}from"./vendor-react-9M-xu2bR.js";import{S as C}from"./framework-BM176iet.js";import{b as _}from"./vendor-ui-utils-3tkeUVaX.js";import{a as O,u as R,b as T,M as L}from"./index-CTBPkbPG.js";import{ak as M,at as $}from"./vendor-icons-ndICq8DC.js";import"./vendor-radix-C6qchjxv.js";import"./vendor-i18n-E3-WitRV.js";import"./vendor-charts-BLNOCZWl.js";import"./infrastructure-n1j_TN6w.js";import"./vendor-objectstack-YKtcdalX.js";import"./vendor-zod-DxQVy2_o.js";import"./plugins-core-qwgXbAqa.js";import"./vendor-dndkit-CX1oDZqy.js";import"./plugins-views-CveFN6PV.js";import"./data-adapter-rvE3xy2B.js";import"./ui-layout-C6KWQtRO.js";function A({open:a,onOpenChange:x,title:o,description:m,schema:i,onSchemaChange:p,collection:s,recordName:l,children:h}){const u=O(),f=r.useRef(i);f.current=i;const c=r.useCallback(async t=>{try{if(u)return await u.update(s,l,t),!0}catch(n){console.warn("[DesignDrawer] Auto-save failed:",n)}return!1},[u,s,l]),d=r.useCallback(async t=>{p(t),await c(t)},[p,c]);return r.useEffect(()=>{if(!a)return;const t=n=>{(n.ctrlKey||n.metaKey)&&n.key==="s"&&(n.preventDefault(),c(f.current).then(g=>{g&&_.success(`${o} saved`)}))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[a,c,o]),e.jsx(w,{open:a,onOpenChange:x,modal:!1,children:e.jsxs(v,{side:"right",hideOverlay:!0,className:"w-full sm:w-[540px] sm:max-w-[540px] lg:w-[640px] lg:max-w-[640px] p-0 flex flex-col","data-testid":"design-drawer",children:[e.jsxs(j,{className:"px-4 py-3 border-b shrink-0",children:[e.jsx(b,{children:o}),e.jsx(y,{className:m?"":"sr-only",children:m||`Visual editor — configure and preview ${o}`})]}),e.jsx("div",{className:"flex-1 overflow-auto p-4",children:h(i,d)})]})})}const I=r.lazy(()=>k(()=>import("./index-Dv78M4Xq.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])).then(a=>({default:a.PageCanvasEditor})));function ae(){const{pageName:a}=D(),[x]=P(),{showDebug:o}=R(),[m,i]=r.useState(!1),{pages:p}=T(),s=p?.find(t=>t.name===a),[l,h]=r.useState(null),u=r.useCallback(()=>{h(s),i(!0)},[s]),f=r.useCallback(t=>{i(t)},[]);if(!s)return e.jsx("div",{className:"h-full flex items-center justify-center p-8",children:e.jsxs(S,{children:[e.jsx("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted",children:e.jsx(M,{className:"h-6 w-6 text-muted-foreground"})}),e.jsx(E,{children:"Page Not Found"}),e.jsxs(N,{children:['The page "',a,'" could not be found. It may have been removed or renamed.']})]})});const c=Object.fromEntries(x.entries()),d=m&&l?l:s;return e.jsxs("div",{className:"flex flex-row h-full w-full overflow-hidden relative",children:[e.jsxs("div",{className:"flex-1 overflow-auto h-full relative group",children:[e.jsx("div",{className:`absolute top-1.5 sm:top-2 right-1.5 sm:right-2 z-50 flex items-center gap-1.5 transition-opacity ${o?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:e.jsxs("button",{type:"button",onClick:u,className:"inline-flex items-center gap-1.5 rounded-md border border-input bg-background px-2.5 py-1.5 text-xs font-medium text-muted-foreground shadow-sm hover:bg-accent hover:text-accent-foreground","data-testid":"page-edit-button",children:[e.jsx($,{className:"h-3.5 w-3.5"}),"Edit"]})}),e.jsx(C,{schema:{...d,type:d.type||"page",context:{...d.context,params:c}}})]}),e.jsx(L,{open:o,sections:[{title:"Page Configuration",data:d}]}),e.jsx(A,{open:m,onOpenChange:f,title:`Edit Page: ${s.label||s.title||a}`,schema:l||s,onSchemaChange:h,collection:"sys_page",recordName:a,children:(t,n)=>e.jsx(r.Suspense,{fallback:e.jsx("div",{className:"p-4 text-muted-foreground",children:"Loading editor…"}),children:e.jsx(I,{schema:t,onChange:n})})})]})}export{ae as PageView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,r as c,i as ne,h as ae}from"./vendor-react-9M-xu2bR.js";import{D as re,R as le}from"./plugins-views-CveFN6PV.js";import{p as x,be as ie,bf as oe,bg as ce,bh as de,bi as me,bj as ue,bk as fe,bl as he,D as pe,O as xe,l as ge,n as je,o as be,a9 as ye,$ as ve,a0 as we,a1 as Ne,a2 as Ae,a3 as Ce,bm as De,aa as P,U as _e,B as U,b7 as ke,b8 as Ie,b9 as Re}from"./ui-components-BxvihT61.js";import{A as $e}from"./framework-BM176iet.js";import{c as Te,u as Ee}from"./infrastructure-n1j_TN6w.js";import{b as H}from"./vendor-ui-utils-3tkeUVaX.js";import{u as Ve,P as Fe,M as Pe}from"./index-CTBPkbPG.js";import{aQ as Ue,b4 as He}from"./vendor-icons-ndICq8DC.js";import"./vendor-charts-BLNOCZWl.js";import"./vendor-i18n-E3-WitRV.js";import"./vendor-radix-C6qchjxv.js";import"./vendor-objectstack-YKtcdalX.js";import"./vendor-zod-DxQVy2_o.js";import"./plugins-core-qwgXbAqa.js";import"./vendor-dndkit-CX1oDZqy.js";import"./data-adapter-rvE3xy2B.js";import"./ui-layout-C6KWQtRO.js";function Oe({fields:r=8,columns:h=2}){return e.jsxs("div",{className:"w-full space-y-6 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(x,{className:"h-8 w-8 rounded"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(x,{className:"h-6 w-48"}),e.jsx(x,{className:"h-4 w-32"})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{className:"h-9 w-20"}),e.jsx(x,{className:"h-9 w-20"})]})]}),e.jsx(x,{className:"h-5 w-24"}),e.jsx("div",{className:`grid grid-cols-1 ${h===2?"md:grid-cols-2":""} gap-4`,children:Array.from({length:r}).map((p,i)=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(x,{className:"h-4 w-24"}),e.jsx(x,{className:"h-9 w-full"})]},`field-${i}`))}),e.jsxs("div",{className:"space-y-3 pt-4 border-t",children:[e.jsx(x,{className:"h-5 w-32"}),e.jsx("div",{className:"space-y-2",children:Array.from({length:3}).map((p,i)=>e.jsxs("div",{className:"flex items-center gap-3 py-2",children:[e.jsx(x,{className:"h-8 w-8 rounded-full"}),e.jsxs("div",{className:"flex-1 space-y-1",children:[e.jsx(x,{className:"h-4 w-40"}),e.jsx(x,{className:"h-3 w-24"})]})]},`related-${i}`))})]})]})}function Se({state:r,onOpenChange:h}){const p=()=>{r.resolve?.(!0),h(!1)},i=()=>{r.resolve?.(!1),h(!1)};return e.jsx(ie,{open:r.open,onOpenChange:g=>{g||i()},children:e.jsxs(oe,{children:[e.jsxs(ce,{children:[e.jsx(de,{children:r.options?.title||"Confirm Action"}),e.jsx(me,{children:r.message})]}),e.jsxs(ue,{children:[e.jsx(fe,{onClick:i,children:r.options?.cancelText||"Cancel"}),e.jsx(he,{onClick:p,children:r.options?.confirmText||"Continue"})]})]})})}function Le({state:r,onOpenChange:h}){const[p,i]=c.useState({}),[g,N]=c.useState({});c.useEffect(()=>{if(r.open){const n={};for(const o of r.params)o.defaultValue!==void 0&&(n[o.name]=o.defaultValue);i(n),N({})}},[r.open,r.params]);const v=n=>n==null?!0:typeof n=="string"?n.trim()==="":Array.isArray(n)?n.length===0:!1,A=()=>{const n={};for(const o of r.params)o.required&&v(p[o.name])&&(n[o.name]=!0);if(Object.keys(n).length>0){N(n);return}r.resolve?.(p),h(!1)},C=()=>{r.resolve?.(null),h(!1)},w=(n,o)=>{i(b=>({...b,[n]:o})),N(b=>({...b,[n]:!1}))};return e.jsx(pe,{open:r.open,onOpenChange:n=>{n||C()},children:e.jsxs(xe,{children:[e.jsxs(ge,{children:[e.jsx(je,{children:"Action Parameters"}),e.jsx(be,{children:"Please provide the required information to continue."})]}),e.jsx("div",{className:"grid gap-4 py-4",children:r.params.map(n=>e.jsxs("div",{className:"grid gap-2",children:[e.jsxs(ye,{htmlFor:n.name,children:[n.label,n.required&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),n.type==="select"&&n.options?e.jsxs(ve,{value:p[n.name]??"",onValueChange:o=>w(n.name,o),children:[e.jsx(we,{id:n.name,className:g[n.name]?"border-destructive":"",children:e.jsx(Ne,{placeholder:n.placeholder||`Select ${n.label}`})}),e.jsx(Ae,{children:n.options.map(o=>e.jsx(Ce,{value:o.value,children:o.label},o.value))})]}):n.type==="textarea"?e.jsx(De,{id:n.name,value:p[n.name]??"",onChange:o=>w(n.name,o.target.value),placeholder:n.placeholder,className:g[n.name]?"border-destructive":""}):n.type==="number"?e.jsx(P,{id:n.name,type:"number",value:p[n.name]??"",onChange:o=>w(n.name,o.target.value===""?void 0:o.target.valueAsNumber),placeholder:n.placeholder,className:g[n.name]?"border-destructive":""}):e.jsx(P,{id:n.name,type:["email","url","date","datetime-local","time","password"].includes(n.type)?n.type:"text",value:p[n.name]??"",onChange:o=>w(n.name,o.target.value),placeholder:n.placeholder,className:g[n.name]?"border-destructive":""}),g[n.name]&&e.jsxs("p",{className:"text-xs text-destructive",children:[n.label," is required"]}),n.helpText&&e.jsx("p",{className:"text-xs text-muted-foreground",children:n.helpText})]},n.name))}),e.jsxs(_e,{children:[e.jsx(U,{variant:"outline",onClick:C,children:"Cancel"}),e.jsx(U,{onClick:A,children:"Confirm"})]})]})})}const qe={id:"current-user",name:"Demo User"},Me=["status","stage","priority","category","type","owner","amount"];function ot({dataSource:r,objects:h,onEdit:p}){const{objectName:i,recordId:g}=ne(),{showDebug:N}=Ve(),{user:v}=Te(),A=ae(),{t:C}=Ee(),[w,n]=c.useState(!0),[o,b]=c.useState([]),[I,O]=c.useState([]),[S,L]=c.useState(0),[q,M]=c.useState({}),m=h.find(s=>s.name===i),u=g,[B,R]=c.useState({open:!1,message:""}),[G,$]=c.useState({open:!1,params:[]}),K=c.useCallback((s,t)=>new Promise(a=>{R({open:!0,message:s,options:t,resolve:a})}),[]),z=c.useCallback(s=>new Promise(t=>{$({open:!0,params:s,resolve:t})}),[]),Q=c.useCallback((s,t)=>{t?.type==="error"?H.error(s):H.success(s)},[]),J=c.useCallback((s,t)=>{t?.external||t?.newTab?window.open(s,"_blank","noopener,noreferrer"):A(s)},[A]),W=c.useCallback(async s=>{try{const t=s.target||s.name,a=s.params||{};switch(t){case"opportunity_change_stage":await r.update(i,u,{stage:a.new_stage});break;case"opportunity_mark_won":await r.update(i,u,{stage:"closed_won"});break;case"opportunity_mark_lost":await r.update(i,u,{stage:"closed_lost",loss_reason:a.loss_reason});break;default:Object.keys(a).length>0&&await r.update(i,u,a);break}const l=s.refreshAfter===!0;return l&&L(d=>d+1),{success:!0,reload:l}}catch(t){return{success:!1,error:t.message}}},[r,i,u]),D=c.useMemo(()=>{if(!m||!h)return[];const s=[];for(const t of h)if(t.name!==m.name)for(const[a,l]of Object.entries(t.fields||{}))l&&(l.type==="lookup"||l.type==="master_detail")&&(l.reference_to||l.reference)===m.name&&s.push({childObject:t.name,childLabel:t.label||t.name,referenceField:a});return s},[m,h]);c.useEffect(()=>{if(!r||!u||D.length===0)return;let s=!1;return Promise.all(D.map(({childObject:t,referenceField:a})=>r.find(t,{$filter:{[a]:u}}).then(l=>{const d=Array.isArray(l)?l:l?.data||[];return{childObject:t,items:d}}).catch(l=>(console.warn(`[RecordDetailView] Failed to fetch related ${t}:`,l),{childObject:t,items:[]})))).then(t=>{if(s)return;const a={};for(const{childObject:l,items:d}of t)a[l]=d;M(a)}),()=>{s=!0}},[r,u,D]);const f=v?{id:v.id,name:v.name,avatar:v.image}:qe;c.useEffect(()=>{if(!r||!i||!u)return;const s=`${i}:${u}`;r.find("sys_presence",{$filter:`recordId eq '${u}'`}).then(t=>{t.data?.length&&O(t.data)}).catch(()=>{}),r.find("sys_comment",{$filter:`threadId eq '${s}'`,$orderby:"createdAt asc"}).then(t=>{t.data?.length&&b(t.data.map(a=>({id:a.id,type:"comment",actor:a.author?.name??"Unknown",actorAvatarUrl:a.author?.avatar,body:a.content,createdAt:a.createdAt,updatedAt:a.updatedAt,parentId:a.parentId,reactions:a.reactions?Object.entries(a.reactions).map(([l,d])=>({emoji:l,count:d.length,reacted:d.includes(f.id)})):void 0})))}).catch(()=>{})},[r,i,u,f]);const X=c.useCallback(async s=>{const t={id:crypto.randomUUID(),type:"comment",actor:f.name,actorAvatarUrl:"avatar"in f?f.avatar:void 0,body:s,createdAt:new Date().toISOString()};if(b(a=>[...a,t]),r){const a=`${i}:${u}`;r.create("sys_comment",{id:t.id,threadId:a,author:f,content:s,mentions:[],createdAt:t.createdAt}).catch(()=>{})}},[f,r,i,u]),Y=c.useCallback(async(s,t)=>{const a={id:crypto.randomUUID(),type:"comment",actor:f.name,actorAvatarUrl:"avatar"in f?f.avatar:void 0,body:t,createdAt:new Date().toISOString(),parentId:s};if(b(l=>[...l,a].map(j=>j.id===s?{...j,replyCount:(j.replyCount??0)+1}:j)),r){const l=`${i}:${u}`;r.create("sys_comment",{id:a.id,threadId:l,author:f,content:t,mentions:[],createdAt:a.createdAt,parentId:s}).catch(()=>{})}},[f,r,i,u]),Z=c.useCallback((s,t)=>{b(a=>a.map(l=>{if(l.id!==s)return l;const d=[...l.reactions??[]],j=d.findIndex(y=>y.emoji===t);if(j>=0){const y=d[j];y.reacted?y.count<=1?d.splice(j,1):d[j]={...y,count:y.count-1,reacted:!1}:d[j]={...y,count:y.count+1,reacted:!0}}else d.push({emoji:t,count:1,reacted:!0});const se={...l,reactions:d};return r&&r.update("sys_comment",String(s),{$toggleReaction:{emoji:t,userId:f.id}}).catch(()=>{}),se}))},[f.id,r]);if(c.useEffect(()=>{n(!0),queueMicrotask(()=>n(!1))},[i,g]),w)return e.jsx(Oe,{});if(!m)return e.jsx("div",{className:"flex h-full items-center justify-center p-4",children:e.jsxs(ke,{children:[e.jsx("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted",children:e.jsx(Ue,{className:"h-6 w-6 text-muted-foreground"})}),e.jsx(Ie,{children:"Object Not Found"}),e.jsxs(Re,{children:['Object "',i,'" definition missing. Check your configuration or navigate back to select a valid object.']})]})});const ee=m.primaryField||Object.keys(m.fields||{}).find(s=>s==="name"||s==="title"),_=m.views?.form?.sections,te=_&&_.length>0?_.map(s=>({title:s.title,collapsible:s.collapsible,defaultCollapsed:s.defaultCollapsed,fields:(s.fields||[]).map(t=>{const a=typeof t=="string"?t:t.name,l=m.fields[a];if(!l)return console.warn(`[RecordDetailView] Field "${a}" not found in ${m.name} definition`),{name:a,label:a};const d=l.reference_to||l.reference;return{name:a,label:l.label||a,type:l.type||"text",...l.options&&{options:l.options},...d&&{reference_to:d},...l.reference_field&&{reference_field:l.reference_field},...l.currency&&{currency:l.currency}}})})):[{title:C("detail.details",{defaultValue:"Details"}),fields:Object.keys(m.fields||{}).map(s=>{const t=m.fields[s],a=t.reference_to||t.reference;return{name:s,label:t.label||s,type:t.type||"text",...t.options&&{options:t.options},...a&&{reference_to:a},...t.reference_field&&{reference_field:t.reference_field},...t.currency&&{currency:t.currency}}})}],T=(()=>{const s=new Set;return(m.actions||[]).filter(t=>t.locations?.includes("record_header")?t.name?s.has(t.name)?!1:(s.add(t.name),!0):!0:!1)})(),E=m.views?.detail?.highlightFields??Object.entries(m.fields||{}).filter(([s])=>Me.includes(s)).map(([s,t])=>({name:s,label:t.label||s,...t.type&&{type:t.type}})),k=m.views?.detail?.sectionGroups??m.views?.form?.sectionGroups,V=D.map(({childObject:s,childLabel:t})=>({title:t,type:"table",api:s,data:q[s]||[]})),F={type:"detail-view",objectName:m.name,resourceId:u,showBack:!0,onBack:"history",showEdit:!0,title:m.label,primaryField:ee,sections:te,autoTabs:!0,autoDiscoverRelated:!0,...V.length>0&&{related:V},...E.length>0&&{highlightFields:E},...k&&k.length>0&&{sectionGroups:k},...T.length>0&&{actions:[{type:"action:bar",location:"record_header",actions:T}]}};return e.jsxs("div",{className:"h-full bg-background overflow-hidden flex flex-col relative",children:[e.jsx("div",{className:"absolute top-2 sm:top-4 right-2 sm:right-4 z-50 flex items-center gap-2",children:I.length>0&&e.jsxs("div",{className:"flex items-center gap-1.5",title:"Users viewing this record",children:[e.jsx(He,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx(Fe,{users:I,size:"sm",maxVisible:4,showStatus:!0})]})}),e.jsxs("div",{className:"flex-1 overflow-hidden flex flex-row",children:[e.jsxs("div",{className:"flex-1 overflow-auto p-3 sm:p-4 lg:p-6 scroll-pb-48",children:[e.jsx($e,{context:{record:{},objectName:i,user:f},onConfirm:K,onToast:Q,onNavigate:J,onParamCollection:z,handlers:{api:W},children:e.jsx(re,{schema:F,dataSource:r,onEdit:()=>{p({_id:u,id:u})}},S)}),e.jsx("div",{className:"mt-6 border-t pt-6",children:e.jsx(le,{config:{position:"bottom",collapsible:!1,feed:{enableReactions:!0,enableThreading:!0,showCommentInput:!0}},items:o,onAddComment:X,onAddReply:Y,onToggleReaction:Z})})]}),e.jsx(Pe,{open:N,sections:[{title:"View Schema",data:F}]})]}),e.jsx(Se,{state:B,onOpenChange:s=>{s||R(t=>({...t,open:!1}))}}),e.jsx(Le,{state:G,onOpenChange:s=>{s||$(t=>({...t,open:!1}))}})]})}export{ot as RecordDetailView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as S}from"./vendor-objectstack-YKtcdalX.js";import{j as A}from"./framework-BM176iet.js";class O{cache;maxSize;ttl;stats;constructor(t={}){this.cache=new Map,this.maxSize=t.maxSize||100,this.ttl=t.ttl||300*1e3,this.stats={hits:0,misses:0,evictions:0}}async get(t,e){const s=Date.now(),n=this.cache.get(t);if(n){if(s-n.timestamp<this.ttl)return n.accessCount++,n.lastAccessed=s,this.stats.hits++,this.cache.delete(t),this.cache.set(t,n),n.data;this.cache.delete(t)}this.stats.misses++;const r=await e();return this.set(t,r),r}set(t,e){const s=Date.now();this.cache.size>=this.maxSize&&!this.cache.has(t)&&this.evictLRU(),this.cache.set(t,{data:e,timestamp:s,accessCount:1,lastAccessed:s})}evictLRU(){const t=this.cache.keys().next().value;t!==void 0&&(this.cache.delete(t),this.stats.evictions++)}invalidate(t){t?this.cache.delete(t):this.cache.clear()}clear(){this.cache.clear(),this.stats={hits:0,misses:0,evictions:0}}getStats(){const t=this.stats.hits+this.stats.misses,e=t>0?this.stats.hits/t:0;return{size:this.cache.size,maxSize:this.maxSize,hits:this.stats.hits,misses:this.stats.misses,evictions:this.stats.evictions,hitRate:e}}getCachedSync(t){const e=this.cache.get(t);if(e){if(this.ttl>0&&Date.now()-e.timestamp>this.ttl){this.cache.delete(t);return}return this.cache.delete(t),this.cache.set(t,e),this.stats.hits++,e.data}}has(t){const e=this.cache.get(t);return e?Date.now()-e.timestamp>=this.ttl?(this.cache.delete(t),!1):!0:!1}}class g extends Error{constructor(t,e,s,n){super(t),this.code=e,this.statusCode=s,this.details=n,this.name="ObjectStackError",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toJSON(){return{name:this.name,message:this.message,code:this.code,statusCode:this.statusCode,details:this.details,stack:this.stack}}}class $ extends g{constructor(t,e){super(`Metadata not found for object: ${t}`,"METADATA_NOT_FOUND",404,{objectName:t,...e}),this.name="MetadataNotFoundError"}}class m extends g{constructor(t,e,s,n,r){super(`Bulk ${t} operation failed: ${e} succeeded, ${s} failed`,"BULK_OPERATION_ERROR",500,{operation:t,successCount:e,failureCount:s,errors:n,...r}),this.successCount=e,this.failureCount=s,this.errors=n,this.name="BulkOperationError"}getSummary(){const t=this.successCount+this.failureCount,e=t>0?this.failureCount/t:0;return{operation:this.details?.operation,total:t,successful:this.successCount,failed:this.failureCount,failureRate:e,errors:this.errors}}}class y extends g{constructor(t,e,s,n){super(`Connection error: ${t}`,"CONNECTION_ERROR",n||503,{url:e,...s}),this.url=e,this.name="ConnectionError"}}class p extends g{constructor(t="Authentication failed",e,s){super(t,"AUTHENTICATION_ERROR",s||401,e),this.name="AuthenticationError"}}class b extends g{constructor(t,e,s,n){super(t,"VALIDATION_ERROR",400,{field:e,validationErrors:s,...n}),this.field=e,this.validationErrors=s,this.name="ValidationError"}getValidationErrors(){return this.validationErrors||[]}}function C(u,t){const e=u?.status||u?.statusCode||500,s=u?.message||u?.statusText||"Unknown error",n={context:t,response:{status:e,data:u?.data,headers:u?.headers}};switch(e){case 401:return new p(s,n,401);case 403:return new p(s,n,403);case 404:if(t?.includes("metadata")||t?.includes("schema")||t?.includes("getObjectSchema")){const r=R(t);return new $(r,n)}return new g(s,"NOT_FOUND",404,n);case 400:return new b(s,void 0,u?.data?.errors,n);case 503:return new y(s,u?.config?.url,n,503);case 504:return new y(s,u?.config?.url,n,504);default:return new g(s,"UNKNOWN_ERROR",e,n)}}function R(u){if(!u)return"unknown";const t=u.match(/\(([^)]+)\)/);return t?t[1]:"unknown"}class k{client;connected=!1;metadataCache;connectionState="disconnected";connectionStateListeners=[];batchProgressListeners=[];autoReconnect;maxReconnectAttempts;reconnectDelay;reconnectAttempts=0;baseUrl;token;fetchImpl;constructor(t){this.client=new S(t),this.metadataCache=new O(t.cache),this.autoReconnect=t.autoReconnect??!0,this.maxReconnectAttempts=t.maxReconnectAttempts??3,this.reconnectDelay=t.reconnectDelay??1e3,this.baseUrl=t.baseUrl,this.token=t.token,this.fetchImpl=t.fetch||globalThis.fetch.bind(globalThis)}async connect(){if(!this.connected){this.setConnectionState("connecting");try{await this.client.connect(),this.connected=!0,this.reconnectAttempts=0,this.setConnectionState("connected")}catch(t){const e=t instanceof Error?t.message:"Failed to connect to ObjectStack server",s=new y(e,void 0,{originalError:t});if(this.setConnectionState("error",s),this.autoReconnect&&this.reconnectAttempts<this.maxReconnectAttempts)await this.attemptReconnect();else throw s}}}async attemptReconnect(){this.reconnectAttempts++,this.setConnectionState("reconnecting");const t=this.reconnectDelay*Math.pow(2,this.reconnectAttempts-1);await new Promise(e=>setTimeout(e,t)),this.connected=!1,await this.connect()}getConnectionState(){return this.connectionState}isConnected(){return this.connected&&this.connectionState==="connected"}onConnectionStateChange(t){return this.connectionStateListeners.push(t),()=>{const e=this.connectionStateListeners.indexOf(t);e>-1&&this.connectionStateListeners.splice(e,1)}}onBatchProgress(t){return this.batchProgressListeners.push(t),()=>{const e=this.batchProgressListeners.indexOf(t);e>-1&&this.batchProgressListeners.splice(e,1)}}setConnectionState(t,e){this.connectionState=t;const s={state:t,timestamp:Date.now(),error:e};this.connectionStateListeners.forEach(n=>{try{n(s)}catch(r){console.error("Error in connection state listener:",r)}})}emitBatchProgress(t){this.batchProgressListeners.forEach(e=>{try{e(t)}catch(s){console.error("Error in batch progress listener:",s)}})}async find(t,e){if(await this.connect(),e?.$expand&&e.$expand.length>0){const r=await this.rawFindWithPopulate(t,e);return this.normalizeQueryResult(r,e)}const s=this.convertQueryParams(e),n=await this.client.data.find(t,s);return this.normalizeQueryResult(n,e)}async findOne(t,e,s){if(await this.connect(),s?.$expand&&s.$expand.length>0)try{const n={...s,$filter:{_id:String(e)},$top:1},r=await this.rawFindWithPopulate(t,n);if(Array.isArray(r))return r[0]||null;const a=r;return(a.records||a.value||[])[0]||null}catch(n){if(n?.status===404)return null;throw n}try{return(await this.client.data.get(t,String(e))).record}catch(n){if(n?.status===404)return null;throw n}}async create(t,e){return await this.connect(),(await this.client.data.create(t,e)).record}async update(t,e,s){return await this.connect(),(await this.client.data.update(t,String(e),s)).record}async delete(t,e){return await this.connect(),(await this.client.data.delete(t,String(e))).deleted}async bulk(t,e,s){if(await this.connect(),!s||s.length===0)return[];const n=s.length;let r=0,a=0;const c=()=>{this.emitBatchProgress({operation:e,total:n,completed:r,failed:a,percentage:n>0?(r+a)/n*100:0})};try{switch(e){case"create":{c();const i=await this.client.data.createMany(t,s);return r=i.length,a=n-r,c(),i}case"delete":{const i=s.map(h=>h.id).filter(Boolean);if(i.length===0){const h=s.map((o,l)=>({index:l,error:`Missing ID for item at index ${l}`}));throw a=s.length,c(),new m("delete",0,s.length,h)}return c(),await this.client.data.deleteMany(t,i),r=i.length,a=n-r,c(),[]}case"update":{if(typeof this.client.data.updateMany=="function")try{c();const o=this.client.data.updateMany,l=await o(t,s);return r=l.length,a=n-r,c(),l}catch{}const i=[],h=[];for(let o=0;o<s.length;o++){const l=s[o],f=l.id;if(!f){h.push({index:o,error:"Missing ID"}),a++,c();continue}try{const d=await this.client.data.update(t,String(f),l);i.push(d.record),r++,c()}catch(d){const w=d instanceof Error?d.message:String(d);h.push({index:o,error:w}),a++,c()}}if(h.length>0)throw new m("update",i.length,h.length,h,{resource:t,totalRecords:s.length});return i}default:throw new g(`Unsupported bulk operation: ${e}`,"UNSUPPORTED_OPERATION",400)}}catch(i){if(c(),i instanceof m||i instanceof g)throw i;const h=i instanceof Error?i.message:String(i),o=s.map((l,f)=>({index:f,error:h}));throw new m(e,0,s.length,o,{resource:t,originalError:i})}}normalizeQueryResult(t,e){if(Array.isArray(t))return{data:t,total:t.length,page:1,pageSize:t.length,hasMore:!1};const s=t,n=s.records||s.value||[],r=s.total??s.count??n.length;return{data:n,total:r,page:e?.$skip&&e.$top?Math.floor(e.$skip/e.$top)+1:1,pageSize:e?.$top,hasMore:e?.$top?n.length===e.$top:!1}}async rawFindWithPopulate(t,e){const s=new URLSearchParams;if(e.$expand&&e.$expand.length>0&&s.set("populate",e.$expand.join(",")),e.$top!==void 0&&s.set("top",String(e.$top)),e.$skip!==void 0&&s.set("skip",String(e.$skip)),e.$select&&e.$select.length>0&&s.set("select",e.$select.join(",")),e.$orderby)if(Array.isArray(e.$orderby)){const f=e.$orderby.map(d=>{if(typeof d=="string")return d;const w=d.field;return(d.order||"asc")==="desc"?`-${w}`:w}).join(",");s.set("sort",f)}else{const f=Object.entries(e.$orderby).map(([d,w])=>w==="desc"?`-${d}`:d).join(",");s.set("sort",f)}e.$filter&&s.set("filter",JSON.stringify(e.$filter));const n=this.baseUrl.replace(/\/$/,""),r=s.toString(),c=/\/api\/v\d+$/i.test(n)?"/data":"/api/v1/data",i=`${n}${c}/${t}${r?`?${r}`:""}`,h={"Content-Type":"application/json"};this.token&&(h.Authorization=`Bearer ${this.token}`);const o=await this.fetchImpl(i,{method:"GET",headers:h});if(!o.ok){const f=await o.json().catch(()=>({message:o.statusText})),d=new Error(f?.error?.message||f?.message||o.statusText);throw d.status=o.status,d}const l=await o.json();return l&&typeof l.success=="boolean"&&"data"in l?l.data:l}convertQueryParams(t){if(!t)return{};const e={};if(t.$select&&(e.select=t.$select),t.$filter&&(Array.isArray(t.$filter)?e.filters=t.$filter:e.filters=A(t.$filter)),t.$orderby)if(Array.isArray(t.$orderby))e.sort=t.$orderby.map(s=>{if(typeof s=="string")return s;const n=s.field;return(s.order||"asc")==="desc"?`-${n}`:n});else{const s=Object.entries(t.$orderby).map(([n,r])=>r==="desc"?`-${n}`:n);e.sort=s}return t.$skip!==void 0&&(e.skip=t.$skip),t.$top!==void 0&&(e.top=t.$top),e}async getObjectSchema(t){await this.connect();try{return await this.metadataCache.get(t,async()=>{const s=await this.client.meta.getItem("object",t);return s&&s.item?s.item:s})}catch(e){const s=e;throw s?.status===404||s?.statusCode===404?new $(t,{originalError:e}):e instanceof g?e:C(s,`getObjectSchema(${t})`)}}getClient(){return this.client}async getDiscovery(){try{return await this.connect(),this.client.discoveryInfo||null}catch{return null}}async getView(t,e){await this.connect();try{const s=`view:${t}:${e}`;return await this.metadataCache.get(s,async()=>{const n=await this.client.meta.getItem(t,`views/${e}`);return n&&n.item?n.item:n??null})}catch{return null}}async getApp(t){await this.connect();try{const e=`app:${t}`;return await this.metadataCache.get(e,async()=>{const s=await this.client.meta.getItem("apps",t);return s&&s.item?s.item:s??null})}catch{return null}}async getPage(t){await this.connect();try{const e=`page:${t}`;return await this.metadataCache.get(e,async()=>{const s=await this.client.meta.getItem("pages",t);return s&&s.item?s.item:s??null})}catch{return null}}async aggregate(t,e){await this.connect();try{const s={object:t,measures:[{field:e.field,function:e.function}],dimensions:[e.groupBy]};e.filter&&(s.filters=e.filter);const n=await this.client.analytics.query(s);return Array.isArray(n)?n:n?.data&&Array.isArray(n.data)?n.data:n?.results&&Array.isArray(n.results)?n.results:[]}catch{const n=(await this.find(t)).data||[];return n.length===0?[]:this.aggregateClientSide(n,e)}}aggregateClientSide(t,e){const{field:s,function:n,groupBy:r}=e,a={};for(const c of t){const i=String(c[r]??"Unknown");a[i]||(a[i]=[]),a[i].push(c)}return Object.entries(a).map(([c,i])=>{const h=i.map(l=>Number(l[s])||0);let o;switch(n){case"count":o=i.length;break;case"avg":o=h.length>0?h.reduce((l,f)=>l+f,0)/h.length:0;break;case"min":o=h.length>0?Math.min(...h):0;break;case"max":o=h.length>0?Math.max(...h):0;break;case"sum":default:o=h.reduce((l,f)=>l+f,0);break}return{[r]:c,[s]:o}})}async getItems(t,e){return await this.connect(),await Promise.all(e.map(async n=>{const r=`${t}:${n}`;return this.metadataCache.get(r,async()=>{const a=await this.client.meta.getItem(t,n);return a&&a.item?a.item:a})}))}getCached(t){return this.metadataCache.getCachedSync(t)}getCacheStats(){return this.metadataCache.getStats()}invalidateCache(t){this.metadataCache.invalidate(t)}clearCache(){this.metadataCache.clear()}async uploadFile(t,e,s){await this.connect();const n=new FormData;n.append("file",e),s?.recordId&&n.append("recordId",s.recordId),s?.fieldName&&n.append("fieldName",s.fieldName),s?.metadata&&n.append("metadata",JSON.stringify(s.metadata));const r=`${this.baseUrl}/api/data/${encodeURIComponent(t)}/upload`,a=await fetch(r,{method:"POST",body:n,headers:{...this.getAuthHeaders()}});if(!a.ok){const c=await a.json().catch(()=>({message:a.statusText}));throw new g(c.message||`Upload failed with status ${a.status}`,"UPLOAD_ERROR",a.status)}return a.json()}async uploadFiles(t,e,s){await this.connect();const n=new FormData;e.forEach((c,i)=>{n.append("files",c,c.name||`file-${i}`)}),s?.recordId&&n.append("recordId",s.recordId),s?.fieldName&&n.append("fieldName",s.fieldName),s?.metadata&&n.append("metadata",JSON.stringify(s.metadata));const r=`${this.baseUrl}/api/data/${encodeURIComponent(t)}/upload`,a=await fetch(r,{method:"POST",body:n,headers:{...this.getAuthHeaders()}});if(!a.ok){const c=await a.json().catch(()=>({message:a.statusText}));throw new g(c.message||`Upload failed with status ${a.status}`,"UPLOAD_ERROR",a.status)}return a.json()}getAuthHeaders(){const t={};return this.token&&(t.Authorization=`Bearer ${this.token}`),t}}export{k as O};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{r as v,j as Q,R as F}from"./vendor-react-9M-xu2bR.js";import"./vendor-objectstack-YKtcdalX.js";class tr{components=new Map;register(e,t,s){const n=s?.namespace?`${s.namespace}:${e}`:e;s?.namespace||console.warn(`Registering component "${e}" without a namespace is deprecated. Please provide a namespace in the meta parameter.
|
|
2
|
-
|
|
3
|
-
Migration:
|
|
4
|
-
// Before (deprecated):
|
|
5
|
-
registry.register('${e}', MyComponent);
|
|
6
|
-
|
|
7
|
-
// After:
|
|
8
|
-
registry.register('${e}', MyComponent, { namespace: 'my-plugin' });
|
|
9
|
-
|
|
10
|
-
See: https://github.com/objectstack-ai/objectui/blob/main/MIGRATION_GUIDE.md`),this.components.has(n),this.components.set(n,{type:n,component:t,...s}),s?.namespace&&!s?.skipFallback&&this.components.set(e,{type:n,component:t,...s})}get(e,t){if(t){const s=`${t}:${e}`;return this.components.get(s)?.component}return this.components.get(e)?.component}getConfig(e,t){if(t){const s=`${t}:${e}`;return this.components.get(s)}return this.components.get(e)}has(e,t){if(t){const s=`${t}:${e}`;return this.components.has(s)}return this.components.has(e)}getAllTypes(){return Array.from(this.components.keys())}getAllConfigs(){return Array.from(this.components.values())}getNamespaceComponents(e){return Array.from(this.components.values()).filter(t=>t.namespace===e)}}const rr=new tr;function sr(r){return{$eq:"=",$ne:"!=",$gt:">",$gte:">=",$lt:"<",$lte:"<=",$in:"in",$nin:"notin",$notin:"notin",$contains:"contains",$startswith:"startswith",$between:"between"}[r]||null}function ts(r){const e=[];for(const[t,s]of Object.entries(r))if(s!=null)if(typeof s=="object"&&!Array.isArray(s))for(const[n,i]of Object.entries(s)){if(n==="$regex"){console.warn(`[ObjectUI] Warning: $regex operator is not fully supported. Converting to 'contains' which only supports substring matching, not regex patterns. Field: '${t}', Value: ${JSON.stringify(i)}. Consider using $contains or $startswith instead.`),e.push([t,"contains",i]);continue}const o=sr(n);if(o)e.push([t,o,i]);else throw new Error(`[ObjectUI] Unknown filter operator '${n}' for field '${t}'. Supported operators: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $contains, $startswith, $between. If you need exact object matching, use the value directly without an operator.`)}else e.push([t,"=",s]);return e.length===0?r:e.length===1?e[0]:["and",...e]}function nr(r){switch(r){case"equals":case"eq":return"=";case"notEquals":case"ne":case"neq":return"!=";case"contains":return"contains";case"notContains":return"notcontains";case"greaterThan":case"gt":return">";case"greaterOrEqual":case"gte":return">=";case"lessThan":case"lt":return"<";case"lessOrEqual":case"lte":return"<=";case"in":return"in";case"notIn":return"not in";case"before":return"<";case"after":return">";default:return r}}function ir(r){if("id"in r&&"filters"in r&&r.label&&Array.isArray(r.filters))return r;if("field"in r&&"operator"in r){const e=nr(r.operator);return{id:`${r.field}-${r.operator}-${String(r.value??"")}`,label:r.label||`${r.field} ${r.operator} ${String(r.value??"")}`,filters:[[r.field,e,r.value]],icon:r.icon,defaultActive:r.defaultActive}}return r}function rs(r){if(!(!r||r.length===0))return r.map(ir)}function ss(r){if(Array.isArray(r))return r;if(r&&typeof r=="object"){if(Array.isArray(r.records))return r.records;if(Array.isArray(r.data))return r.data;if(Array.isArray(r.value))return r.value}return[]}function ns(r,e){if(!r||typeof r!="object")return[];const t=[];for(const[s,n]of Object.entries(r))n&&typeof n=="object"&&(n.type==="lookup"||n.type==="master_detail")&&t.push(s);if(t.length===0)return[];if(e&&Array.isArray(e)&&e.length>0){const s=new Set;for(const n of e)if(typeof n=="string")s.add(n);else if(n&&typeof n=="object"){const i=n.field??n.name??n.fieldName;i&&s.add(i)}return t.filter(n=>s.has(n))}return t}class Ae{scopes=[];constructor(e={}){this.scopes.push(new Map(Object.entries(e)))}pushScope(e){this.scopes.push(new Map(Object.entries(e)))}popScope(){this.scopes.length>1&&this.scopes.pop()}get(e){const t=e.split("."),s=t[0];for(let n=this.scopes.length-1;n>=0;n--)if(this.scopes[n].has(s)){let i=this.scopes[n].get(s);for(let o=1;o<t.length;o++)if(i&&typeof i=="object")i=i[t[o]];else return;return i}}set(e,t){this.scopes.length>0&&this.scopes[this.scopes.length-1].set(e,t)}has(e){const t=e.split(".")[0];for(let s=this.scopes.length-1;s>=0;s--)if(this.scopes[s].has(t))return!0;return!1}toObject(){const e={};for(const t of this.scopes)for(const[s,n]of t.entries())e[s]=n;return e}createChild(e={}){const t=new Ae;return t.scopes=[...this.scopes,new Map(Object.entries(e))],t}}class Et{cache=new Map;maxSize;constructor(e=1e3){this.maxSize=e}compile(e,t){const s=`${e}::${t.join(",")}`;if(this.cache.has(s)){const o=this.cache.get(s);return o.hitCount++,o}this.cache.size>=this.maxSize&&this.evictLFU();const i={fn:this.compileExpression(e,t),varNames:[...t],expression:e,compiledAt:Date.now(),hitCount:1};return this.cache.set(s,i),i}compileExpression(e,t){return new Function(...t,`"use strict"; return (${e});`)}evictLFU(){let e=null,t=1/0,s=1/0;for(const[n,i]of this.cache.entries())(i.hitCount<s||i.hitCount===s&&i.compiledAt<t)&&(e=n,t=i.compiledAt,s=i.hitCount);e&&this.cache.delete(e)}has(e,t){const s=`${e}::${t.join(",")}`;return this.cache.has(s)}clear(){this.cache.clear()}getStats(){let e=0;const t=[];for(const s of this.cache.values())e+=s.hitCount,t.push({expression:s.expression,hitCount:s.hitCount});return{size:this.cache.size,maxSize:this.maxSize,totalHits:e,entries:t.sort((s,n)=>n.hitCount-s.hitCount)}}}class Ft{functions=new Map;constructor(){this.registerDefaults()}register(e,t){this.functions.set(e.toUpperCase(),t)}get(e){return this.functions.get(e.toUpperCase())}has(e){return this.functions.has(e.toUpperCase())}getNames(){return Array.from(this.functions.keys())}toObject(){const e={};for(const[t,s]of this.functions)e[t]=s;return e}registerDefaults(){this.registerAggregationFunctions(),this.registerDateFunctions(),this.registerLogicFunctions(),this.registerStringFunctions(),this.registerStringSearchFunctions(),this.registerStatisticalFunctions()}registerAggregationFunctions(){this.register("SUM",(...e)=>ae(e).reduce((s,n)=>s+n,0)),this.register("AVG",(...e)=>{const t=ae(e);return t.length===0?0:t.reduce((s,n)=>s+n,0)/t.length}),this.register("COUNT",(...e)=>Vt(e).filter(s=>s!=null).length),this.register("MIN",(...e)=>{const t=ae(e);return t.length===0?0:Math.min(...t)}),this.register("MAX",(...e)=>{const t=ae(e);return t.length===0?0:Math.max(...t)})}registerDateFunctions(){this.register("TODAY",()=>new Date().toISOString().split("T")[0]),this.register("NOW",()=>new Date().toISOString()),this.register("DATEADD",(e,t,s)=>{const n=new Date(e);if(isNaN(n.getTime()))throw new Error(`DATEADD: Invalid date "${e}"`);switch(String(s).toLowerCase()){case"day":case"days":n.setDate(n.getDate()+t);break;case"month":case"months":n.setMonth(n.getMonth()+t);break;case"year":case"years":n.setFullYear(n.getFullYear()+t);break;case"hour":case"hours":n.setHours(n.getHours()+t);break;case"minute":case"minutes":n.setMinutes(n.getMinutes()+t);break;default:throw new Error(`DATEADD: Unsupported unit "${s}"`)}return n.toISOString()}),this.register("DATEDIFF",(e,t,s)=>{const n=new Date(e),i=new Date(t);if(isNaN(n.getTime()))throw new Error(`DATEDIFF: Invalid date "${e}"`);if(isNaN(i.getTime()))throw new Error(`DATEDIFF: Invalid date "${t}"`);const o=i.getTime()-n.getTime();switch(String(s).toLowerCase()){case"day":case"days":return Math.floor(o/(1e3*60*60*24));case"month":case"months":return(i.getFullYear()-n.getFullYear())*12+(i.getMonth()-n.getMonth());case"year":case"years":return i.getFullYear()-n.getFullYear();case"hour":case"hours":return Math.floor(o/(1e3*60*60));case"minute":case"minutes":return Math.floor(o/(1e3*60));default:throw new Error(`DATEDIFF: Unsupported unit "${s}"`)}}),this.register("DATEFORMAT",(e,t)=>{const s=new Date(e);if(isNaN(s.getTime()))throw new Error(`DATEFORMAT: Invalid date "${e}"`);const n=(i,o=2)=>String(i).padStart(o,"0");return t.replace("YYYY",String(s.getFullYear())).replace("YY",String(s.getFullYear()).slice(-2)).replace("MM",n(s.getMonth()+1)).replace("DD",n(s.getDate())).replace("HH",n(s.getHours())).replace("mm",n(s.getMinutes())).replace("ss",n(s.getSeconds()))})}registerLogicFunctions(){this.register("IF",(e,t,s)=>e?t:s),this.register("AND",(...e)=>e.every(Boolean)),this.register("OR",(...e)=>e.some(Boolean)),this.register("NOT",e=>!e),this.register("SWITCH",(e,...t)=>{for(let s=0;s<t.length-1;s+=2)if(e===t[s])return t[s+1];if(t.length%2===1)return t[t.length-1]})}registerStringFunctions(){this.register("CONCAT",(...e)=>e.map(t=>String(t??"")).join("")),this.register("LEFT",(e,t)=>String(e??"").substring(0,t)),this.register("RIGHT",(e,t)=>{const s=String(e??"");return s.substring(Math.max(0,s.length-t))}),this.register("TRIM",e=>String(e??"").trim()),this.register("UPPER",e=>String(e??"").toUpperCase()),this.register("LOWER",e=>String(e??"").toLowerCase())}registerStringSearchFunctions(){this.register("FIND",(e,t,s)=>String(t??"").indexOf(String(e??""),s??0)),this.register("REPLACE",(e,t,s)=>String(e??"").split(String(t??"")).join(String(s??""))),this.register("SUBSTRING",(e,t,s)=>{const n=String(e??"");return s!==void 0?n.substring(t,t+s):n.substring(t)}),this.register("REGEX",(e,t,s)=>{const n=String(e??"");return new RegExp(t,s).test(n)}),this.register("LEN",e=>String(e??"").length)}registerStatisticalFunctions(){this.register("MEDIAN",(...e)=>{const t=ae(e).sort((n,i)=>n-i);if(t.length===0)return 0;const s=Math.floor(t.length/2);return t.length%2!==0?t[s]:(t[s-1]+t[s])/2}),this.register("STDEV",(...e)=>{const t=ae(e);if(t.length<2)return 0;const s=t.reduce((o,l)=>o+l,0)/t.length,i=t.map(o=>(o-s)**2).reduce((o,l)=>o+l,0)/(t.length-1);return Math.sqrt(i)}),this.register("VARIANCE",(...e)=>{const t=ae(e);if(t.length<2)return 0;const s=t.reduce((i,o)=>i+o,0)/t.length;return t.map(i=>(i-s)**2).reduce((i,o)=>i+o,0)/(t.length-1)}),this.register("PERCENTILE",(e,...t)=>{const s=ae(t).sort((g,k)=>g-k);if(s.length===0)return 0;const i=Math.max(0,Math.min(100,e))/100*(s.length-1),o=Math.floor(i),l=Math.ceil(i);if(o===l)return s[o];const y=i-o;return s[o]+y*(s[l]-s[o])})}}function ae(r){const e=[];for(const t of r)if(Array.isArray(t))e.push(...ae(t));else{const s=Number(t);isNaN(s)||e.push(s)}return e}function Vt(r){const e=[];for(const t of r)Array.isArray(t)?e.push(...Vt(t)):e.push(t);return e}class ye{context;cache;formulas;constructor(e,t,s){e instanceof Ae?this.context=e:this.context=new Ae(e||{}),this.cache=t||new Et,this.formulas=s||new Ft}evaluate(e,t={}){if(typeof e!="string")return e;const{defaultValue:s,throwOnError:n=!1,sanitize:i=!0}=t;try{if(!e.includes("${"))return e;const l=e.match(/^\$\{([^}]+)\}$/);return l?this.evaluateExpression(l[1].trim(),{sanitize:i}):e.replace(/\$\{([^}]+)\}/g,(y,g)=>{try{const k=this.evaluateExpression(g.trim(),{sanitize:i});return String(k??"")}catch(k){if(n)throw k;return console.warn(`Expression evaluation failed for: ${g}`,k),y}})}catch(o){if(n)throw o;return console.warn(`Failed to evaluate expression: ${e}`,o),s??e}}evaluateExpression(e,t={}){const{sanitize:s=!0}=t;if(!(!e||e.trim()==="")){if(s&&this.isDangerous(e))throw new Error(`Potentially dangerous expression detected: ${e}`);try{const n=this.context.toObject(),o={...this.formulas.toObject(),...n},l=Object.keys(o),y=Object.values(o);return this.cache.compile(e,l).fn(...y)}catch(n){throw new Error(`Failed to evaluate expression "${e}": ${n.message}`)}}}isDangerous(e){return[/eval\s*\(/i,/Function\s*\(/i,/setTimeout\s*\(/i,/setInterval\s*\(/i,/import\s*\(/i,/require\s*\(/i,/process\./i,/global\./i,/window\./i,/document\./i,/__proto__/i,/constructor\s*\(/i,/prototype\./i].some(s=>s.test(e))}evaluateCondition(e,t={}){return typeof e=="boolean"?e:e?!!this.evaluate(e,t):!0}updateContext(e){Object.entries(e).forEach(([t,s])=>{this.context.set(t,s)})}getContext(){return this.context}withContext(e){return new ye(this.context.createChild(e),this.cache,this.formulas)}getCacheStats(){return this.cache.getStats()}clearCache(){this.cache.clear()}getFormulas(){return this.formulas}registerFunction(e,t){this.formulas.register(e,t)}}const ar=new Et,or=new Ft;function is(r,e){const t=new ye({...e,data:e},ar,or);try{return(/\$\{/.test(r)?t.evaluate(r,{throwOnError:!0}):t.evaluateExpression(r))===!0}catch{return!1}}class Be{handlers=new Map;evaluator;context;confirmHandler;toastHandler;modalHandler;navigationHandler;paramCollectionHandler;constructor(e={}){this.context=e,this.evaluator=new ye(e),this.confirmHandler=async t=>window.confirm(t),this.toastHandler=null,this.modalHandler=null,this.navigationHandler=null,this.paramCollectionHandler=null}setConfirmHandler(e){this.confirmHandler=e}setToastHandler(e){this.toastHandler=e}setModalHandler(e){this.modalHandler=e}setNavigationHandler(e){this.navigationHandler=e}setParamCollectionHandler(e){this.paramCollectionHandler=e}registerHandler(e,t){this.handlers.set(e,t)}unregisterHandler(e){this.handlers.delete(e)}async execute(e){try{const t=e.type||e.actionType||e.name||"";if(e.condition&&!this.evaluator.evaluateCondition(e.condition))return{success:!1,error:"Action condition not met"};if(e.disabled&&(typeof e.disabled=="string"?this.evaluator.evaluateCondition(e.disabled):e.disabled))return{success:!1,error:"Action is disabled"};const s=e.confirm?.message||e.confirmText;if(s&&!await this.confirmHandler(this.evaluator.evaluate(s),e.confirm?{title:e.confirm.title,confirmText:e.confirm.confirmText,cancelText:e.confirm.cancelText}:void 0))return{success:!1,error:"Action cancelled by user"};if(e.actionParams&&Array.isArray(e.actionParams)&&e.actionParams.length>0&&this.paramCollectionHandler){const i=await this.paramCollectionHandler(e.actionParams);if(i===null)return{success:!1,error:"Action cancelled by user (params)"};e.params={...e.params||{},...i}}if(t&&this.handlers.has(t)){const o=await this.handlers.get(t)(e,this.context);return await this.handlePostExecution(e,o),o}let n;switch(t){case"script":n=await this.executeScript(e);break;case"url":n=await this.executeUrl(e);break;case"modal":n=await this.executeModal(e);break;case"flow":n=await this.executeFlow(e);break;case"api":n=await this.executeAPI(e);break;case"navigation":n=await this.executeNavigation(e);break;default:e.navigate?n=await this.executeNavigation(e):e.api||e.endpoint?n=await this.executeAPI(e):e.onClick?(await e.onClick(),n={success:!0}):n=await this.executeActionSchema(e)}return await this.handlePostExecution(e,n),n}catch(t){const s={success:!1,error:t.message};return await this.handlePostExecution(e,s),s}}async executeChain(e,t="sequential"){if(e.length===0)return{success:!0};if(t==="parallel"){const n=await Promise.allSettled(e.map(l=>this.execute(l)));if(n.filter(l=>l.status==="rejected"||l.status==="fulfilled"&&!l.value.success).length>0)return{success:!1,error:n.find(y=>y.status==="fulfilled"&&!y.value.success)?.value?.error||"One or more parallel actions failed"};const o=n[n.length-1];return o.status==="fulfilled"?o.value:{success:!1,error:"Action failed"}}let s={success:!0};for(const n of e)if(s=await this.execute(n),!s.success)return s;return s}async handlePostExecution(e,t){if(this.toastHandler){const s=e.toast??{showOnSuccess:!0,showOnError:!0},n=e.toast?.duration;if(t.success&&s.showOnSuccess!==!1){const i=e.successMessage||"Action completed successfully";this.toastHandler(i,{type:"success",duration:n})}if(!t.success&&s.showOnError!==!1&&t.error){const i=e.errorMessage||t.error;this.toastHandler(i,{type:"error",duration:n})}}if(e.refreshAfter&&t.success&&(t.reload=!0),e.chain&&e.chain.length>0&&t.success){const s=await this.executeChain(e.chain,e.chainMode||"sequential");s.success||(t.success=!1,t.error=s.error),s.data&&(t.data=s.data),s.redirect&&(t.redirect=s.redirect),s.reload&&(t.reload=!0)}if(t.success&&e.onSuccess){const s=Array.isArray(e.onSuccess)?e.onSuccess:[e.onSuccess];await this.executeChain(s,"sequential")}if(!t.success&&e.onFailure){const s=Array.isArray(e.onFailure)?e.onFailure:[e.onFailure];await this.executeChain(s,"sequential")}}async executeScript(e){const t=e.execute||e.target;if(!t)return{success:!1,error:"No script provided for script action"};try{return{success:!0,data:this.evaluator.evaluate(`\${${t}}`)}}catch(s){return{success:!1,error:`Script execution failed: ${s.message}`}}}async executeUrl(e){const t=e.target||e.redirect;if(!t)return{success:!1,error:"No URL provided for url action"};const s=this.evaluator.evaluate(t);if(!this.isValidUrl(s))return{success:!1,error:"Invalid URL scheme. Only http://, https://, and relative URLs are allowed."};const n=s.startsWith("http://")||s.startsWith("https://"),i=e.params?.newTab??n;if(this.navigationHandler)return this.navigationHandler(s,{external:n,newTab:i}),{success:!0};if(i)window.open(s,"_blank","noopener,noreferrer");else return{success:!0,redirect:s};return{success:!0}}async executeModal(e){const t=e.modal||e.target||e.params?.schema;return t?this.modalHandler?await this.modalHandler(t,this.context):{success:!0,modal:t}:{success:!1,error:"No modal schema or target provided for modal action"}}async executeFlow(e){const t=e.target||e.name;return t?this.handlers.has("flow")?await this.handlers.get("flow")(e,this.context):{success:!1,error:`Flow handler not registered. Cannot execute flow: ${t}`}:{success:!1,error:"No flow target provided for flow action"}}async executeActionSchema(e){const t={success:!0};if(e.api||e.endpoint){const s=await this.executeAPI(e);if(!s.success)return s;t.data=s.data}return e.onClick&&await e.onClick(),t.reload=e.reload!==!1,t.close=e.close!==!1,e.redirect&&(t.redirect=this.evaluator.evaluate(e.redirect)),t}async executeNavigation(e){const t=e.navigate||e,s=this.evaluator.evaluate(t.to||t.target);if(!this.isValidUrl(s))return{success:!1,error:"Invalid URL scheme. Only http://, https://, and relative URLs are allowed."};const n=t.external||typeof s=="string"&&(s.startsWith("http://")||s.startsWith("https://"));if(this.navigationHandler)return this.navigationHandler(s,{external:n,newTab:t.newTab??n,replace:t.replace}),{success:!0};if(n)window.open(s,"_blank","noopener,noreferrer");else return{success:!0,redirect:s};return{success:!0}}async executeAPI(e){const t=e.api||e.endpoint||e.target;if(!t)return{success:!1,error:"No API endpoint provided"};try{let s,n,i={"Content-Type":"application/json"},o,l="json";if(typeof t=="string")s=t,n=e.method||"POST",o=JSON.stringify(e.params||this.context.data||{});else{const h=t;if(s=h.url,n=h.method||e.method||"POST",i={...i,...h.headers},l=h.responseType||"json",h.queryParams){const C=new URLSearchParams(h.queryParams);s=`${s}${s.includes("?")?"&":"?"}${C.toString()}`}h.body?o=typeof h.body=="string"?h.body:JSON.stringify(h.body):n!=="GET"&&n!=="HEAD"&&(o=JSON.stringify(e.params||this.context.data||{}))}const y={method:n,headers:i};o&&n!=="GET"&&n!=="HEAD"&&(y.body=o);const g=await fetch(s,y);if(!g.ok)throw new Error(`HTTP ${g.status}: ${g.statusText}`);let k;switch(l){case"text":k=await g.text();break;case"blob":k=await g.blob();break;default:k=await g.json()}return{success:!0,data:k}}catch(s){return{success:!1,error:s.message}}}isValidUrl(e){return typeof e=="string"&&(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/")||e.startsWith("./"))}updateContext(e){this.context={...this.context,...e},this.evaluator.updateContext(e)}getContext(){return this.context}getEvaluator(){return this.evaluator}}function dt(r){if(typeof r!="object"||r===null)return!1;const e=r;return typeof e.id=="string"&&typeof e.type=="string"&&typeof e.objectName=="string"&&typeof e.recordId=="string"&&typeof e.timestamp=="number"}class ke{undoStack=[];redoStack=[];maxHistory;listeners=new Set;constructor(e){this.maxHistory=e?.maxHistory??50}push(e){this.undoStack.push(e),this.undoStack.length>this.maxHistory&&this.undoStack.shift(),this.redoStack=[],this.notify()}peekUndo(){return this.undoStack[this.undoStack.length-1]}peekRedo(){return this.redoStack[this.redoStack.length-1]}popUndo(){const e=this.undoStack.pop();return e&&(this.redoStack.push(e),this.notify()),e}popRedo(){const e=this.redoStack.pop();return e&&(this.undoStack.push(e),this.notify()),e}clear(){this.undoStack=[],this.redoStack=[],this.notify()}get canUndo(){return this.undoStack.length>0}get canRedo(){return this.redoStack.length>0}get undoCount(){return this.undoStack.length}get redoCount(){return this.redoStack.length}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getHistory(){return[...this.undoStack]}getRedoHistory(){return[...this.redoStack]}pushBatch(e){e.length!==0&&(this.undoStack.push(...e),this.undoStack.length>this.maxHistory&&this.undoStack.splice(0,this.undoStack.length-this.maxHistory),this.redoStack=[],this.notify())}popUndoBatch(e){const t=Math.min(e,this.undoStack.length);if(t===0)return[];const s=this.undoStack.splice(this.undoStack.length-t,t);return this.redoStack.push(...s),this.notify(),s}popRedoBatch(e){const t=Math.min(e,this.redoStack.length);if(t===0)return[];const s=this.redoStack.splice(this.redoStack.length-t,t);return this.undoStack.push(...s),this.notify(),s}static STORAGE_KEY="objectui:undo-history";saveToStorage(){try{const e=JSON.stringify({undoStack:this.undoStack,redoStack:this.redoStack});localStorage.setItem(ke.STORAGE_KEY,e)}catch{}}loadFromStorage(){try{if(typeof localStorage>"u")return;const e=localStorage.getItem(ke.STORAGE_KEY);if(!e)return;const t=JSON.parse(e);Array.isArray(t.undoStack)&&(this.undoStack=t.undoStack.filter(dt)),Array.isArray(t.redoStack)&&(this.redoStack=t.redoStack.filter(dt)),this.undoStack.length>this.maxHistory&&this.undoStack.splice(0,this.undoStack.length-this.maxHistory),this.notify()}catch{}}notify(){this.listeners.forEach(e=>e())}}const ue=new ke;var ur={};const ce="__debug";function lr(r){let e=r;if(e===void 0)try{e=typeof window<"u"?window.location.search:""}catch{e=""}const t=new URLSearchParams(e),s=t.has(ce),n=t.has(`${ce}_schema`),i=t.has(`${ce}_perf`),o=t.has(`${ce}_data`),l=t.has(`${ce}_expr`),y=t.has(`${ce}_events`),g=t.has(`${ce}_registry`);return{enabled:s||(n||i||o||l||y||g),...n&&{schema:n},...i&&{perf:i},...o&&{data:o},...l&&{expr:l},...y&&{events:y},...g&&{registry:g}}}function qe(){try{if(typeof window<"u")try{if(lr(window.location.search).enabled)return!0}catch{}const r=typeof globalThis<"u"&&globalThis.OBJECTUI_DEBUG;return r===!0||r==="true"||typeof process<"u"&&ur?.OBJECTUI_DEBUG==="true"}catch{return!1}}function ft(r,e,t){qe()&&(t!==void 0?console.log(`[ObjectUI Debug][${r}] ${e}`,t):console.log(`[ObjectUI Debug][${r}] ${e}`))}const Pe=new Map;function cr(r){qe()&&Pe.set(r,performance.now())}function dr(r){if(!qe())return;const e=Pe.get(r);if(e!==void 0){const t=(performance.now()-e).toFixed(2);console.log(`[ObjectUI Debug][perf] ${r}: ${t}ms`),Pe.delete(r)}}const ht=200;class de{static instance=null;entries=[];subscribers=new Set;static getInstance(){return de.instance||(de.instance=new de),de.instance}static resetInstance(){de.instance=null}addPerf(e){this.push({kind:"perf",data:e})}addExpr(e){this.push({kind:"expr",data:e})}addEvent(e){this.push({kind:"event",data:e})}getEntries(e){return e?this.entries.filter(t=>t.kind===e):this.entries.slice()}clear(){this.entries=[]}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}push(e){this.entries.push(e),this.entries.length>ht&&(this.entries=this.entries.slice(-ht));for(const t of this.subscribers)try{t(e)}catch{}}}const De=v.createContext(null),as=({children:r,dataSource:e,debug:t,debugFlags:s})=>{const n=v.useMemo(()=>({dataSource:e,debug:t,debugFlags:s}),[e,t,s]);return Q.jsx(De.Provider,{value:n,children:r})},os=()=>{const r=v.useContext(De);if(!r)throw new Error("useSchemaContext must be used within a SchemaRendererProvider");return r},us=r=>{const t=v.useContext(De)?.dataSource;if(r&&t)return r.split(".").reduce((s,n)=>s&&s[n],t)};function fr(r){if(r!=null)return typeof r=="string"?r:r.defaultValue||r.key}function hr(r){const e={};return r.ariaLabel&&(e["aria-label"]=fr(r.ariaLabel)),r.ariaDescribedBy&&(e["aria-describedby"]=r.ariaDescribedBy),r.role&&(e.role=r.role),e}class gr extends v.Component{state={hasError:!1,error:null};static getDerivedStateFromError(e){return{hasError:!0,error:e}}handleRetry=()=>{this.setState({hasError:!1,error:null})};render(){if(this.state.hasError&&this.state.error){const e=this.state.error;return Q.jsxs("div",{className:"p-4 border border-orange-400 rounded bg-orange-50 text-orange-700 my-2",role:"alert",children:[Q.jsxs("p",{className:"font-medium",children:["Component",this.props.componentType?` "${this.props.componentType}"`:""," failed to render"]}),Q.jsx("p",{className:"text-sm mt-1",children:e.message}),!1,Q.jsx("button",{onClick:this.handleRetry,className:"mt-2 text-sm underline hover:no-underline",children:"Retry"})]})}return this.props.children}}const yr=v.forwardRef(({schema:r,...e},t)=>{const s=v.useContext(De),n=s?.dataSource||{},i=v.useMemo(()=>{if(!r||typeof r=="string")return r;const H=new ye({data:n}),O={...r};if(O.properties&&Object.assign(O,O.properties),typeof O.content=="string"&&(O.content=H.evaluate(O.content)),O.props){const M={...O.props};for(const[L,z]of Object.entries(M))M[L]=H.evaluate(z);O.props=M}return(O.visible!==void 0?!H.evaluateCondition(O.visible):O.visibleOn!==void 0?!H.evaluateCondition(O.visibleOn):O.hidden!==void 0?H.evaluateCondition(O.hidden):O.hiddenOn!==void 0?H.evaluateCondition(O.hiddenOn):!1)&&(O._hidden=!0),(O.disabled!==void 0?H.evaluateCondition(O.disabled):O.disabledOn!==void 0?H.evaluateCondition(O.disabledOn):!1)&&(O._disabled=!0),O},[r,n]);if(!i||i?._hidden)return null;if(typeof i=="string")return Q.jsx(Q.Fragment,{children:i});ft("schema","Rendering schema node",{type:i.type,id:i.id});const o=rr.get(i.type);if(!o)return ft("schema","Component not found in registry",{type:i.type}),Q.jsxs("div",{className:"p-4 border border-red-500 rounded text-red-500 bg-red-50 my-2",role:"alert",children:[Q.jsxs("p",{className:"font-medium",children:["Unknown component type: ",Q.jsx("strong",{children:i.type})]}),!1,Q.jsx("pre",{className:"text-xs mt-2 overflow-auto",children:JSON.stringify(i,null,2)})]});const{type:l,children:y,body:g,schema:k,visible:h,visibleOn:C,hidden:b,hiddenOn:D,disabled:R,disabledOn:x,_hidden:E,_disabled:S,...V}=i,_=hr(i),A=s?.debug||s?.debugFlags?.enabled,U={};A&&(U["data-debug-type"]=i.type,i.id&&(U["data-debug-id"]=i.id)),cr(`render:${i.type}:${i.id??"anon"}`);const W=A?performance.now():0,te=Q.jsx(gr,{componentType:i.type,children:F.createElement(o,{schema:i,...V,...i.props||{},..._,...U,disabled:S||void 0,className:i.className,"data-obj-id":i.id,"data-obj-type":i.type,...e})});if(dr(`render:${i.type}:${i.id??"anon"}`),A&&W){const H=performance.now()-W;de.getInstance().addPerf({type:i.type,id:i.id,durationMs:H,timestamp:Date.now()})}return te});yr.displayName="SchemaRenderer";function ls(r,e={}){return v.useMemo(()=>new ye(e).evaluateCondition(r),[r,e])}function cs(r={}){const e="context"in r?r:{context:r},{context:t={},onConfirm:s,onToast:n,onModal:i,onNavigate:o}=e,[l,y]=v.useState(!1),[g,k]=v.useState(null),[h,C]=v.useState(null),b=v.useMemo(()=>{const x=new Be(t);return s&&x.setConfirmHandler(s),n&&x.setToastHandler(n),i&&x.setModalHandler(i),o&&x.setNavigationHandler(o),x},[JSON.stringify(t)]),D=v.useCallback(async x=>{y(!0),k(null),C(null);try{const E=await b.execute(x);return C(E),E.success||k(E.error||"Action failed"),E}catch(E){const S=E.message;k(S);const V={success:!1,error:S};return C(V),V}finally{y(!1)}},[b]),R=v.useCallback(x=>{b.updateContext(x)},[b]);return{execute:D,loading:l,error:g,result:h,updateContext:R,runner:b}}function ds(r){const{navigation:e,objectName:t,onNavigate:s,onRowClick:n}=r,[i,o]=v.useState(!1),[l,y]=v.useState(null),g=e?.mode??"page",k=e?.width,h=e?.view,C=g==="drawer"||g==="modal"||g==="split"||g==="popover",b=v.useCallback(()=>{o(!1),y(null)},[]),D=v.useCallback(x=>{y(x),o(!0)},[]),R=v.useCallback(x=>{if(n){n(x);return}if(!e){const E=x._id||x.id;s&&E!=null&&s(E,h??"view");return}if(!(g==="none"||e.preventNavigation)){if(g==="new_window"||e.openNewTab){const E=x._id||x.id;if(s&&E!=null){s(E,"new_window");return}const S=h?`/${h}`:"",V=t?`/${t}/${E}${S}`:`/${E}${S}`;window.open(V,"_blank");return}if(g==="page"){const E=x._id||x.id;s&&E!=null&&s(E,h??"view");return}if(C){y(x),o(!0);return}}},[n,e,g,t,s,C]);return v.useMemo(()=>({isOpen:i,selectedRecord:l,mode:g,close:b,open:D,setIsOpen:o,handleClick:R,width:k,view:h,isOverlay:C}),[i,l,g,b,D,R,k,h,C])}const pr=v.createContext(null);function gt(r){if(!r||r.length===0)return{};const e={};for(const t of r)if(t.defaultValue!==void 0)e[t.name]=t.defaultValue;else switch(t.type){case"number":e[t.name]=0;break;case"boolean":e[t.name]=!1;break;case"object":e[t.name]={};break;case"array":e[t.name]=[];break;case"string":default:e[t.name]="";break}return e}const mr=({definitions:r,children:e})=>{const[t,s]=v.useState(()=>gt(r)),n=v.useCallback((y,g)=>{s(k=>({...k,[y]:g}))},[]),i=v.useCallback(y=>{s(g=>({...g,...y}))},[]),o=v.useCallback(()=>{s(gt(r))},[r]),l=v.useMemo(()=>({variables:t,setVariable:n,setVariables:i,resetVariables:o}),[t,n,i,o]);return Q.jsx(pr.Provider,{value:l,children:e})};mr.displayName="PageVariablesProvider";const br={compact:32,comfortable:40,spacious:52},vr={compact:"py-1 px-2",comfortable:"py-2 px-3",spacious:"py-3 px-4"},wr={compact:"text-xs",comfortable:"text-sm",spacious:"text-base"},Ie=["compact","comfortable","spacious"];function fs(r="comfortable",e){const[t,s]=v.useState(r),n=br,i=vr,o=wr,l=v.useCallback(()=>{s(y=>{const g=Ie.indexOf(y);return Ie[(g+1)%Ie.length]})},[]);return v.useMemo(()=>({mode:t,setMode:s,cycle:l,rowHeight:n[t],paddingClass:i[t],fontSizeClass:o[t]}),[t,l,n,i,o])}v.createContext(null);function Sr(r){return typeof window>"u"?()=>{}:(window.addEventListener("online",r),window.addEventListener("offline",r),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",r)})}function xr(){return typeof navigator<"u"?navigator.onLine:!0}function _r(){return!0}const Dt="objectui-offline-queue";function Cr(){if(typeof localStorage>"u")return[];try{const r=localStorage.getItem(Dt);return r?JSON.parse(r):[]}catch{return[]}}function Ar(r){if(!(typeof localStorage>"u"))try{localStorage.setItem(Dt,JSON.stringify(r))}catch{}}let yt=0;function kr(){return yt+=1,`mut_${Date.now()}_${yt}`}const we={enabled:!0,strategy:"network_first",offlineIndicator:!0,offlineMessage:"You are currently offline. Changes will be synced when reconnected.",queueMaxSize:100};function hs(r={}){const{enabled:e=we.enabled,strategy:t=we.strategy,offlineIndicator:s=we.offlineIndicator,offlineMessage:n=we.offlineMessage,queueMaxSize:i=we.queueMaxSize,sync:o}=r,l=v.useSyncExternalStore(Sr,xr,_r),[y,g]=v.useState(Cr),[k,h]=v.useState("idle"),C=v.useRef(o);C.current=o,v.useEffect(()=>{Ar(y)},[y]),v.useEffect(()=>{e&&(l?k==="offline"&&h("idle"):h("offline"))},[l,e,k]);const b=v.useCallback(x=>{e&&g(E=>{const S={...x,id:kr(),timestamp:Date.now()},V=[...E,S];return V.length>i?V.slice(V.length-i):V})},[e,i]),D=v.useCallback(()=>{g([])},[]),R=v.useCallback(async()=>{if(!(!e||y.length===0)){h("syncing");try{const x=C.current?.batchSize??y.length,E=y.slice(0,x);await new Promise(S=>setTimeout(S,0)),g(S=>S.filter(V=>!E.some(_=>_.id===V.id))),h("idle")}catch{h("error")}}},[e,y]);return v.useEffect(()=>{if(!e||!l||y.length===0)return;const x=setTimeout(()=>{R()},100);return()=>clearTimeout(x)},[l,e]),v.useMemo(()=>({isOnline:l,enabled:e,syncState:k,strategy:t,pendingCount:y.length,queueMutation:b,sync:R,clearQueue:D,showIndicator:s&&!l,offlineMessage:n}),[l,e,k,t,y.length,b,R,D,s,n])}function Ot(){return{canUndo:ue.canUndo,canRedo:ue.canRedo,undoDescription:ue.peekUndo()?.description,redoDescription:ue.peekRedo()?.description,history:ue.getHistory()}}function Er(){return{canUndo:!1,canRedo:!1,undoDescription:void 0,redoDescription:void 0,history:[]}}let Tt=Ot();function Fr(r){return ue.subscribe(()=>{Tt=Ot(),r()})}function Vr(){return Tt}function gs(r={}){const e=v.useRef(r);e.current=r;const t=v.useSyncExternalStore(Fr,Vr,Er),s=v.useCallback(async(o,l,y)=>{const g=e.current.dataSource;if(!g)return;const k=y==="undo"?{create:"delete",update:"update",delete:"create"}[o.type]:o.type;k==="delete"?await g.delete(o.objectName,o.recordId):k==="update"?await g.update(o.objectName,o.recordId,l):await g.create(o.objectName,l)},[]),n=v.useCallback(async()=>{const o=ue.popUndo();o&&(await s(o,o.undoData,"undo"),e.current.onUndo?.(o))},[s]),i=v.useCallback(async()=>{const o=ue.popRedo();o&&(await s(o,o.redoData,"redo"),e.current.onRedo?.(o))},[s]);return v.useEffect(()=>{const o=l=>{!(l.ctrlKey||l.metaKey)||l.key.toLowerCase()!=="z"||(l.preventDefault(),l.shiftKey?i():n())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[n,i]),v.useMemo(()=>({...t,undo:n,redo:i}),[t,n,i])}const Rt=v.createContext(null),Dr=({children:r,context:e={},onConfirm:t,onToast:s,onModal:n,onNavigate:i,onParamCollection:o,handlers:l})=>{const[y,g]=v.useState(!1),[k,h]=v.useState(null),[C,b]=v.useState(null),D=v.useMemo(()=>{const V=new Be(e);return t&&V.setConfirmHandler(t),s&&V.setToastHandler(s),n&&V.setModalHandler(n),i&&V.setNavigationHandler(i),o&&V.setParamCollectionHandler(o),l&&Object.entries(l).forEach(([_,A])=>{V.registerHandler(_,A)}),V},[JSON.stringify(e)]),R=v.useCallback(async V=>{g(!0),h(null),b(null);try{const _=await D.execute(V);return b(_),_.success||h(_.error||"Action failed"),_}catch(_){const A=_.message;h(A);const U={success:!1,error:A};return b(U),U}finally{g(!1)}},[D]),x=v.useCallback(async(V,_)=>{g(!0),h(null),b(null);try{const A=await D.executeChain(V,_);return b(A),A.success||h(A.error||"Chain failed"),A}catch(A){const U=A.message;h(U);const W={success:!1,error:U};return b(W),W}finally{g(!1)}},[D]),E=v.useCallback(V=>{D.updateContext(V)},[D]),S=v.useMemo(()=>({execute:R,executeChain:x,loading:y,error:k,result:C,runner:D,updateContext:E}),[R,x,y,k,C,D,E]);return Q.jsx(Rt.Provider,{value:S,children:r})};Dr.displayName="ActionProvider";function ys(){const r=v.useContext(Rt);if(!r){const e=new Be;return{execute:t=>e.execute(t),executeChain:(t,s)=>e.executeChain(t,s),loading:!1,error:null,result:null,runner:e,updateContext:t=>e.updateContext(t)}}return r}v.createContext(null);const Mt=v.createContext(null);function ps(){const r=v.useContext(Mt);if(!r)throw new Error("useDnd must be used within a <DndProvider>. Wrap your app with <DndProvider> to use the drag and drop system.");return r}function ms(){return v.useContext(Mt)!==null}var Ce=r=>r.type==="checkbox",fe=r=>r instanceof Date,K=r=>r==null;const Nt=r=>typeof r=="object";var q=r=>!K(r)&&!Array.isArray(r)&&Nt(r)&&!fe(r),$t=r=>q(r)&&r.target?Ce(r.target)?r.target.checked:r.target.value:r,Or=r=>r.substring(0,r.search(/\.\d+(\.|$)/))||r,It=(r,e)=>r.has(Or(e)),Tr=r=>{const e=r.constructor&&r.constructor.prototype;return q(e)&&e.hasOwnProperty("isPrototypeOf")},ze=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function j(r){if(r instanceof Date)return new Date(r);const e=typeof FileList<"u"&&r instanceof FileList;if(ze&&(r instanceof Blob||e))return r;const t=Array.isArray(r);if(!t&&!(q(r)&&Tr(r)))return r;const s=t?[]:Object.create(Object.getPrototypeOf(r));for(const n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=j(r[n]));return s}var Oe=r=>/^\w*$/.test(r),P=r=>r===void 0,We=r=>Array.isArray(r)?r.filter(Boolean):[],Ye=r=>We(r.replace(/["|']|\]/g,"").split(/\.|\[/)),p=(r,e,t)=>{if(!e||!q(r))return t;const s=(Oe(e)?[e]:Ye(e)).reduce((n,i)=>K(n)?n:n[i],r);return P(s)||s===r?P(r[e])?t:r[e]:s},Z=r=>typeof r=="boolean",J=r=>typeof r=="function",I=(r,e,t)=>{let s=-1;const n=Oe(e)?[e]:Ye(e),i=n.length,o=i-1;for(;++s<i;){const l=n[s];let y=t;if(s!==o){const g=r[l];y=q(g)||Array.isArray(g)?g:isNaN(+n[s+1])?{}:[]}if(l==="__proto__"||l==="constructor"||l==="prototype")return;r[l]=y,r=r[l]}};const Ee={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},se={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ie={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Ge=F.createContext(null);Ge.displayName="HookFormControlContext";const Je=()=>F.useContext(Ge);var Ut=(r,e,t,s=!0)=>{const n={defaultValues:e._defaultValues};for(const i in r)Object.defineProperty(n,i,{get:()=>{const o=i;return e._proxyFormState[o]!==se.all&&(e._proxyFormState[o]=!s||se.all),t&&(t[o]=!0),r[o]}});return n};const Ke=typeof window<"u"?F.useLayoutEffect:F.useEffect;function Rr(r){const e=Je(),{control:t=e,disabled:s,name:n,exact:i}=r||{},[o,l]=F.useState(t._formState),y=F.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ke(()=>t._subscribe({name:n,formState:y.current,exact:i,callback:g=>{!s&&l({...t._formState,...g})}}),[n,s,i]),F.useEffect(()=>{y.current.isValid&&t._setValid(!0)},[t]),F.useMemo(()=>Ut(o,t,y.current,!1),[o,t])}var ee=r=>typeof r=="string",He=(r,e,t,s,n)=>ee(r)?(s&&e.watch.add(r),p(t,r,n)):Array.isArray(r)?r.map(i=>(s&&e.watch.add(i),p(t,i))):(s&&(e.watchAll=!0),t),Le=r=>K(r)||!Nt(r);function ne(r,e,t=new WeakSet){if(Le(r)||Le(e))return Object.is(r,e);if(fe(r)&&fe(e))return Object.is(r.getTime(),e.getTime());const s=Object.keys(r),n=Object.keys(e);if(s.length!==n.length)return!1;if(t.has(r)||t.has(e))return!0;t.add(r),t.add(e);for(const i of s){const o=r[i];if(!n.includes(i))return!1;if(i!=="ref"){const l=e[i];if(fe(o)&&fe(l)||q(o)&&q(l)||Array.isArray(o)&&Array.isArray(l)?!ne(o,l,t):!Object.is(o,l))return!1}}return!0}function Mr(r){const e=Je(),{control:t=e,name:s,defaultValue:n,disabled:i,exact:o,compute:l}=r||{},y=F.useRef(n),g=F.useRef(l),k=F.useRef(void 0),h=F.useRef(t),C=F.useRef(s);g.current=l;const[b,D]=F.useState(()=>{const _=t._getWatch(s,y.current);return g.current?g.current(_):_}),R=F.useCallback(_=>{const A=He(s,t._names,_||t._formValues,!1,y.current);return g.current?g.current(A):A},[t._formValues,t._names,s]),x=F.useCallback(_=>{if(!i){const A=He(s,t._names,_||t._formValues,!1,y.current);if(g.current){const U=g.current(A);ne(U,k.current)||(D(U),k.current=U)}else D(A)}},[t._formValues,t._names,i,s]);Ke(()=>((h.current!==t||!ne(C.current,s))&&(h.current=t,C.current=s,x()),t._subscribe({name:s,formState:{values:!0},exact:o,callback:_=>{x(_.values)}})),[t,o,s,x]),F.useEffect(()=>t._removeUnmounted());const E=h.current!==t,S=C.current,V=F.useMemo(()=>{if(i)return null;const _=!E&&!ne(S,s);return E||_?R():null},[i,E,s,S,R]);return V!==null?V:b}function Nr(r){const e=Je(),{name:t,disabled:s,control:n=e,shouldUnregister:i,defaultValue:o,exact:l=!0}=r,y=It(n._names.array,t),g=F.useMemo(()=>p(n._formValues,t,p(n._defaultValues,t,o)),[n,t,o]),k=Mr({control:n,name:t,defaultValue:g,exact:l}),h=Rr({control:n,name:t,exact:l}),C=F.useRef(r),b=F.useRef(void 0),D=F.useRef(n.register(t,{...r.rules,value:k,...Z(r.disabled)?{disabled:r.disabled}:{}}));C.current=r;const R=F.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!p(h.errors,t)},isDirty:{enumerable:!0,get:()=>!!p(h.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!p(h.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!p(h.validatingFields,t)},error:{enumerable:!0,get:()=>p(h.errors,t)}}),[h,t]),x=F.useCallback(_=>D.current.onChange({target:{value:$t(_),name:t},type:Ee.CHANGE}),[t]),E=F.useCallback(()=>D.current.onBlur({target:{value:p(n._formValues,t),name:t},type:Ee.BLUR}),[t,n._formValues]),S=F.useCallback(_=>{const A=p(n._fields,t);A&&A._f&&_&&(A._f.ref={focus:()=>J(_.focus)&&_.focus(),select:()=>J(_.select)&&_.select(),setCustomValidity:U=>J(_.setCustomValidity)&&_.setCustomValidity(U),reportValidity:()=>J(_.reportValidity)&&_.reportValidity()})},[n._fields,t]),V=F.useMemo(()=>({name:t,value:k,...Z(s)||h.disabled?{disabled:h.disabled||s}:{},onChange:x,onBlur:E,ref:S}),[t,s,h.disabled,x,E,S,k]);return F.useEffect(()=>{const _=n._options.shouldUnregister||i,A=b.current;A&&A!==t&&!y&&n.unregister(A),n.register(t,{...C.current.rules,...Z(C.current.disabled)?{disabled:C.current.disabled}:{}});const U=(W,te)=>{const H=p(n._fields,W);H&&H._f&&(H._f.mount=te)};if(U(t,!0),_){const W=j(p(n._options.defaultValues,t,C.current.defaultValue));I(n._defaultValues,t,W),P(p(n._formValues,t))&&I(n._formValues,t,W)}return!y&&n.register(t),b.current=t,()=>{(y?_&&!n._state.action:_)?n.unregister(t):U(t,!1)}},[t,n,y,i]),F.useEffect(()=>{n._setDisabledField({disabled:s,name:t})},[s,t,n]),F.useMemo(()=>({field:V,formState:h,fieldState:R}),[V,h,R])}const bs=r=>r.render(Nr(r)),Qe=F.createContext(null);Qe.displayName="HookFormContext";const vs=()=>F.useContext(Qe),ws=r=>{const{children:e,watch:t,getValues:s,getFieldState:n,setError:i,clearErrors:o,setValue:l,trigger:y,formState:g,resetField:k,reset:h,handleSubmit:C,unregister:b,control:D,register:R,setFocus:x,subscribe:E}=r;return F.createElement(Qe.Provider,{value:F.useMemo(()=>({watch:t,getValues:s,getFieldState:n,setError:i,clearErrors:o,setValue:l,trigger:y,formState:g,resetField:k,reset:h,handleSubmit:C,unregister:b,control:D,register:R,setFocus:x,subscribe:E}),[o,D,g,n,s,C,R,h,k,i,x,l,E,y,b,t])},F.createElement(Ge.Provider,{value:D},e))};var $r=(r,e,t,s,n)=>e?{...t[r],types:{...t[r]&&t[r].types?t[r].types:{},[s]:n||!0}}:{},xe=r=>Array.isArray(r)?r:[r],pt=()=>{let r=[];return{get observers(){return r},next:n=>{for(const i of r)i.next&&i.next(n)},subscribe:n=>(r.push(n),{unsubscribe:()=>{r=r.filter(i=>i!==n)}}),unsubscribe:()=>{r=[]}}};function Pt(r,e){const t={};for(const s in r)if(r.hasOwnProperty(s)){const n=r[s],i=e[s];if(n&&q(n)&&i){const o=Pt(n,i);q(o)&&(t[s]=o)}else r[s]&&(t[s]=i)}return t}var G=r=>q(r)&&!Object.keys(r).length,Xe=r=>r.type==="file",Fe=r=>{if(!ze)return!1;const e=r?r.ownerDocument:0;return r instanceof(e&&e.defaultView?e.defaultView.HTMLElement:HTMLElement)},Ht=r=>r.type==="select-multiple",Ze=r=>r.type==="radio",Ir=r=>Ze(r)||Ce(r),Ue=r=>Fe(r)&&r.isConnected;function Ur(r,e){const t=e.slice(0,-1).length;let s=0;for(;s<t;)r=P(r)?s++:r[e[s++]];return r}function Pr(r){for(const e in r)if(r.hasOwnProperty(e)&&!P(r[e]))return!1;return!0}function B(r,e){const t=Array.isArray(e)?e:Oe(e)?[e]:Ye(e),s=t.length===1?r:Ur(r,t),n=t.length-1,i=t[n];return s&&delete s[i],n!==0&&(q(s)&&G(s)||Array.isArray(s)&&Pr(s))&&B(r,t.slice(0,-1)),r}var Hr=r=>{for(const e in r)if(J(r[e]))return!0;return!1};function Lt(r){return Array.isArray(r)||q(r)&&!Hr(r)}function je(r,e={}){for(const t in r){const s=r[t];Lt(s)?(e[t]=Array.isArray(s)?[]:{},je(s,e[t])):P(s)||(e[t]=!0)}return e}function ge(r,e,t){t||(t=je(e));for(const s in r){const n=r[s];if(Lt(n))P(e)||Le(t[s])?t[s]=je(n,Array.isArray(n)?[]:{}):ge(n,K(e)?{}:e[s],t[s]);else{const i=e[s];t[s]=!ne(n,i)}}return t}const mt={value:!1,isValid:!1},bt={value:!0,isValid:!0};var jt=r=>{if(Array.isArray(r)){if(r.length>1){const e=r.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:e,isValid:!!e.length}}return r[0].checked&&!r[0].disabled?r[0].attributes&&!P(r[0].attributes.value)?P(r[0].value)||r[0].value===""?bt:{value:r[0].value,isValid:!0}:bt:mt}return mt},Bt=(r,{valueAsNumber:e,valueAsDate:t,setValueAs:s})=>P(r)?r:e?r===""?NaN:r&&+r:t&&ee(r)?new Date(r):s?s(r):r;const vt={isValid:!1,value:null};var qt=r=>Array.isArray(r)?r.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,vt):vt;function wt(r){const e=r.ref;return Xe(e)?e.files:Ze(e)?qt(r.refs).value:Ht(e)?[...e.selectedOptions].map(({value:t})=>t):Ce(e)?jt(r.refs).value:Bt(P(e.value)?r.ref.value:e.value,r)}var Lr=(r,e,t,s)=>{const n={};for(const i of r){const o=p(e,i);o&&I(n,i,o._f)}return{criteriaMode:t,names:[...r],fields:n,shouldUseNativeValidation:s}},Ve=r=>r instanceof RegExp,Se=r=>P(r)?r:Ve(r)?r.source:q(r)?Ve(r.value)?r.value.source:r.value:r,St=r=>({isOnSubmit:!r||r===se.onSubmit,isOnBlur:r===se.onBlur,isOnChange:r===se.onChange,isOnAll:r===se.all,isOnTouch:r===se.onTouched});const xt="AsyncFunction";var jr=r=>!!r&&!!r.validate&&!!(J(r.validate)&&r.validate.constructor.name===xt||q(r.validate)&&Object.values(r.validate).find(e=>e.constructor.name===xt)),Br=r=>r.mount&&(r.required||r.min||r.max||r.maxLength||r.minLength||r.pattern||r.validate),_t=(r,e,t)=>!t&&(e.watchAll||e.watch.has(r)||[...e.watch].some(s=>r.startsWith(s)&&/^\.\w+/.test(r.slice(s.length))));const _e=(r,e,t,s)=>{for(const n of t||Object.keys(r)){const i=p(r,n);if(i){const{_f:o,...l}=i;if(o){if(o.refs&&o.refs[0]&&e(o.refs[0],n)&&!s)return!0;if(o.ref&&e(o.ref,o.name)&&!s)return!0;if(_e(l,e))break}else if(q(l)&&_e(l,e))break}}};function Ct(r,e,t){const s=p(r,t);if(s||Oe(t))return{error:s,name:t};const n=t.split(".");for(;n.length;){const i=n.join("."),o=p(e,i),l=p(r,i);if(o&&!Array.isArray(o)&&t!==i)return{name:t};if(l&&l.type)return{name:i,error:l};if(l&&l.root&&l.root.type)return{name:`${i}.root`,error:l.root};n.pop()}return{name:t}}var qr=(r,e,t,s)=>{t(r);const{name:n,...i}=r;return G(i)||Object.keys(i).length>=Object.keys(e).length||Object.keys(i).find(o=>e[o]===(!s||se.all))},zr=(r,e,t)=>!r||!e||r===e||xe(r).some(s=>s&&(t?s===e:s.startsWith(e)||e.startsWith(s))),Wr=(r,e,t,s,n)=>n.isOnAll?!1:!t&&n.isOnTouch?!(e||r):(t?s.isOnBlur:n.isOnBlur)?!r:(t?s.isOnChange:n.isOnChange)?r:!0,Yr=(r,e)=>!We(p(r,e)).length&&B(r,e),Gr=(r,e,t)=>{const s=xe(p(r,t));return I(s,"root",e[t]),I(r,t,s),r};function At(r,e,t="validate"){if(ee(r)||Array.isArray(r)&&r.every(ee)||Z(r)&&!r)return{type:t,message:ee(r)?r:"",ref:e}}var he=r=>q(r)&&!Ve(r)?r:{value:r,message:""},kt=async(r,e,t,s,n,i)=>{const{ref:o,refs:l,required:y,maxLength:g,minLength:k,min:h,max:C,pattern:b,validate:D,name:R,valueAsNumber:x,mount:E}=r._f,S=p(t,R);if(!E||e.has(R))return{};const V=l?l[0]:o,_=T=>{n&&V.reportValidity&&(V.setCustomValidity(Z(T)?"":T||""),V.reportValidity())},A={},U=Ze(o),W=Ce(o),te=U||W,H=(x||Xe(o))&&P(o.value)&&P(S)||Fe(o)&&o.value===""||S===""||Array.isArray(S)&&!S.length,O=$r.bind(null,R,s,A),pe=(T,M,L,z=ie.maxLength,re=ie.minLength)=>{const X=T?M:L;A[R]={type:T?z:re,message:X,ref:o,...O(T?z:re,X)}};if(i?!Array.isArray(S)||!S.length:y&&(!te&&(H||K(S))||Z(S)&&!S||W&&!jt(l).isValid||U&&!qt(l).isValid)){const{value:T,message:M}=ee(y)?{value:!!y,message:y}:he(y);if(T&&(A[R]={type:ie.required,message:M,ref:V,...O(ie.required,M)},!s))return _(M),A}if(!H&&(!K(h)||!K(C))){let T,M;const L=he(C),z=he(h);if(!K(S)&&!isNaN(S)){const re=o.valueAsNumber||S&&+S;K(L.value)||(T=re>L.value),K(z.value)||(M=re<z.value)}else{const re=o.valueAsDate||new Date(S),X=ve=>new Date(new Date().toDateString()+" "+ve),me=o.type=="time",be=o.type=="week";ee(L.value)&&S&&(T=me?X(S)>X(L.value):be?S>L.value:re>new Date(L.value)),ee(z.value)&&S&&(M=me?X(S)<X(z.value):be?S<z.value:re<new Date(z.value))}if((T||M)&&(pe(!!T,L.message,z.message,ie.max,ie.min),!s))return _(A[R].message),A}if((g||k)&&!H&&(ee(S)||i&&Array.isArray(S))){const T=he(g),M=he(k),L=!K(T.value)&&S.length>+T.value,z=!K(M.value)&&S.length<+M.value;if((L||z)&&(pe(L,T.message,M.message),!s))return _(A[R].message),A}if(b&&!H&&ee(S)){const{value:T,message:M}=he(b);if(Ve(T)&&!S.match(T)&&(A[R]={type:ie.pattern,message:M,ref:o,...O(ie.pattern,M)},!s))return _(M),A}if(D){if(J(D)){const T=await D(S,t),M=At(T,V);if(M&&(A[R]={...M,...O(ie.validate,M.message)},!s))return _(M.message),A}else if(q(D)){let T={};for(const M in D){if(!G(T)&&!s)break;const L=At(await D[M](S,t),V,M);L&&(T={...L,...O(M,L.message)},_(L.message),s&&(A[R]=T))}if(!G(T)&&(A[R]={ref:V,...T},!s))return A}}return _(!0),A};const Jr={mode:se.onSubmit,reValidateMode:se.onChange,shouldFocusError:!0};function Kr(r={}){let e={...Jr,...r},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:J(e.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1},s={},n=q(e.defaultValues)||q(e.values)?j(e.defaultValues||e.values)||{}:{},i=e.shouldUnregister?{}:j(n),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},y,g=0;const k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={...k};let C={...h};const b={array:pt(),state:pt()},D=e.criteriaMode===se.all,R=a=>u=>{clearTimeout(g),g=setTimeout(a,u)},x=async a=>{if(!o.keepIsValid&&!e.disabled&&(h.isValid||C.isValid||a)){let u;e.resolver?(u=G((await te()).errors),E()):u=await O(s,!0),u!==t.isValid&&b.state.next({isValid:u})}},E=(a,u)=>{!e.disabled&&(h.isValidating||h.validatingFields||C.isValidating||C.validatingFields)&&((a||Array.from(l.mount)).forEach(c=>{c&&(u?I(t.validatingFields,c,u):B(t.validatingFields,c))}),b.state.next({validatingFields:t.validatingFields,isValidating:!G(t.validatingFields)}))},S=(a,u=[],c,m,f=!0,d=!0)=>{if(m&&c&&!e.disabled){if(o.action=!0,d&&Array.isArray(p(s,a))){const w=c(p(s,a),m.argA,m.argB);f&&I(s,a,w)}if(d&&Array.isArray(p(t.errors,a))){const w=c(p(t.errors,a),m.argA,m.argB);f&&I(t.errors,a,w),Yr(t.errors,a)}if((h.touchedFields||C.touchedFields)&&d&&Array.isArray(p(t.touchedFields,a))){const w=c(p(t.touchedFields,a),m.argA,m.argB);f&&I(t.touchedFields,a,w)}(h.dirtyFields||C.dirtyFields)&&(t.dirtyFields=ge(n,i)),b.state.next({name:a,isDirty:T(a,u),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else I(i,a,u)},V=(a,u)=>{I(t.errors,a,u),b.state.next({errors:t.errors})},_=a=>{t.errors=a,b.state.next({errors:t.errors,isValid:!1})},A=(a,u,c,m)=>{const f=p(s,a);if(f){const d=p(i,a,P(c)?p(n,a):c);P(d)||m&&m.defaultChecked||u?I(i,a,u?d:wt(f._f)):z(a,d),o.mount&&!o.action&&x()}},U=(a,u,c,m,f)=>{let d=!1,w=!1;const N={name:a};if(!e.disabled){if(!c||m){(h.isDirty||C.isDirty)&&(w=t.isDirty,t.isDirty=N.isDirty=T(),d=w!==N.isDirty);const $=ne(p(n,a),u);w=!!p(t.dirtyFields,a),$?B(t.dirtyFields,a):I(t.dirtyFields,a,!0),N.dirtyFields=t.dirtyFields,d=d||(h.dirtyFields||C.dirtyFields)&&w!==!$}if(c){const $=p(t.touchedFields,a);$||(I(t.touchedFields,a,c),N.touchedFields=t.touchedFields,d=d||(h.touchedFields||C.touchedFields)&&$!==c)}d&&f&&b.state.next(N)}return d?N:{}},W=(a,u,c,m)=>{const f=p(t.errors,a),d=(h.isValid||C.isValid)&&Z(u)&&t.isValid!==u;if(e.delayError&&c?(y=R(()=>V(a,c)),y(e.delayError)):(clearTimeout(g),y=null,c?I(t.errors,a,c):B(t.errors,a)),(c?!ne(f,c):f)||!G(m)||d){const w={...m,...d&&Z(u)?{isValid:u}:{},errors:t.errors,name:a};t={...t,...w},b.state.next(w)}},te=async a=>(E(a,!0),await e.resolver(i,e.context,Lr(a||l.mount,s,e.criteriaMode,e.shouldUseNativeValidation))),H=async a=>{const{errors:u}=await te(a);if(E(a),a)for(const c of a){const m=p(u,c);m?I(t.errors,c,m):B(t.errors,c)}else t.errors=u;return u},O=async(a,u,c={valid:!0})=>{for(const m in a){const f=a[m];if(f){const{_f:d,...w}=f;if(d){const N=l.array.has(d.name),$=f._f&&jr(f._f);$&&h.validatingFields&&E([d.name],!0);const Y=await kt(f,l.disabled,i,D,e.shouldUseNativeValidation&&!u,N);if($&&h.validatingFields&&E([d.name]),Y[d.name]&&(c.valid=!1,u||r.shouldUseNativeValidation))break;!u&&(p(Y,d.name)?N?Gr(t.errors,Y,d.name):I(t.errors,d.name,Y[d.name]):B(t.errors,d.name))}!G(w)&&await O(w,u,c)}}return c.valid},pe=()=>{for(const a of l.unMount){const u=p(s,a);u&&(u._f.refs?u._f.refs.every(c=>!Ue(c)):!Ue(u._f.ref))&&Te(a)}l.unMount=new Set},T=(a,u)=>!e.disabled&&(a&&u&&I(i,a,u),!ne(et(),n)),M=(a,u,c)=>He(a,l,{...o.mount?i:P(u)?n:ee(a)?{[a]:u}:u},c,u),L=a=>We(p(o.mount?i:n,a,e.shouldUnregister?p(n,a,[]):[])),z=(a,u,c={})=>{const m=p(s,a);let f=u;if(m){const d=m._f;d&&(!d.disabled&&I(i,a,Bt(u,d)),f=Fe(d.ref)&&K(u)?"":u,Ht(d.ref)?[...d.ref.options].forEach(w=>w.selected=f.includes(w.value)):d.refs?Ce(d.ref)?d.refs.forEach(w=>{(!w.defaultChecked||!w.disabled)&&(Array.isArray(f)?w.checked=!!f.find(N=>N===w.value):w.checked=f===w.value||!!f)}):d.refs.forEach(w=>w.checked=w.value===f):Xe(d.ref)?d.ref.value="":(d.ref.value=f,d.ref.type||b.state.next({name:a,values:j(i)})))}(c.shouldDirty||c.shouldTouch)&&U(a,f,c.shouldTouch,c.shouldDirty,!0),c.shouldValidate&&ve(a)},re=(a,u,c)=>{for(const m in u){if(!u.hasOwnProperty(m))return;const f=u[m],d=a+"."+m,w=p(s,d);(l.array.has(a)||q(f)||w&&!w._f)&&!fe(f)?re(d,f,c):z(d,f,c)}},X=(a,u,c={})=>{const m=p(s,a),f=l.array.has(a),d=j(u);I(i,a,d),f?(b.array.next({name:a,values:j(i)}),(h.isDirty||h.dirtyFields||C.isDirty||C.dirtyFields)&&c.shouldDirty&&b.state.next({name:a,dirtyFields:ge(n,i),isDirty:T(a,d)})):m&&!m._f&&!K(d)?re(a,d,c):z(a,d,c),_t(a,l)?b.state.next({...t,name:a,values:j(i)}):b.state.next({name:o.mount?a:void 0,values:j(i)})},me=async a=>{o.mount=!0;const u=a.target;let c=u.name,m=!0;const f=p(s,c),d=$=>{m=Number.isNaN($)||fe($)&&isNaN($.getTime())||ne($,p(i,c,$))},w=St(e.mode),N=St(e.reValidateMode);if(f){let $,Y;const le=u.type?wt(f._f):$t(a),oe=a.type===Ee.BLUR||a.type===Ee.FOCUS_OUT,Xt=!Br(f._f)&&!e.resolver&&!p(t.errors,c)&&!f._f.deps||Wr(oe,p(t.touchedFields,c),t.isSubmitted,N,w),Ne=_t(c,l,oe);I(i,c,le),oe?(!u||!u.readOnly)&&(f._f.onBlur&&f._f.onBlur(a),y&&y(0)):f._f.onChange&&f._f.onChange(a);const $e=U(c,le,oe),Zt=!G($e)||Ne;if(!oe&&b.state.next({name:c,type:a.type,values:j(i)}),Xt)return(h.isValid||C.isValid)&&(e.mode==="onBlur"?oe&&x():oe||x()),Zt&&b.state.next({name:c,...Ne?{}:$e});if(!oe&&Ne&&b.state.next({...t}),e.resolver){const{errors:lt}=await te([c]);if(E([c]),d(le),m){const er=Ct(t.errors,s,c),ct=Ct(lt,s,er.name||c);$=ct.error,c=ct.name,Y=G(lt)}}else E([c],!0),$=(await kt(f,l.disabled,i,D,e.shouldUseNativeValidation))[c],E([c]),d(le),m&&($?Y=!1:(h.isValid||C.isValid)&&(Y=await O(s,!0)));m&&(f._f.deps&&(!Array.isArray(f._f.deps)||f._f.deps.length>0)&&ve(f._f.deps),W(c,Y,$,$e))}},be=(a,u)=>{if(p(t.errors,u)&&a.focus)return a.focus(),1},ve=async(a,u={})=>{let c,m;const f=xe(a);if(e.resolver){const d=await H(P(a)?a:f);c=G(d),m=a?!f.some(w=>p(d,w)):c}else a?(m=(await Promise.all(f.map(async d=>{const w=p(s,d);return await O(w&&w._f?{[d]:w}:w)}))).every(Boolean),!(!m&&!t.isValid)&&x()):m=c=await O(s);return b.state.next({...!ee(a)||(h.isValid||C.isValid)&&c!==t.isValid?{}:{name:a},...e.resolver||!a?{isValid:c}:{},errors:t.errors}),u.shouldFocus&&!m&&_e(s,be,a?f:l.mount),m},et=(a,u)=>{let c={...o.mount?i:n};return u&&(c=Pt(u.dirtyFields?t.dirtyFields:t.touchedFields,c)),P(a)?c:ee(a)?p(c,a):a.map(m=>p(c,m))},tt=(a,u)=>({invalid:!!p((u||t).errors,a),isDirty:!!p((u||t).dirtyFields,a),error:p((u||t).errors,a),isValidating:!!p(t.validatingFields,a),isTouched:!!p((u||t).touchedFields,a)}),zt=a=>{const u=a?xe(a):void 0;u?.forEach(c=>B(t.errors,c)),u?u.forEach(c=>{b.state.next({name:c,errors:t.errors})}):b.state.next({errors:{}})},rt=(a,u,c)=>{const m=(p(s,a,{_f:{}})._f||{}).ref,f=p(t.errors,a)||{},{ref:d,message:w,type:N,...$}=f;I(t.errors,a,{...$,...u,ref:m}),b.state.next({name:a,errors:t.errors,isValid:!1}),c&&c.shouldFocus&&m&&m.focus&&m.focus()},Wt=(a,u)=>J(a)?b.state.subscribe({next:c=>"values"in c&&a(M(void 0,u),c)}):M(a,u,!0),st=a=>b.state.subscribe({next:u=>{zr(a.name,u.name,a.exact)&&qr(u,a.formState||h,Qt,a.reRenderRoot)&&a.callback({values:{...i},...t,...u,defaultValues:n})}}).unsubscribe,Yt=a=>(o.mount=!0,C={...C,...a.formState},st({...a,formState:{...k,...a.formState}})),Te=(a,u={})=>{for(const c of a?xe(a):l.mount)l.mount.delete(c),l.array.delete(c),u.keepValue||(B(s,c),B(i,c)),!u.keepError&&B(t.errors,c),!u.keepDirty&&B(t.dirtyFields,c),!u.keepTouched&&B(t.touchedFields,c),!u.keepIsValidating&&B(t.validatingFields,c),!e.shouldUnregister&&!u.keepDefaultValue&&B(n,c);b.state.next({values:j(i)}),b.state.next({...t,...u.keepDirty?{isDirty:T()}:{}}),!u.keepIsValid&&x()},nt=({disabled:a,name:u})=>{if(Z(a)&&o.mount||a||l.disabled.has(u)){const f=l.disabled.has(u)!==!!a;a?l.disabled.add(u):l.disabled.delete(u),f&&o.mount&&!o.action&&x()}},Re=(a,u={})=>{let c=p(s,a);const m=Z(u.disabled)||Z(e.disabled);return I(s,a,{...c||{},_f:{...c&&c._f?c._f:{ref:{name:a}},name:a,mount:!0,...u}}),l.mount.add(a),c?nt({disabled:Z(u.disabled)?u.disabled:e.disabled,name:a}):A(a,!0,u.value),{...m?{disabled:u.disabled||e.disabled}:{},...e.progressive?{required:!!u.required,min:Se(u.min),max:Se(u.max),minLength:Se(u.minLength),maxLength:Se(u.maxLength),pattern:Se(u.pattern)}:{},name:a,onChange:me,onBlur:me,ref:f=>{if(f){Re(a,u),c=p(s,a);const d=P(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,w=Ir(d),N=c._f.refs||[];if(w?N.find($=>$===d):d===c._f.ref)return;I(s,a,{_f:{...c._f,...w?{refs:[...N.filter(Ue),d,...Array.isArray(p(n,a))?[{}]:[]],ref:{type:d.type,name:a}}:{ref:d}}}),A(a,!1,void 0,d)}else c=p(s,a,{}),c._f&&(c._f.mount=!1),(e.shouldUnregister||u.shouldUnregister)&&!(It(l.array,a)&&o.action)&&l.unMount.add(a)}}},Me=()=>e.shouldFocusError&&_e(s,be,l.mount),Gt=a=>{Z(a)&&(b.state.next({disabled:a}),_e(s,(u,c)=>{const m=p(s,c);m&&(u.disabled=m._f.disabled||a,Array.isArray(m._f.refs)&&m._f.refs.forEach(f=>{f.disabled=m._f.disabled||a}))},0,!1))},it=(a,u)=>async c=>{let m;c&&(c.preventDefault&&c.preventDefault(),c.persist&&c.persist());let f=j(i);if(b.state.next({isSubmitting:!0}),e.resolver){const{errors:d,values:w}=await te();E(),t.errors=d,f=j(w)}else await O(s);if(l.disabled.size)for(const d of l.disabled)B(f,d);if(B(t.errors,"root"),G(t.errors)){b.state.next({errors:{}});try{await a(f,c)}catch(d){m=d}}else u&&await u({...t.errors},c),Me(),setTimeout(Me);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:G(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Jt=(a,u={})=>{p(s,a)&&(P(u.defaultValue)?X(a,j(p(n,a))):(X(a,u.defaultValue),I(n,a,j(u.defaultValue))),u.keepTouched||B(t.touchedFields,a),u.keepDirty||(B(t.dirtyFields,a),t.isDirty=u.defaultValue?T(a,j(p(n,a))):T()),u.keepError||(B(t.errors,a),h.isValid&&x()),b.state.next({...t}))},at=(a,u={})=>{const c=a?j(a):n,m=j(c),f=G(a),d=f?n:m;if(u.keepDefaultValues||(n=c),!u.keepValues){if(u.keepDirtyValues){const w=new Set([...l.mount,...Object.keys(ge(n,i))]);for(const N of Array.from(w)){const $=p(t.dirtyFields,N),Y=p(i,N),le=p(d,N);$&&!P(Y)?I(d,N,Y):!$&&!P(le)&&X(N,le)}}else{if(ze&&P(a))for(const w of l.mount){const N=p(s,w);if(N&&N._f){const $=Array.isArray(N._f.refs)?N._f.refs[0]:N._f.ref;if(Fe($)){const Y=$.closest("form");if(Y){Y.reset();break}}}}if(u.keepFieldsRef)for(const w of l.mount)X(w,p(d,w));else s={}}i=e.shouldUnregister?u.keepDefaultValues?j(n):{}:j(d),b.array.next({values:{...d}}),b.state.next({values:{...d}})}l={mount:u.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!h.isValid||!!u.keepIsValid||!!u.keepDirtyValues||!e.shouldUnregister&&!G(d),o.watch=!!e.shouldUnregister,o.keepIsValid=!!u.keepIsValid,o.action=!1,u.keepErrors||(t.errors={}),b.state.next({submitCount:u.keepSubmitCount?t.submitCount:0,isDirty:f?!1:u.keepDirty?t.isDirty:!!(u.keepDefaultValues&&!ne(a,n)),isSubmitted:u.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:u.keepDirtyValues?u.keepDefaultValues&&i?ge(n,i):t.dirtyFields:u.keepDefaultValues&&a?ge(n,a):u.keepDirty?t.dirtyFields:{},touchedFields:u.keepTouched?t.touchedFields:{},errors:u.keepErrors?t.errors:{},isSubmitSuccessful:u.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:n})},ot=(a,u)=>at(J(a)?a(i):a,{...e.resetOptions,...u}),Kt=(a,u={})=>{const c=p(s,a),m=c&&c._f;if(m){const f=m.refs?m.refs[0]:m.ref;f.focus&&setTimeout(()=>{f.focus(),u.shouldSelect&&J(f.select)&&f.select()})}},Qt=a=>{t={...t,...a}},ut={control:{register:Re,unregister:Te,getFieldState:tt,handleSubmit:it,setError:rt,_subscribe:st,_runSchema:te,_updateIsValidating:E,_focusError:Me,_getWatch:M,_getDirty:T,_setValid:x,_setFieldArray:S,_setDisabledField:nt,_setErrors:_,_getFieldArray:L,_reset:at,_resetDefaultValues:()=>J(e.defaultValues)&&e.defaultValues().then(a=>{ot(a,e.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:pe,_disableForm:Gt,_subjects:b,_proxyFormState:h,get _fields(){return s},get _formValues(){return i},get _state(){return o},set _state(a){o=a},get _defaultValues(){return n},get _names(){return l},set _names(a){l=a},get _formState(){return t},get _options(){return e},set _options(a){e={...e,...a}}},subscribe:Yt,trigger:ve,register:Re,handleSubmit:it,watch:Wt,setValue:X,getValues:et,reset:ot,resetField:Jt,clearErrors:zt,unregister:Te,setError:rt,setFocus:Kt,getFieldState:tt};return{...ut,formControl:ut}}function Ss(r={}){const e=F.useRef(void 0),t=F.useRef(void 0),[s,n]=F.useState({isDirty:!1,isValidating:!1,isLoading:J(r.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1,isReady:!1,defaultValues:J(r.defaultValues)?void 0:r.defaultValues});if(!e.current)if(r.formControl)e.current={...r.formControl,formState:s},r.defaultValues&&!J(r.defaultValues)&&r.formControl.reset(r.defaultValues,r.resetOptions);else{const{formControl:o,...l}=Kr(r);e.current={...l,formState:s}}const i=e.current.control;return i._options=r,Ke(()=>{const o=i._subscribe({formState:i._proxyFormState,callback:()=>n({...i._formState}),reRenderRoot:!0});return n(l=>({...l,isReady:!0})),i._formState.isReady=!0,o},[i]),F.useEffect(()=>i._disableForm(r.disabled),[i,r.disabled]),F.useEffect(()=>{r.mode&&(i._options.mode=r.mode),r.reValidateMode&&(i._options.reValidateMode=r.reValidateMode)},[i,r.mode,r.reValidateMode]),F.useEffect(()=>{r.errors&&(i._setErrors(r.errors),i._focusError())},[i,r.errors]),F.useEffect(()=>{r.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,r.shouldUnregister]),F.useEffect(()=>{if(i._proxyFormState.isDirty){const o=i._getDirty();o!==s.isDirty&&i._subjects.state.next({isDirty:o})}},[i,s.isDirty]),F.useEffect(()=>{var o;r.values&&!ne(r.values,t.current)?(i._reset(r.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((o=i._options.resetOptions)===null||o===void 0)&&o.keepIsValid||i._setValid(),t.current=r.values,n(l=>({...l}))):i._resetDefaultValues()},[i,r.values]),F.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),e.current.formState=F.useMemo(()=>Ut(s,i),[i,s]),e.current}function Qr(r,e=0){const t=`migrated_${e}`;return r.type==="separator"?{id:t,type:"separator",label:r.label||""}:r.type==="group"?{id:t,type:"group",label:r.label||"",icon:r.icon,children:(r.children||[]).map((s,n)=>Qr(s,e*100+n)),visible:r.hidden!==void 0?!r.hidden:void 0,badge:r.badge,defaultOpen:!0}:r.href?{id:t,type:"url",label:r.label||"",icon:r.icon,url:r.href,target:"_blank",visible:r.hidden!==void 0?!r.hidden:void 0,badge:r.badge}:{id:t,type:"page",label:r.label||"",icon:r.icon,pageName:r.path||"",visible:r.hidden!==void 0?!r.hidden:void 0,badge:r.badge}}function xs(r){return/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/.test(r)}function _s(r){return{type:"app",name:r.name,title:r.title,label:r.title,description:r.description,icon:r.icon,logo:r.branding.logo,favicon:r.branding.favicon,branding:r.branding,layout:r.layout,navigation:r.navigation}}export{Dr as A,xs as B,rr as C,ye as E,ws as F,mr as P,yr as S,bs as a,Ss as b,us as c,ys as d,ls as e,ds as f,is as g,ns as h,os as i,ts as j,rs as k,fs as l,Qr as m,ir as n,De as o,ms as p,ps as q,fr as r,ss as s,hs as t,vs as u,lr as v,cs as w,gs as x,as as y,_s as z};
|