@fieldia/viewer 0.5.0 → 0.6.0
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/bundle/fieldia.js +107 -34
- package/bundle/fieldia.js.map +4 -4
- package/package.json +3 -3
- package/src/lib/viewer.d.mts +12 -1
- package/src/lib/viewer.d.ts +12 -1
- package/src/lib/viewer.js +131 -16
- package/src/lib/viewer.js.map +1 -1
- package/src/lib/viewer.mjs +133 -18
- package/src/lib/viewer.mjs.map +1 -1
package/bundle/fieldia.js
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
/*! Fieldia 0.
|
|
2
|
-
"use strict";var Fieldia=(()=>{var pr=Object.defineProperty;var Cu=Object.getOwnPropertyDescriptor;var Mu=Object.getOwnPropertyNames;var Du=Object.prototype.hasOwnProperty;var ju=(e,t,r)=>t in e?pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var di=(e,t)=>{for(var r in t)pr(e,r,{get:t[r],enumerable:!0})},Vu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Mu(t))!Du.call(e,o)&&o!==r&&pr(e,o,{get:()=>t[o],enumerable:!(n=Cu(t,o))||n.enumerable});return e};var Bu=e=>Vu(pr({},"__esModule",{value:!0}),e);var ht=(e,t,r)=>ju(e,typeof t!="symbol"?t+"":t,r);var _m={};di(_m,{DEFAULT_LABELS:()=>gm,FIELDIA_CSS:()=>Zu,FIELD_NAME:()=>Fe,FIELD_TYPES:()=>Rl,FORMAT_VERSION:()=>jo,FieldSchema:()=>Do,FieldsSchema:()=>Hr,FilterConditionSchema:()=>Zo,LayoutNodeSchema:()=>xt,LineFieldSchema:()=>Co,LineKindsSchema:()=>Mo,MESSAGES:()=>mt,ModifierSchema:()=>nr,OptionSchema:()=>rr,PageSchema:()=>Tt,PropertyDefinitionSchema:()=>Fo,RootLayoutSchema:()=>Kr,VERSION:()=>km,VIEWER_LABELS:()=>Ft,WIDGET_LABELS:()=>xe,binaryWidget:()=>Xo,browserPreferences:()=>ci,builtInWidgets:()=>Ru,charTagsWidget:()=>Ho,checkValue:()=>ar,compileModifier:()=>ft,createForm:()=>Qr,createMemoryDataSource:()=>fu,createWidget:()=>We,displayValue:()=>Go,emptyValue:()=>ir,evaluateModifier:()=>au,expressionContext:()=>sr,fill:()=>Yr,formatBytes:()=>cr,formatNumber:()=>kt,hostScheduler:()=>lr,htmlWidget:()=>oi,imageWidget:()=>Qo,initialValues:()=>Zt,installStyles:()=>ai,isEmpty:()=>It,isModifierValid:()=>cu,isoWeek:()=>$u,jsonWidget:()=>ii,kindTextField:()=>xu,labelWidget:()=>dr,lineForm:()=>vu,lineKind:()=>pt,linesWidget:()=>Yo,linkAddress:()=>Lu,linkCheckboxesWidget:()=>Ko,many2oneWidget:()=>Jo,memoryPreferences:()=>pm,mountViewer:()=>ui,normalizeNumber:()=>Wo,openFormDialog:()=>un,openSearchDialog:()=>li,pageJsonSchema:()=>su,progressbarWidget:()=>ur,propertiesWidget:()=>ri,referenceWidget:()=>qo,sanitizeHtml:()=>ni,statusbarWidget:()=>on,summary:()=>nn,tagsWidget:()=>rn,validatePage:()=>Gr,wait:()=>Xr,withCalendar:()=>an});var C={};di(C,{BIGINT_FORMAT_RANGES:()=>br,CONSTANT_CATCH:()=>wi,Class:()=>pn,NUMBER_FORMAT_RANGES:()=>Mt,aborted:()=>Re,allowsEval:()=>xn,assert:()=>qu,assertEqual:()=>Uu,assertIs:()=>Hu,assertNever:()=>Ku,assertNotEqual:()=>Wu,assignProp:()=>Pe,attachSchema:()=>xr,base64ToUint8Array:()=>xi,base64urlToUint8Array:()=>md,cached:()=>$t,captureStackTrace:()=>hr,cleanEnum:()=>pd,cleanRegex:()=>Ct,clone:()=>Me,cloneDef:()=>Xu,codePointLength:()=>Dt,constantCatch:()=>ki,createTransparentProxy:()=>od,defineLazy:()=>gn,defineLazyInternal:()=>ee,derived:()=>yd,esc:()=>bn,escapeRegex:()=>Qe,explicitlyAborted:()=>kn,extend:()=>ad,finalizeIssue:()=>je,floatSafeRemainder:()=>hn,getElementAtPath:()=>Qu,getEnumValues:()=>zt,getLengthableOrigin:()=>jt,getParsedType:()=>nd,getSizableOrigin:()=>yi,hexToUint8Array:()=>gd,hide:()=>vr,installLazyProp:()=>kd,isObject:()=>bt,isPlainObject:()=>at,issue:()=>Lt,joinValues:()=>mr,jsonStringifyReplacer:()=>St,members:()=>zn,merge:()=>ld,mergeDefs:()=>Xe,normalizeParams:()=>I,nullish:()=>mn,numKeys:()=>rd,objectClone:()=>Gu,omit:()=>sd,optionalKeys:()=>wn,own:()=>st,parsedType:()=>_n,partial:()=>ud,pick:()=>id,prefixIssues:()=>De,primitiveTypes:()=>gi,promiseAllObject:()=>ed,propertyKeyTypes:()=>vn,randomString:()=>td,rawShape:()=>Et,required:()=>dd,safeExtend:()=>cd,shallowClone:()=>hi,slugify:()=>yn,stringifyPrimitive:()=>gr,toZod:()=>Ju,uint8ArrayToBase64:()=>vi,uint8ArrayToBase64url:()=>hd,uint8ArrayToHex:()=>bd,unwrapMessage:()=>_t});function Uu(e){return e}function Wu(e){return e}function Ju(){return e=>e}function Hu(e){}function Ku(e){throw new Error("Unexpected value in exhaustive check")}function qu(e){}function zt(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function mr(e,t="|"){return e.map(r=>gr(r)).join(t)}function St(e,t){return typeof t=="bigint"?t.toString():t}var fn=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};function $t(e){return new fn(e)}function mn(e){return e==null}function Ct(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function hn(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<o?0:r-n}var fi=Symbol("evaluating");function gn(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==fi)return n===void 0&&(n=fi,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Gu(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function Pe(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Et(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function Ye(e){return Et(e._zod.def)??e._zod.def.shape}function pi(e,t,r){Object.defineProperty(e,t,{get(){let n=r();return Pe(this,t,n),n},enumerable:!0,configurable:!0})}function mi(e,t,r){t in e?Pe(e,t,r):e[t]=r}function gt(e,t,r,n){let o=Ye(t);for(let i of r){let s=Object.getOwnPropertyDescriptor(o,i);s.enumerable&&(s.get?pi(e,i,()=>{let a=t._zod.def.shape[i];return n?n(a,i):a}):mi(e,i,n?n(s.value,i):s.value))}}function Yu(e,t){for(let r of Reflect.ownKeys(t)){let n=Object.getOwnPropertyDescriptor(t,r);n.enumerable&&(n.get?pi(e,r,()=>t[r]):mi(e,r,n.value))}}function Xe(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Xu(e){return Xe(e._zod.def)}function Qu(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function ed(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function td(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function bn(e){return JSON.stringify(e)}function yn(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var hr="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function bt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var xn=$t(()=>{if(Le.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function at(e){if(bt(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(bt(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function hi(e){return at(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function rd(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var nd=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},vn=new Set(["string","number","symbol"]),gi=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Qe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Me(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function I(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function od(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function gr(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function wn(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var Mt={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},br={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function id(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i={};return gt(i,e,yr(e,t)),Me(e,Xe(r,{shape:i,checks:[]}))}function yr(e,t){let r=Ye(e),n=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&n.push(o)}return n}function sd(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=new Set(yr(e,t)),s={};return gt(s,e,Reflect.ownKeys(Ye(e)).filter(a=>!i.has(a))),Me(e,Xe(r,{shape:s,checks:[]}))}function ad(e,t){if(!at(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=Ye(e);for(let i of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Me(e,Xe(e._zod.def,{shape:bi(e,t)}))}function bi(e,t){let r={};return gt(r,e,Reflect.ownKeys(Ye(e))),Yu(r,t),r}function cd(e,t){if(!at(t))throw new Error("Invalid input to safeExtend: expected a plain object");return Me(e,Xe(e._zod.def,{shape:bi(e,t)}))}function ld(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};gt(r,e,Reflect.ownKeys(Ye(e))),gt(r,t,Reflect.ownKeys(Ye(t)));let n=Xe(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Me(e,n)}function ud(e,t,r,n="partial"){let i=t._zod.def.checks;if(i&&i.length>0)throw new Error(`.${n}() cannot be used on object schemas containing refinements`);let a=r?new Set(yr(t,r)):void 0,c={};return gt(c,t,Reflect.ownKeys(Ye(t)),e&&((l,u)=>a&&!a.has(u)?l:new e({type:"optional",innerType:l}))),Me(t,Xe(t._zod.def,{shape:c,checks:[]}))}function dd(e,t,r){let n=r?new Set(yr(t,r)):void 0,o={};return gt(o,t,Reflect.ownKeys(Ye(t)),(i,s)=>n&&!n.has(s)?i:new e({type:"nonoptional",innerType:i})),Me(t,Xe(t._zod.def,{shape:o}))}function Re(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function kn(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function De(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function _t(e){return typeof e=="string"?e:e?.message}function xr(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function je(e,t,r){var n;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(n=e).schema??(n.schema=e.inst):e.schema=e.inst);let i=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,s=e.message?e.message:_t(e.inst?._zod.def?.error?.(e))??_t(i?.(e))??_t(t?.error?.(e))??_t(r.customError?.(e))??_t(r.localeError?.(e))??"Invalid input",a={};for(let c of Object.keys(e))c==="inst"||c==="schema"||c==="continue"||c==="input"||c==="__proto__"||(a[c]=e[c]);return a.path??(a.path=[]),a.message=s,t?.reportInput&&(a.input=e.input),a}function yi(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}var fd=/[\uD800-\uDBFF]/;function Dt(e){let t=e.length;if(!fd.test(e))return t;let r=t;for(let n=0;n<t-1;n++)(e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320&&(r--,n++);return r}function jt(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function _n(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Lt(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function pd(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function xi(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function vi(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function md(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return xi(t+r)}function hd(e){return vi(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function gd(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function bd(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var pn=class{constructor(...t){}};function zn(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);n.get?Object.defineProperty(e,r,{...n,enumerable:!1}):xd(e,r,n.value)}}function st(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function vr(e,t,r){return st(e,t,r,!1)}function yd(e,t){for(let r in e){let n=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return st(this,r,n(this))},set(o){st(this,r,o)}})}return t}function xd(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:st(this,t,r.bind(this))},set(n){st(this,t,n)}})}function vd(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var dn,it=!1,wd={configurable:!0,get(){it=!0}};function ee(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&dn!==e._zod){dn=void 0;return}dn=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,wd);let o=it;it=!1;try{let i=r(this);return it?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i}),it=it||o,i}catch(i){throw delete this[t],it=it||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function kd(e,t,r,n){let o=vd(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let i={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,i),i.value=r(this),Object.defineProperty(this,t,i),i.value},set(i){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:i})}})}var wi="~constantCatch";function ki(e){let t=()=>e;return t[wi]=!0,t}var _i;var Sn={value:void 0,enumerable:!1},zi="captureStackTrace"in Error?Error:null;function _d(e){let t=zi;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return zi=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function w(e,t,r,n){let o={};function i(h){this.def=h,this.constr=d,this.traits=new Set}i.prototype=o;let s=r,a=s&&new WeakSet;function c(h,p){if(h._zod){if(h._zod.traits.has(e))return}else{Sn.value=new i(p);try{Object.defineProperty(h,"_zod",Sn)}finally{Sn.value=void 0}}if(h._zod.traits.add(e),t(h,p),a){let m=Object.getPrototypeOf(h),b=h._zod.constr.prototype,y=m;for(;y&&y!==b;)y=Object.getPrototypeOf(y);let g=y??m;a.has(g)||(a.add(g),zn(g,s))}let f=d.prototype;for(let m in f)Object.prototype.hasOwnProperty.call(f,m)&&(m in h||(h[m]=f[m].bind(h)))}let l=n?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(h){let p=n?.Parent?_d(u):this;c(p,h);let f=p._zod.deferred;if(f){for(let b of f)b();p._zod.deferred=void 0}let m=globalThis.__zod_globalConfig?.postProcessor;return m&&m(p),p}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:h=>n?.Parent&&h instanceof n.Parent?!0:h?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var Ve=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Nt=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(_i=globalThis).__zod_globalConfig??(_i.__zod_globalConfig={});var Le=globalThis.__zod_globalConfig;function Te(e){return e&&Object.assign(Le,e),Le}function zd(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,St,2)),e.message}function Sd(e){this._zod.message=e}var $d={get:zd,set:Sd,enumerable:!0,configurable:!0},En={value:void 0,enumerable:!1},Si=new WeakSet([Object.prototype,Error.prototype]),$i=(e,t)=>{e.name="$ZodError",En.value=t,Object.defineProperty(e,"issues",En),En.value=void 0,Object.defineProperty(e,"message",$d);let r=Object.getPrototypeOf(e);Si.has(r)||(Si.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}}))},Ei=w("$ZodError",$i),Lm=w("$ZodError",$i,void 0,{Parent:Error});function Ed(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function Li(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?Ed(r,o.path[0],()=>[]).push(t(o)):n.push(t(o));return{formErrors:n,fieldErrors:r}}function Ni(e,t=r=>r.message){let r={_errors:[]},n=(o,i=[])=>{for(let s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>n({issues:a},[...i,...s.path]));else if(s.code==="invalid_key")n({issues:s.issues},[...i,...s.path]);else if(s.code==="invalid_element")n({issues:s.issues},[...i,...s.path]);else{let a=[...i,...s.path];if(a.length===0)r._errors.push(t(s));else{let c=r,l=0;for(;l<a.length;){let u=a[l],d=l===a.length-1;if(u==="_errors"){d&&c._errors.push(t(s)),l++;continue}Object.prototype.hasOwnProperty.call(c,u)||Object.defineProperty(c,u,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let h=c[u];d&&h._errors.push(t(s)),c=h,l++}}}};return n(e),r}function wr(e,t){return{callee:t?.callee??e,Err:t?.Err}}var kr=e=>{let t=(r,n,o,i)=>{let s=o?{...o,async:!1}:{async:!1},a=r._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new Ve;if(a.issues.length){let c=new(i?.Err??e)(a.issues.map(l=>je(l,s,Te())));throw hr(c,i?.callee??t),c}return a.value};return t};var _r=e=>{let t=async(r,n,o,i)=>{let s=o?{...o,async:!0}:{async:!0},a=r._zod.run({value:n,issues:[]},s);if(a instanceof Promise&&(a=await a),a.issues.length){let c=new(i?.Err??e)(a.issues.map(l=>je(l,s,Te())));throw hr(c,i?.callee??t),c}return a.value};return t};var zr=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new Ve;return i.issues.length?Pi(e,i.issues,o):{success:!0,data:i.value}};function Pi(e,t,r){let n;return{success:!1,get error(){return n||(n=new e(t.map(o=>je(o,r,Te()))),t=void 0,r=void 0),n},set error(o){n=o,t=void 0,r=void 0}}}var Sr=e=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?Pi(e,i.issues,o):{success:!0,data:i.value}};var Ld=Symbol.for("zod.compile.invalid"),Nd=Symbol.for("zod.compile.fallback"),Ln=((e,t,r)=>{let n=e._zod.bag.validator;if(n!==void 0){if(n(t)!==Ld)return!0;if(n.definite===!0&&r===void 0)return!1}return Pd(e,t,r)});function Pd(e,t,r){let n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,i;if(o?(n[Nd]=!0,i=o({value:t,issues:[]},n)):i=e._zod.run({value:t,issues:[]},n),i instanceof Promise)throw new Ve;return i.issues.length===0}var Nn=async(e,t,r)=>{let n=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},n);return o instanceof Promise&&(o=await o),o.issues.length===0},Ai=e=>{let t=kr(e),r=(n,o,i,s)=>{let a=i?{...i,direction:"backward"}:{direction:"backward"};return t(n,o,a,wr(r,s))};return r};var Oi=e=>{let t=kr(e),r=(n,o,i,s)=>t(n,o,i,wr(r,s));return r};var Ri=e=>{let t=_r(e),r=async(n,o,i,s)=>{let a=i?{...i,direction:"backward"}:{direction:"backward"};return await t(n,o,a,wr(r,s))};return r};var Ti=e=>{let t=_r(e),r=async(n,o,i,s)=>await t(n,o,i,wr(r,s));return r};var Zi=e=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return zr(e)(t,r,o)};var Ii=e=>(t,r,n)=>zr(e)(t,r,n);var Fi=e=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Sr(e)(t,r,o)};var Ci=e=>async(t,r,n)=>Sr(e)(t,r,n);var Mi=/^[cC][0-9a-z]{6,}$/,Di=/^[0-9a-z]+$/,ji=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Vi=/^[0-9a-vA-V]{20}$/,Bi=/^[A-Za-z0-9]{27}$/,Ui=/^[a-zA-Z0-9_-]{21}$/;function Wi(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Ji=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Hi=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,An=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;var Ki=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ad="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function qi(){return new RegExp(Ad,"u")}var Gi=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Yi=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var Xi=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Qi=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,es=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ts=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;var rs=/^https?$/,ns=/^\+[1-9]\d{6,14}$/;var os="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function Od(e){return new RegExp(`^${e}$`)}var is=Od(os);function Pn(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ss(e){return new RegExp(`^${Pn(e)}$`)}function as(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${Pn({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${Pn({precision:e.precision})}`:r;return new RegExp(`^${os}T(?:${n})$`)}var cs=/^[\s\S]{0,}$/;var On=/^-?\d+$/,Vt=/^-?\d+(?:\.\d+)?$/,ls=/^(?:true|false)$/i,us=/^null$/i;var ds=/^[^A-Z]*$/,fs=/^[^a-z]*$/;var Se=w("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var Rn=e=>{let t=e.value;return!mn(t)&&t.length!==void 0},$r={number:"number",bigint:"bigint",object:"date"},Tn=w("$ZodCheckLessThan",(e,t)=>{Se.init(e,t);let r=$r[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:$r[typeof n.value]??r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zn=w("$ZodCheckGreaterThan",(e,t)=>{Se.init(e,t);let r=$r[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:$r[typeof n.value]??r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ps=w("$ZodCheckMultipleOf",(e,t)=>{Se.init(e,t),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):hn(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),ms=w("$ZodCheckNumberFormat",(e,t)=>{Se.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Mt[t.format];e._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}});var hs=w("$ZodCheckMaxLength",(e,t)=>{var r;Se.init(e,t),(r=e._zod.def).when??(r.when=Rn),e._zod.check=n=>{let o=n.value,i=o.length;if((typeof o=="string"&&i>t.maximum?Dt(o):i)<=t.maximum)return;let a=jt(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),gs=w("$ZodCheckMinLength",(e,t)=>{var r;Se.init(e,t),(r=e._zod.def).when??(r.when=Rn),e._zod.check=n=>{let o=n.value,i=o.length;if((typeof o=="string"&&i>=t.minimum&&i<t.minimum*2?Dt(o):i)>=t.minimum)return;let a=jt(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),bs=w("$ZodCheckLengthEquals",(e,t)=>{var r;Se.init(e,t),(r=e._zod.def).when??(r.when=Rn),e._zod.check=n=>{let o=n.value,i=o.length,s=typeof o=="string"&&i>=t.length&&i<=t.length*2?Dt(o):i;if(s===t.length)return;let a=jt(o),c=s>t.length;n.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Ut=w("$ZodCheckStringFormat",(e,t)=>{var r,n;Se.init(e,t),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),ys=w("$ZodCheckRegex",(e,t)=>{Ut.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),xs=w("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=ds),Ut.init(e,t)}),vs=w("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=fs),Ut.init(e,t)}),ws=w("$ZodCheckIncludes",(e,t)=>{Se.init(e,t);let r=Qe(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),ks=w("$ZodCheckStartsWith",(e,t)=>{Se.init(e,t);let r=new RegExp(`^${Qe(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),_s=w("$ZodCheckEndsWith",(e,t)=>{Se.init(e,t);let r=new RegExp(`.*${Qe(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var zs=w("$ZodCheckOverwrite",(e,t)=>{Se.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Er=class{constructor(t=[],r={}){this.content=[],this.indent=0,this.args=t,this.closed=r}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
|
|
1
|
+
/*! Fieldia 0.6.0 · MIT · https://fieldia.dev */
|
|
2
|
+
"use strict";var Fieldia=(()=>{var xr=Object.defineProperty;var qd=Object.getOwnPropertyDescriptor;var Gd=Object.getOwnPropertyNames;var Yd=Object.prototype.hasOwnProperty;var Xd=(e,t,r)=>t in e?xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ki=(e,t)=>{for(var r in t)xr(e,r,{get:t[r],enumerable:!0})},Qd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Gd(t))!Yd.call(e,o)&&o!==r&&xr(e,o,{get:()=>t[o],enumerable:!(n=qd(t,o))||n.enumerable});return e};var eu=e=>Qd(xr({},"__esModule",{value:!0}),e);var vt=(e,t,r)=>Xd(e,typeof t!="symbol"?t+"":t,r);var Im={};ki(Im,{DEFAULT_LABELS:()=>Lm,FIELDIA_CSS:()=>Ud,FIELD_NAME:()=>je,FIELD_TYPES:()=>Wl,FORMAT_VERSION:()=>Xo,FieldSchema:()=>qo,FieldsSchema:()=>Qr,FilterConditionSchema:()=>Wo,ICONS:()=>Hd,LayoutNodeSchema:()=>zt,LineFieldSchema:()=>Ho,LineKindsSchema:()=>Ko,MESSAGES:()=>bt,ModifierSchema:()=>Mt,OptionSchema:()=>lr,PageSchema:()=>Dt,PropertyDefinitionSchema:()=>Jo,RootLayoutSchema:()=>rn,VERSION:()=>Tm,VIEWER_LABELS:()=>Bt,WIDGET_LABELS:()=>ve,binaryWidget:()=>li,browserPreferences:()=>xi,builtInWidgets:()=>Bd,charTagsWidget:()=>oi,checkValue:()=>pr,compileModifier:()=>ht,createForm:()=>cn,createMemoryDataSource:()=>kd,createWidget:()=>Ge,displayValue:()=>ai,drawIcon:()=>yn,emptyValue:()=>ur,evaluateModifier:()=>bd,expressionContext:()=>fr,fill:()=>sn,formatBytes:()=>mr,formatNumber:()=>Et,hostScheduler:()=>hr,htmlWidget:()=>hi,imageWidget:()=>di,initialValues:()=>jt,installStyles:()=>yi,isEmpty:()=>Vt,isModifierValid:()=>yd,isoWeek:()=>Zd,jsonWidget:()=>gi,kindTextField:()=>Nd,labelWidget:()=>br,lineForm:()=>Pd,lineKind:()=>gt,linesWidget:()=>ci,linkAddress:()=>Fd,linkCheckboxesWidget:()=>ii,many2oneWidget:()=>ni,memoryPreferences:()=>zm,mountViewer:()=>wi,normalizeNumber:()=>ri,openFormDialog:()=>xn,openSearchDialog:()=>vi,pageJsonSchema:()=>gd,progressbarWidget:()=>gr,propertiesWidget:()=>pi,referenceWidget:()=>si,sanitizeHtml:()=>mi,statusbarWidget:()=>pn,summary:()=>fn,tagsWidget:()=>un,validatePage:()=>on,wait:()=>an,wideColumns:()=>tn,withCalendar:()=>hn});var V={};ki(V,{BIGINT_FORMAT_RANGES:()=>_r,CONSTANT_CATCH:()=>Oi,Class:()=>kn,NUMBER_FORMAT_RANGES:()=>Jt,aborted:()=>Ze,allowsEval:()=>Ln,assert:()=>su,assertEqual:()=>tu,assertIs:()=>ou,assertNever:()=>iu,assertNotEqual:()=>ru,assignProp:()=>Re,attachSchema:()=>Sr,base64ToUint8Array:()=>Pi,base64urlToUint8Array:()=>Su,cached:()=>At,captureStackTrace:()=>wr,cleanEnum:()=>zu,cleanRegex:()=>Ut,clone:()=>Ue,cloneDef:()=>lu,codePointLength:()=>Ht,constantCatch:()=>Ri,createTransparentProxy:()=>hu,defineLazy:()=>Sn,defineLazyInternal:()=>Q,derived:()=>Nu,esc:()=>$n,escapeRegex:()=>ot,explicitlyAborted:()=>An,extend:()=>yu,finalizeIssue:()=>He,floatSafeRemainder:()=>zn,getElementAtPath:()=>du,getEnumValues:()=>Nt,getLengthableOrigin:()=>Kt,getParsedType:()=>mu,getSizableOrigin:()=>Ni,hexToUint8Array:()=>Eu,hide:()=>$r,installLazyProp:()=>Ru,isObject:()=>kt,isPlainObject:()=>ut,issue:()=>Rt,joinValues:()=>vr,jsonStringifyReplacer:()=>Pt,members:()=>Rn,merge:()=>vu,mergeDefs:()=>nt,normalizeParams:()=>j,nullish:()=>_n,numKeys:()=>pu,objectClone:()=>au,omit:()=>bu,optionalKeys:()=>Pn,own:()=>dt,parsedType:()=>On,partial:()=>wu,pick:()=>gu,prefixIssues:()=>Je,primitiveTypes:()=>Ei,promiseAllObject:()=>uu,propertyKeyTypes:()=>Nn,randomString:()=>fu,rawShape:()=>Ot,required:()=>ku,safeExtend:()=>xu,shallowClone:()=>$i,slugify:()=>En,stringifyPrimitive:()=>kr,toZod:()=>nu,uint8ArrayToBase64:()=>Ai,uint8ArrayToBase64url:()=>$u,uint8ArrayToHex:()=>Lu,unwrapMessage:()=>Lt});function tu(e){return e}function ru(e){return e}function nu(){return e=>e}function ou(e){}function iu(e){throw new Error("Unexpected value in exhaustive check")}function su(e){}function Nt(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function vr(e,t="|"){return e.map(r=>kr(r)).join(t)}function Pt(e,t){return typeof t=="bigint"?t.toString():t}var wn=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};function At(e){return new wn(e)}function _n(e){return e==null}function Ut(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function zn(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<o?0:r-n}var _i=Symbol("evaluating");function Sn(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==_i)return n===void 0&&(n=_i,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function au(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function Re(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Ot(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function rt(e){return Ot(e._zod.def)??e._zod.def.shape}function zi(e,t,r){Object.defineProperty(e,t,{get(){let n=r();return Re(this,t,n),n},enumerable:!0,configurable:!0})}function Si(e,t,r){t in e?Re(e,t,r):e[t]=r}function wt(e,t,r,n){let o=rt(t);for(let i of r){let s=Object.getOwnPropertyDescriptor(o,i);s.enumerable&&(s.get?zi(e,i,()=>{let a=t._zod.def.shape[i];return n?n(a,i):a}):Si(e,i,n?n(s.value,i):s.value))}}function cu(e,t){for(let r of Reflect.ownKeys(t)){let n=Object.getOwnPropertyDescriptor(t,r);n.enumerable&&(n.get?zi(e,r,()=>t[r]):Si(e,r,n.value))}}function nt(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function lu(e){return nt(e._zod.def)}function du(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function uu(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function fu(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function $n(e){return JSON.stringify(e)}function En(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var wr="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function kt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ln=At(()=>{if(Pe.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function ut(e){if(kt(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(kt(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function $i(e){return ut(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function pu(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var mu=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Nn=new Set(["string","number","symbol"]),Ei=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ot(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ue(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function j(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function hu(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function kr(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Pn(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var Jt={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},_r={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function gu(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i={};return wt(i,e,zr(e,t)),Ue(e,nt(r,{shape:i,checks:[]}))}function zr(e,t){let r=rt(e),n=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&n.push(o)}return n}function bu(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=new Set(zr(e,t)),s={};return wt(s,e,Reflect.ownKeys(rt(e)).filter(a=>!i.has(a))),Ue(e,nt(r,{shape:s,checks:[]}))}function yu(e,t){if(!ut(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=rt(e);for(let i of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Ue(e,nt(e._zod.def,{shape:Li(e,t)}))}function Li(e,t){let r={};return wt(r,e,Reflect.ownKeys(rt(e))),cu(r,t),r}function xu(e,t){if(!ut(t))throw new Error("Invalid input to safeExtend: expected a plain object");return Ue(e,nt(e._zod.def,{shape:Li(e,t)}))}function vu(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};wt(r,e,Reflect.ownKeys(rt(e))),wt(r,t,Reflect.ownKeys(rt(t)));let n=nt(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ue(e,n)}function wu(e,t,r,n="partial"){let i=t._zod.def.checks;if(i&&i.length>0)throw new Error(`.${n}() cannot be used on object schemas containing refinements`);let a=r?new Set(zr(t,r)):void 0,c={};return wt(c,t,Reflect.ownKeys(rt(t)),e&&((l,d)=>a&&!a.has(d)?l:new e({type:"optional",innerType:l}))),Ue(t,nt(t._zod.def,{shape:c,checks:[]}))}function ku(e,t,r){let n=r?new Set(zr(t,r)):void 0,o={};return wt(o,t,Reflect.ownKeys(rt(t)),(i,s)=>n&&!n.has(s)?i:new e({type:"nonoptional",innerType:i})),Ue(t,nt(t._zod.def,{shape:o}))}function Ze(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function An(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Je(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Lt(e){return typeof e=="string"?e:e?.message}function Sr(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function He(e,t,r){var n;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(n=e).schema??(n.schema=e.inst):e.schema=e.inst);let i=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,s=e.message?e.message:Lt(e.inst?._zod.def?.error?.(e))??Lt(i?.(e))??Lt(t?.error?.(e))??Lt(r.customError?.(e))??Lt(r.localeError?.(e))??"Invalid input",a={};for(let c of Object.keys(e))c==="inst"||c==="schema"||c==="continue"||c==="input"||c==="__proto__"||(a[c]=e[c]);return a.path??(a.path=[]),a.message=s,t?.reportInput&&(a.input=e.input),a}function Ni(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}var _u=/[\uD800-\uDBFF]/;function Ht(e){let t=e.length;if(!_u.test(e))return t;let r=t;for(let n=0;n<t-1;n++)(e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320&&(r--,n++);return r}function Kt(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function On(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Rt(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function zu(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function Pi(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function Ai(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function Su(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return Pi(t+r)}function $u(e){return Ai(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Eu(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function Lu(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var kn=class{constructor(...t){}};function Rn(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);n.get?Object.defineProperty(e,r,{...n,enumerable:!1}):Pu(e,r,n.value)}}function dt(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function $r(e,t,r){return dt(e,t,r,!1)}function Nu(e,t){for(let r in e){let n=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return dt(this,r,n(this))},set(o){dt(this,r,o)}})}return t}function Pu(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:dt(this,t,r.bind(this))},set(n){dt(this,t,n)}})}function Au(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var vn,lt=!1,Ou={configurable:!0,get(){lt=!0}};function Q(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&vn!==e._zod){vn=void 0;return}vn=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,Ou);let o=lt;lt=!1;try{let i=r(this);return lt?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i}),lt=lt||o,i}catch(i){throw delete this[t],lt=lt||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function Ru(e,t,r,n){let o=Au(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let i={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,i),i.value=r(this),Object.defineProperty(this,t,i),i.value},set(i){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:i})}})}var Oi="~constantCatch";function Ri(e){let t=()=>e;return t[Oi]=!0,t}var Ti;var Tn={value:void 0,enumerable:!1},Ii="captureStackTrace"in Error?Error:null;function Tu(e){let t=Ii;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return Ii=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function w(e,t,r,n){let o={};function i(h){this.def=h,this.constr=u,this.traits=new Set}i.prototype=o;let s=r,a=s&&new WeakSet;function c(h,p){if(h._zod){if(h._zod.traits.has(e))return}else{Tn.value=new i(p);try{Object.defineProperty(h,"_zod",Tn)}finally{Tn.value=void 0}}if(h._zod.traits.add(e),t(h,p),a){let m=Object.getPrototypeOf(h),b=h._zod.constr.prototype,y=m;for(;y&&y!==b;)y=Object.getPrototypeOf(y);let g=y??m;a.has(g)||(a.add(g),Rn(g,s))}let f=u.prototype;for(let m in f)Object.prototype.hasOwnProperty.call(f,m)&&(m in h||(h[m]=f[m].bind(h)))}let l=n?.Parent??Object;class d extends l{}Object.defineProperty(d,"name",{value:e});function u(h){let p=n?.Parent?Tu(d):this;c(p,h);let f=p._zod.deferred;if(f){for(let b of f)b();p._zod.deferred=void 0}let m=globalThis.__zod_globalConfig?.postProcessor;return m&&m(p),p}return Object.defineProperty(u,"init",{value:c}),Object.defineProperty(u,Symbol.hasInstance,{value:h=>n?.Parent&&h instanceof n.Parent?!0:h?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}var Ke=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Tt=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(Ti=globalThis).__zod_globalConfig??(Ti.__zod_globalConfig={});var Pe=globalThis.__zod_globalConfig;function Ce(e){return e&&Object.assign(Pe,e),Pe}function Iu(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Pt,2)),e.message}function Zu(e){this._zod.message=e}var Cu={get:Iu,set:Zu,enumerable:!0,configurable:!0},Zn={value:void 0,enumerable:!1},Zi=new WeakSet([Object.prototype,Error.prototype]),Ci=(e,t)=>{e.name="$ZodError",Zn.value=t,Object.defineProperty(e,"issues",Zn),Zn.value=void 0,Object.defineProperty(e,"message",Cu);let r=Object.getPrototypeOf(e);Zi.has(r)||(Zi.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}}))},Fi=w("$ZodError",Ci),Dm=w("$ZodError",Ci,void 0,{Parent:Error});function Fu(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function Mi(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?Fu(r,o.path[0],()=>[]).push(t(o)):n.push(t(o));return{formErrors:n,fieldErrors:r}}function Di(e,t=r=>r.message){let r={_errors:[]},n=(o,i=[])=>{for(let s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>n({issues:a},[...i,...s.path]));else if(s.code==="invalid_key")n({issues:s.issues},[...i,...s.path]);else if(s.code==="invalid_element")n({issues:s.issues},[...i,...s.path]);else{let a=[...i,...s.path];if(a.length===0)r._errors.push(t(s));else{let c=r,l=0;for(;l<a.length;){let d=a[l],u=l===a.length-1;if(d==="_errors"){u&&c._errors.push(t(s)),l++;continue}Object.prototype.hasOwnProperty.call(c,d)||Object.defineProperty(c,d,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let h=c[d];u&&h._errors.push(t(s)),c=h,l++}}}};return n(e),r}function Er(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Lr=e=>{let t=(r,n,o,i)=>{let s=o?{...o,async:!1}:{async:!1},a=r._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new Ke;if(a.issues.length){let c=new(i?.Err??e)(a.issues.map(l=>He(l,s,Ce())));throw wr(c,i?.callee??t),c}return a.value};return t};var Nr=e=>{let t=async(r,n,o,i)=>{let s=o?{...o,async:!0}:{async:!0},a=r._zod.run({value:n,issues:[]},s);if(a instanceof Promise&&(a=await a),a.issues.length){let c=new(i?.Err??e)(a.issues.map(l=>He(l,s,Ce())));throw wr(c,i?.callee??t),c}return a.value};return t};var Pr=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new Ke;return i.issues.length?ji(e,i.issues,o):{success:!0,data:i.value}};function ji(e,t,r){let n;return{success:!1,get error(){return n||(n=new e(t.map(o=>He(o,r,Ce()))),t=void 0,r=void 0),n},set error(o){n=o,t=void 0,r=void 0}}}var Ar=e=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?ji(e,i.issues,o):{success:!0,data:i.value}};var Mu=Symbol.for("zod.compile.invalid"),Du=Symbol.for("zod.compile.fallback"),Cn=((e,t,r)=>{let n=e._zod.bag.validator;if(n!==void 0){if(n(t)!==Mu)return!0;if(n.definite===!0&&r===void 0)return!1}return ju(e,t,r)});function ju(e,t,r){let n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,i;if(o?(n[Du]=!0,i=o({value:t,issues:[]},n)):i=e._zod.run({value:t,issues:[]},n),i instanceof Promise)throw new Ke;return i.issues.length===0}var Fn=async(e,t,r)=>{let n=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},n);return o instanceof Promise&&(o=await o),o.issues.length===0},Vi=e=>{let t=Lr(e),r=(n,o,i,s)=>{let a=i?{...i,direction:"backward"}:{direction:"backward"};return t(n,o,a,Er(r,s))};return r};var Bi=e=>{let t=Lr(e),r=(n,o,i,s)=>t(n,o,i,Er(r,s));return r};var Wi=e=>{let t=Nr(e),r=async(n,o,i,s)=>{let a=i?{...i,direction:"backward"}:{direction:"backward"};return await t(n,o,a,Er(r,s))};return r};var Ui=e=>{let t=Nr(e),r=async(n,o,i,s)=>await t(n,o,i,Er(r,s));return r};var Ji=e=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Pr(e)(t,r,o)};var Hi=e=>(t,r,n)=>Pr(e)(t,r,n);var Ki=e=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Ar(e)(t,r,o)};var qi=e=>async(t,r,n)=>Ar(e)(t,r,n);var Gi=/^[cC][0-9a-z]{6,}$/,Yi=/^[0-9a-z]+$/,Xi=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Qi=/^[0-9a-vA-V]{20}$/,es=/^[A-Za-z0-9]{27}$/,ts=/^[a-zA-Z0-9_-]{21}$/;function rs(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var ns=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var os=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Dn=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;var is=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Vu="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function ss(){return new RegExp(Vu,"u")}var as=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cs=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var ls=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,ds=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,us=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,fs=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;var ps=/^https?$/,ms=/^\+[1-9]\d{6,14}$/;var hs="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function Bu(e){return new RegExp(`^${e}$`)}var gs=Bu(hs);function Mn(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function bs(e){return new RegExp(`^${Mn(e)}$`)}function ys(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${Mn({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${Mn({precision:e.precision})}`:r;return new RegExp(`^${hs}T(?:${n})$`)}var xs=/^[\s\S]{0,}$/;var jn=/^-?\d+$/,qt=/^-?\d+(?:\.\d+)?$/,vs=/^(?:true|false)$/i,ws=/^null$/i;var ks=/^[^A-Z]*$/,_s=/^[^a-z]*$/;var Ee=w("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var Vn=e=>{let t=e.value;return!_n(t)&&t.length!==void 0},Or={number:"number",bigint:"bigint",object:"date"},Bn=w("$ZodCheckLessThan",(e,t)=>{Ee.init(e,t);let r=Or[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:Or[typeof n.value]??r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Wn=w("$ZodCheckGreaterThan",(e,t)=>{Ee.init(e,t);let r=Or[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:Or[typeof n.value]??r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zs=w("$ZodCheckMultipleOf",(e,t)=>{Ee.init(e,t),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):zn(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Ss=w("$ZodCheckNumberFormat",(e,t)=>{Ee.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Jt[t.format];e._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}});var $s=w("$ZodCheckMaxLength",(e,t)=>{var r;Ee.init(e,t),(r=e._zod.def).when??(r.when=Vn),e._zod.check=n=>{let o=n.value,i=o.length;if((typeof o=="string"&&i>t.maximum?Ht(o):i)<=t.maximum)return;let a=Kt(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Es=w("$ZodCheckMinLength",(e,t)=>{var r;Ee.init(e,t),(r=e._zod.def).when??(r.when=Vn),e._zod.check=n=>{let o=n.value,i=o.length;if((typeof o=="string"&&i>=t.minimum&&i<t.minimum*2?Ht(o):i)>=t.minimum)return;let a=Kt(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Ls=w("$ZodCheckLengthEquals",(e,t)=>{var r;Ee.init(e,t),(r=e._zod.def).when??(r.when=Vn),e._zod.check=n=>{let o=n.value,i=o.length,s=typeof o=="string"&&i>=t.length&&i<=t.length*2?Ht(o):i;if(s===t.length)return;let a=Kt(o),c=s>t.length;n.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Yt=w("$ZodCheckStringFormat",(e,t)=>{var r,n;Ee.init(e,t),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Ns=w("$ZodCheckRegex",(e,t)=>{Yt.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ps=w("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=ks),Yt.init(e,t)}),As=w("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=_s),Yt.init(e,t)}),Os=w("$ZodCheckIncludes",(e,t)=>{Ee.init(e,t);let r=ot(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Rs=w("$ZodCheckStartsWith",(e,t)=>{Ee.init(e,t);let r=new RegExp(`^${ot(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Ts=w("$ZodCheckEndsWith",(e,t)=>{Ee.init(e,t);let r=new RegExp(`.*${ot(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Is=w("$ZodCheckOverwrite",(e,t)=>{Ee.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Rr=class{constructor(t=[],r={}){this.content=[],this.indent=0,this.args=t,this.closed=r}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
|
|
3
3
|
`).filter(s=>s),o=Math.min(...n.map(s=>s.length-s.trimStart().length)),i=n.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of i)this.content.push(s)}compile(){let t=Function,r=this?.content??[""];return new t(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
|
|
4
4
|
${r.join(`
|
|
5
5
|
`)}
|
|
6
|
-
};`)(...Object.values(this.closed))}};var $s={major:4,minor:6,patch:5};var se=w("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=$s;let n=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...n??[]]:n?.length?[...n]:[];for(let i of o)for(let s of i._zod.onattach)s(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(a,c,l)=>{if(a.memo)return a;let u=Re(a),d;for(let h of c){if(h._zod.def.when){if(kn(a)||!h._zod.def.when(a))continue}else if(u)continue;let p=a.issues.length,f=h._zod.check(a);if(f instanceof Promise&&l?.async===!1)throw new Ve;if(d||f instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await f,a.issues.length!==p&&(xr(a.issues,p,e),u||(u=Re(a,p)))});else{if(a.issues.length===p)continue;xr(a.issues,p,e),u||(u=Re(a,p))}}return d?d.then(()=>a):a},s=(a,c,l)=>{if(Re(a))return a.aborted=!0,a;let u=i(c,o,l);if(u instanceof Promise){if(l.async===!1)throw new Ve;return u.then(d=>e._zod.parse(d,l))}return e._zod.parse(u,l)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let u=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});return u instanceof Promise?u.then(d=>s(d,a,c)):s(u,a,c)}let l=e._zod.parse(a,c);if(l instanceof Promise){if(c.async===!1)throw new Ve;return l.then(u=>i(u,o,c))}return i(l,o,c)}}},{get"~standard"(){return vr(this,"~standard",Fn(this))},set"~standard"(e){st(this,"~standard",e)}}),Ds=(e,t)=>e.issues.length?{issues:e.issues.map(r=>je(r,t,Te()))}:{value:e.value};async function Rd(e,t){let r={async:!0};return Ds(await e._zod.run({value:t,issues:[]},r),r)}function Fn(e){return{validate:t=>{let r={async:!1};try{let n=e._zod.run({value:t,issues:[]},r);if(!(n instanceof Promise))return Ds(n,r)}catch{}return Rd(e,t)},vendor:"zod",version:1}}var Ar=w("$ZodString",(e,t)=>{se.init(e,t),e._zod.pattern=t.pattern??cs,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),de=w("$ZodStringFormat",(e,t)=>{Ut.init(e,t),Ar.init(e,t)}),js=w("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Hi),de.init(e,t)}),Vs=w("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=An(n))}else t.pattern??(t.pattern=An());de.init(e,t)}),Bs=w("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ki),de.init(e,t)}),Us=1,Nr=2;function Ws(e){try{return typeof URL<"u"&&typeof URL.canParse=="function"?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function Td(e,t){return!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t)?Ws(e)||Nr:Zd(e,t)}function Zd(e,t){if(!t.normalize&&t.protocol?.source===rs.source&&!/^https?:\/\//i.test(e))return Us;try{if(typeof URL<"u"){let r=URL;if(typeof r.parse=="function")return r.parse(e)??Nr}return new URL(e)}catch{return Nr}}var Id=/[\t\n\r]/g;function Es(e){return e.replace(Id,"")}function Fd(e,t){return t.lastIndex=0,t.test(e.hostname)}function Cd(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var Js=w("$ZodURL",(e,t)=>{de.init(e,t),e._zod.check=r=>{try{let n=r.value.trim(),o=Td(n,t);if(o===Us){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}if(o===Nr){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort});return}if(o===!0){r.value=Es(n);return}t.hostname&&!Fd(o,t.hostname)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort}),t.protocol&&!Cd(o,t.protocol)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort}),r.value=t.normalize?o.href:Es(n);return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Hs=w("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=qi()),de.init(e,t)}),Ks=w("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?Ui:Wi(t.length)),de.init(e,t)}),qs=w("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Mi),de.init(e,t)}),Gs=w("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Di),de.init(e,t)}),Ys=w("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ji),de.init(e,t)}),Xs=w("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Vi),de.init(e,t)}),Qs=w("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Bi),de.init(e,t)}),ea=w("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=as(t)),de.init(e,t)}),ta=w("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=is),de.init(e,t)}),ra=w("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=ss(t)),de.init(e,t)}),na=w("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ji),de.init(e,t)}),oa=w("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Gi),de.init(e,t)}),Md=/^[0-9a-fA-F:.]+$/;function ia(e){return Md.test(e)?Ws(`http://[${e}]`):!1}var sa=w("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Yi),de.init(e,t),e._zod.check=r=>{ia(r.value)||r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}});var aa=w("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Xi),de.init(e,t)});function Dd(e){let t=e.split("/");if(t.length!==2)return!1;let[r,n]=t;if(!n)return!1;let o=Number(n);return`${o}`!==n||o<0||o>128?!1:ia(r)}var ca=w("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Qi),de.init(e,t),e._zod.check=r=>{Dd(r.value)||r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}});function la(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Cn=/^[0-9a-zA-Z+/]*={0,2}$/,ua=w("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Cn),de.init(e,t),e._zod.check=r=>{la(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}}),Or=/^[A-Za-z0-9_-]*$/;function jd(e){if(!Or.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return la(r)}var da=w("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Or),de.init(e,t),e._zod.check=r=>{jd(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),fa=w("$ZodE164",(e,t)=>{t.pattern??(t.pattern=ns),de.init(e,t)});function Vd(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var pa=w("$ZodJWT",(e,t)=>{de.init(e,t),e._zod.check=r=>{Vd(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Mn=w("$ZodNumber",(e,t)=>{se.init(e,t),e._zod.pattern=Vt,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),ma=w("$ZodNumberFormat",(e,t)=>{ms.init(e,t),Mn.init(e,t)}),ha=w("$ZodBoolean",(e,t)=>{se.init(e,t),e._zod.pattern=ls,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var ga=w("$ZodNull",(e,t)=>{se.init(e,t),e._zod.pattern=us,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var ba=w("$ZodUnknown",(e,t)=>{se.init(e,t),e._zod.parse=r=>r}),ya=w("$ZodNever",(e,t)=>{se.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Ls(e,t,r){e.issues.length&&t.issues.push(...De(r,e.issues)),t.value[r]=e.value}var xa=w("$ZodArray",(e,t)=>{se.init(e,t);let r=Le.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),n;n.value=r?r.alloc(e,n,Array(i.length),o):Array(i.length);let s=[],a=o?.abortEarly;for(let c=0;c<i.length;c++){let l=i[c],u=t.element._zod.run({value:l,issues:[]},o);if(u instanceof Promise)s.push(u.then(d=>Ls(d,n,c)));else if(Ls(u,n,c),a&&u.issues.length!==0&&Re(u))break}return s.length?Promise.all(s).then(()=>n):n}});function Pr(e,t,r,n,o,i){let s=r in n,a=i==="optional";if(!(!s&&a&&o==="optional")){if(e.issues.length){if(o!==void 0&&a&&!s)return;t.issues.push(...De(r,e.issues))}if(!s&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?(s||o==="defaulted"&&!a)&&(t.value[r]=void 0):t.value[r]=e.value}}var Bd=[];function va(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:Bd,o=n.length?[...t,...n]:t;for(let s of o)if(!e.shape?.[s]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(s)}": expected a Zod schema`);let i=wn(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function wa(e,t,r,n,o,i,s){let a=[],c=o.keySet,l=o.catchall._zod,u=l.def.type,d=l.optin,h=l.optout,p=0;for(let f in t){if(s&&r.issues.length!==p){if(Re(r,p))break;p=r.issues.length}if(c.has(f))continue;if(f==="__proto__"){u==="never"&&a.push(f);continue}if(u==="never"){a.push(f);continue}let m=l.run({value:t[f],issues:[]},n);m instanceof Promise?e.push(m.then(b=>Pr(b,r,f,t,d,h))):Pr(m,r,f,t,d,h)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i,continue:!0}),e.length?Promise.all(e).then(()=>r):r}var Ud=w("$ZodObject",(e,t)=>{se.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape"),n=r?.get?r.get.raw:t.shape??{};if(n){let l=()=>{let u={...n};return Object.defineProperty(t,"shape",{value:u}),l.raw=u,u};l.raw=n,Object.defineProperty(t,"shape",{get:l})}let o=$t(()=>va(t));ee(e,"propValues",l=>{let u=l.def.shape,d={};for(let h in u){let p=u[h]._zod;if(p.values){Object.prototype.hasOwnProperty.call(d,h)||Pe(d,h,new Set);for(let f of p.values)d[h].add(f);p.optin!==void 0&&d[h].add(void 0)}}return d});let i=bt,s=t.catchall,a,c=Le.memoizer;c?.attach(e),e._zod.parse=(l,u)=>{a??(a=o.value);let d=l.value;if(!i(d))return l.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),l;l.value=c?c.alloc(e,l,{},u):{};let h=[],p=a.shape,f=u?.abortEarly,m=l.issues.length;for(let b of a.allKeys){if(f&&l.issues.length!==m){if(Re(l,m))break;m=l.issues.length}if(b==="__proto__")continue;let y=p[b],g=y._zod.optin,S=y._zod.optout,z=y._zod.run({value:d[b],issues:[]},u);z instanceof Promise?h.push(z.then(_=>Pr(_,l,b,d,g,S))):Pr(z,l,b,d,g,S)}return s?wa(h,d,l,u,o.value,e,f===!0):h.length?Promise.all(h).then(()=>l):l}}),ka=w("$ZodObjectJIT",(e,t)=>{Ud.init(e,t);let r=e._zod.parse,n=$t(()=>va(t)),o=Le.memoizer,i=p=>{let f=n.value,m=f.symbolKeys,b=new Er(["payload","ctx"],{shape:p,inst:e,memo:o,syms:m}),y=_=>`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`,g=(_,E)=>`
|
|
7
|
-
let ${
|
|
8
|
-
for (let i = 0; i < ${
|
|
9
|
-
const iss = ${
|
|
10
|
-
iss.path = iss.path ? [${
|
|
6
|
+
};`)(...Object.values(this.closed))}};var Cs={major:4,minor:6,patch:5};var se=w("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Cs;let n=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...n??[]]:n?.length?[...n]:[];for(let i of o)for(let s of i._zod.onattach)s(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(a,c,l)=>{if(a.memo)return a;let d=Ze(a),u;for(let h of c){if(h._zod.def.when){if(An(a)||!h._zod.def.when(a))continue}else if(d)continue;let p=a.issues.length,f=h._zod.check(a);if(f instanceof Promise&&l?.async===!1)throw new Ke;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,a.issues.length!==p&&(Sr(a.issues,p,e),d||(d=Ze(a,p)))});else{if(a.issues.length===p)continue;Sr(a.issues,p,e),d||(d=Ze(a,p))}}return u?u.then(()=>a):a},s=(a,c,l)=>{if(Ze(a))return a.aborted=!0,a;let d=i(c,o,l);if(d instanceof Promise){if(l.async===!1)throw new Ke;return d.then(u=>e._zod.parse(u,l))}return e._zod.parse(d,l)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let d=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});return d instanceof Promise?d.then(u=>s(u,a,c)):s(d,a,c)}let l=e._zod.parse(a,c);if(l instanceof Promise){if(c.async===!1)throw new Ke;return l.then(d=>i(d,o,c))}return i(l,o,c)}}},{get"~standard"(){return $r(this,"~standard",Jn(this))},set"~standard"(e){dt(this,"~standard",e)}}),Ys=(e,t)=>e.issues.length?{issues:e.issues.map(r=>He(r,t,Ce()))}:{value:e.value};async function Wu(e,t){let r={async:!0};return Ys(await e._zod.run({value:t,issues:[]},r),r)}function Jn(e){return{validate:t=>{let r={async:!1};try{let n=e._zod.run({value:t,issues:[]},r);if(!(n instanceof Promise))return Ys(n,r)}catch{}return Wu(e,t)},vendor:"zod",version:1}}var Cr=w("$ZodString",(e,t)=>{se.init(e,t),e._zod.pattern=t.pattern??xs,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),pe=w("$ZodStringFormat",(e,t)=>{Yt.init(e,t),Cr.init(e,t)}),Xs=w("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=os),pe.init(e,t)}),Qs=w("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Dn(n))}else t.pattern??(t.pattern=Dn());pe.init(e,t)}),ea=w("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=is),pe.init(e,t)}),ta=1,Ir=2;function ra(e){try{return typeof URL<"u"&&typeof URL.canParse=="function"?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function Uu(e,t){return!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t)?ra(e)||Ir:Ju(e,t)}function Ju(e,t){if(!t.normalize&&t.protocol?.source===ps.source&&!/^https?:\/\//i.test(e))return ta;try{if(typeof URL<"u"){let r=URL;if(typeof r.parse=="function")return r.parse(e)??Ir}return new URL(e)}catch{return Ir}}var Hu=/[\t\n\r]/g;function Fs(e){return e.replace(Hu,"")}function Ku(e,t){return t.lastIndex=0,t.test(e.hostname)}function qu(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var na=w("$ZodURL",(e,t)=>{pe.init(e,t),e._zod.check=r=>{try{let n=r.value.trim(),o=Uu(n,t);if(o===ta){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}if(o===Ir){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort});return}if(o===!0){r.value=Fs(n);return}t.hostname&&!Ku(o,t.hostname)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort}),t.protocol&&!qu(o,t.protocol)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort}),r.value=t.normalize?o.href:Fs(n);return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),oa=w("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=ss()),pe.init(e,t)}),ia=w("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?ts:rs(t.length)),pe.init(e,t)}),sa=w("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Gi),pe.init(e,t)}),aa=w("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Yi),pe.init(e,t)}),ca=w("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Xi),pe.init(e,t)}),la=w("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Qi),pe.init(e,t)}),da=w("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=es),pe.init(e,t)}),ua=w("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=ys(t)),pe.init(e,t)}),fa=w("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=gs),pe.init(e,t)}),pa=w("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=bs(t)),pe.init(e,t)}),ma=w("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ns),pe.init(e,t)}),ha=w("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=as),pe.init(e,t)}),Gu=/^[0-9a-fA-F:.]+$/;function ga(e){return Gu.test(e)?ra(`http://[${e}]`):!1}var ba=w("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=cs),pe.init(e,t),e._zod.check=r=>{ga(r.value)||r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}});var ya=w("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ls),pe.init(e,t)});function Yu(e){let t=e.split("/");if(t.length!==2)return!1;let[r,n]=t;if(!n)return!1;let o=Number(n);return`${o}`!==n||o<0||o>128?!1:ga(r)}var xa=w("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=ds),pe.init(e,t),e._zod.check=r=>{Yu(r.value)||r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}});function va(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Hn=/^[0-9a-zA-Z+/]*={0,2}$/,wa=w("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Hn),pe.init(e,t),e._zod.check=r=>{va(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}}),Fr=/^[A-Za-z0-9_-]*$/;function Xu(e){if(!Fr.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return va(r)}var ka=w("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Fr),pe.init(e,t),e._zod.check=r=>{Xu(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),_a=w("$ZodE164",(e,t)=>{t.pattern??(t.pattern=ms),pe.init(e,t)});function Qu(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var za=w("$ZodJWT",(e,t)=>{pe.init(e,t),e._zod.check=r=>{Qu(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Kn=w("$ZodNumber",(e,t)=>{se.init(e,t),e._zod.pattern=qt,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),Sa=w("$ZodNumberFormat",(e,t)=>{Ss.init(e,t),Kn.init(e,t)}),$a=w("$ZodBoolean",(e,t)=>{se.init(e,t),e._zod.pattern=vs,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var Ea=w("$ZodNull",(e,t)=>{se.init(e,t),e._zod.pattern=ws,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var La=w("$ZodUnknown",(e,t)=>{se.init(e,t),e._zod.parse=r=>r}),Na=w("$ZodNever",(e,t)=>{se.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Ms(e,t,r){e.issues.length&&t.issues.push(...Je(r,e.issues)),t.value[r]=e.value}var Pa=w("$ZodArray",(e,t)=>{se.init(e,t);let r=Pe.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),n;n.value=r?r.alloc(e,n,Array(i.length),o):Array(i.length);let s=[],a=o?.abortEarly;for(let c=0;c<i.length;c++){let l=i[c],d=t.element._zod.run({value:l,issues:[]},o);if(d instanceof Promise)s.push(d.then(u=>Ms(u,n,c)));else if(Ms(d,n,c),a&&d.issues.length!==0&&Ze(d))break}return s.length?Promise.all(s).then(()=>n):n}});function Zr(e,t,r,n,o,i){let s=r in n,a=i==="optional";if(!(!s&&a&&o==="optional")){if(e.issues.length){if(o!==void 0&&a&&!s)return;t.issues.push(...Je(r,e.issues))}if(!s&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?(s||o==="defaulted"&&!a)&&(t.value[r]=void 0):t.value[r]=e.value}}var ef=[];function Aa(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:ef,o=n.length?[...t,...n]:t;for(let s of o)if(!e.shape?.[s]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(s)}": expected a Zod schema`);let i=Pn(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function Oa(e,t,r,n,o,i,s){let a=[],c=o.keySet,l=o.catchall._zod,d=l.def.type,u=l.optin,h=l.optout,p=0;for(let f in t){if(s&&r.issues.length!==p){if(Ze(r,p))break;p=r.issues.length}if(c.has(f))continue;if(f==="__proto__"){d==="never"&&a.push(f);continue}if(d==="never"){a.push(f);continue}let m=l.run({value:t[f],issues:[]},n);m instanceof Promise?e.push(m.then(b=>Zr(b,r,f,t,u,h))):Zr(m,r,f,t,u,h)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i,continue:!0}),e.length?Promise.all(e).then(()=>r):r}var tf=w("$ZodObject",(e,t)=>{se.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape"),n=r?.get?r.get.raw:t.shape??{};if(n){let l=()=>{let d={...n};return Object.defineProperty(t,"shape",{value:d}),l.raw=d,d};l.raw=n,Object.defineProperty(t,"shape",{get:l})}let o=At(()=>Aa(t));Q(e,"propValues",l=>{let d=l.def.shape,u={};for(let h in d){let p=d[h]._zod;if(p.values){Object.prototype.hasOwnProperty.call(u,h)||Re(u,h,new Set);for(let f of p.values)u[h].add(f);p.optin!==void 0&&u[h].add(void 0)}}return u});let i=kt,s=t.catchall,a,c=Pe.memoizer;c?.attach(e),e._zod.parse=(l,d)=>{a??(a=o.value);let u=l.value;if(!i(u))return l.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),l;l.value=c?c.alloc(e,l,{},d):{};let h=[],p=a.shape,f=d?.abortEarly,m=l.issues.length;for(let b of a.allKeys){if(f&&l.issues.length!==m){if(Ze(l,m))break;m=l.issues.length}if(b==="__proto__")continue;let y=p[b],g=y._zod.optin,$=y._zod.optout,_=y._zod.run({value:u[b],issues:[]},d);_ instanceof Promise?h.push(_.then(z=>Zr(z,l,b,u,g,$))):Zr(_,l,b,u,g,$)}return s?Oa(h,u,l,d,o.value,e,f===!0):h.length?Promise.all(h).then(()=>l):l}}),Ra=w("$ZodObjectJIT",(e,t)=>{tf.init(e,t);let r=e._zod.parse,n=At(()=>Aa(t)),o=Pe.memoizer,i=p=>{let f=n.value,m=f.symbolKeys,b=new Rr(["payload","ctx"],{shape:p,inst:e,memo:o,syms:m}),y=z=>`shape[${z}]._zod.run({ value: input[${z}], issues: [] }, ctx)`,g=(z,L)=>`
|
|
7
|
+
let ${z}_ab = false;
|
|
8
|
+
for (let i = 0; i < ${z}.issues.length; i++) {
|
|
9
|
+
const iss = ${z}.issues[i];
|
|
10
|
+
iss.path = iss.path ? [${L}, ...iss.path] : [${L}];
|
|
11
11
|
payload.issues.push(iss);
|
|
12
|
-
if (iss.continue !== true) ${
|
|
12
|
+
if (iss.continue !== true) ${z}_ab = true;
|
|
13
13
|
}
|
|
14
|
-
if (${
|
|
14
|
+
if (${z}_ab && ctx && ctx.abortEarly) {
|
|
15
15
|
payload.value = newResult;
|
|
16
16
|
return payload;
|
|
17
|
-
}`;b.write("const input = payload.value;");let
|
|
18
|
-
const ${
|
|
19
|
-
if (!${
|
|
20
|
-
if (${
|
|
17
|
+
}`;b.write("const input = payload.value;");let $=Object.create(null),_=0;for(let z of f.allKeys)$[z]=`key_${_++}`;b.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let z of f.allKeys){if(z==="__proto__")continue;let L=$[z],E=typeof z=="symbol"?`syms[${m.indexOf(z)}]`:$n(z),Z=`${E} in input`,U=p[z],J=U?._zod?.optin,ne=J!==void 0,G=U?._zod?.optout==="optional";if(b.write(`const ${L} = ${y(E)};`),ne&&G){let X=J==="optional"?`${L}_present`:`${L}.value !== undefined || ${L}_present`;b.write(`
|
|
18
|
+
const ${L}_present = ${Z};
|
|
19
|
+
if (!${L}.issues.length || ${L}_present) {
|
|
20
|
+
if (${L}.issues.length) {${g(L,E)}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
if (${X}) {
|
|
24
|
-
newResult[${
|
|
24
|
+
newResult[${E}] = ${L}.value;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
`)}else ne?(b.write(`
|
|
29
|
-
if (${
|
|
29
|
+
if (${L}.issues.length) {${g(L,E)}
|
|
30
30
|
}
|
|
31
|
-
`),
|
|
32
|
-
if (${
|
|
33
|
-
newResult[${
|
|
31
|
+
`),J==="defaulted"?b.write(`newResult[${E}] = ${L}.value;`):b.write(`
|
|
32
|
+
if (${L}.value !== undefined || ${Z}) {
|
|
33
|
+
newResult[${E}] = ${L}.value;
|
|
34
34
|
}
|
|
35
35
|
`)):b.write(`
|
|
36
|
-
const ${
|
|
37
|
-
if (${
|
|
36
|
+
const ${L}_present = ${Z};
|
|
37
|
+
if (${L}.issues.length) {${g(L,E)}
|
|
38
38
|
}
|
|
39
|
-
if (!${
|
|
39
|
+
if (!${L}_present && !${L}.issues.length) {
|
|
40
40
|
payload.issues.push({
|
|
41
41
|
code: "invalid_type",
|
|
42
42
|
expected: "nonoptional",
|
|
43
43
|
input: undefined,
|
|
44
|
-
path: [${
|
|
44
|
+
path: [${E}]
|
|
45
45
|
});
|
|
46
46
|
if (ctx && ctx.abortEarly) {
|
|
47
47
|
payload.value = newResult;
|
|
@@ -49,13 +49,13 @@ ${r.join(`
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
if (${
|
|
53
|
-
newResult[${
|
|
52
|
+
if (${L}_present) {
|
|
53
|
+
newResult[${E}] = ${L}.value;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
`)}return b.write("payload.value = newResult;"),b.write("return payload;"),b.compile()},s,a=bt,c=!Le.jitless,u=c&&xn.value,d=t.catchall,h;e._zod.parse=(p,f)=>{h??(h=n.value);let m=p.value;return a(m)?c&&u&&f?.async===!1&&f.jitless!==!0?(s||(s=i(t.shape)),p=s(p,f),d?wa([],m,p,f,h,e,f?.abortEarly===!0):p):r(p,f):(p.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),p)}});function Ns(e,t,r,n){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter(i=>!Re(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(s=>je(s,n,Te())))}),t)}var Dn=w("$ZodUnion",(e,t)=>{se.init(e,t),ee(e,"optin",n=>n.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":n.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),ee(e,"optout",n=>n.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),ee(e,"values",n=>{if(n.def.options.every(o=>o._zod.values))return new Set(n.def.options.flatMap(o=>Array.from(o._zod.values)))}),ee(e,"pattern",n=>{if(n.def.options.every(o=>o._zod.pattern)){let o=n.def.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>Ct(i.source)).join("|")})$`)}});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let i=!1,s=[];for(let a of t.options){let c=a._zod.run({value:n.value,issues:[]},o);if(c instanceof Promise)s.push(c),i=!0;else{if(c.issues.length===0)return c;s.push(c)}}return i?Promise.all(s).then(a=>Ns(a,n,e,o)):Ns(s,n,e,o)}});function Wd(e){let t=new Map;for(let r of e.options){let n=r._zod.propValues?.[e.discriminator];if(!n||n.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(let o of n)if(t.has(o)){if(o!==void 0)throw new Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,r)}return t}var _a=w("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Dn.init(e,t);let r=e._zod.parse;ee(e,"propValues",o=>{let i={},s=0;for(let a of o.def.options){let c=a._zod.propValues;if(!c||Object.keys(c).length===0)throw new Error(`Invalid discriminated union option at index "${o.def.options.indexOf(a)}"`);c[o.def.discriminator]?.has(void 0)&&s++;for(let[l,u]of Object.entries(c)){Object.prototype.hasOwnProperty.call(i,l)||Pe(i,l,new Set);for(let d of u)i[l].add(d)}}return!o.def.unionFallback&&s>1&&i[o.def.discriminator]?.delete(void 0),i}),t.options.forEach((o,i)=>{let s=Et(o._zod.def);if(s&&!Object.prototype.hasOwnProperty.call(s,t.discriminator))throw new Error(`Invalid discriminated union option at index "${i}"`)});let n=$t(()=>Wd(t));e._zod.parse=(o,i)=>{let s=o.value;if(!bt(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=s?.[t.discriminator],c=n.value.get(a);return c&&(a!==void 0||i.direction!=="backward")?c._zod.run(o,i):t.unionFallback||i.direction==="backward"?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(n.value.keys()).filter(l=>n.value.get(l)!==null),input:s,path:[t.discriminator],inst:e}),o)}}),za=w("$ZodIntersection",(e,t)=>{se.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,l])=>Ps(r,c,l)):Ps(r,i,s)}});function In(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(at(e)&&at(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(let i of n){if(i==="__proto__")continue;let s=In(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=In(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Ps(e,t,r){let n=new Map,o,i=new Map,s=(l,u)=>{let d;if(l.code==="unrecognized_keys"&&!l.path?.length)o??(o=l),d=l.keys;else if(l.code==="invalid_key"&&l.origin==="record"&&l.path?.length===1){let h=String(l.path[0]);i.has(h)||i.set(h,l),d=[h]}else return!1;for(let h of d)n.has(h)||n.set(h,{}),n.get(h)[u]=!0;return!0};for(let l of t.issues)s(l,"l")||e.issues.push(l);for(let l of r.issues)s(l,"r")||e.issues.push(l);let a=[...n].filter(([,l])=>l.l&&l.r).map(([l])=>l);if(a.length){let l=o?a.filter(u=>o.keys.includes(u)):[];l.length&&e.issues.push({...o,keys:l});for(let u of a)!l.includes(u)&&i.has(u)&&e.issues.push(i.get(u))}let c=In(t.value,r.value);if(!c.valid){if(Re(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var Sa=w("$ZodTuple",(e,t)=>{se.init(e,t);let r=t.items,n=Le.memoizer;n?.attach(e),e._zod.parse=(o,i)=>{let s=o.value;if(!Array.isArray(s))return o.issues.push({input:s,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=n?n.alloc(e,o,[],i):[];let a=[],c=As(r,"optin"),l=As(r,"optout");if(!t.rest){if(s.length<c)return o.issues.push({code:"too_small",minimum:c,inclusive:!0,input:s,inst:e,origin:"array"}),o;s.length>r.length&&o.issues.push({code:"too_big",maximum:r.length,inclusive:!0,input:s,inst:e,origin:"array"})}let u=new Array(r.length),d=t.rest?i?.abortEarly:void 0,h=!1;for(let p=0;p<r.length;p++){let f=r[p]._zod.run({value:s[p],issues:[]},i);f instanceof Promise?a.push(f.then(m=>{u[p]=m})):(u[p]=f,d&&!h&&f.issues.length&&(h=Re(f)))}if(t.rest&&!h){let p=r.length-1,f=s.slice(r.length),m=o.issues.length;for(let b of f){if(d&&o.issues.length!==m){if(Re(o,m))break;m=o.issues.length}p++;let y=t.rest._zod.run({value:b,issues:[]},i);y instanceof Promise?a.push(y.then(g=>Os(g,o,p))):Os(y,o,p)}}return a.length?Promise.all(a).then(()=>Rs(u,o,r,s,l)):Rs(u,o,r,s,l)}});function As(e,t){for(let r=e.length-1;r>=0;r--)if(!(t==="optin"?e[r]._zod.optin!==void 0:e[r]._zod.optout==="optional"))return r+1;return 0}function Os(e,t,r){e.issues.length&&t.issues.push(...De(r,e.issues)),t.value[r]=e.value}function Rs(e,t,r,n,o){for(let i=0;i<r.length;i++){let s=e[i],a=i<n.length;if(!a&&i>=o&&r[i]._zod.optin==="optional"){t.value.length=i;break}if(s.issues.length){if(!a&&i>=o){t.value.length=i;break}t.issues.push(...De(i,s.issues))}t.value[i]=s.value}for(let i=t.value.length-1;i>=n.length&&(r[i]._zod.optout==="optional"&&t.value[i]===void 0);i--)t.value.length=i;return t}var $a=w("$ZodRecord",(e,t)=>{se.init(e,t);let r=Le.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let i=n.value;if(!at(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;let s=[],a=t.keyType._zod.values;if(a&&!t.partial){n.value=r?r.alloc(e,n,{},o):{};let c=new Set;for(let u of a)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){if(c.add(typeof u=="number"?u.toString():u),u==="__proto__")continue;let d=t.keyType._zod.run({value:u,issues:[]},o);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(d.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(f=>je(f,o,Te())),input:u,path:[u],inst:e});continue}let h=d.value;if(h==="__proto__")continue;let p=t.valueType._zod.run({value:i[u],issues:[]},o);p instanceof Promise?s.push(p.then(f=>{f.issues.length&&n.issues.push(...De(u,f.issues)),n.value[h]=f.value})):(p.issues.length&&n.issues.push(...De(u,p.issues)),n.value[h]=p.value)}let l;for(let u in i)if(!c.has(u))if(t.mode==="loose"){if(u==="__proto__")continue;n.value[u]=i[u]}else l=l??[],l.push(u);l&&l.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:l,continue:!0})}else{n.value=r?r.alloc(e,n,{},o):{};let c;for(let l of Reflect.ownKeys(i)){if(l==="__proto__"||!Object.prototype.propertyIsEnumerable.call(i,l))continue;let u=t.keyType._zod.run({value:l,issues:[]},o);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof l=="string"&&Vt.test(l)&&u.issues.length){let f=t.keyType._zod.run({value:Number(l),issues:[]},o);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(u=f)}if(u.issues.length){t.mode==="loose"?n.value[l]=i[l]:a?(c=c??[],c.push(l)):n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(f=>je(f,o,Te())),input:l,path:[l],inst:e});continue}let h=u.value;if(h==="__proto__")continue;let p=t.valueType._zod.run({value:i[l],issues:[]},o);p instanceof Promise?s.push(p.then(f=>{f.issues.length&&n.issues.push(...De(l,f.issues)),n.value[h]=f.value})):(p.issues.length&&n.issues.push(...De(l,p.issues)),n.value[h]=p.value)}c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:c,continue:!0})}return s.length?Promise.all(s).then(()=>n):n}});var Ea=w("$ZodEnum",(e,t)=>{se.init(e,t);let r=zt(t.entries),n=new Set(r);e._zod.values=n,ee(e,"pattern",o=>{let i=zt(o.def.entries).filter(s=>vn.has(typeof s));return new RegExp(i.length?`^(${i.map(s=>Qe(s.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,i)=>{let s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:r,input:s,inst:e}),o}}),La=w("$ZodLiteral",(e,t)=>{se.init(e,t);let r=new Set(t.values);e._zod.values=r,ee(e,"pattern",n=>{let o=n.def.values;return new RegExp(o.length?`^(${o.map(i=>typeof i=="string"?Qe(i):i?Qe(i.toString()):String(i)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(n,o)=>{let i=n.value;return r.has(i)||n.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),n}});var Na=w("$ZodTransform",(e,t)=>{se.init(e,t),e._zod.optin="optional",Le.memoizer?.guard(e),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Nt(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new Ve;return r.value=o,r}});function Ts(e,t){return e.value=t.issues.length?void 0:t.value,e}var jn=w("$ZodOptional",(e,t)=>{se.init(e,t),ee(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",ee(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),ee(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Ct(n.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(r.value===void 0){if(t.innerType._zod.optin!=="defaulted")return r;let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(i=>Ts(r,i)):Ts(r,o)}return t.innerType._zod.run(r,n)}}),Pa=w("$ZodExactOptional",(e,t)=>{jn.init(e,t),ee(e,"values",r=>r.def.innerType._zod.values),ee(e,"pattern",r=>r.def.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Aa=w("$ZodNullable",(e,t)=>{se.init(e,t),ee(e,"optin",r=>r.def.innerType._zod.optin),ee(e,"optout",r=>r.def.innerType._zod.optout),ee(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Ct(n.source)}|null)$`):void 0}),ee(e,"values",r=>r.def.innerType._zod.values?new Set([...r.def.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Oa=w("$ZodDefault",(e,t)=>{se.init(e,t),e._zod.optin="defaulted",ee(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Zs(i,t)):Zs(o,t)}});function Zs(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ra=w("$ZodPrefault",(e,t)=>{se.init(e,t),e._zod.optin="defaulted",ee(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Ta=w("$ZodNonOptional",(e,t)=>{se.init(e,t),ee(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Is(i,e)):Is(o,e)}});function Is(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function Fs(e,t,r,n){return t.issues.length?(e.value=r.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>je(o,n,Te()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Za=w("$ZodCatch",(e,t)=>{se.init(e,t),ee(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),ee(e,"optout",r=>r.def.innerType._zod.optout),ee(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(i=>Fs(r,i,t,n)):Fs(r,o,t,n)}});var Ia=w("$ZodPipe",(e,t)=>{se.init(e,t),ee(e,"values",r=>r.def.in._zod.values),ee(e,"optin",r=>r.def.in._zod.optin),ee(e,"optout",r=>r.def.out._zod.optout),ee(e,"propValues",r=>r.def.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let i=t.out._zod.run(r,n);return i instanceof Promise?i.then(s=>Lr(s,t.in,n)):Lr(i,t.in,n)}let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>Lr(i,t.out,n)):Lr(o,t.out,n)}});function Lr(e,t,r){return e.issues.some(n=>n.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}var Fa=w("$ZodReadonly",(e,t)=>{se.init(e,t),ee(e,"propValues",r=>r.def.innerType._zod.propValues),ee(e,"values",r=>r.def.innerType._zod.values),ee(e,"optin",r=>r.def.innerType?._zod?.optin),ee(e,"optout",r=>r.def.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(Cs):Cs(o)}});function Cs(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Ca=w("$ZodLazy",(e,t)=>{se.init(e,t),gn(e._zod,"innerType",()=>{let r=t;return r._cachedInner||(r._cachedInner=t.getter()),r._cachedInner}),ee(e,"pattern",r=>r.innerType?._zod?.pattern),ee(e,"propValues",r=>r.innerType?._zod?.propValues),ee(e,"optin",r=>r.innerType?._zod?.optin??void 0),ee(e,"optout",r=>r.innerType?._zod?.optout??void 0),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),Ma=w("$ZodCustom",(e,t)=>{Se.init(e,t),se.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>Ms(i,r,n,e));Ms(o,r,n,e)}});function Ms(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Lt(o))}}var Bn=class extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}},Un="~memo",Da=[];function ja(e){return e!==null&&typeof e=="object"}function Vn(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}var Va=new WeakMap,Wt=0,Zr=1,Jt=2;function Ir(e,t,r){let n=Va.get(e);if(n!==void 0)return n?Jt:Wt;if(t.has(e))return Jt;t.add(e);let o=Wt,i=u=>{if(o!==Jt&&u?._zod){let d=Ir(u,t,r);d>o&&(o=d)}},s=(u,d)=>{let h=Wt;for(let p of Reflect.ownKeys(u)){let f=Object.getOwnPropertyDescriptor(u,p);if(d&&!f.enumerable)continue;let m=f.get?Zr:f.value?._zod?Ir(f.value,t,r):Wt;m>h&&(h=m)}return h},a=u=>{u>o&&(o=u)},c=e._zod.def,l=c.type;switch(l){case"object":{let u=Et(c);a(u?s(u,!0):Zr),i(c.catchall);break}case"array":i(c.element);break;case"tuple":for(let u of c.items)i(u);i(c.rest);break;case"record":case"map":i(c.keyType),i(c.valueType);break;case"set":i(c.valueType);break;case"union":for(let u of c.options)i(u);break;case"intersection":i(c.left),i(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":i(c.innerType);break;case"pipe":i(c.in),i(c.out);break;case"function":i(c.input),i(c.output);break;case"lazy":{let u=c._cachedInner??(r?e._zod.innerType:void 0);a(u?Ir(u,t,!1):Zr);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let u in c){let d=Object.getOwnPropertyDescriptor(c,u);if(!d||d.get)continue;let h=d.value;if(!(!h||typeof h!="object")){if(h._zod)i(h);else if(Array.isArray(h))for(let p of h)i(p)}}}return t.delete(e),Jd(e,o)}function Jd(e,t){return t!==Zr&&Va.set(e,t===Jt),t}function Hd(e,t){let r=e.buckets.get(t);return r||(r=new WeakMap,e.buckets.set(t,r)),r}var Rr,Tr=[],Kd={alloc(e,t,r){let n=Rr;if(!n)return r;Rr=void 0;let o={value:r,issues:null};return n.set(t.value,o),Tr.push(o),r},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let r=e._zod.parse,n=(o,i)=>{if(i.direction!=="backward"&&qd(i,o.value))throw new Bn;return r(o,i)};e._zod.parse=n,e._zod.run===r&&(e._zod.run=n)})},attach(e){var t;let r,n=!1,o,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let s=e._zod.parse,a=(c,l)=>{if(r===void 0){let y=Ir(e,new Set,!1);if(y===Wt)return e._zod.parse=s,e._zod.run===a&&(e._zod.run=s),s(c,l);y===Jt||n?r=!0:n=!0}let u=c.value;if(!ja(u))return s(c,l);let d=l[Un];d||(d={buckets:new WeakMap,backEdges:void 0},l[Un]=d);let h;o===l?h=i:(h=Hd(d,e),o=l,i=h);let p=h.get(u);if(p)return c.value=p.value,p.issues?p.issues.length&&c.issues.push(...Vn(p.issues)):(c.memo=!0,d.backEdges??(d.backEdges=new WeakSet),d.backEdges.add(p.value)),c;Rr=h;let f=Tr.length,m=s(c,l);Rr=void 0;let b=Tr.length>f?Tr.pop():void 0;return m instanceof Promise?m.then(y=>(b&&(b.issues=y.issues.length?Vn(y.issues):Da),y)):(b&&(b.issues=m.issues.length?Vn(m.issues):Da),m)};e._zod.parse=a,e._zod.run===s&&(e._zod.run=a)})}};function Ba(){return Kd}function qd(e,t){let r=e[Un]?.backEdges;return r!==void 0&&ja(t)&&r.has(t)}var Gd=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(i){return e[i]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};function o(i,s){return i==="number"&&typeof s=="number"&&!Number.isFinite(s)?String(s):n[i]??i}return i=>{switch(i.code){case"invalid_type":{let s=o(i.expected),a=_n(i.input),c=o(a,i.input);return`Invalid input: expected ${s}, received ${c}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${gr(i.values[0])}`:`Invalid option: expected one of ${mr(i.values,"|")}`;case"too_big":{let s=i.exact?"exactly ":i.inclusive?"<=":"<",a=t(i.origin);return a?`Too big: expected ${i.origin??"value"} to have ${s}${i.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${s}${i.maximum.toString()}`}case"too_small":{let s=i.exact?"exactly ":i.inclusive?">=":">",a=t(i.origin);return a?`Too small: expected ${i.origin} to have ${s}${i.minimum.toString()} ${a.unit}`:`Too small: expected ${i.origin} to be ${s}${i.minimum.toString()}`}case"invalid_format":{let s=i;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${r[s.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${mr(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return i.options&&Array.isArray(i.options)&&i.options.length>0?`Invalid discriminator value. Expected ${i.options.map(a=>`'${a}'`).join(" | ")}`:i.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function Ua(){return{localeError:Gd()}}var Wa;var Wn=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){let n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...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 Yd(){return new Wn}(Wa=globalThis).__zod_globalRegistry??(Wa.__zod_globalRegistry=Yd());var yt=globalThis.__zod_globalRegistry;function Ja(e){return e.checks&&(e.checks=[...e.checks]),e}function Ha(e,t){return new e(Ja({type:"string",...I(t)}))}function Ka(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...I(t)})}function qa(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...I(t)})}function Ga(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...I(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...I(t)})}function Xa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...I(t)})}function Qa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...I(t)})}function ec(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...I(t)})}function tc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...I(t)})}function rc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...I(t)})}function nc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...I(t)})}function oc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...I(t)})}function ic(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...I(t)})}function sc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...I(t)})}function ac(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...I(t)})}function cc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...I(t)})}function lc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...I(t)})}function uc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...I(t)})}function dc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...I(t)})}function fc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...I(t)})}function pc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...I(t)})}function mc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...I(t)})}function hc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...I(t)})}function gc(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...I(t)})}function bc(e,t){return new e({type:"string",format:"date",check:"string_format",...I(t)})}function yc(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...I(t)})}function xc(e,t){return new e({type:"string",format:"duration",check:"string_format",...I(t)})}function vc(e,t){return new e(Ja({type:"number",checks:[],...I(t)}))}function wc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...I(t)})}function kc(e,t){return new e({type:"boolean",...I(t)})}function _c(e,t){return new e({type:"null",...I(t)})}function zc(e){return new e({type:"unknown"})}function Sc(e,t){return new e({type:"never",...I(t)})}function Fr(e,t){return new Tn({check:"less_than",...I(t),value:e,inclusive:!1})}function Ht(e,t){return new Tn({check:"less_than",...I(t),value:e,inclusive:!0})}function Cr(e,t){return new Zn({check:"greater_than",...I(t),value:e,inclusive:!1})}function Kt(e,t){return new Zn({check:"greater_than",...I(t),value:e,inclusive:!0})}function Mr(e,t){return new ps({check:"multiple_of",...I(t),value:e})}function Dr(e,t){return new hs({check:"max_length",...I(t),maximum:e})}function Pt(e,t){return new gs({check:"min_length",...I(t),minimum:e})}function jr(e,t){return new bs({check:"length_equals",...I(t),length:e})}function Jn(e,t){return new ys({check:"string_format",format:"regex",...I(t),pattern:e})}function Hn(e){return new xs({check:"string_format",format:"lowercase",...I(e)})}function Kn(e){return new vs({check:"string_format",format:"uppercase",...I(e)})}function qn(e,t){return new ws({check:"string_format",format:"includes",...I(t),includes:e})}function Gn(e,t){return new ks({check:"string_format",format:"starts_with",...I(t),prefix:e})}function Yn(e,t){return new _s({check:"string_format",format:"ends_with",...I(t),suffix:e})}function ct(e){return new zs({check:"overwrite",tx:e})}function Xn(e){return ct(t=>t.normalize(e))}function Qn(){return ct(e=>e.trim())}function eo(){return ct(e=>e.toLowerCase())}function to(){return ct(e=>e.toUpperCase())}function ro(){return ct(e=>yn(e))}function $c(e,t,r){return new e({type:"array",element:t,...I(r)})}function Ec(e,t,r){return new e({type:"custom",check:"custom",fn:t,...I(r)})}function Lc(e,t){let r=Xd(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(Lt(o,n.value,r._zod.def));else{let i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),"input"in i||(i.input=n.value),i.inst??(i.inst=r),i.continue??(i.continue=!r._zod.def.abort),n.issues.push(Lt(i))}},e(n.value,n)),t);return r}function Xd(e,t){let r=new Se({check:"custom",...I(t)});return r._zod.check=e,r}function qt(e,...t){for(let r of t)for(let n of Reflect.ownKeys(r))Object.prototype.propertyIsEnumerable.call(r,n)&&Pe(e,n,r[n]);return e}function Yt(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??yt,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function we(e,t,r,n,o){let i=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:n.path,message:o}):t.unrepresentable;if(i==="any")return!1;if(i===void 0||i==="throw")throw new Error(o);return Object.assign(r,i),!0}function ce(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,s),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let a=e._zod.toJSONSchema?.();if(a)s.schema=a;else{let u={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,u);else{let h=s.schema,p=t.processors[o.type];if(!p)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);p(e,t,h,u)}let d=e._zod.parent;d&&(s.ref||(s.ref=d),ce(d,t,u),t.seen.get(d).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&qt(s.schema,c),t.io==="input"&&Ne(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&"_prefault"in s.schema&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Nc(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Xt(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;let n=new Map;for(let s of e.seen.entries()){let a=e.metadataRegistry.get(s[0])?.id;if(a){let c=n.get(a);if(c&&c!==s[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(a,s[0])}}let o=s=>{let a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let d=e.external.registry.get(s[0])?.id,h=e.external.uri??(f=>f);if(d)return{ref:h(d)};let p=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=p,{defId:p,ref:`${h("__shared")}#/${a}/${Nc(p)}`}}let c="#",l=`${c}/${a}/`;if(s[1]===r&&!s[1].schema.id)return{ref:c};let u=s[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:l+Nc(u)}},i=s=>{if(s[1].schema.$ref)return;let a=s[1],{ref:c,defId:l}=o(s);a.def={...a.schema},l&&(a.defId=l);let u=a.schema;for(let d in u)delete u[d];u.$ref=c};if(e.cycles==="throw")for(let s of e.seen.entries()){let a=s[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
56
|
+
`)}return b.write("payload.value = newResult;"),b.write("return payload;"),b.compile()},s,a=kt,c=!Pe.jitless,d=c&&Ln.value,u=t.catchall,h;e._zod.parse=(p,f)=>{h??(h=n.value);let m=p.value;return a(m)?c&&d&&f?.async===!1&&f.jitless!==!0?(s||(s=i(t.shape)),p=s(p,f),u?Oa([],m,p,f,h,e,f?.abortEarly===!0):p):r(p,f):(p.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),p)}});function Ds(e,t,r,n){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter(i=>!Ze(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(s=>He(s,n,Ce())))}),t)}var qn=w("$ZodUnion",(e,t)=>{se.init(e,t),Q(e,"optin",n=>n.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":n.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),Q(e,"optout",n=>n.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),Q(e,"values",n=>{if(n.def.options.every(o=>o._zod.values))return new Set(n.def.options.flatMap(o=>Array.from(o._zod.values)))}),Q(e,"pattern",n=>{if(n.def.options.every(o=>o._zod.pattern)){let o=n.def.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>Ut(i.source)).join("|")})$`)}});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let i=!1,s=[];for(let a of t.options){let c=a._zod.run({value:n.value,issues:[]},o);if(c instanceof Promise)s.push(c),i=!0;else{if(c.issues.length===0)return c;s.push(c)}}return i?Promise.all(s).then(a=>Ds(a,n,e,o)):Ds(s,n,e,o)}});function rf(e){let t=new Map;for(let r of e.options){let n=r._zod.propValues?.[e.discriminator];if(!n||n.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(let o of n)if(t.has(o)){if(o!==void 0)throw new Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,r)}return t}var Ta=w("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,qn.init(e,t);let r=e._zod.parse;Q(e,"propValues",o=>{let i={},s=0;for(let a of o.def.options){let c=a._zod.propValues;if(!c||Object.keys(c).length===0)throw new Error(`Invalid discriminated union option at index "${o.def.options.indexOf(a)}"`);c[o.def.discriminator]?.has(void 0)&&s++;for(let[l,d]of Object.entries(c)){Object.prototype.hasOwnProperty.call(i,l)||Re(i,l,new Set);for(let u of d)i[l].add(u)}}return!o.def.unionFallback&&s>1&&i[o.def.discriminator]?.delete(void 0),i}),t.options.forEach((o,i)=>{let s=Ot(o._zod.def);if(s&&!Object.prototype.hasOwnProperty.call(s,t.discriminator))throw new Error(`Invalid discriminated union option at index "${i}"`)});let n=At(()=>rf(t));e._zod.parse=(o,i)=>{let s=o.value;if(!kt(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=s?.[t.discriminator],c=n.value.get(a);return c&&(a!==void 0||i.direction!=="backward")?c._zod.run(o,i):t.unionFallback||i.direction==="backward"?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(n.value.keys()).filter(l=>n.value.get(l)!==null),input:s,path:[t.discriminator],inst:e}),o)}}),Ia=w("$ZodIntersection",(e,t)=>{se.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,l])=>js(r,c,l)):js(r,i,s)}});function Un(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(ut(e)&&ut(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(let i of n){if(i==="__proto__")continue;let s=Un(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=Un(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function js(e,t,r){let n=new Map,o,i=new Map,s=(l,d)=>{let u;if(l.code==="unrecognized_keys"&&!l.path?.length)o??(o=l),u=l.keys;else if(l.code==="invalid_key"&&l.origin==="record"&&l.path?.length===1){let h=String(l.path[0]);i.has(h)||i.set(h,l),u=[h]}else return!1;for(let h of u)n.has(h)||n.set(h,{}),n.get(h)[d]=!0;return!0};for(let l of t.issues)s(l,"l")||e.issues.push(l);for(let l of r.issues)s(l,"r")||e.issues.push(l);let a=[...n].filter(([,l])=>l.l&&l.r).map(([l])=>l);if(a.length){let l=o?a.filter(d=>o.keys.includes(d)):[];l.length&&e.issues.push({...o,keys:l});for(let d of a)!l.includes(d)&&i.has(d)&&e.issues.push(i.get(d))}let c=Un(t.value,r.value);if(!c.valid){if(Ze(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var Za=w("$ZodTuple",(e,t)=>{se.init(e,t);let r=t.items,n=Pe.memoizer;n?.attach(e),e._zod.parse=(o,i)=>{let s=o.value;if(!Array.isArray(s))return o.issues.push({input:s,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=n?n.alloc(e,o,[],i):[];let a=[],c=Vs(r,"optin"),l=Vs(r,"optout");if(!t.rest){if(s.length<c)return o.issues.push({code:"too_small",minimum:c,inclusive:!0,input:s,inst:e,origin:"array"}),o;s.length>r.length&&o.issues.push({code:"too_big",maximum:r.length,inclusive:!0,input:s,inst:e,origin:"array"})}let d=new Array(r.length),u=t.rest?i?.abortEarly:void 0,h=!1;for(let p=0;p<r.length;p++){let f=r[p]._zod.run({value:s[p],issues:[]},i);f instanceof Promise?a.push(f.then(m=>{d[p]=m})):(d[p]=f,u&&!h&&f.issues.length&&(h=Ze(f)))}if(t.rest&&!h){let p=r.length-1,f=s.slice(r.length),m=o.issues.length;for(let b of f){if(u&&o.issues.length!==m){if(Ze(o,m))break;m=o.issues.length}p++;let y=t.rest._zod.run({value:b,issues:[]},i);y instanceof Promise?a.push(y.then(g=>Bs(g,o,p))):Bs(y,o,p)}}return a.length?Promise.all(a).then(()=>Ws(d,o,r,s,l)):Ws(d,o,r,s,l)}});function Vs(e,t){for(let r=e.length-1;r>=0;r--)if(!(t==="optin"?e[r]._zod.optin!==void 0:e[r]._zod.optout==="optional"))return r+1;return 0}function Bs(e,t,r){e.issues.length&&t.issues.push(...Je(r,e.issues)),t.value[r]=e.value}function Ws(e,t,r,n,o){for(let i=0;i<r.length;i++){let s=e[i],a=i<n.length;if(!a&&i>=o&&r[i]._zod.optin==="optional"){t.value.length=i;break}if(s.issues.length){if(!a&&i>=o){t.value.length=i;break}t.issues.push(...Je(i,s.issues))}t.value[i]=s.value}for(let i=t.value.length-1;i>=n.length&&(r[i]._zod.optout==="optional"&&t.value[i]===void 0);i--)t.value.length=i;return t}var Ca=w("$ZodRecord",(e,t)=>{se.init(e,t);let r=Pe.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let i=n.value;if(!ut(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;let s=[],a=t.keyType._zod.values;if(a&&!t.partial){n.value=r?r.alloc(e,n,{},o):{};let c=new Set;for(let d of a)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){if(c.add(typeof d=="number"?d.toString():d),d==="__proto__")continue;let u=t.keyType._zod.run({value:d,issues:[]},o);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(u.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(f=>He(f,o,Ce())),input:d,path:[d],inst:e});continue}let h=u.value;if(h==="__proto__")continue;let p=t.valueType._zod.run({value:i[d],issues:[]},o);p instanceof Promise?s.push(p.then(f=>{f.issues.length&&n.issues.push(...Je(d,f.issues)),n.value[h]=f.value})):(p.issues.length&&n.issues.push(...Je(d,p.issues)),n.value[h]=p.value)}let l;for(let d in i)if(!c.has(d))if(t.mode==="loose"){if(d==="__proto__")continue;n.value[d]=i[d]}else l=l??[],l.push(d);l&&l.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:l,continue:!0})}else{n.value=r?r.alloc(e,n,{},o):{};let c;for(let l of Reflect.ownKeys(i)){if(l==="__proto__"||!Object.prototype.propertyIsEnumerable.call(i,l))continue;let d=t.keyType._zod.run({value:l,issues:[]},o);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof l=="string"&&qt.test(l)&&d.issues.length){let f=t.keyType._zod.run({value:Number(l),issues:[]},o);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(d=f)}if(d.issues.length){t.mode==="loose"?n.value[l]=i[l]:a?(c=c??[],c.push(l)):n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(f=>He(f,o,Ce())),input:l,path:[l],inst:e});continue}let h=d.value;if(h==="__proto__")continue;let p=t.valueType._zod.run({value:i[l],issues:[]},o);p instanceof Promise?s.push(p.then(f=>{f.issues.length&&n.issues.push(...Je(l,f.issues)),n.value[h]=f.value})):(p.issues.length&&n.issues.push(...Je(l,p.issues)),n.value[h]=p.value)}c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:c,continue:!0})}return s.length?Promise.all(s).then(()=>n):n}});var Fa=w("$ZodEnum",(e,t)=>{se.init(e,t);let r=Nt(t.entries),n=new Set(r);e._zod.values=n,Q(e,"pattern",o=>{let i=Nt(o.def.entries).filter(s=>Nn.has(typeof s));return new RegExp(i.length?`^(${i.map(s=>ot(s.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,i)=>{let s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:r,input:s,inst:e}),o}}),Ma=w("$ZodLiteral",(e,t)=>{se.init(e,t);let r=new Set(t.values);e._zod.values=r,Q(e,"pattern",n=>{let o=n.def.values;return new RegExp(o.length?`^(${o.map(i=>typeof i=="string"?ot(i):i?ot(i.toString()):String(i)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(n,o)=>{let i=n.value;return r.has(i)||n.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),n}});var Da=w("$ZodTransform",(e,t)=>{se.init(e,t),e._zod.optin="optional",Pe.memoizer?.guard(e),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Tt(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new Ke;return r.value=o,r}});function Us(e,t){return e.value=t.issues.length?void 0:t.value,e}var Gn=w("$ZodOptional",(e,t)=>{se.init(e,t),Q(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",Q(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),Q(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Ut(n.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(r.value===void 0){if(t.innerType._zod.optin!=="defaulted")return r;let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(i=>Us(r,i)):Us(r,o)}return t.innerType._zod.run(r,n)}}),ja=w("$ZodExactOptional",(e,t)=>{Gn.init(e,t),Q(e,"values",r=>r.def.innerType._zod.values),Q(e,"pattern",r=>r.def.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Va=w("$ZodNullable",(e,t)=>{se.init(e,t),Q(e,"optin",r=>r.def.innerType._zod.optin),Q(e,"optout",r=>r.def.innerType._zod.optout),Q(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Ut(n.source)}|null)$`):void 0}),Q(e,"values",r=>r.def.innerType._zod.values?new Set([...r.def.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Ba=w("$ZodDefault",(e,t)=>{se.init(e,t),e._zod.optin="defaulted",Q(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Js(i,t)):Js(o,t)}});function Js(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Wa=w("$ZodPrefault",(e,t)=>{se.init(e,t),e._zod.optin="defaulted",Q(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Ua=w("$ZodNonOptional",(e,t)=>{se.init(e,t),Q(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Hs(i,e)):Hs(o,e)}});function Hs(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function Ks(e,t,r,n){return t.issues.length?(e.value=r.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>He(o,n,Ce()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Ja=w("$ZodCatch",(e,t)=>{se.init(e,t),Q(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),Q(e,"optout",r=>r.def.innerType._zod.optout),Q(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(i=>Ks(r,i,t,n)):Ks(r,o,t,n)}});var Ha=w("$ZodPipe",(e,t)=>{se.init(e,t),Q(e,"values",r=>r.def.in._zod.values),Q(e,"optin",r=>r.def.in._zod.optin),Q(e,"optout",r=>r.def.out._zod.optout),Q(e,"propValues",r=>r.def.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let i=t.out._zod.run(r,n);return i instanceof Promise?i.then(s=>Tr(s,t.in,n)):Tr(i,t.in,n)}let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>Tr(i,t.out,n)):Tr(o,t.out,n)}});function Tr(e,t,r){return e.issues.some(n=>n.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}var Ka=w("$ZodReadonly",(e,t)=>{se.init(e,t),Q(e,"propValues",r=>r.def.innerType._zod.propValues),Q(e,"values",r=>r.def.innerType._zod.values),Q(e,"optin",r=>r.def.innerType?._zod?.optin),Q(e,"optout",r=>r.def.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(qs):qs(o)}});function qs(e){return e.memo||(e.value=Object.freeze(e.value)),e}var qa=w("$ZodLazy",(e,t)=>{se.init(e,t),Sn(e._zod,"innerType",()=>{let r=t;return r._cachedInner||(r._cachedInner=t.getter()),r._cachedInner}),Q(e,"pattern",r=>r.innerType?._zod?.pattern),Q(e,"propValues",r=>r.innerType?._zod?.propValues),Q(e,"optin",r=>r.innerType?._zod?.optin??void 0),Q(e,"optout",r=>r.innerType?._zod?.optout??void 0),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),Ga=w("$ZodCustom",(e,t)=>{Ee.init(e,t),se.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>Gs(i,r,n,e));Gs(o,r,n,e)}});function Gs(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Rt(o))}}var Xn=class extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}},Qn="~memo",Ya=[];function Xa(e){return e!==null&&typeof e=="object"}function Yn(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}var Qa=new WeakMap,Xt=0,jr=1,Qt=2;function Vr(e,t,r){let n=Qa.get(e);if(n!==void 0)return n?Qt:Xt;if(t.has(e))return Qt;t.add(e);let o=Xt,i=d=>{if(o!==Qt&&d?._zod){let u=Vr(d,t,r);u>o&&(o=u)}},s=(d,u)=>{let h=Xt;for(let p of Reflect.ownKeys(d)){let f=Object.getOwnPropertyDescriptor(d,p);if(u&&!f.enumerable)continue;let m=f.get?jr:f.value?._zod?Vr(f.value,t,r):Xt;m>h&&(h=m)}return h},a=d=>{d>o&&(o=d)},c=e._zod.def,l=c.type;switch(l){case"object":{let d=Ot(c);a(d?s(d,!0):jr),i(c.catchall);break}case"array":i(c.element);break;case"tuple":for(let d of c.items)i(d);i(c.rest);break;case"record":case"map":i(c.keyType),i(c.valueType);break;case"set":i(c.valueType);break;case"union":for(let d of c.options)i(d);break;case"intersection":i(c.left),i(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":i(c.innerType);break;case"pipe":i(c.in),i(c.out);break;case"function":i(c.input),i(c.output);break;case"lazy":{let d=c._cachedInner??(r?e._zod.innerType:void 0);a(d?Vr(d,t,!1):jr);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let d in c){let u=Object.getOwnPropertyDescriptor(c,d);if(!u||u.get)continue;let h=u.value;if(!(!h||typeof h!="object")){if(h._zod)i(h);else if(Array.isArray(h))for(let p of h)i(p)}}}return t.delete(e),nf(e,o)}function nf(e,t){return t!==jr&&Qa.set(e,t===Qt),t}function of(e,t){let r=e.buckets.get(t);return r||(r=new WeakMap,e.buckets.set(t,r)),r}var Mr,Dr=[],sf={alloc(e,t,r){let n=Mr;if(!n)return r;Mr=void 0;let o={value:r,issues:null};return n.set(t.value,o),Dr.push(o),r},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let r=e._zod.parse,n=(o,i)=>{if(i.direction!=="backward"&&af(i,o.value))throw new Xn;return r(o,i)};e._zod.parse=n,e._zod.run===r&&(e._zod.run=n)})},attach(e){var t;let r,n=!1,o,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let s=e._zod.parse,a=(c,l)=>{if(r===void 0){let y=Vr(e,new Set,!1);if(y===Xt)return e._zod.parse=s,e._zod.run===a&&(e._zod.run=s),s(c,l);y===Qt||n?r=!0:n=!0}let d=c.value;if(!Xa(d))return s(c,l);let u=l[Qn];u||(u={buckets:new WeakMap,backEdges:void 0},l[Qn]=u);let h;o===l?h=i:(h=of(u,e),o=l,i=h);let p=h.get(d);if(p)return c.value=p.value,p.issues?p.issues.length&&c.issues.push(...Yn(p.issues)):(c.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(p.value)),c;Mr=h;let f=Dr.length,m=s(c,l);Mr=void 0;let b=Dr.length>f?Dr.pop():void 0;return m instanceof Promise?m.then(y=>(b&&(b.issues=y.issues.length?Yn(y.issues):Ya),y)):(b&&(b.issues=m.issues.length?Yn(m.issues):Ya),m)};e._zod.parse=a,e._zod.run===s&&(e._zod.run=a)})}};function ec(){return sf}function af(e,t){let r=e[Qn]?.backEdges;return r!==void 0&&Xa(t)&&r.has(t)}var cf=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(i){return e[i]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};function o(i,s){return i==="number"&&typeof s=="number"&&!Number.isFinite(s)?String(s):n[i]??i}return i=>{switch(i.code){case"invalid_type":{let s=o(i.expected),a=On(i.input),c=o(a,i.input);return`Invalid input: expected ${s}, received ${c}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${kr(i.values[0])}`:`Invalid option: expected one of ${vr(i.values,"|")}`;case"too_big":{let s=i.exact?"exactly ":i.inclusive?"<=":"<",a=t(i.origin);return a?`Too big: expected ${i.origin??"value"} to have ${s}${i.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${s}${i.maximum.toString()}`}case"too_small":{let s=i.exact?"exactly ":i.inclusive?">=":">",a=t(i.origin);return a?`Too small: expected ${i.origin} to have ${s}${i.minimum.toString()} ${a.unit}`:`Too small: expected ${i.origin} to be ${s}${i.minimum.toString()}`}case"invalid_format":{let s=i;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${r[s.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${vr(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return i.options&&Array.isArray(i.options)&&i.options.length>0?`Invalid discriminator value. Expected ${i.options.map(a=>`'${a}'`).join(" | ")}`:i.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function tc(){return{localeError:cf()}}var rc;var eo=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){let n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...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 lf(){return new eo}(rc=globalThis).__zod_globalRegistry??(rc.__zod_globalRegistry=lf());var _t=globalThis.__zod_globalRegistry;function nc(e){return e.checks&&(e.checks=[...e.checks]),e}function oc(e,t){return new e(nc({type:"string",...j(t)}))}function ic(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...j(t)})}function sc(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...j(t)})}function ac(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...j(t)})}function cc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(t)})}function lc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(t)})}function dc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(t)})}function uc(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...j(t)})}function fc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...j(t)})}function pc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(t)})}function mc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...j(t)})}function hc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(t)})}function gc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...j(t)})}function bc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...j(t)})}function yc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(t)})}function xc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(t)})}function vc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(t)})}function wc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(t)})}function kc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(t)})}function _c(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...j(t)})}function zc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...j(t)})}function Sc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...j(t)})}function $c(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...j(t)})}function Ec(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(t)})}function Lc(e,t){return new e({type:"string",format:"date",check:"string_format",...j(t)})}function Nc(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...j(t)})}function Pc(e,t){return new e({type:"string",format:"duration",check:"string_format",...j(t)})}function Ac(e,t){return new e(nc({type:"number",checks:[],...j(t)}))}function Oc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...j(t)})}function Rc(e,t){return new e({type:"boolean",...j(t)})}function Tc(e,t){return new e({type:"null",...j(t)})}function Ic(e){return new e({type:"unknown"})}function Zc(e,t){return new e({type:"never",...j(t)})}function Br(e,t){return new Bn({check:"less_than",...j(t),value:e,inclusive:!1})}function er(e,t){return new Bn({check:"less_than",...j(t),value:e,inclusive:!0})}function Wr(e,t){return new Wn({check:"greater_than",...j(t),value:e,inclusive:!1})}function tr(e,t){return new Wn({check:"greater_than",...j(t),value:e,inclusive:!0})}function Ur(e,t){return new zs({check:"multiple_of",...j(t),value:e})}function Jr(e,t){return new $s({check:"max_length",...j(t),maximum:e})}function It(e,t){return new Es({check:"min_length",...j(t),minimum:e})}function Hr(e,t){return new Ls({check:"length_equals",...j(t),length:e})}function to(e,t){return new Ns({check:"string_format",format:"regex",...j(t),pattern:e})}function ro(e){return new Ps({check:"string_format",format:"lowercase",...j(e)})}function no(e){return new As({check:"string_format",format:"uppercase",...j(e)})}function oo(e,t){return new Os({check:"string_format",format:"includes",...j(t),includes:e})}function io(e,t){return new Rs({check:"string_format",format:"starts_with",...j(t),prefix:e})}function so(e,t){return new Ts({check:"string_format",format:"ends_with",...j(t),suffix:e})}function ft(e){return new Is({check:"overwrite",tx:e})}function ao(e){return ft(t=>t.normalize(e))}function co(){return ft(e=>e.trim())}function lo(){return ft(e=>e.toLowerCase())}function uo(){return ft(e=>e.toUpperCase())}function fo(){return ft(e=>En(e))}function Cc(e,t,r){return new e({type:"array",element:t,...j(r)})}function Fc(e,t,r){return new e({type:"custom",check:"custom",fn:t,...j(r)})}function Mc(e,t){let r=df(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(Rt(o,n.value,r._zod.def));else{let i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),"input"in i||(i.input=n.value),i.inst??(i.inst=r),i.continue??(i.continue=!r._zod.def.abort),n.issues.push(Rt(i))}},e(n.value,n)),t);return r}function df(e,t){let r=new Ee({check:"custom",...j(t)});return r._zod.check=e,r}function rr(e,...t){for(let r of t)for(let n of Reflect.ownKeys(r))Object.prototype.propertyIsEnumerable.call(r,n)&&Re(e,n,r[n]);return e}function or(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??_t,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function ze(e,t,r,n,o){let i=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:n.path,message:o}):t.unrepresentable;if(i==="any")return!1;if(i===void 0||i==="throw")throw new Error(o);return Object.assign(r,i),!0}function le(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,s),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let a=e._zod.toJSONSchema?.();if(a)s.schema=a;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,d);else{let h=s.schema,p=t.processors[o.type];if(!p)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);p(e,t,h,d)}let u=e._zod.parent;u&&(s.ref||(s.ref=u),le(u,t,d),t.seen.get(u).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&rr(s.schema,c),t.io==="input"&&Ae(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&"_prefault"in s.schema&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Dc(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function ir(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;let n=new Map;for(let s of e.seen.entries()){let a=e.metadataRegistry.get(s[0])?.id;if(a){let c=n.get(a);if(c&&c!==s[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(a,s[0])}}let o=s=>{let a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let u=e.external.registry.get(s[0])?.id,h=e.external.uri??(f=>f);if(u)return{ref:h(u)};let p=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=p,{defId:p,ref:`${h("__shared")}#/${a}/${Dc(p)}`}}let c="#",l=`${c}/${a}/`;if(s[1]===r&&!s[1].schema.id)return{ref:c};let d=s[1].schema.id??`__schema${e.counter++}`;return{defId:d,ref:l+Dc(d)}},i=s=>{if(s[1].schema.$ref)return;let a=s[1],{ref:c,defId:l}=o(s);a.def={...a.schema},l&&(a.defId=l);let d=a.schema;for(let u in d)delete d[u];d.$ref=c};if(e.cycles==="throw")for(let s of e.seen.entries()){let a=s[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
57
57
|
|
|
58
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of e.seen.entries()){let a=s[1];if(t===s[0]){i(s);continue}if(e.external){let l=e.external.registry.get(s[0])?.id;if(t!==s[0]&&l){i(s);continue}}if(e.metadataRegistry.get(s[0])?.id){i(s);continue}if(a.cycle){i(s);continue}a.count>1&&e.reused==="ref"&&i(s)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Oc(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let r=[];for(let n of t){if(!n||typeof n!="object")return;Oc(n);let o=Object.keys(n);if(o.length!==1||o[0]!=="type")return;let i=n.type;for(let s of Array.isArray(i)?i:[i]){if(typeof s!="string")return;r.includes(s)||r.push(s)}}delete e.anyOf,e.type=r.length===1?r[0]:r}var Rc=new Set(["type","properties","required","additionalProperties"]),Pc=["oneOf","anyOf"];function Ac(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function no(e){let t=[];for(let i of e){if(typeof i!="object"||i.type!=="object")return null;for(let s in i)if(!Rc.has(s))return null;t.push(i)}let r={},n=new Set;for(let i of t){for(let s in i.properties){if(Object.prototype.hasOwnProperty.call(r,s))continue;let a=[];for(let l of t){let u=l.properties?.[s]??Ac(l);u!=null&&(a.some(d=>JSON.stringify(d)===JSON.stringify(u))||a.push(u))}let c=a.length===1?a[0]:no(a)??{allOf:a};Pe(r,s,c)}for(let s of i.required??[])n.add(s)}let o={type:"object",properties:r};if(n.size&&(o.required=[...n]),t.every(i=>i.additionalProperties===!1))o.additionalProperties=!1;else{let i=[];for(let s of t){let a=Ac(s);a&&!i.some(c=>JSON.stringify(c)===JSON.stringify(a))&&i.push(a)}i.length===1?o.additionalProperties=i[0]:i.length>1&&(o.additionalProperties={allOf:i})}return o}function Qd(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of Rc)if(o in e)return;let r=t.filter(o=>Pc.some(i=>Array.isArray(o[i]))),n=null;if(!r.length)n=no(t);else{let o=r[0],i=Pc.find(c=>Array.isArray(o[c]));if(Object.keys(o).length!==1)return;let s=t.filter(c=>c!==o),a=o[i].map(c=>no([...s,c]));if(a.some(c=>!c))return;n={[i]:a}}n&&(delete e.allOf,qt(e,n))}function Qt(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=a=>{let c=e.seen.get(a);if(c.ref===null)return;let l=c.def??c.schema,u={...l},d=c.ref;if(c.ref=null,d){n(d);let p=e.seen.get(d),f=p.schema;if(f.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(f)):qt(l,f),qt(l,u),a._zod.parent===d)for(let b in l)b==="$ref"||b==="allOf"||b in u||delete l[b];if(f.$ref&&p.def)for(let b in l)b==="$ref"||b==="allOf"||b in p.def&&JSON.stringify(l[b])===JSON.stringify(p.def[b])&&delete l[b]}let h=a._zod.parent;if(h&&h!==d){n(h);let p=e.seen.get(h);if(p?.schema.$ref&&(l.$ref=p.schema.$ref,p.def))for(let f in l)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(l[f])===JSON.stringify(p.def[f])&&delete l[f]}e.override({zodSchema:a,jsonSchema:l,path:c.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let a of[...e.seen.entries()].reverse())n(a[0]);if(e.target!=="openapi-3.0")for(let a of e.seen.entries())Oc(a[1].def??a[1].schema);for(let a of e.deferred)a();if(e.intersections.length){let a=new Map;for(let c of e.seen.values())for(let l of[c.schema,c.def]){let u=l?.allOf;if(!Array.isArray(u))continue;let d=a.get(u);d?d.push(l):a.set(u,[l])}for(let c of e.intersections)for(let l of a.get(c)??[])Qd(l)}}let 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){let a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}qt(o,r.defId?r.schema:r.def??r.schema);let i=e.metadataRegistry.get(t)?.id;i!==void 0&&o.id===i&&delete o.id;let s=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let a of e.seen.entries()){let c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,Pe(s,c.defId,c.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Gt(t,"input",e.processors),output:Gt(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Ne(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return Ne(n.element,r);if(n.type==="set")return Ne(n.valueType,r);if(n.type==="lazy")return Ne(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault"||n.type==="catch")return Ne(n.innerType,r);if(n.type==="intersection")return Ne(n.left,r)||Ne(n.right,r);if(n.type==="record"||n.type==="map")return Ne(n.keyType,r)||Ne(n.valueType,r);if(n.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Ne(n.in,r)||Ne(n.out,r);if(n.type==="object"){for(let o in n.shape)if(Ne(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(Ne(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(Ne(o,r))return!0;return!!(n.rest&&Ne(n.rest,r))}return!1}var Tc=(e,t={})=>r=>{let n=Yt({...r,processors:t});return ce(e,n),Xt(n,e),Qt(n,e)},Gt=(e,t,r={})=>n=>{let{libraryOptions:o,target:i}=n??{},s=Yt({...o??{},target:i,io:t,processors:r});return ce(e,s),Xt(s,e),Qt(s,e)};var At=(e,t,r)=>{(e[t]===void 0||r>e[t])&&(e[t]=r)},Ot=(e,t,r)=>{(e[t]===void 0||r<e[t])&&(e[t]=r)},Zc=(e,t)=>{At(e,"minimum",t),Ot(e,"maximum",t)},Dc=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},jc=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},Vc=(e,t)=>{e.mime=e.mime?e.mime.filter(r=>t.includes(r)):[...t]},Bc=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},Ic=(e,t)=>At(e,"minimum",t.minimum),Fc=(e,t)=>Ot(e,"maximum",t.maximum),Cc=e=>(t,r)=>{Bc(t,r.format);let[n,o]=e[r.format];At(t,"minimum",n),Ot(t,"maximum",o)},ef={greater_than:(e,t)=>At(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>Ot(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>Dc(e,t.value),number_format:Cc(Mt),bigint_format:Cc(br),min_length:Ic,max_length:Fc,length_equals:(e,t)=>Zc(e,t.length),min_size:Ic,max_size:Fc,size_equals:(e,t)=>Zc(e,t.size),string_format:(e,t)=>{Bc(e,t.format),t.pattern&&jc(e,t.pattern),(t.format==="base64"||t.format==="base64url")&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Vc(e,t.mime)};function Ae(e){let t={},r=e._zod.def,n=e._zod.traits.has("$ZodCheck")?[e,...r.checks??[]]:r.checks??[];for(let i of n)ef[i._zod.def.check]?.(t,i._zod.def);let o=e._zod.bag;o.minimum!==void 0&&At(t,"minimum",o.minimum),o.exclusiveMinimum!==void 0&&At(t,"exclusiveMinimum",o.exclusiveMinimum),o.maximum!==void 0&&Ot(t,"maximum",o.maximum),o.exclusiveMaximum!==void 0&&Ot(t,"exclusiveMaximum",o.exclusiveMaximum),o.multipleOf!==void 0&&Dc(t,o.multipleOf),o.format!==void 0&&(t.format??(t.format=o.format),o.format.includes("int")&&(t.isInt=!0)),o.mime&&Vc(t,o.mime);for(let i of o.patterns??[])jc(t,i);return t}var tf={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},rf=new Map([[Cn,es],[Or,ts]]),Uc=e=>rf.get(e)??e,so=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l,laxFormat:u}=Ae(e);if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),a&&(o.format=tf[a]??a,o.format===""&&delete o.format,(a==="time"||u)&&delete o.format),l&&(o.contentEncoding=l),c&&c.size>0){let d=[...c].map(Uc);d.length===1?o.pattern=d[0].source:d.length>1&&(o.allOf=[...d.map(h=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:h.source}))])}},ao=(e,t,r,n)=>{let o=r,{minimum:i,maximum:s,multipleOf:a,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=Ae(e);o.type=u?"integer":"number";let d=typeof l=="number"&&l>=(i??Number.NEGATIVE_INFINITY),h=typeof c=="number"&&c<=(s??Number.POSITIVE_INFINITY),p=t.target==="draft-04"||t.target==="openapi-3.0";if(d?p?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l:typeof i=="number"&&(o.minimum=i),h?p?(o.maximum=c,o.exclusiveMaximum=!0):o.exclusiveMaximum=c:typeof s=="number"&&(o.maximum=s),a){let f=new Set;for(let y of a)Number.isFinite(y)&&y!==0?f.add(Math.abs(y)):we(e,t,o,n,`A multipleOf divisor of ${y} cannot be represented in JSON Schema`);let[m,...b]=f;m!==void 0&&(o.multipleOf=m),b.length&&(o.allOf=[...o.allOf??[],...b.map(y=>({multipleOf:y}))])}},co=(e,t,r,n)=>{r.type="boolean"},Wc=(e,t,r,n)=>{we(e,t,r,n,"BigInt cannot be represented in JSON Schema")},Jc=(e,t,r,n)=>{we(e,t,r,n,"Symbols cannot be represented in JSON Schema")},lo=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Hc=(e,t,r,n)=>{we(e,t,r,n,"Undefined cannot be represented in JSON Schema")},Kc=(e,t,r,n)=>{we(e,t,r,n,"Void cannot be represented in JSON Schema")},uo=(e,t,r,n)=>{r.not={}},qc=(e,t,r,n)=>{},fo=(e,t,r,n)=>{},Gc=(e,t,r,n)=>{we(e,t,r,n,"Date cannot be represented in JSON Schema")},po=(e,t,r,n)=>{let o=e._zod.def,i=zt(o.entries);if(i.length===0){r.not={};return}i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),r.enum=i},mo=(e,t,r,n)=>{let o=e._zod.def;if(o.values.length===0){r.not={};return}let i=[];for(let s of o.values)if(s===void 0){if(we(e,t,r,n,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof s=="bigint"){if(we(e,t,r,n,"BigInt literals cannot be represented in JSON Schema"))return;i.push(Number(s))}else i.push(s);if(i.length!==0)if(i.length===1){let s=i[0];r.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[s]:r.const=s}else i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),i.every(s=>typeof s=="boolean")&&(r.type="boolean"),i.every(s=>s===null)&&(r.type="null"),r.enum=i},Yc=(e,t,r,n)=>{we(e,t,r,n,"NaN cannot be represented in JSON Schema")},Xc=(e,t,r,n)=>{let o=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Qc=(e,t,r,n)=>{let o=r;o.type="string",o.format="binary",o.contentEncoding="binary";let{minimum:i,maximum:s,mime:a}=Ae(e);i!==void 0&&(o.minLength=i),s!==void 0&&(o.maxLength=s),a&&(a.length===0?o.not={}:a.length===1?o.contentMediaType=a[0]:o.anyOf=a.map(c=>({contentMediaType:c})))},el=(e,t,r,n)=>{r.type="boolean"},ho=(e,t,r,n)=>{we(e,t,r,n,"Custom types cannot be represented in JSON Schema")},tl=(e,t,r,n)=>{we(e,t,r,n,"Function types cannot be represented in JSON Schema")},go=(e,t,r,n)=>{we(e,t,r,n,"Transforms cannot be represented in JSON Schema")},rl=(e,t,r,n)=>{we(e,t,r,n,"Map cannot be represented in JSON Schema")},nl=(e,t,r,n)=>{we(e,t,r,n,"Set cannot be represented in JSON Schema")},bo=(e,t,r,n)=>{let o=r,i=e._zod.def,{minimum:s,maximum:a}=Ae(e);typeof s=="number"&&(o.minItems=s),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=ce(i.element,t,{...n,path:[...n.path,"items"]})};function er(e){let t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?er(t.out):t.type==="catch"?er(t.innerType):e._zod.optin}var yo=(e,t,r,n)=>{let o=r,i=e._zod.def,s=i.shape;if(Object.getOwnPropertySymbols(s).length&&we(e,t,o,n,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(let l in s)Pe(o.properties,l,ce(s[l],t,{...n,path:[...n.path,"properties",l]}));let c=[];for(let l of Object.keys(s)){let u=i.shape[l];(t.io==="input"?er(u)===void 0:u._zod.optout===void 0)&&c.push(l)}c.length>0&&(o.required=c),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=ce(i.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},xo=(e,t,r,n)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>ce(a,t,{...n,path:[...n.path,i?"oneOf":"anyOf",c]}));i?r.oneOf=s:r.anyOf=s},vo=(e,t,r,n)=>{let o=e._zod.def,i=ce(o.left,t,{...n,path:[...n.path,"allOf",0]}),s=ce(o.right,t,{...n,path:[...n.path,"allOf",1]}),a=l=>"allOf"in l&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];r.allOf=c,t.intersections.push(c)},wo=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((m,b)=>ce(m,t,{...n,path:[...n.path,s,b]})),l=i.rest?ce(i.rest,t,{...n,path:[...n.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null,u=i.items.length;for(;u>0;){let m=i.items[u-1];if(!(t.io==="input"?er(m)!==void 0:m._zod.optout==="optional"))break;u--}let d=i.items.length,h=!i.rest;t.target==="draft-2020-12"?(o.prefixItems=c,h?o.items=!1:l&&(o.items=l),u>0&&(o.minItems=u),h&&(o.maxItems=d)):t.target==="openapi-3.0"?(o.items={anyOf:c},l&&o.items.anyOf.push(l),u>0&&(o.minItems=u),h&&(o.maxItems=d)):(o.items=c,h?o.additionalItems=!1:l&&(o.additionalItems=l),u>0&&(o.minItems=u),h&&(o.maxItems=d));let{minimum:p,maximum:f}=Ae(e);typeof p=="number"&&(o.minItems=p),typeof f=="number"&&(o.maxItems=f)};function oo(e,t,r){if(t.$ref){if(r.has(t))return t;r.add(t);let f=e.get(t)?.def;if(!f)return t;let m=oo(e,f,r);return m===f?t:m}for(let f of["anyOf","oneOf"]){let m=t[f];if(!Array.isArray(m))continue;let b=m.map(y=>oo(e,y,r));b.some((y,g)=>y!==m[g])&&(t={...t,[f]:b})}let n=Array.isArray(t.type)?t.type:[t.type],o=!n.includes("string")&&n.some(f=>f==="number"||f==="integer"),i=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!i?.some(f=>typeof f=="number"))return t;let{minimum:s,maximum:a,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:h,...p}=t;return p.enum?p.enum=p.enum.map(f=>typeof f=="number"?String(f):f):typeof p.const=="number"&&(p.const=String(p.const)),o&&(p.type="string",i||(p.pattern=(n.includes("number")?Vt:On).source)),p}var io=new WeakMap;function nf(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let r=new Map;for(let n of io.get(e)??[]){let o=e.seen.get(n),i=(o?.def??o?.schema)?.propertyNames;if(!i||i===!0||r.has(i))continue;let s=oo(t,i,new Set);s!==i&&r.set(i,s)}if(r.size)for(let n of e.seen.values())for(let o of[n.schema,n.def]){let i=o&&r.get(o.propertyNames);i&&(o.propertyNames=i)}}var ko=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="object";let s=i.keyType,a=Ae(s).patterns;if(i.mode==="loose"&&a&&a.size>0){let u=ce(i.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of a)Pe(o.patternProperties,Uc(d).source,u)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=ce(i.keyType,t,{...n,path:[...n.path,"propertyNames"]});let u=io.get(t);u||(u=[],io.set(t,u),t.deferred.push(()=>nf(t))),u.push(e)}o.additionalProperties=ce(i.valueType,t,{...n,path:[...n.path,"additionalProperties"]})}let c=s._zod.values,l=t.io==="input"&&er(i.valueType)!==void 0;if(c&&!i.partial&&!l){let u=[...c].filter(d=>typeof d=="string"||typeof d=="number");u.length>0&&(o.required=u.map(String))}},_o=(e,t,r,n)=>{let o=e._zod.def,i=ce(o.innerType,t,n),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},zo=(e,t,r,n)=>{let o=e._zod.def;ce(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},So=Symbol();function ol(e,t,r,n,o){let i=!1,s=JSON.stringify(e,(a,c)=>typeof c!="bigint"?c:(i=!0,null));return i?(we(t,r,n,o,"BigInt defaults cannot be represented in JSON Schema"),So):JSON.parse(s)}var $o=(e,t,r,n)=>{let o=e._zod.def;ce(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType;let s=ol(o.defaultValue,e,t,r,n);s!==So&&(r.default=s)},Eo=(e,t,r,n)=>{let o=e._zod.def;ce(o.innerType,t,n);let i=t.seen.get(e);if(i.ref=o.innerType,t.io!=="input")return;let s=ol(o.defaultValue,e,t,r,n);s!==So&&(r._prefault=s)},Lo=(e,t,r,n)=>{let o=e._zod.def;ce(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{we(e,t,r,n,"Dynamic catch values are not supported in JSON Schema");return}r.default=s},No=(e,t,r,n)=>{let o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?i?o.out:o.in:o.out;ce(s,t,n);let a=t.seen.get(e);a.ref=s},Po=(e,t,r,n)=>{let o=e._zod.def;ce(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,r.readOnly=!0},il=(e,t,r,n)=>{let o=e._zod.def;ce(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},Vr=(e,t,r,n)=>{let o=e._zod.def;ce(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},Ao=(e,t,r,n)=>{let o=e._zod.innerType;ce(o,t,n);let i=t.seen.get(e);i.ref=o},Mc={string:so,number:ao,boolean:co,bigint:Wc,symbol:Jc,null:lo,undefined:Hc,void:Kc,never:uo,any:qc,unknown:fo,date:Gc,enum:po,literal:mo,nan:Yc,template_literal:Xc,file:Qc,success:el,custom:ho,function:tl,transform:go,map:rl,set:nl,array:bo,object:yo,union:xo,intersection:vo,tuple:wo,record:ko,nullable:_o,nonoptional:zo,default:$o,prefault:Eo,catch:Lo,pipe:No,readonly:Po,promise:il,optional:Vr,lazy:Ao};function Oo(e,t){if("_idmap"in e){let n=e,o=Yt({...t,processors:Mc}),i={};for(let c of n._idmap.entries()){let[l,u]=c;ce(u,o)}let s={},a={registry:n,uri:t?.uri,defs:i};o.external=a;for(let c of n._idmap.entries()){let[l,u]=c;Xt(o,u),Pe(s,l,Qt(o,u))}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let r=Yt({...t,processors:Mc});return ce(e,r),Xt(r,e),Qt(r,e)}var sl=new WeakSet([Object.prototype,Error.prototype]);function Ur(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let n=r(this);return Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0})}})}var pf=(e,t)=>{Ei.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);sl.has(r)||(sl.add(r),Ur(r,"format",n=>o=>Ni(n,o)),Ur(r,"flatten",n=>o=>Li(n,o)),Ur(r,"addIssue",n=>o=>{n.issues.push(o),n.message=JSON.stringify(n.issues,St,2)}),Ur(r,"addIssues",n=>o=>{n.issues.push(...o),n.message=JSON.stringify(n.issues,St,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))};var Ze=w("ZodError",pf,void 0,{Parent:Error});var al=kr(Ze),cl=_r(Ze),ll=zr(Ze),ul=Sr(Ze),dl=Ai(Ze),fl=Oi(Ze),pl=Ri(Ze),ml=Ti(Ze),hl=Zi(Ze),gl=Ii(Ze),bl=Fi(Ze),yl=Ci(Ze);function hf(){Le.localeError||Te(Ua())}function tr(){Le.memoizer||Te({memoizer:Ba()})}var le=w("ZodType",(e,t)=>(hf(),se.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(C.mergeDefs(t,{checks:[...t.checks??[],...e.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Me(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(mp(e,t))},superRefine(e,t){return this.check(hp(e,t))},overwrite(e){return this.check(ct(e))},optional(){return wl(this)},exactOptional(){return Qf(this)},nullable(){return kl(this)},nullish(){return wl(kl(this))},nonoptional(e){return ip(this,e)},array(){return pe(this)},or(e){return lt([this,e])},and(e){return Kf(this,e)},transform(e){return _l(this,Xf(e))},default(e){return rp(this,e)},prefault(e){return op(this,e)},catch(e){return ap(this,e)},pipe(e){return _l(this,e)},readonly(){return up(this)},describe(e){let t=this.clone();return yt.add(t,{description:e}),t},meta(...e){if(e.length===0)return yt.get(this);let t=this.clone();return yt.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return C.hide(this,"~standard",{...Fn(this),jsonSchema:{input:Gt(this,"input"),output:Gt(this,"output")}})},set"~standard"(e){C.own(this,"~standard",e)},parse:function e(t,r){return al(this,t,r,{callee:e})},parseAsync:async function e(t,r){return await cl(this,t,r,{callee:e})},safeParse(e,t){return ll(this,e,t)},async safeParseAsync(e,t){return ul(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){C.own(this,"spa",e)},validate(e,t){return Ln(this,e,t)},validateAsync(e,t){return Nn(this,e,t)},encode:function e(t,r){return dl(this,t,r,{callee:e})},decode:function e(t,r){return fl(this,t,r,{callee:e})},encodeAsync:async function e(t,r){return await pl(this,t,r,{callee:e})},decodeAsync:async function e(t,r){return await ml(this,t,r,{callee:e})},safeEncode(e,t){return hl(this,e,t)},safeDecode(e,t){return gl(this,e,t)},async safeEncodeAsync(e,t){return bl(this,e,t)},async safeDecodeAsync(e,t){return yl(this,e,t)},toJSONSchema(e){return Tc(this,{})(e)},get description(){return yt.get(this)?.description},get _def(){return this._zod.def}}),zl=w("_ZodString",(e,t)=>{Ar.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>so(e,r,n,o)},C.derived({format:e=>Ae(e).format??null,minLength:e=>Ae(e).minimum??null,maxLength:e=>Ae(e).maximum??null},{regex(...e){return this.check(Jn(...e))},includes(...e){return this.check(qn(...e))},startsWith(...e){return this.check(Gn(...e))},endsWith(...e){return this.check(Yn(...e))},min(...e){return this.check(Pt(...e))},max(...e){return this.check(Dr(...e))},length(...e){return this.check(jr(...e))},nonempty(...e){return this.check(Pt(1,...e))},lowercase(e){return this.check(Hn(e))},uppercase(e){return this.check(Kn(e))},trim(){return this.check(Qn())},normalize(...e){return this.check(Xn(...e))},toLowerCase(){return this.check(eo())},toUpperCase(){return this.check(to())},slugify(){return this.check(ro())}})),gf=w("ZodString",(e,t)=>{Ar.init(e,t),zl.init(e,t)},{email(e){return this.check(Ka(wf,e))},url(e){return this.check(ec(_f,e))},jwt(e){return this.check(hc(Cf,e))},emoji(e){return this.check(tc(zf,e))},guid(e){return this.check(qa(kf,e))},uuid(e){return this.check(Ga(Wr,e))},uuidv4(e){return this.check(Ya(Wr,e))},uuidv6(e){return this.check(Xa(Wr,e))},uuidv7(e){return this.check(Qa(Wr,e))},nanoid(e){return this.check(rc(Sf,e))},cuid(e){return this.check(nc($f,e))},cuid2(e){return this.check(oc(Ef,e))},ulid(e){return this.check(ic(Lf,e))},base64(e){return this.check(fc(Zf,e))},base64url(e){return this.check(pc(If,e))},xid(e){return this.check(sc(Nf,e))},ksuid(e){return this.check(ac(Pf,e))},ipv4(e){return this.check(cc(Af,e))},ipv6(e){return this.check(lc(Of,e))},cidrv4(e){return this.check(uc(Rf,e))},cidrv6(e){return this.check(dc(Tf,e))},e164(e){return this.check(mc(Ff,e))},datetime(e){return this.check(gc(bf,e))},date(e){return this.check(bc(yf,e))},time(e){return this.check(yc(xf,e))},duration(e){return this.check(xc(vf,e))}});function A(e){return Ha(gf,e)}var fe=w("ZodStringFormat",(e,t)=>{de.init(e,t),zl.init(e,t)}),bf=w("ZodISODateTime",(e,t)=>{ea.init(e,t),fe.init(e,t)}),yf=w("ZodISODate",(e,t)=>{ta.init(e,t),fe.init(e,t)}),xf=w("ZodISOTime",(e,t)=>{ra.init(e,t),fe.init(e,t)}),vf=w("ZodISODuration",(e,t)=>{na.init(e,t),fe.init(e,t)}),wf=w("ZodEmail",(e,t)=>{Bs.init(e,t),fe.init(e,t)});var kf=w("ZodGUID",(e,t)=>{js.init(e,t),fe.init(e,t)});var Wr=w("ZodUUID",(e,t)=>{Vs.init(e,t),fe.init(e,t)});var _f=w("ZodURL",(e,t)=>{Js.init(e,t),fe.init(e,t)});var zf=w("ZodEmoji",(e,t)=>{Hs.init(e,t),fe.init(e,t)});var Sf=w("ZodNanoID",(e,t)=>{Ks.init(e,t),fe.init(e,t)});var $f=w("ZodCUID",(e,t)=>{qs.init(e,t),fe.init(e,t)});var Ef=w("ZodCUID2",(e,t)=>{Gs.init(e,t),fe.init(e,t)});var Lf=w("ZodULID",(e,t)=>{Ys.init(e,t),fe.init(e,t)});var Nf=w("ZodXID",(e,t)=>{Xs.init(e,t),fe.init(e,t)});var Pf=w("ZodKSUID",(e,t)=>{Qs.init(e,t),fe.init(e,t)});var Af=w("ZodIPv4",(e,t)=>{oa.init(e,t),fe.init(e,t)});var Of=w("ZodIPv6",(e,t)=>{sa.init(e,t),fe.init(e,t)});var Rf=w("ZodCIDRv4",(e,t)=>{aa.init(e,t),fe.init(e,t)});var Tf=w("ZodCIDRv6",(e,t)=>{ca.init(e,t),fe.init(e,t)});var Zf=w("ZodBase64",(e,t)=>{ua.init(e,t),fe.init(e,t)});var If=w("ZodBase64URL",(e,t)=>{da.init(e,t),fe.init(e,t)});var Ff=w("ZodE164",(e,t)=>{fa.init(e,t),fe.init(e,t)});var Cf=w("ZodJWT",(e,t)=>{pa.init(e,t),fe.init(e,t)});var Sl=w("ZodNumber",(e,t)=>{Mn.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ao(e,r,n,o),e.isFinite=!0},C.derived({minValue:e=>{let{minimum:t,exclusiveMinimum:r}=Ae(e);return Math.max(t??Number.NEGATIVE_INFINITY,r??Number.NEGATIVE_INFINITY)},maxValue:e=>{let{maximum:t,exclusiveMaximum:r}=Ae(e);return Math.min(t??Number.POSITIVE_INFINITY,r??Number.POSITIVE_INFINITY)},isInt:e=>{let{isInt:t,multipleOf:r}=Ae(e);return!!t||!!r?.some(Number.isSafeInteger)},format:e=>Ae(e).format??null},{gt(e,t){return this.check(Cr(e,t))},gte(e,t){return this.check(Kt(e,t))},min(e,t){return this.check(Kt(e,t))},lt(e,t){return this.check(Fr(e,t))},lte(e,t){return this.check(Ht(e,t))},max(e,t){return this.check(Ht(e,t))},int(e){return this.check(Je(e))},safe(e){return this.check(Je(e))},positive(e){return this.check(Cr(0,e))},nonnegative(e){return this.check(Kt(0,e))},negative(e){return this.check(Fr(0,e))},nonpositive(e){return this.check(Ht(0,e))},multipleOf(e,t){return this.check(Mr(e,t))},step(e,t){return this.check(Mr(e,t))},finite(){return this}}));function Be(e){return vc(Sl,e)}var Mf=w("ZodNumberFormat",(e,t)=>{ma.init(e,t),Sl.init(e,t)});function Je(e){return wc(Mf,e)}var Df=w("ZodBoolean",(e,t)=>{ha.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>co(e,r,n,o)});function He(e){return kc(Df,e)}var jf=w("ZodNull",(e,t)=>{ga.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>lo(e,r,n,o)});function Vf(e){return _c(jf,e)}var Bf=w("ZodUnknown",(e,t)=>{ba.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>fo(e,r,n,o)});function xl(){return zc(Bf)}var Uf=w("ZodNever",(e,t)=>{ya.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>uo(e,r,n,o)});function $l(e){return Sc(Uf,e)}var Wf=w("ZodArray",(e,t)=>{tr(),xa.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>bo(e,r,n,o),e.element=t.element},{min(e,t){return this.check(Pt(e,t))},nonempty(e){return this.check(Pt(1,e))},max(e,t){return this.check(Dr(e,t))},length(e,t){return this.check(jr(e,t))},unwrap(){return this.element}});function pe(e,t){return $c(Wf,e,t)}var El=w("ZodObject",(e,t)=>{tr(),ka.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>yo(e,r,n,o),C.installLazyProp(e,"shape",r=>r._zod.def.shape,!1)},{keyof(){return Ke(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(C.mergeDefs(this._zod.def,{catchall:e}))},passthrough(){return this.clone(C.mergeDefs(this._zod.def,{catchall:xl()}))},loose(){return this.clone(C.mergeDefs(this._zod.def,{catchall:xl()}))},strict(){return this.clone(C.mergeDefs(this._zod.def,{catchall:$l()}))},strip(){return this.clone(C.mergeDefs(this._zod.def,{catchall:void 0}))},extend(e){return C.extend(this,e)},safeExtend(e){return C.safeExtend(this,e)},merge(e){return C.merge(this,e)},pick(e){return C.pick(this,e)},omit(e){return C.omit(this,e)},partial(...e){return C.partial(To,this,e[0])},exactPartial(...e){return C.partial(Pl,this,e[0],"exactPartial")},required(...e){return C.required(Al,this,e[0])}});function me(e,t){let r={type:"object",shape:e??{},...C.normalizeParams(t)};return new El(r)}function ge(e,t){return new El({type:"object",shape:e,catchall:$l(),...C.normalizeParams(t)})}var Ll=w("ZodUnion",(e,t)=>{Dn.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>xo(e,r,n,o),e.options=t.options});function lt(e,t){return new Ll({type:"union",options:e,...C.normalizeParams(t)})}var Jf=w("ZodDiscriminatedUnion",(e,t)=>{Ll.init(e,t),_a.init(e,t)});function ut(e,t,r){return new Jf({type:"union",options:t,discriminator:e,...C.normalizeParams(r)})}var Hf=w("ZodIntersection",(e,t)=>{za.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>vo(e,r,n,o)});function Kf(e,t){return new Hf({type:"intersection",left:e,right:t})}var qf=w("ZodTuple",(e,t)=>{tr(),Sa.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>wo(e,r,n,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw new Error(".partial() cannot be used on tuple schemas containing refinements");return this.clone({...e,items:e.items.map(t=>new To({type:"optional",innerType:t}))})}});function Nl(e,t,r){let n=t instanceof se,o=n?r:t,i=n?t:null;return new qf({type:"tuple",items:e,rest:i,...C.normalizeParams(o)})}var vl=w("ZodRecord",(e,t)=>{tr(),$a.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ko(e,r,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function dt(e,t,r){return!t||!t._zod?new vl({type:"record",keyType:A(),valueType:e,...C.normalizeParams(t)}):new vl({type:"record",keyType:e,valueType:t,...C.normalizeParams(r)})}var Ro=w("ZodEnum",(e,t)=>{Ea.init(e,t),le.init(e,t),e._zod.processJSONSchema=(n,o,i)=>po(e,n,o,i),e.enum=t.entries,e.options=[...e._zod.values];let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let i={};for(let s of n)if(r.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Ro({...t,checks:[],...C.normalizeParams(o),entries:i})},e.exclude=(n,o)=>{let i={...t.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new Ro({...t,checks:[],...C.normalizeParams(o),entries:i})}});function Ke(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Ro({type:"enum",entries:r,...C.normalizeParams(t)})}var Gf=w("ZodLiteral",(e,t)=>{La.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>mo(e,r,n,o),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 G(e,t){return new Gf({type:"literal",values:Array.isArray(e)?e:[e],...C.normalizeParams(t)})}var Yf=w("ZodTransform",(e,t)=>{tr(),Na.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>go(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Nt(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(C.issue(i,r.value,t));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=r.value),s.inst??(s.inst=e),r.issues.push(C.issue(s))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Xf(e){return new Yf({type:"transform",transform:e})}var To=w("ZodOptional",(e,t)=>{jn.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function wl(e){return new To({type:"optional",innerType:e})}var Pl=w("ZodExactOptional",(e,t)=>{Pa.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Qf(e){return new Pl({type:"optional",innerType:e})}var ep=w("ZodNullable",(e,t)=>{Aa.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>_o(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function kl(e){return new ep({type:"nullable",innerType:e})}var tp=w("ZodDefault",(e,t)=>{Oa.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>$o(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function rp(e,t){return new tp({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():C.shallowClone(t)}})}var np=w("ZodPrefault",(e,t)=>{Ra.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Eo(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function op(e,t){return new np({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():C.shallowClone(t)}})}var Al=w("ZodNonOptional",(e,t)=>{Ta.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>zo(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function ip(e,t){return new Al({type:"nonoptional",innerType:e,...C.normalizeParams(t)})}var sp=w("ZodCatch",(e,t)=>{Za.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Lo(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ap(e,t){return new sp({type:"catch",innerType:e,catchValue:typeof t=="function"?t:C.constantCatch(t)})}var cp=w("ZodPipe",(e,t)=>{Ia.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>No(e,r,n,o),e.in=t.in,e.out=t.out});function _l(e,t){return new cp({type:"pipe",in:e,out:t})}var lp=w("ZodReadonly",(e,t)=>{Fa.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Po(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function up(e){return new lp({type:"readonly",innerType:e})}var dp=w("ZodLazy",(e,t)=>{Ca.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ao(e,r,n,o),e.unwrap=()=>e._zod.def.getter()});function fp(e){return new dp({type:"lazy",getter:e})}var pp=w("ZodCustom",(e,t)=>{Ma.init(e,t),le.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ho(e,r,n,o)});function mp(e,t={}){return Ec(pp,e,t)}function hp(e,t){return Lc(e,t)}function Ol(e){let t=fp(()=>lt([A(e),Be(),He(),Vf(),pe(t),dt(A(),t)]));return t}var Rt=Ol().meta({id:"JsonValue"});var Fe=/^[A-Za-z_][A-Za-z0-9_]*$/,Rl=["char","text","html","integer","float","monetary","boolean","date","datetime","selection","binary","image","many2one","many2many","one2many","reference","properties","json"],rr=me({value:lt([A(),Be()]),label:A()}).strict().meta({id:"Option"}),Zo=me({field:A().min(1),op:Ke(["=","!=","<",">","<=",">=","in","not in","like","ilike"]),value:Rt.optional(),valueFrom:A().regex(Fe).optional()}).strict().refine(e=>e.value===void 0!=(e.valueFrom===void 0),{message:"set exactly one of value or valueFrom"}).meta({id:"FilterCondition"}),ke={label:A(),help:A().optional(),required:He().optional(),readonly:He().optional(),default:Rt.optional()},Tl=Je().positive().optional(),Zl=Nl([Je().positive(),Je().nonnegative()]).optional(),Io=A().min(1),Il=pe(Zo).optional(),Fl=me({type:G("char"),...ke,size:Tl,pattern:A().optional()}).strict(),Cl=me({type:G("text"),...ke,size:Tl}).strict(),Ml=me({type:G("html"),...ke}).strict(),Dl=me({type:G("integer"),...ke,min:Be().optional(),max:Be().optional()}).strict(),jl=me({type:G("float"),...ke,min:Be().optional(),max:Be().optional(),digits:Zl}).strict(),Vl=me({type:G("monetary"),...ke,currencyField:A().regex(Fe).optional(),currency:A().regex(/^[A-Z]{3}$/).optional(),min:Be().optional(),max:Be().optional(),digits:Zl}).strict(),Bl=me({type:G("boolean"),...ke}).strict(),Ul=me({type:G("date"),...ke}).strict(),Wl=me({type:G("datetime"),...ke}).strict(),Jl=me({type:G("selection"),...ke,options:pe(rr).min(1),multiple:He().optional()}).strict(),Hl=me({type:G("binary"),...ke,accept:pe(A()).optional(),maxSize:Je().positive().optional()}).strict(),Kl=me({type:G("image"),...ke,maxSize:Je().positive().optional()}).strict(),ql=me({type:G("many2one"),...ke,relation:Io,filter:Il}).strict(),Gl=me({type:G("many2many"),...ke,relation:Io,filter:Il}).strict(),Yl=me({type:G("reference"),...ke,models:pe(rr).min(1)}).strict(),Fo=me({name:A().regex(Fe),label:A(),type:Ke(["char","text","integer","float","boolean","selection","date"]),options:pe(rr).min(1).optional()}).strict().meta({id:"PropertyDefinition"}),Xl=me({type:G("properties"),...ke,definitions:pe(Fo).optional()}).strict(),Ql=me({type:G("json"),...ke}).strict(),Co=ut("type",[Fl,Cl,Ml,Dl,jl,Vl,Bl,Ul,Wl,Jl,Hl,Kl,ql,Gl,Yl,Xl,Ql]).meta({id:"LineField"}),Mo=me({field:A().regex(Fe),text:A().regex(Fe),section:A().min(1).optional(),note:A().min(1).optional()}).strict().meta({id:"LineKinds"}),gp=me({type:G("one2many"),...ke,relation:Io,fields:dt(A().regex(Fe),Co),lineKinds:Mo.optional(),sequenceField:A().regex(Fe).optional()}).strict(),Do=ut("type",[Fl,Cl,Ml,Dl,jl,Vl,Bl,Ul,Wl,Jl,Hl,Kl,ql,Gl,gp,Yl,Xl,Ql]).meta({id:"Field"}),Hr=dt(A().regex(Fe),Do);var nr=lt([He(),A().min(1)]).meta({id:"Modifier"}),Oe=A().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/),et=A().regex(Fe),eu=Ke(["info","success","warning","danger","muted"]),Ue=nr.optional(),bp=ge({type:G("field"),id:Oe,field:et,label:A().optional(),widget:A().min(1).optional(),options:dt(A(),Rt).optional(),placeholder:A().optional(),help:A().optional(),colspan:Je().min(1).max(4).optional(),columns:pe(et).min(1).optional(),totals:pe(et).min(1).optional(),optionalColumns:dt(et,Ke(["show","hide"])).optional(),editMode:Ke(["cell","row"]).optional(),invisible:Ue,readonly:nr.optional(),required:nr.optional()}),tu=ge({type:G("button"),id:Oe,label:A(),action:A().min(1),params:dt(A(),Rt).optional(),style:Ke(["primary","secondary","danger","link"]).optional(),confirm:A().optional(),icon:A().optional(),invisible:Ue}),yp=ge({type:G("text"),id:Oe,text:A(),style:Ke(["heading","paragraph","note"]).optional(),invisible:Ue}),ru=ge({type:G("slot"),id:Oe,name:A().min(1),invisible:Ue}),xp=ge({type:G("section"),id:Oe,title:A().optional(),description:A().optional(),columns:lt([G(1),G(2),G(3),G(4)]).optional(),collapsible:He().optional(),collapsed:He().optional(),invisible:Ue,get children(){return pe(xt)}}).meta({id:"SectionNode"}),vp=ge({type:G("tab"),id:Oe,label:A(),icon:A().optional(),invisible:Ue,get children(){return pe(xt)}}).meta({id:"TabNode"}),nu=ge({type:G("tabs"),id:Oe,invisible:Ue,children:pe(vp).min(1)}).meta({id:"TabsNode"}),xt=ut("type",[bp,tu,yp,ru,xp,nu]).meta({id:"LayoutNode"}),wp=ge({type:G("step"),id:Oe,label:A(),description:A().optional(),invisible:Ue,get children(){return pe(xt)}}).meta({id:"StepNode"}),kp=ge({type:G("wizard"),id:Oe,children:pe(wp).min(1)}).meta({id:"WizardNode"}),_p=ge({type:G("sections"),id:Oe,get children(){return pe(xt)}}).meta({id:"SectionsNode"}),zp=ge({id:Oe,label:A(),action:A().min(1),field:et.optional(),icon:A().optional(),invisible:Ue}),Sp=ge({id:Oe,label:A(),tone:eu.optional(),invisible:Ue}),$p=ge({id:Oe,message:A(),tone:eu.optional(),invisible:Ue}),Ep=ge({type:G("sheet"),id:Oe,title:ge({field:et,subtitleField:et.optional(),avatarField:et.optional(),placeholder:A().optional()}).optional(),statusbar:ge({field:et,visibleStates:pe(lt([A(),Be()])).optional(),clickable:He().optional()}).optional(),buttons:pe(tu).optional(),statButtons:pe(zp).optional(),ribbon:Sp.optional(),alerts:pe($p).optional(),get children(){return pe(xt)},sidePanel:ru.optional()}).meta({id:"SheetNode"}),Kr=ut("type",[Ep,_p,nu,kp]).meta({id:"RootLayout"});var jo="0.1",Lp=ut("kind",[ge({kind:G("record"),model:A().min(1)}),ge({kind:G("responses")})]),Tt=ge({fieldia:G(jo),id:A().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/),title:A().optional(),description:A().optional(),data:Lp,fields:Hr,layout:Kr}).meta({title:"Fieldia page",description:"A form, survey or record screen as data. This schema checks shape; validatePage() also checks that every reference resolves."});function vt(e,t){switch(e.type){case"BinaryOp":return Np(e,t);case"UnaryOp":return Pp(e,t);case"Literal":return e.value;case"Identifier":return Ap(t,e.name);default:throw new Error(`Unknown AST node type: ${e.type}`)}}function Np(e,t){let r=ou(vt(e.left,t)),n=ou(vt(e.right,t)),o=e.operator.toLowerCase(),i=r!==null&&n!==null;switch(o){case"==":return r===n;case"!=":case"<>":return r!==n;case"<":return i&&r<n;case">":return i&&r>n;case"<=":return i&&r<=n;case">=":return i&&r>=n;case"in":return Array.isArray(n)&&n.includes(r);case"not in":return Array.isArray(n)&&!n.includes(r);case"and":return tt(r)&&tt(n);case"or":return tt(r)||tt(n);default:throw new Error(`Unknown binary operator: ${e.operator}`)}}function Pp(e,t){let r=vt(e.operand,t);if(e.operator.toLowerCase()==="not")return!tt(r);throw new Error(`Unknown unary operator: ${e.operator}`)}function ou(e){return e===void 0?null:e}function tt(e){return Array.isArray(e)?e.length>0:e!==null&&typeof e=="object"?Object.keys(e).length>0:!!e}function Ap(e,t){let r=t.split("."),n=e;for(let o of r){if(n==null)return;n=n[o]}return n}var Vo=new Map([["True",!0],["False",!1],["None",null],["true",!0],["false",!1],["null",null]]);function or(e){let t=[];if(!e)return t;let r=/(\(|\)|==|!=|<=|>=|<>|<|>|not\s+in\b|in\b|and\b|or\b|not\b|\[[^\]]*\]|'[^']*'|"[^"]*"|-?\d+\.?\d*|\w+(?:\.\w+)*)/iy,n=/\s*/y,o=0;for(;;){if(n.lastIndex=o,n.exec(e),o=n.lastIndex,o>=e.length)return t;r.lastIndex=o;let i=r.exec(e);if(!i)throw new Error(`Unexpected "${e[o]}" at character ${o+1} of: ${e}`);t.push({type:Op(i[0]),value:i[0],position:t.length}),o=r.lastIndex}}function Op(e){let t=e.toLowerCase().trim();return Vo.has(e)?"CONSTANT":t==="and"||t==="or"||t==="not"?"LOGICAL":["==","!=","<>","<",">","<=",">="].includes(e)||t==="in"||t==="not in"?"OPERATOR":e==="("||e===")"?"PAREN":e.startsWith("[")?"LIST":e.startsWith("'")||e.startsWith('"')?"STRING":/^-?\d+\.?\d*$/.test(e)?"NUMBER":"IDENTIFIER"}var wt=class{constructor(t){ht(this,"tokens");ht(this,"position",0);this.tokens=t}parse(){if(this.tokens.length===0)throw new Error("Cannot parse empty expression");let t=this.parseOr();if(!this.isAtEnd())throw new Error(`Unexpected token at position ${this.position}: ${this.peek()?.value}`);return t}parseOr(){let t=this.parseAnd();for(;this.matchLogical("or");){let r=this.previous().value,n=this.parseAnd();t={type:"BinaryOp",operator:r.toLowerCase(),left:t,right:n}}return t}parseAnd(){let t=this.parseNot();for(;this.matchLogical("and");){let r=this.previous().value,n=this.parseNot();t={type:"BinaryOp",operator:r.toLowerCase(),left:t,right:n}}return t}parseNot(){if(this.matchLogical("not")){let t=this.previous().value,r=this.parseComparison();return{type:"UnaryOp",operator:t.toLowerCase(),operand:r}}return this.parseComparison()}parseComparison(){let t=this.parseValue(),r=["==","!=","<>","<",">","<=",">=","in","not in"];if(this.matchOperator(...r)){let n=this.previous().value,o=this.parseValue();return{type:"BinaryOp",operator:n.toLowerCase(),left:t,right:o}}return t}parseValue(){if(this.match("PAREN","(")){let t=this.parseOr();return this.consume("PAREN",")","Expected closing parenthesis"),t}if(this.check("STRING"))return{type:"Literal",value:this.advance().value.slice(1,-1)};if(this.check("CONSTANT")){let t=this.advance();return{type:"Literal",value:Vo.get(t.value)??null}}if(this.check("NUMBER")){let t=this.advance();return{type:"Literal",value:Number(t.value)}}if(this.check("LIST")){let t=this.advance();return{type:"Literal",value:Rp(t.value)}}if(this.check("IDENTIFIER"))return{type:"Identifier",name:this.advance().value};throw new Error(`Unexpected token: ${this.peek()?.value||"EOF"}`)}match(t,...r){if(this.check(t)){if(r.length===0)return this.advance(),!0;let n=this.peek();if(n&&r.includes(n.value))return this.advance(),!0}return!1}matchLogical(...t){let r=this.peek();if(r&&r.type==="LOGICAL"){let n=r.value.toLowerCase();if(t.map(o=>o.toLowerCase()).includes(n))return this.advance(),!0}return!1}matchOperator(...t){let r=this.peek();if(r&&r.type==="OPERATOR"){let n=r.value.toLowerCase();if(t.map(o=>o.toLowerCase()).includes(n))return this.advance(),!0}return!1}check(t){return this.peek()?.type===t}advance(){return this.isAtEnd()||this.position++,this.previous()}peek(){return this.isAtEnd()?null:this.tokens[this.position]}previous(){return this.tokens[this.position-1]}isAtEnd(){return this.position>=this.tokens.length}consume(t,r,n){if(this.check(t)){let o=this.peek();if(o&&o.value===r)return this.advance()}throw new Error(n)}};function Rp(e){try{let t=e.slice(1,-1).trim();if(!t)return[];let r=[],n="",o=!1,i="";for(let s=0;s<t.length;s++){let a=t[s];(a==="'"||a==='"')&&(s===0||t[s-1]!=="\\")&&(o?a===i&&(o=!1,i=""):(o=!0,i=a)),a===","&&!o?(r.push(iu(n.trim())),n=""):n+=a}return n.trim()&&r.push(iu(n.trim())),r}catch(t){throw new Error(`Cannot read the list ${e}`,{cause:t})}}function iu(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):isNaN(Number(e))?e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:e:Number(e)}function ft(e){if(typeof e!="string"){let r=e===!0;return{source:e,fields:[],evaluate:()=>r}}let t=new wt(or(e)).parse();return{source:e,fields:Tp(t),evaluate(r){try{return tt(vt(t,r))}catch{return!1}}}}function Tp(e){let t=[],r=n=>{switch(n.type){case"Identifier":{let o=n.name.split(".")[0];t.includes(o)||t.push(o);return}case"BinaryOp":r(n.left),r(n.right);return;case"UnaryOp":r(n.operand);return;default:return}};return r(e),t}function Gr(e){let t=Tt.safeParse(e);if(!t.success)return{ok:!1,issues:t.error.issues.map(o=>({path:Zp(o.path),message:Ip(o)}))};let r=t.data,n=new Bo(r).run();return n.length?{ok:!1,issues:n}:{ok:!0,page:r}}function Zp(e){return e.length===0?"(page)":e.map((t,r)=>typeof t=="number"?`[${t}]`:r===0?String(t):`.${String(t)}`).join("")}function Ip(e){return e.code==="invalid_union"&&"discriminator"in e&&e.discriminator?`"${e.discriminator}" is not one of the kinds allowed here`:e.message}var qr=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Bo=class{constructor(t){ht(this,"page",t);ht(this,"issues",[]);ht(this,"ids",new Map)}run(){return this.checkFields(this.page.fields,"fields"),this.walkRoot(this.page.layout,"layout"),this.issues}report(t,r){this.issues.push({path:t,message:r})}claim(t,r){let n=this.ids.get(t);n!==void 0?this.report(r,`duplicate id "${t}", also used at ${n}`):this.ids.set(t,r)}need(t,r,n=this.page.fields){if(qr(n,t))return n[t];this.report(r,`no field "${t}"`)}checkModifiers(t,r,n=["invisible"]){for(let o of n){let i=t[o];if(typeof i!="string")continue;let s;try{s=ft(i).fields}catch(a){this.report(`${r}.${o}`,`cannot read "${i}": ${a.message}`);continue}for(let a of s)qr(this.page.fields,a)||this.report(`${r}.${o}`,`"${i}" reads "${a}", which is not a field of this page`)}}checkFields(t,r){for(let[n,o]of Object.entries(t)){let i=`${r}.${n}`;if(o.type==="monetary"&&o.currencyField!==void 0){let s=this.need(o.currencyField,`${i}.currencyField`,t);s&&!["many2one","selection","char"].includes(s.type)&&this.report(`${i}.currencyField`,`"${o.currencyField}" is a ${s.type}; a currency field must be a many2one, selection or char`)}if((o.type==="many2one"||o.type==="many2many")&&o.filter&&o.filter.forEach((s,a)=>{s.valueFrom!==void 0&&this.need(s.valueFrom,`${i}.filter[${a}].valueFrom`,t)}),o.type==="properties"&&o.definitions){let s=new Set;o.definitions.forEach((a,c)=>{a.type==="selection"&&!a.options&&this.report(`${i}.definitions[${c}].options`,"a choice property needs its choices"),s.has(a.name)&&this.report(`${i}.definitions[${c}].name`,`"${a.name}" is named twice`),s.add(a.name)})}if(o.type==="one2many"&&(this.checkFields(o.fields,`${i}.fields`),o.lineKinds&&this.checkLineKinds(n,o.lineKinds,o.fields,`${i}.lineKinds`),o.sequenceField!==void 0)){let s=o.fields[o.sequenceField];s?s.type!=="integer"&&this.report(`${i}.sequenceField`,`"${o.sequenceField}" is a ${s.type}; the field that keeps the order of lines must be an integer`):this.report(`${i}.sequenceField`,`"${o.sequenceField}" is not a field of the lines of "${n}"`)}}}checkLineKinds(t,r,n,o){let i=n[r.field];if(!i)this.report(`${o}.field`,`"${r.field}" is not a field of the lines of "${t}"`);else if(i.type!=="selection"&&i.type!=="char")this.report(`${o}.field`,`"${r.field}" is a ${i.type}; the field that says what a line is must be a selection or char`);else if(i.type==="selection")for(let a of["section","note"]){let c=r[a]??a;i.options.some(l=>l.value===c)||this.report(`${o}.${a}`,`"${r.field}" has no option "${c}"`)}let s=n[r.text];s?s.type!=="char"&&s.type!=="text"&&this.report(`${o}.text`,`"${r.text}" is a ${s.type}; a section's or note's text must be a char or text field`):this.report(`${o}.text`,`"${r.text}" is not a field of the lines of "${t}"`)}walkRoot(t,r){if(t.type==="tabs")return this.walkNode(t,r);if(this.claim(t.id,r),t.type==="sheet")return this.walkSheet(t,r);if(t.type==="sections")return this.walkChildren(t.children,r);t.children.forEach((n,o)=>{let i=`${r}.children[${o}]`;this.claim(n.id,i),this.checkModifiers(n,i),this.walkChildren(n.children,i)})}walkChildren(t,r){t.forEach((n,o)=>this.walkNode(n,`${r}.children[${o}]`))}walkNode(t,r){switch(this.claim(t.id,r),this.checkModifiers(t,r,t.type==="field"?["invisible","readonly","required"]:["invisible"]),t.type){case"field":return this.checkFieldNode(t,r);case"section":return t.collapsible&&!t.title&&this.report(r,"a collapsible section needs a title to fold it by"),t.collapsed&&!t.collapsible&&this.report(r,"collapsed needs collapsible: true"),this.walkChildren(t.children,r);case"tabs":return this.walkTabs(t,r);default:return}}walkTabs(t,r){t.children.forEach((n,o)=>{let i=`${r}.children[${o}]`;this.claim(n.id,i),this.checkModifiers(n,i),this.walkChildren(n.children,i)})}walkSheet(t,r){if(t.title&&(this.need(t.title.field,`${r}.title.field`),t.title.subtitleField!==void 0&&this.need(t.title.subtitleField,`${r}.title.subtitleField`),t.title.avatarField!==void 0&&this.need(t.title.avatarField,`${r}.title.avatarField`)),t.statusbar){let{field:n,visibleStates:o}=t.statusbar,i=this.need(n,`${r}.statusbar.field`);if(i&&i.type!=="selection"&&i.type!=="many2one"&&this.report(`${r}.statusbar.field`,`"${n}" is a ${i.type}; a statusbar needs a selection or many2one`),i?.type==="selection"&&o){let s=new Set(i.options.map(a=>a.value));o.forEach((a,c)=>{s.has(a)||this.report(`${r}.statusbar.visibleStates[${c}]`,`"${a}" is not an option of "${n}"`)})}}t.buttons?.forEach((n,o)=>{this.claim(n.id,`${r}.buttons[${o}]`),this.checkModifiers(n,`${r}.buttons[${o}]`)}),t.statButtons?.forEach((n,o)=>{this.claim(n.id,`${r}.statButtons[${o}]`),this.checkModifiers(n,`${r}.statButtons[${o}]`),n.field!==void 0&&this.need(n.field,`${r}.statButtons[${o}].field`)}),t.ribbon&&(this.claim(t.ribbon.id,`${r}.ribbon`),this.checkModifiers(t.ribbon,`${r}.ribbon`)),t.alerts?.forEach((n,o)=>{this.claim(n.id,`${r}.alerts[${o}]`),this.checkModifiers(n,`${r}.alerts[${o}]`)}),this.walkChildren(t.children,r),t.sidePanel&&(this.claim(t.sidePanel.id,`${r}.sidePanel`),this.checkModifiers(t.sidePanel,`${r}.sidePanel`))}checkFieldNode(t,r){let n=this.need(t.field,`${r}.field`);n&&t.totals&&(n.type!=="one2many"?this.report(`${r}.totals`,`totals only apply to one2many fields; "${t.field}" is a ${n.type}`):t.totals.forEach((o,i)=>{let s=qr(n.fields,o)?n.fields[o]:void 0;s?["integer","float","monetary"].includes(s.type)||this.report(`${r}.totals[${i}]`,`"${o}" is a ${s.type}; only integer, float and monetary columns add up`):this.report(`${r}.totals[${i}]`,`"${o}" is not a field of the lines of "${t.field}"`)}));for(let[o,i]of Object.entries(t.options??{}))o.endsWith("Field")&&typeof i=="string"&&this.need(i,`${r}.options.${o}`);if(n&&t.editMode&&n.type!=="one2many"&&this.report(`${r}.editMode`,`editMode only applies to one2many fields; "${t.field}" is a ${n.type}`),n&&t.optionalColumns)if(n.type!=="one2many")this.report(`${r}.optionalColumns`,`optional columns only apply to one2many fields; "${t.field}" is a ${n.type}`);else{let o=t.columns??Object.keys(n.fields).filter(i=>i!==n.lineKinds?.field&&i!==n.sequenceField);for(let i of Object.keys(t.optionalColumns))o.includes(i)||this.report(`${r}.optionalColumns.${i}`,`"${i}" is not a column of "${t.field}"`)}!n||!t.columns||(n.type==="one2many"?t.columns.forEach((o,i)=>{qr(n.fields,o)||this.report(`${r}.columns[${i}]`,`"${o}" is not a field of the lines of "${t.field}"`)}):n.type!=="many2many"&&this.report(`${r}.columns`,`columns only apply to one2many and many2many fields; "${t.field}" is a ${n.type}`))}};function su(){return Oo(Tt,{target:"draft-2020-12"})}function au(e,t){if(e===void 0)return!1;if(typeof e=="boolean")return e;if(e==="1"||e==="True"||e==="true")return!0;if(e==="0"||e==="False"||e==="false"||e==="")return!1;try{let r=or(e);if(r.length===0)return!1;let o=new wt(r).parse(),i=vt(o,t);return tt(i)}catch{return!1}}function cu(e){if(e===void 0||typeof e=="boolean"||e==="")return!0;try{let t=or(e);return t.length===0||new wt(t).parse(),!0}catch{return!1}}function ir(e){switch(e.type){case"boolean":return!1;case"many2many":case"one2many":return[];case"selection":return e.multiple?[]:null;default:return null}}function Zt(e){let t={};for(let[r,n]of Object.entries(e))t[r]=n.default!==void 0?ae(n.default):ir(n);return t}function It(e,t){return t==null?!0:typeof t=="string"?t.trim()==="":Array.isArray(t)?t.length===0:!1}function sr(e,t){let r={};for(let[n,o]of Object.entries(e)){let i=t[n];r[n]=i?Fp(i,o):o}return r}function Fp(e,t){if(t==null)return null;switch(e.type){case"many2one":return t.id;case"many2many":return t.map(r=>r.id);case"one2many":return t.map(r=>r.key);case"reference":{let r=t;return`${r.model},${r.id}`}case"binary":case"image":return t.name;default:return t}}function pt(e,t){let r=e.lineKinds;if(!r)return null;let n=t[r.field];return n===(r.section??"section")?"section":n===(r.note??"note")?"note":null}function ae(e){return e===void 0?e:JSON.parse(JSON.stringify(e))}var mt={en:{required:"{label} is required",maxLength:"Maximum {max} characters allowed",pattern:"{label} is not in the expected format",text:"{label} must be text",number:"{label} must be a number",integer:"{label} must be a whole number",min:"{label} must be at least {min}",max:"{label} must be at most {max}",decimals:"Maximum {digits} decimal places allowed",boolean:"{label} must be yes or no",dateFormat:"Invalid date format (expected YYYY-MM-DD)",dateInvalid:"Invalid date (check month/day values)",datetimeFormat:"Invalid date and time format (expected YYYY-MM-DDTHH:MM:SS)",datetimeInvalid:"Invalid date and time (check the values)",choice:"Must be one of: {options}",choices:"{label} must be a list of choices",record:"{label} must be a record",records:"{label} must be a list of records",reference:"{label} must point to {aModels}",file:"{label} must be a file",fileSize:"{label} is larger than {size}",fileType:"{label} must be {aTypes} file",or:"or"},ar:{required:"{label} \u0645\u0637\u0644\u0648\u0628",maxLength:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 {max} \u062D\u0631\u0641\u064B\u0627",pattern:"\u0635\u064A\u063A\u0629 {label} \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629",text:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0646\u0635\u064B\u0627",number:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0631\u0642\u0645\u064B\u0627",integer:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0631\u0642\u0645\u064B\u0627 \u0635\u062D\u064A\u062D\u064B\u0627",min:"\u064A\u062C\u0628 \u0623\u0644\u0627 \u064A\u0642\u0644 {label} \u0639\u0646 {min}",max:"\u064A\u062C\u0628 \u0623\u0644\u0627 \u064A\u0632\u064A\u062F {label} \u0639\u0646 {max}",decimals:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 {digits} \u0645\u0646\u0627\u0632\u0644 \u0639\u0634\u0631\u064A\u0629",boolean:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0646\u0639\u0645 \u0623\u0648 \u0644\u0627",dateFormat:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629 (\u0627\u0644\u0645\u062A\u0648\u0642\u0639 YYYY-MM-DD)",dateInvalid:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E \u063A\u064A\u0631 \u0635\u062D\u064A\u062D (\u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u0634\u0647\u0631 \u0648\u0627\u0644\u064A\u0648\u0645)",datetimeFormat:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0648\u0627\u0644\u0648\u0642\u062A \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629 (\u0627\u0644\u0645\u062A\u0648\u0642\u0639 YYYY-MM-DDTHH:MM:SS)",datetimeInvalid:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0648\u0627\u0644\u0648\u0642\u062A \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u064A\u0646",choice:"\u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0627\u0644\u0642\u064A\u0645\u0629 \u0648\u0627\u062D\u062F\u0629 \u0645\u0646: {options}",choices:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0642\u0627\u0626\u0645\u0629 \u0627\u062E\u062A\u064A\u0627\u0631\u0627\u062A",record:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0633\u062C\u0644\u064B\u0627",records:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0642\u0627\u0626\u0645\u0629 \u0633\u062C\u0644\u0627\u062A",reference:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0634\u064A\u0631 {label} \u0625\u0644\u0649 {models}",file:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0645\u0644\u0641\u064B\u0627",fileSize:"\u062D\u062C\u0645 {label} \u0623\u0643\u0628\u0631 \u0645\u0646 {size}",fileType:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0645\u0644\u0641 {types}",or:"\u0623\u0648"},de:{required:"{label} ist erforderlich",maxLength:"Maximal {max} Zeichen erlaubt",pattern:"{label} hat nicht das erwartete Format",text:"{label} muss Text sein",number:"{label} muss eine Zahl sein",integer:"{label} muss eine ganze Zahl sein",min:"{label} muss mindestens {min} sein",max:"{label} darf h\xF6chstens {max} sein",decimals:"Maximal {digits} Nachkommastellen erlaubt",boolean:"{label} muss ja oder nein sein",dateFormat:"Ung\xFCltiges Datumsformat (erwartet JJJJ-MM-TT)",dateInvalid:"Ung\xFCltiges Datum (Monat und Tag pr\xFCfen)",datetimeFormat:"Ung\xFCltiges Datums- und Zeitformat (erwartet JJJJ-MM-TTTHH:MM:SS)",datetimeInvalid:"Ung\xFCltiges Datum oder ung\xFCltige Uhrzeit",choice:"Muss eines davon sein: {options}",choices:"{label} muss eine Liste von Optionen sein",record:"{label} muss ein Datensatz sein",records:"{label} muss eine Liste von Datens\xE4tzen sein",reference:"{label} muss auf {models} verweisen",file:"{label} muss eine Datei sein",fileSize:"{label} ist gr\xF6\xDFer als {size}",fileType:"{label} muss eine {types}-Datei sein",or:"oder"},fr:{required:"{label} est obligatoire",maxLength:"{max} caract\xE8res au maximum",pattern:"{label} n'a pas le format attendu",text:"{label} doit \xEAtre du texte",number:"{label} doit \xEAtre un nombre",integer:"{label} doit \xEAtre un nombre entier",min:"{label} doit \xEAtre au moins {min}",max:"{label} doit \xEAtre au plus {max}",decimals:"{digits} d\xE9cimales au maximum",boolean:"{label} doit \xEAtre oui ou non",dateFormat:"Format de date invalide (attendu AAAA-MM-JJ)",dateInvalid:"Date invalide (v\xE9rifiez le mois et le jour)",datetimeFormat:"Format de date et heure invalide (attendu AAAA-MM-JJTHH:MM:SS)",datetimeInvalid:"Date ou heure invalide",choice:"Doit \xEAtre parmi : {options}",choices:"{label} doit \xEAtre une liste de choix",record:"{label} doit \xEAtre un enregistrement",records:"{label} doit \xEAtre une liste d'enregistrements",reference:"{label} doit pointer vers {models}",file:"{label} doit \xEAtre un fichier",fileSize:"{label} d\xE9passe {size}",fileType:"{label} doit \xEAtre un fichier {types}",or:"ou"}};function Yr(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>n in t?String(t[n]):r)}function ar(e,t,r,n=mt.en){let o=e.label||"This field",i=(s,a={})=>Yr(n[s],{label:o,...a});if(It(e,t))return r?i("required"):void 0;switch(e.type){case"char":case"text":case"html":return typeof t!="string"?i("text"):(e.type==="char"||e.type==="text")&&e.size!==void 0&&t.length>e.size?i("maxLength",{max:e.size}):e.type==="char"&&e.pattern!==void 0&&!new RegExp(e.pattern).test(t)?i("pattern"):void 0;case"integer":case"float":case"monetary":return typeof t!="number"||!Number.isFinite(t)?i("number"):e.type==="integer"&&!Number.isInteger(t)?i("integer"):e.min!==void 0&&t<e.min?i("min",{min:e.min}):e.max!==void 0&&t>e.max?i("max",{max:e.max}):e.type!=="integer"&&e.digits&&Cp(t)>e.digits[1]?i("decimals",{digits:e.digits[1]}):void 0;case"boolean":return typeof t=="boolean"?void 0:i("boolean");case"date":return Mp(t,i);case"datetime":return jp(t,i);case"selection":{let s=new Set(e.options.map(c=>c.value)),a=i("choice",{options:e.options.map(c=>c.label).join(", ")});return e.multiple?Array.isArray(t)?t.every(c=>s.has(c))?void 0:a:i("choices"):s.has(t)?void 0:a}case"many2one":return Uo(t)?void 0:i("record");case"many2many":return Array.isArray(t)&&t.every(Uo)?void 0:i("records");case"reference":{let s=t;if(!Uo(t)||typeof s.model!="string")return i("record");if(!e.models.some(a=>a.value===s.model)){let a=uu(e.models.map(c=>c.label),n.or);return i("reference",{models:a,aModels:du(a)})}return}case"binary":case"image":return Vp(e,t,i,n);default:return}}function Cp(e){let t=String(e);if(t.includes("e-"))return Number(t.split("e-")[1]);let r=t.indexOf(".");return r===-1?0:t.length-r-1}function Uo(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&(typeof e.id=="number"||typeof e.id=="string")&&typeof e.label=="string"}function Mp(e,t){if(typeof e!="string"||!/^\d{4}-\d{2}-\d{2}$/.test(e))return t("dateFormat");let[r,n,o]=e.split("-").map(Number);return lu(r,n,o)?void 0:t("dateInvalid")}var Dp=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:\d{2})?$/;function jp(e,t){let r=typeof e=="string"?Dp.exec(e):null;if(!r)return t("datetimeFormat");let[n,o,i,s,a,c]=r.slice(1).map(l=>Number(l??0));return lu(n,o,i)&&s<24&&a<60&&c<60?void 0:t("datetimeInvalid")}function lu(e,t,r){if(t<1||t>12||r<1)return!1;let n=[31,e%4===0&&(e%100!==0||e%400===0)?29:28,31,30,31,30,31,31,30,31,30,31];return r<=n[t-1]}function Vp(e,t,r,n){let o=t;if(!Bp(t))return r("file");if("maxSize"in e&&e.maxSize!==void 0&&o.size>e.maxSize)return r("fileSize",{size:cr(e.maxSize)});if(e.type==="binary"&&e.accept&&!e.accept.some(i=>Up(i,o.type))){let i=uu(e.accept.map(Wp),n.or);return r("fileType",{types:i,aTypes:du(i)})}}function Bp(e){let t=e;return e!==null&&typeof e=="object"&&typeof t.name=="string"&&typeof t.size=="number"}function Up(e,t){return e.endsWith("/*")?t.startsWith(e.slice(0,-1)):e===t}function Wp(e){return e.endsWith("/*")?e.slice(0,-2):e==="application/pdf"?"PDF":(e.split("/")[1]??e).toUpperCase()}function uu(e,t){return e.length<=1?e.join(""):`${e.slice(0,-1).join(", ")} ${t} ${e[e.length-1]}`}function du(e){return/^[aeiou]/i.test(e)?`an ${e}`:`a ${e}`}function cr(e){let t=["bytes","KB","MB","GB"],r=e,n=0;for(;r>=1024&&n<t.length-1;)r/=1024,n++;return`${Number(r.toFixed(1))} ${t[n]}`}var lr={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e)};function Xr(e,t=lr){return new Promise(r=>{t.setTimeout(r,e)})}function fu(e={}){let t=ae(e.records??{}),r=[],n=[],o=1e3,i=()=>e.delayMs?Xr(e.delayMs,e.scheduler):Promise.resolve(),s=p=>t[p]??(t[p]={}),a=(p,f)=>{let m=s(p)[String(f)]?.[e.labelField?.[p]??"name"];return typeof m=="string"?m:String(f)},c=p=>Math.max(0,...Object.keys(s(p)).map(Number).filter(Number.isFinite))+1,l=p=>Number.isFinite(Number(p))?Number(p):p;function u(p,f){let m=[...p];for(let b of f)b.op==="create"?m.push({key:b.key,id:++o,values:ae(b.values)}):b.op==="update"?m=m.map(y=>y.id===b.id?{...y,values:{...y.values,...ae(b.values)}}:y):m=m.filter(y=>y.id!==b.id);return m}function d(p,f,m){let b=[...p],y=g=>({id:g,label:a(m,g)});for(let g of f)g.op==="link"&&!b.some(S=>S.id===g.id)?b.push(y(g.id)):g.op==="unlink"?b=b.filter(S=>S.id!==g.id):g.op==="set"?b=g.ids.map(y):g.op==="clear"&&(b=[]);return b}function h(p,f){let m=p[f];return m&&"relation"in m?m.relation:f}return{records:t,responses:r,calls:n,async load(p){n.push({method:"load",request:p}),await i();let f=s(p.model)[String(p.id)];if(!f)throw new Error(`No ${p.model} record with id ${p.id}`);return ae(f)},async save(p){n.push({method:"save",request:p}),await i();let f=p.id??c(p.model),m={...s(p.model)[String(f)]??{},...ae(p.changes.values)};for(let[b,y]of Object.entries(p.changes.lines))m[b]=u(m[b]??[],y);for(let[b,y]of Object.entries(p.changes.links))m[b]=d(m[b]??[],y,h(p.fields,b));return s(p.model)[String(f)]=m,{id:f,values:ae(m)}},async onchange(p){n.push({method:"onchange",request:p}),await i();let f=e.onchange?.[p.model]?.[p.changed],m=e.warnings?.[p.model]?.[p.changed],b=f?{values:f(ae(p.values))}:{},y=m?.(ae(p.values));return y?{...b,warning:y}:b},async search(p){n.push({method:"search",request:p}),await i();let f=p.query.trim().toLowerCase();return Object.entries(s(p.model)).filter(([,m])=>(p.filter??[]).every(b=>Jp(m,b))).map(([m])=>({id:l(m),label:a(p.model,l(m))})).filter(m=>m.label.toLowerCase().includes(f)).slice(0,p.limit??8)},async create(p){n.push({method:"create",request:p}),await i();let f=s(p.model),m=Object.keys(f).reduce((b,y)=>Math.max(b,Number(y)||0),0)+1;return f[String(m)]={name:p.name},{id:m,label:p.name}},async submit(p){return n.push({method:"submit",request:p}),await i(),r.push(ae(p)),{id:r.length}}}}function Jp(e,t){let r=e[t.field],n=r!==null&&typeof r=="object"&&"id"in r?r.id:r,o=t.value;switch(t.op){case"=":return n===o;case"!=":return n!==o;case"<":return n<o;case">":return n>o;case"<=":return n<=o;case">=":return n>=o;case"in":return Array.isArray(o)&&o.includes(n);case"not in":return Array.isArray(o)&&!o.includes(n);case"like":return String(n??"").includes(String(o));case"ilike":return String(n??"").toLowerCase().includes(String(o).toLowerCase())}}function Qr(e){let{page:t}=e,r=e.scheduler??lr,n=e.messages??mt.en,o=qp(t.layout),i=t.layout.type==="wizard"?t.layout.children.map(x=>x.id):[],s=()=>`fieldia:draft:${t.id}:${c.recordId??"new"}`,a={...Zt(t.fields),...ae(e.values??{})},c={status:e.recordId!=null?"idle":"ready",recordId:e.recordId??null,values:ae(a),errors:{},dirty:[],warning:null,warningField:null,error:null,draft:null,step:i[0]??null},l=0,u=0,d=null,h=null,p=new Set,f=new Set,m=null;function b(x){c={...c,...x};for(let k of[...f])k(c)}function y(x){p.add(x);let k=()=>p.delete(x);return x.then(k,k),x}function g(){return m?.values!==c.values&&(m={values:c.values,context:sr(c.values,t.fields)}),m.context}function S(x){let k=t.fields[x];if(!k)throw new Error(`The page has no field "${x}"`);return k}function z(x){return Object.keys(t.fields).filter(k=>JSON.stringify(x[k]??null)!==JSON.stringify(a[k]??null))}function _(x){let k=o.get(x);if(!k)throw new Error(`The page has no element "${x}"`);let $=g(),N=k.invisible.evaluate($);for(let O=k.parent;!N&&O;O=o.get(O)?.parent??null)N=o.get(O)?.invisible.evaluate($)??!1;let D=k.field?t.fields[k.field]:void 0;return{invisible:N,readonly:k.readonly.evaluate($)||D?.readonly===!0,required:k.required.evaluate($)||D?.required===!0}}function E(x){let k=$=>{if(!x)return!0;for(let N=$.id;N;N=o.get(N)?.parent??null)if(N===x)return!0;return!1};return[...o.values()].filter($=>$.kind==="field"&&k($)&&!_($.id).invisible)}function L(x){let k={};for(let $ of E(x)){let N=$.field;if(k[N])continue;let D=t.fields[N],O=ar(D,c.values[N],_($.id).required,n);if(O&&(k[N]=O),D.type==="one2many")for(let Q of c.values[N]??[]){let te=pt(D,Q.values);for(let[be,Ee]of Object.entries(D.fields)){if(te&&be!==D.lineKinds?.text)continue;let ve=ar(Ee,Q.values[be],Ee.required===!0,n);ve&&(k[`${N}.${Q.key}.${be}`]=ve)}}}return k}function T(x,k={}){let $=Object.keys(c.errors).length?U(x):c.errors;b({values:x,dirty:z(x),errors:$,...k})}function U(x){let k=c;c={...c,values:x};let $=L(c.step??void 0);c=k;let N={};for(let D of Object.keys(c.errors))$[D]&&(N[D]=$[D]);return N}function W(){let x=e.drafts;x&&(d!==null&&r.clearTimeout(d),d=r.setTimeout(()=>{d=null,x.store.setItem(s(),JSON.stringify({savedAt:new Date().toISOString(),values:c.values}))},x.delayMs??400))}function ne(){d!==null&&r.clearTimeout(d),d=null,e.drafts?.store.removeItem(s())}function Y(){let x=e.drafts;if(!x)return;let k=x.store.getItem(s());if(!k)return;let $;try{$=JSON.parse(k)}catch{x.store.removeItem(s());return}x.restore==="auto"?T({...c.values,...$.values},{draft:null}):b({draft:{savedAt:$.savedAt}})}function X(){let x=e.autosave;!x||t.data.kind!=="record"||(h!==null&&r.clearTimeout(h),h=r.setTimeout(()=>{h=null,c.dirty.length&&Object.keys(L()).length===0&&y(M())},x.delayMs))}function ie(x){let k=e.dataSource;if(!k?.onchange||t.data.kind!=="record")return;let $=++u,N={model:t.data.model,id:c.recordId,changed:x,values:ae(c.values)};y(k.onchange(N).then(D=>{if($!==u)return;let O={...c.values,...D.values??{}};T(O,{warning:D.warning??null,warningField:D.warning?x:null})},()=>{}))}function q(x){W(),X(),ie(x)}function V(){let x={values:{},lines:{},links:{}},k=c.recordId===null||c.recordId===void 0,$=k?Object.keys(t.fields).filter(N=>c.dirty.includes(N)||!It(t.fields[N],c.values[N])):c.dirty;for(let N of $){let D=t.fields[N],O=c.values[N],Q=k?ir(D):a[N];D.type==="one2many"?x.lines[N]=Hp(Q??[],O??[]):D.type==="many2many"?x.links[N]=Kp(Q??[],O??[]):x.values[N]=ae(O)}return x}function R(){let x={};for(let k of E()){let $=k.field;x[$]=ae(c.values[$])}return x}async function M(){let x=L();if(Object.keys(x).length)return b({errors:x}),!1;let k=e.dataSource;b({status:"saving",errors:{},error:null});try{if(t.data.kind==="responses"){if(!k?.submit)throw new Error("This page has no data source to send its answers to");return await k.submit({pageId:t.id,values:R()}),ne(),b({status:"saved"}),!0}if(!k?.save)throw new Error("This page has no data source to save to");let $=await k.save({model:t.data.model,id:c.recordId,fields:t.fields,changes:V(),values:ae(c.values)});ne();let N=$.values?{...c.values,...$.values}:c.values;return a=ae(N),b({status:"saved",recordId:$.id,values:N,dirty:[]}),!0}catch($){return b({status:"error",error:$.message}),!1}}function re(x){return!e.dataSource?.create||!x||x.readonly?null:x.type==="many2one"||x.type==="many2many"?x.relation:null}async function he(x,k,$){let N=re(x),D=e.dataSource;if(!N||!D?.create)throw new Error(`"${k}" cannot make records: its data source has no create, or it is not a link`);return y(D.create({model:N,name:$.trim()}))}async function ze(x,k,$,N,D,O){if(x.type!=="many2one"&&x.type!=="many2many"&&x.type!=="reference")throw new Error(`"${k}" is not a many2one, many2many or reference`);if(x.type==="reference"&&!O)throw new Error(`Searching "${k}" needs a model`);let Q=e.dataSource;if(!Q?.search)return[];let te=x.type==="reference"?void 0:x.filter?.map(({field:Ee,op:ve,value:v,valueFrom:P})=>({field:Ee,op:ve,value:P!==void 0?$[P]??null:v??null})),be=x.type==="reference"?O:x.relation;return y(Q.search({model:be,query:N,...te?{filter:te}:{},limit:D}))}function ye(x){let k=S(x);if(k.type!=="one2many")throw new Error(`"${x}" is a ${k.type}, not a one2many`);return k}function Ce(){return c.step?i.indexOf(c.step):-1}async function Ge(){let x=e.dataSource;if(!(c.recordId==null||t.data.kind!=="record")){if(!x?.load){b({status:"error",error:"This page has no data source to load from"});return}b({status:"loading",error:null});try{let k=await x.load({model:t.data.model,id:c.recordId,fields:t.fields});a={...Zt(t.fields),...k},b({status:"ready",values:ae(a),dirty:[],errors:{}}),Y()}catch(k){b({status:"error",error:k.message})}}}let nt={page:t,getState:()=>c,subscribe(x){return f.add(x),()=>f.delete(x)},load:()=>y(Ge()),setValue(x,k){S(x),T({...c.values,[x]:ae(k)}),q(x)},node:_,fieldReadonly:x=>S(x).readonly===!0,validate(){let x=L();return b({errors:x}),Object.keys(x).length===0},save:()=>y(M()),reset(){ne(),b({values:ae(a),dirty:[],errors:{},warning:null,warningField:null,draft:null,step:i[0]??null})},changes:V,addLine(x,k={}){let $=ye(x),N=`new-${++l}`,D=c.values[x]??[],O={key:N,values:{...Zt($.fields),...ae(k)}};if($.sequenceField&&O.values[$.sequenceField]==null){let te=D.map(be=>be.values[$.sequenceField]).filter(be=>typeof be=="number");O.values[$.sequenceField]=te.length?Math.max(...te)+1:1}let Q=[...D,O];return T({...c.values,[x]:Q}),q(x),N},updateLine(x,k,$,N){if(!ye(x).fields[$])throw new Error(`The lines of "${x}" have no field "${$}"`);let O=(c.values[x]??[]).map(Q=>Q.key===k?{...Q,values:{...Q.values,[$]:ae(N)}}:Q);T({...c.values,[x]:O}),q(x)},moveLine(x,k,$){let D=ye(x).sequenceField;if(!D)throw new Error(`The lines of "${x}" keep no order: give the field a sequenceField`);let O=[...c.values[x]??[]],Q=O.findIndex(F=>F.key===k);if(Q<0)throw new Error(`"${x}" has no line "${k}"`);let te=Math.max(0,Math.min($,O.length-1));if(te===Q)return;let be=O.map(F=>F.values[D]),Ee=be.every((F,H)=>typeof F=="number"&&(H===0||F>be[H-1]));O.splice(te,0,...O.splice(Q,1));let ve=Math.min(Q,te),v=Math.max(Q,te),P=Ee?be.slice(ve,v+1):[],Z=O.map((F,H)=>{let K=Ee?H>=ve&&H<=v?P[H-ve]:F.values[D]:H+1;return K===F.values[D]?F:{...F,values:{...F.values,[D]:K}}});T({...c.values,[x]:Z}),q(x)},removeLine(x,k){ye(x);let $=(c.values[x]??[]).filter(N=>N.key!==k);T({...c.values,[x]:$}),q(x)},async search(x,k,$=8,N={}){return ze(S(x),x,g(),k,$,N.model)},async previewLine(x,k,$){ye(x);let N=c.values[x]??[],D=N.find(ve=>ve.key===k);if(!D)throw new Error(`"${x}" has no line "${k}"`);let O={...D.values,...$},Q=e.dataSource;if(!Q?.onchange||t.data.kind!=="record")return O;let te=N.map(ve=>ve.key===k?{...ve,values:O}:ve),Ee=((await Q.onchange({model:t.data.model,id:c.recordId,changed:x,values:ae({...c.values,[x]:te})})).values?.[x]??[]).find(ve=>ve.key===k);return Ee?{...O,...Ee.values}:O},async searchLine(x,k,$,N,D=8){let O=ye(x),Q=O.fields[$];if(!Q)throw new Error(`The lines of "${x}" have no field "${$}"`);let te=(c.values[x]??[]).find(be=>be.key===k);if(!te)throw new Error(`"${x}" has no line "${k}"`);return ze(Q,$,sr(te.values,O.fields),N,D)},canCreate:x=>re(t.fields[x])!==null,quickCreate:(x,k)=>he(t.fields[x],x,k),canCreateLine:(x,k)=>re(ye(x).fields[k])!==null,quickCreateLine:(x,k,$)=>he(ye(x).fields[k],k,$),steps:()=>i.filter(x=>!_(x).invisible),next(){if(!c.step)return!1;let x=L(c.step);if(Object.keys(x).length)return b({errors:x}),!1;let k=nt.steps(),$=i.slice(Ce()+1).find(N=>k.includes(N));return $?(b({step:$,errors:{}}),!0):!1},back(){if(!c.step)return!1;let x=nt.steps(),k=i.slice(0,Ce()).reverse().find($=>x.includes($));return k?(b({step:k,errors:{}}),!0):!1},async runAction(x){let k=o.get(x);if(!k||k.kind!=="button"&&k.kind!=="stat")throw new Error(`The page has no button "${x}"`);if(_(x).invisible)return;let $=k.source;await y(Promise.resolve(e.onAction?.({id:x,action:$.action,..."params"in $&&$.params?{params:$.params}:{},recordId:c.recordId,values:ae(c.values)})))},restoreDraft(){let x=e.drafts?.store.getItem(s());if(!x)return;let k=JSON.parse(x);T({...c.values,...k.values},{draft:null})},discardDraft(){ne(),b({draft:null})},async settled(){for(;p.size;)await Promise.allSettled([...p])},dispose(){d!==null&&r.clearTimeout(d),h!==null&&r.clearTimeout(h),f.clear()}};return c.recordId==null&&Y(),nt}function Hp(e,t){let r=[],n=new Map(e.filter(i=>i.id!==void 0).map(i=>[i.key,i]));for(let i of t){let s=n.get(i.key);if(i.id===void 0||!s){r.push({op:"create",key:i.key,values:ae(i.values)});continue}let a={};for(let[c,l]of Object.entries(i.values))JSON.stringify(l)!==JSON.stringify(s.values[c])&&(a[c]=ae(l));Object.keys(a).length&&r.push({op:"update",id:i.id,values:a})}let o=new Set(t.map(i=>i.key));for(let i of e)i.id!==void 0&&!o.has(i.key)&&r.push({op:"delete",id:i.id});return r}function Kp(e,t){let r=new Set(e.map(o=>o.id)),n=new Set(t.map(o=>o.id));return[...t.filter(o=>!r.has(o.id)).map(o=>({op:"link",id:o.id})),...e.filter(o=>!n.has(o.id)).map(o=>({op:"unlink",id:o.id}))]}function qp(e){let t=new Map,r=(o,i,s,a)=>{t.set(o.id,{id:o.id,parent:i,kind:s,field:a.field,invisible:ft(a.invisible),readonly:ft(a.readonly),required:ft(a.required),source:o})},n=(o,i)=>{for(let s of o)if(s.type==="field")r(s,i,"field",{invisible:s.invisible,readonly:s.readonly,required:s.required,field:s.field});else if(s.type==="button")r(s,i,"button",{invisible:s.invisible});else if(s.type==="tabs"){r(s,i,"other",{invisible:s.invisible});for(let a of s.children)r(a,s.id,"other",{invisible:a.invisible}),n(a.children,a.id)}else r(s,i,"other",{invisible:s.invisible}),s.type==="section"&&n(s.children,s.id)};if(e.type==="tabs")return n([e],""),t.get(e.id).parent=null,t;if(r(e,null,"other",{}),e.type==="wizard")for(let o of e.children)r(o,e.id,"step",{invisible:o.invisible}),n(o.children,o.id);else if(e.type==="sections")n(e.children,e.id);else{let o=(i,s)=>{s&&r({id:i},e.id,"field",{field:s})};o("#title",e.title?.field),o("#subtitle",e.title?.subtitleField),o("#avatar",e.title?.avatarField),o("#statusbar",e.statusbar?.field);for(let i of e.buttons??[])r(i,e.id,"button",{invisible:i.invisible});for(let i of e.statButtons??[])r(i,e.id,"stat",{invisible:i.invisible});e.ribbon&&r(e.ribbon,e.id,"other",{invisible:e.ribbon.invisible});for(let i of e.alerts??[])r(i,e.id,"other",{invisible:i.invisible});n(e.children,e.id),e.sidePanel&&r(e.sidePanel,e.id,"other",{invisible:e.sidePanel.invisible})}return t}var pu=new Map;function mu(e,t){let r=`${e}:${t}`,n=pu.get(r);return n||(n=new Intl.NumberFormat(e,{numberingSystem:"latn",minimumFractionDigits:t,maximumFractionDigits:t}),pu.set(r,n)),n}function Gp(e){let t=mu(e,1).formatToParts(12345.6);return{group:t.find(r=>r.type==="group")?.value??",",decimal:t.find(r=>r.type==="decimal")?.value??"."}}function kt(e,t,r="en"){return mu(r,t).format(e)}function Wo(e,t="en"){let{group:r,decimal:n}=Gp(t),o=e.replace(/[٠-٩]/g,i=>String(i.charCodeAt(0)-1632)).replace(/[۰-۹]/g,i=>String(i.charCodeAt(0)-1776)).replace(/٫/g,n).replace(/٬/g,r);return o=o.replace(/[\s\u00a0\u202f]/g,""),r.trim()&&(o=o.split(r).join("")),n==="."?o:o.split(n).join(".")}var xe={en:{search:"Search\u2026",noResults:"No results",remove:"Remove {name}",clear:"Clear {label}",addLine:"Add a line",addSection:"Add a section",addNote:"Add a note",deleteLine:"Delete line",total:"Total",lineProblem:"Line {n}: {message}",moreProblems:"and {n} more",chooseColumns:"Choose columns",createNamed:"Create \u201C{name}\u201D",createAndEdit:"Create and edit\u2026",searchMore:"Search more\u2026",openNamed:"Open {name}",openLine:"Open line",chooseDate:"Choose a date",previousMonth:"Previous month",nextMonth:"Next month",weekShort:"Wk",week:"Week",formatting:"Formatting",bold:"Bold",italic:"Italic",underline:"Underline",textStyle:"Text style",paragraph:"Paragraph",heading:"Heading",subheading:"Subheading",bulletList:"Bulleted list",numberList:"Numbered list",alignLeft:"Align left",alignCenter:"Align centre",alignRight:"Align right",link:"Link",linkAddress:"Link address",applyLink:"Apply",removeLink:"Remove link",upload:"Upload a file",uploadImage:"Add a photo",replace:"Replace",removeFile:"Remove",dropHere:"or drop it here",invalidJson:"Not valid JSON"},ar:{search:"\u0628\u062D\u062B\u2026",noResults:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",remove:"\u0625\u0632\u0627\u0644\u0629 {name}",clear:"\u0645\u0633\u062D {label}",addLine:"\u0625\u0636\u0627\u0641\u0629 \u0633\u0637\u0631",addSection:"\u0625\u0636\u0627\u0641\u0629 \u0642\u0633\u0645",addNote:"\u0625\u0636\u0627\u0641\u0629 \u0645\u0644\u0627\u062D\u0638\u0629",deleteLine:"\u062D\u0630\u0641 \u0627\u0644\u0633\u0637\u0631",total:"\u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",lineProblem:"\u0627\u0644\u0633\u0637\u0631 {n}: {message}",moreProblems:"\u0648{n} \u0623\u062E\u0631\u0649",chooseColumns:"\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0623\u0639\u0645\u062F\u0629",createNamed:"\u0625\u0646\u0634\u0627\u0621 \xAB{name}\xBB",createAndEdit:"\u0625\u0646\u0634\u0627\u0621 \u0648\u062A\u0639\u062F\u064A\u0644\u2026",searchMore:"\u0628\u062D\u062B \u0645\u0648\u0633\u0651\u0639\u2026",openNamed:"\u0641\u062A\u062D {name}",openLine:"\u0641\u062A\u062D \u0627\u0644\u0633\u0637\u0631",chooseDate:"\u0627\u062E\u062A\u064A\u0627\u0631 \u062A\u0627\u0631\u064A\u062E",previousMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0633\u0627\u0628\u0642",nextMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u062A\u0627\u0644\u064A",weekShort:"\u0623\u0633\u0628\u0648\u0639",week:"\u0627\u0644\u0623\u0633\u0628\u0648\u0639",formatting:"\u0627\u0644\u062A\u0646\u0633\u064A\u0642",bold:"\u063A\u0627\u0645\u0642",italic:"\u0645\u0627\u0626\u0644",underline:"\u062A\u0633\u0637\u064A\u0631",textStyle:"\u0646\u0645\u0637 \u0627\u0644\u0646\u0635",paragraph:"\u0641\u0642\u0631\u0629",heading:"\u0639\u0646\u0648\u0627\u0646",subheading:"\u0639\u0646\u0648\u0627\u0646 \u0641\u0631\u0639\u064A",bulletList:"\u0642\u0627\u0626\u0645\u0629 \u0646\u0642\u0637\u064A\u0629",numberList:"\u0642\u0627\u0626\u0645\u0629 \u0645\u0631\u0642\u0645\u0629",alignLeft:"\u0645\u062D\u0627\u0630\u0627\u0629 \u0644\u0644\u064A\u0633\u0627\u0631",alignCenter:"\u062A\u0648\u0633\u064A\u0637",alignRight:"\u0645\u062D\u0627\u0630\u0627\u0629 \u0644\u0644\u064A\u0645\u064A\u0646",link:"\u0631\u0627\u0628\u0637",linkAddress:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0627\u0628\u0637",applyLink:"\u062A\u0637\u0628\u064A\u0642",removeLink:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0631\u0627\u0628\u0637",upload:"\u0631\u0641\u0639 \u0645\u0644\u0641",uploadImage:"\u0625\u0636\u0627\u0641\u0629 \u0635\u0648\u0631\u0629",replace:"\u0627\u0633\u062A\u0628\u062F\u0627\u0644",removeFile:"\u0625\u0632\u0627\u0644\u0629",dropHere:"\u0623\u0648 \u0623\u0641\u0644\u062A\u0647 \u0647\u0646\u0627",invalidJson:"\u0644\u064A\u0633 JSON \u0635\u0627\u0644\u062D\u064B\u0627"},de:{search:"Suchen\u2026",noResults:"Keine Ergebnisse",remove:"{name} entfernen",clear:"{label} leeren",addLine:"Zeile hinzuf\xFCgen",addSection:"Abschnitt hinzuf\xFCgen",addNote:"Notiz hinzuf\xFCgen",deleteLine:"Zeile l\xF6schen",total:"Summe",lineProblem:"Zeile {n}: {message}",moreProblems:"und {n} weitere",chooseColumns:"Spalten ausw\xE4hlen",createNamed:"\u201E{name}\u201C anlegen",createAndEdit:"Anlegen und bearbeiten\u2026",searchMore:"Weitere suchen\u2026",openNamed:"{name} \xF6ffnen",openLine:"Zeile \xF6ffnen",chooseDate:"Datum ausw\xE4hlen",previousMonth:"Vorheriger Monat",nextMonth:"N\xE4chster Monat",weekShort:"KW",week:"Kalenderwoche",formatting:"Formatierung",bold:"Fett",italic:"Kursiv",underline:"Unterstrichen",textStyle:"Textstil",paragraph:"Absatz",heading:"\xDCberschrift",subheading:"Unter\xFCberschrift",bulletList:"Aufz\xE4hlung",numberList:"Nummerierte Liste",alignLeft:"Linksb\xFCndig",alignCenter:"Zentriert",alignRight:"Rechtsb\xFCndig",link:"Link",linkAddress:"Linkadresse",applyLink:"\xDCbernehmen",removeLink:"Link entfernen",upload:"Datei hochladen",uploadImage:"Foto hinzuf\xFCgen",replace:"Ersetzen",removeFile:"Entfernen",dropHere:"oder hier ablegen",invalidJson:"Kein g\xFCltiges JSON"},fr:{search:"Rechercher\u2026",noResults:"Aucun r\xE9sultat",remove:"Retirer {name}",clear:"Effacer {label}",addLine:"Ajouter une ligne",addSection:"Ajouter une section",addNote:"Ajouter une note",deleteLine:"Supprimer la ligne",total:"Total",lineProblem:"Ligne {n} : {message}",moreProblems:"et {n} de plus",chooseColumns:"Choisir les colonnes",createNamed:"Cr\xE9er \xAB {name} \xBB",createAndEdit:"Cr\xE9er et modifier\u2026",searchMore:"Rechercher plus\u2026",openNamed:"Ouvrir {name}",openLine:"Ouvrir la ligne",chooseDate:"Choisir une date",previousMonth:"Mois pr\xE9c\xE9dent",nextMonth:"Mois suivant",weekShort:"Sem.",week:"Semaine",formatting:"Mise en forme",bold:"Gras",italic:"Italique",underline:"Soulign\xE9",textStyle:"Style du texte",paragraph:"Paragraphe",heading:"Titre",subheading:"Sous-titre",bulletList:"Liste \xE0 puces",numberList:"Liste num\xE9rot\xE9e",alignLeft:"Aligner \xE0 gauche",alignCenter:"Centrer",alignRight:"Aligner \xE0 droite",link:"Lien",linkAddress:"Adresse du lien",applyLink:"Appliquer",removeLink:"Supprimer le lien",upload:"T\xE9l\xE9verser un fichier",uploadImage:"Ajouter une photo",replace:"Remplacer",removeFile:"Retirer",dropHere:"ou d\xE9posez-le ici",invalidJson:"JSON invalide"}};var Yp=180,hu=8;function en(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>t[n]??r)}function tn(e){let{document:t,id:r,labels:n}=e,o=`${r}-list`,i=t.createElement("input");Object.assign(i,{id:r,className:"fd-input fd-combo-input",autocomplete:"off"}),i.setAttribute("role","combobox"),i.setAttribute("aria-autocomplete","list"),i.setAttribute("aria-expanded","false"),i.setAttribute("aria-controls",o),i.placeholder=n.search;let s=t.createElement("ul");s.id=o,s.className="fd-listbox",s.setAttribute("role","listbox"),s.hidden=!0;let a=t.createElement("div");a.className="fd-combo",a.append(i,s);let c="",l=null,u="",d=new Map,h=!1,p=[],f=-1,m=0,b,y=!1;function g(){if(s.replaceChildren(),p.forEach((L,T)=>{let U=t.createElement("li");U.id=`${o}-${T}`,U.setAttribute("role","option"),U.setAttribute("aria-selected",String(T===f)),U.className=`fd-option${T===f?" fd-active":""}${L===l||d.has(L)?" fd-option-create":""}`,U.textContent=L.label,U.addEventListener("mousedown",W=>W.preventDefault()),U.addEventListener("click",()=>_(T)),s.append(U)}),!p.length){let L=t.createElement("li");L.className="fd-empty",L.textContent=n.noResults,s.append(L)}f>=0?i.setAttribute("aria-activedescendant",`${o}-${f}`):i.removeAttribute("aria-activedescendant")}function S(){s.hidden=!1,i.setAttribute("aria-expanded","true")}function z(){clearTimeout(b),m++,s.hidden=!0,i.setAttribute("aria-expanded","false"),i.removeAttribute("aria-activedescendant"),f=-1}function _(L){let T=p[L];if(!T)return;let U=u;if(z(),h=!1,T===l&&e.create){e.create(U).then(e.pick,()=>{});return}let W=d.get(T);if(W){W(U).then(ne=>ne&&e.pick(ne),()=>{});return}e.pick(T)}function E(L){clearTimeout(b);let T=++m;b=setTimeout(async()=>{let U=await e.search(L).catch(()=>[]);if(T!==m||t.activeElement!==i)return;let W=p[f],ne=W&&W!==l&&!d.has(W)?W.id:void 0,Y=e.exclude?.()??new Set,X=U.filter(V=>!Y.has(V.id)),ie=e.shown!==void 0&&X.length>e.shown;p=ie?X.slice(0,e.shown):X;let q=L.trim();l=null,e.create&&q&&!U.some(V=>V.label.trim().toLowerCase()===q.toLowerCase())&&(u=q,l={id:"__create__",label:en(n.createNamed,{name:q})},p=[...p,l]),u=q,d=new Map((e.more?.(q,ie)??[]).map((V,R)=>[{id:`__more_${R}__`,label:V.label},V.act])),p=[...p,...d.keys()],f=ne===void 0?-1:p.findIndex(V=>V.id===ne),g(),S()},Yp)}return i.addEventListener("input",()=>{h=!0,y||E(i.value)}),i.addEventListener("focus",()=>{y||E("")}),i.addEventListener("keydown",L=>{if(!y)switch(L.key){case"ArrowDown":case"ArrowUp":{if(L.preventDefault(),s.hidden)return E(i.value);if(!p.length)return;f=(f+(L.key==="ArrowDown"?1:-1)+p.length)%p.length,g(),s.children[f]?.scrollIntoView?.({block:"nearest"});return}case"Enter":!s.hidden&&f>=0&&(L.preventDefault(),_(f));return;case"Escape":s.hidden||L.preventDefault(),z(),h=!1,i.value=c;return;case"Backspace":i.value===""&&e.onEmptyBackspace?.();return}}),i.addEventListener("blur",()=>{m++,clearTimeout(b),z();let L=h&&i.value.trim()===""&&c!=="";h=!1,L?e.onCommitEmpty?.():i.value=c}),{element:a,input:i,setText(L){c=L,h||(i.value=L)},setReadonly(L){y=L,i.readOnly=L,L&&z()},close:z}}function gu(e,t,r){return r.options?.create!==!1&&e.canCreate(t)?n=>e.quickCreate(t,n):void 0}var Jo=({form:e,name:t,field:r,node:n,id:o,document:i,labels:s=xe.en,dialogs:a})=>{let c=r.type==="many2one"?r.relation:"",l=!!a&&a.canOpen(c),u=!1,d=tn({document:i,id:o,labels:s,search:f=>e.search(t,f,hu+1),shown:hu,pick:f=>e.setValue(t,f),onCommitEmpty:()=>e.setValue(t,null),create:gu(e,t,n),more:(f,m)=>{if(!a||u)return[];let b=[];return f&&l&&n.options?.create!==!1&&b.push({label:s.createAndEdit,act:y=>a.openRecord(c,{name:y,title:r.label})}),m&&b.push({label:s.searchMore,act:()=>a.searchMore({title:r.label,search:(y,g)=>e.search(t,y,g)})}),b}}),h=l?i.createElement("button"):null;h&&(h.type="button",h.className="fd-combo-open",h.textContent="\u2197",h.hidden=!0,h.addEventListener("click",async()=>{let f=e.getState().values[t];if(!f||!a)return;let m=await a.openRecord(c,{recordId:f.id,title:f.label});m&&m.label!==f.label&&e.setValue(t,m)}));let p=i.createElement("button");return p.type="button",p.className="fd-combo-clear",p.textContent="\xD7",p.setAttribute("aria-label",en(s.clear,{label:r.label})),p.addEventListener("click",()=>{e.setValue(t,null),d.input.focus()}),d.element.append(p,...h?[h]:[]),{element:d.element,focus:()=>d.input.focus(),update(f){let m=f.value;u=f.readonly,d.setText(m?.label??""),d.setReadonly(f.readonly),p.hidden=!m||f.readonly,h&&(h.hidden=!m,m&&h.setAttribute("aria-label",en(s.openNamed,{name:m.label}))),d.input.setAttribute("aria-invalid",String(f.invalid)),d.input.setAttribute("aria-required",String(f.required)),f.describedBy&&d.input.setAttribute("aria-describedby",f.describedBy)}}},rn=({form:e,name:t,node:r,id:n,document:o,labels:i=xe.en})=>{let s=()=>e.getState().values[t]??[],a=o.createElement("div");a.className="fd-tags",a.setAttribute("role","group");let c=o.createElement("ul");c.className="fd-chips";let l=tn({document:o,id:n,labels:i,search:h=>e.search(t,h),pick:h=>{e.setValue(t,[...s(),h]),l.input.value=""},exclude:()=>new Set(s().map(h=>h.id)),onEmptyBackspace:()=>{let h=s();h.length&&e.setValue(t,h.slice(0,-1))},create:gu(e,t,r)});a.append(c,l.element);let u=!1,d="";return{element:a,focus:()=>l.input.focus(),update(h){let p=h.value??[],f=JSON.stringify([h.readonly,p]);u=h.readonly,l.setReadonly(u),l.element.hidden=u,l.input.setAttribute("aria-invalid",String(h.invalid)),h.describedBy&&l.input.setAttribute("aria-describedby",h.describedBy),f!==d&&(d=f,bu(c,p,u,i,m=>e.setValue(t,s().filter(b=>b.id!==m.id))),l.setText(""))}}};function bu(e,t,r,n,o){let i=e.ownerDocument;e.replaceChildren(...t.map(s=>{let a=i.createElement("li");a.className="fd-chip";let c=i.createElement("span");if(c.className="fd-chip-label",c.textContent=s.label,a.append(c),!r){let l=i.createElement("button");l.type="button",l.className="fd-chip-remove",l.textContent="\xD7",l.setAttribute("aria-label",en(n.remove,{name:s.label})),l.addEventListener("click",()=>o(s)),a.append(l)}return a}))}var Ho=({form:e,name:t,node:r,id:n,document:o,labels:i=xe.en})=>{let s=r.options??{},a=typeof s.separator=="string"&&s.separator?s.separator:",",c=Array.isArray(s.suggestions)?s.suggestions.filter(y=>typeof y=="string"):[],l=y=>typeof y=="string"?y.split(a).map(g=>g.trim()).filter(g=>g!==""):[],u=()=>l(e.getState().values[t]),d=y=>e.setValue(t,y.length?y.join(`${a} `):null),h=y=>{let g=y.trim(),S=u();g&&!S.some(z=>z.toLowerCase()===g.toLowerCase())&&d([...S,g])},p=o.createElement("div");p.className="fd-tags",p.setAttribute("role","group");let f=o.createElement("ul");f.className="fd-chips";let m=tn({document:o,id:n,labels:i,search:async y=>{let g=new Set(u().map(z=>z.toLowerCase())),S=y.trim().toLowerCase();return c.filter(z=>!g.has(z.toLowerCase())&&z.toLowerCase().includes(S)).map(z=>({id:z,label:z}))},pick:y=>{h(y.label),m.input.value=""},onEmptyBackspace:()=>{let y=u();y.length&&d(y.slice(0,-1))}});m.input.addEventListener("keydown",y=>{y.key!=="Enter"||y.defaultPrevented||m.input.value.trim()===""||(y.preventDefault(),h(m.input.value),m.input.value="",m.close())}),m.input.addEventListener("input",()=>{let y=m.input.value.split(a);if(!(y.length<2)){for(let g of y.slice(0,-1))h(g);m.input.value=y[y.length-1].trimStart()}}),m.input.addEventListener("change",()=>{m.input.value.trim()&&h(m.input.value)}),p.append(f,m.element);let b="";return{element:p,focus:()=>m.input.focus(),update(y){let g=l(y.value);m.setReadonly(y.readonly),m.element.hidden=y.readonly,m.input.setAttribute("aria-invalid",String(y.invalid)),y.describedBy&&m.input.setAttribute("aria-describedby",y.describedBy);let S=JSON.stringify([y.readonly,g]);S!==b&&(b=S,bu(f,g.map(z=>({id:z,label:z})),y.readonly,i,z=>d(u().filter(_=>_!==z.label))),m.setText(""))}}},Ko=({form:e,name:t,id:r,document:n})=>{let o=n.createElement("div");o.id=r,o.className="fd-choices fd-choices-checkbox",o.setAttribute("role","group");let i=[],s={readonly:!1,value:[]},a=()=>{let c=new Set(s.value.map(l=>l.id));for(let{record:l,box:u}of i)u.checked=c.has(l.id),u.disabled=s.readonly};return e.search(t,"",50).then(c=>{i=c.map((l,u)=>{let d=n.createElement("input");d.type="checkbox",d.id=`${r}-${u}`,d.addEventListener("change",()=>{let f=e.getState().values[t]??[];e.setValue(t,d.checked?[...f,l]:f.filter(m=>m.id!==l.id))});let h=n.createElement("label");h.className="fd-choice",h.htmlFor=d.id;let p=n.createElement("span");return p.textContent=l.label,h.append(d,p),o.append(h),{record:l,box:d}}),a()}),{element:o,focus:()=>o.querySelector("input")?.focus(),update(c){s={readonly:c.readonly,value:c.value??[]},a()}}},qo=e=>{let{form:t,name:r,field:n,id:o,document:i,labels:s=xe.en}=e,a=n.type==="reference"?n.models:[],c=i.createElement("div");c.className="fd-reference";let l=i.createElement("select");l.className="fd-input fd-select",l.setAttribute("aria-label",n.label),l.append(i.createElement("option"));for(let h of a){let p=i.createElement("option");p.value=String(h.value),p.textContent=h.label,l.append(p)}let u="";l.addEventListener("change",()=>{u=l.value,t.setValue(r,null)});let d=tn({document:i,id:o,labels:s,search:h=>u?t.search(r,h,8,{model:u}):Promise.resolve([]),pick:h=>t.setValue(r,{model:u,id:h.id,label:h.label}),onCommitEmpty:()=>t.setValue(r,null)});return c.append(l,d.element),{element:c,focus:()=>u?d.input.focus():l.focus(),update(h){let p=h.value;p&&(u=p.model),l.value=u,l.disabled=h.readonly,d.setText(p?.label??""),d.setReadonly(h.readonly||!u)}}};function yu(e){let t=/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2}))?/.exec(e);if(!t)return null;let[,r,n,o,i,s]=t;return new Date(Number(r),Number(n)-1,Number(o),Number(i??0),Number(s??0))}function Go(e,t,r={},n="en"){let o=(i,s)=>kt(i,s,n);if(t==null||t==="")return"";switch(e.type){case"many2one":case"reference":return t.label??"";case"many2many":return(t??[]).map(i=>i.label).join(", ");case"selection":{let i=s=>e.options.find(a=>a.value===s)?.label??String(s);return Array.isArray(t)?t.map(i).join(", "):i(t)}case"integer":return o(Number(t),0);case"float":return o(Number(t),e.digits?.[1]??2);case"monetary":{let i=e.currency??(e.currencyField?r[e.currencyField]?.label:void 0),s=o(Number(t),e.digits?.[1]??2);return i?`${i} ${s}`:s}case"date":{let i=yu(String(t));return i?new Intl.DateTimeFormat(n==="en"?"en-GB":n,{day:"numeric",month:"short",year:"numeric",numberingSystem:"latn"}).format(i):String(t)}case"datetime":{let i=yu(String(t));return i?new Intl.DateTimeFormat(n==="en"?"en-GB":n,{day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",numberingSystem:"latn"}).format(i):String(t)}case"html":return String(t).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim();case"binary":case"image":return t.name??"";case"boolean":return t?"\u2713":"";default:return String(t)}}function xu(e,t){return t==="section"?{...e,type:"char"}:{...e,type:"text"}}function vu(e,t,r){let n=()=>(e.getState().values[t]??[]).find(o=>o.key===r)?.values??{};return{...e,getState:()=>({...e.getState(),values:n()}),setValue:(o,i)=>e.updateLine(t,r,o,i),search:(o,i,s)=>e.searchLine(t,r,o,i,s),canCreate:o=>e.canCreateLine(t,o),quickCreate:(o,i)=>e.quickCreateLine(t,o,i)}}var Yo=({form:e,name:t,field:r,node:n,id:o,document:i,labels:s=xe.en,locale:a,dialogs:c})=>{let l=r,u=l.lineKinds,d=(n.columns??Object.keys(l.fields)).filter(Y=>l.fields[Y]&&Y!==u?.field&&Y!==l.sequenceField&&n.optionalColumns?.[Y]!=="hide"),h=i.createElement("div");h.className="fd-lines",h.id=o,h.setAttribute("role","group");let p=i.createElement("div");p.className="fd-lines-scroll";let f=i.createElement("table");f.className="fd-lines-table";let m=i.createElement("thead"),b=i.createElement("tr");for(let Y of d){let X=i.createElement("th");X.scope="col",X.textContent=l.fields[Y].label,b.append(X)}let y=i.createElement("th");y.className="fd-lines-tools",b.append(y),m.append(b);let g=i.createElement("tbody");f.append(m,g);let S=(n.totals??[]).filter(Y=>d.includes(Y)),z=new Map;if(S.length){let Y=i.createElement("tfoot"),X=i.createElement("tr");X.className="fd-lines-totals",d.forEach((ie,q)=>{let V=i.createElement("td");S.includes(ie)?z.set(ie,V):q===0&&(V.textContent=s.total),X.append(V)}),X.append(i.createElement("td")),Y.append(X),f.append(Y)}p.append(f);let _=i.createElement("div");_.className="fd-lines-adds";let E=(Y,X,ie)=>{let q=i.createElement("button");q.type="button",q.className="fd-button fd-button-link fd-lines-add",q.dataset.add=ie,q.textContent=`+ ${Y}`,q.addEventListener("click",()=>{T=e.addLine(t,X);let V=L.get(T);V&&(V.cells[0]?.widget.focus(),T=null)}),_.append(q)};E(s.addLine,{},"line"),u&&(E(s.addSection,{[u.field]:u.section??"section"},"section"),E(s.addNote,{[u.field]:u.note??"note"},"note")),h.append(p,_);let L=new Map,T=null,U=!1;function W(Y,X,ie,q,V=1){let R=`${o}-${X.key}-${ie}`,M={type:"field",id:`${n.id}.${X.key}.${ie}`,field:ie},re=We({form:vu(e,t,X.key),name:ie,field:q,node:M,id:R,document:i,labels:s,locale:a,dialogs:c}),he=i.createElement("td");he.colSpan=V;let ze=i.createElement("label");ze.className="fd-sr-only",ze.htmlFor=R,ze.textContent=q.label;let ye=i.createElement("div");return ye.className="fd-cell-error",ye.hidden=!0,he.append(ze,re.element,ye),Y.append(he),{name:ie,def:q,widget:re,error:ye}}function ne(Y){let X=i.createElement("tr");X.dataset.line=Y.key;let ie=pt(l,Y.values);ie&&(X.className=`fd-line-${ie}`);let q=ie&&u?[W(X,Y,u.text,xu(l.fields[u.text],ie),d.length)]:d.map(M=>W(X,Y,M,l.fields[M])),V=i.createElement("td");V.className="fd-lines-tools";let R=i.createElement("button");return R.type="button",R.className="fd-line-delete",R.textContent="\xD7",R.setAttribute("aria-label",s.deleteLine),R.addEventListener("click",()=>e.removeLine(t,Y.key)),V.append(R),X.append(V),{element:X,kind:ie,cells:q,remove:R}}return{element:h,focus:()=>(g.querySelector("input, select, textarea")??_.querySelector("button"))?.focus(),update(Y){U=Y.readonly,_.hidden=U;let X=Y.value??[],ie=e.getState().errors,q=new Set(X.map(V=>V.key));for(let[V,R]of L)q.has(V)||(R.element.remove(),L.delete(V));X.forEach((V,R)=>{let M=L.get(V.key);M&&M.kind!==pt(l,V.values)&&(M.element.remove(),M=void 0),M||(M=ne(V),L.set(V.key,M)),g.children[R]!==M.element&&g.insertBefore(M.element,g.children[R]??null),M.remove.hidden=U,U?M.remove.remove():M.remove.isConnected||M.element.lastElementChild?.append(M.remove);for(let re of M.cells){let he=ie[`${t}.${V.key}.${re.name}`];re.error.hidden=!he,re.error.textContent=he??"",re.widget.update({value:V.values[re.name],values:V.values,readonly:U||re.def.readonly===!0,required:re.def.required===!0,invalid:!!he})}});for(let[V,R]of z){let M=X.filter(re=>!pt(l,re.values)).reduce((re,he)=>re+Number(he.values[V]??0),0);R.textContent=Go(l.fields[V],M,X[0]?.values??{},a)}T&&L.has(T)&&(L.get(T)?.cells[0]?.widget.focus(),T=null)}}};function Xp(e){return new Promise((t,r)=>{let n=new FileReader;n.onload=()=>{let o=String(n.result??"");t({name:e.name,type:e.type,size:e.size,data:o.slice(o.indexOf(",")+1)})},n.onerror=()=>r(n.error),n.readAsDataURL(e)})}function wu(e){return({form:t,name:r,field:n,id:o,document:i,labels:s=xe.en})=>{let a=i.createElement("div");a.className=`fd-file fd-file-${e}`;let c=i.createElement("input");c.type="file",c.id=o,c.className="fd-sr-only";let l=n.type==="binary"?n.accept:e==="image"?["image/*"]:void 0;l&&(c.accept=l.join(","));let u=i.createElement("img");u.className="fd-image-preview",u.alt=n.label,u.hidden=!0;let d=i.createElement("label");d.className=e==="image"?"fd-file-pick fd-image-pick":"fd-file-pick",d.htmlFor=o;let h=i.createElement("span");h.className="fd-button",h.textContent=e==="image"?s.uploadImage:s.upload;let p=i.createElement("span");p.className="fd-help",p.textContent=s.dropHere,d.append(h,p);let f=i.createElement("div");f.className="fd-file-chosen";let m=i.createElement("span");m.className="fd-file-name";let b=i.createElement("button");b.type="button",b.className="fd-button fd-button-link",b.textContent=s.replace,b.addEventListener("click",()=>c.click());let y=i.createElement("button");y.type="button",y.className="fd-button fd-button-link",y.textContent=s.removeFile,y.addEventListener("click",()=>t.setValue(r,null)),f.append(m,b,y),a.append(c,...e==="image"?[u]:[],d,f);let g=!1,S=async z=>{!z||g||t.setValue(r,await Xp(z))};return c.addEventListener("change",()=>{S(c.files?.[0]),c.value=""}),a.addEventListener("dragover",z=>{g||(z.preventDefault(),a.classList.add("fd-dragging"))}),a.addEventListener("dragleave",()=>a.classList.remove("fd-dragging")),a.addEventListener("drop",z=>{z.preventDefault(),a.classList.remove("fd-dragging"),S(z.dataTransfer?.files?.[0])}),{element:a,focus:()=>(d.hidden?b:c).focus(),update(z){g=z.readonly;let _=z.value;if(d.hidden=!!_||g,f.hidden=!_,b.hidden=y.hidden=g,c.disabled=g,c.setAttribute("aria-invalid",String(z.invalid)),z.describedBy&&c.setAttribute("aria-describedby",z.describedBy),m.textContent=_?`${_.name} \xB7 ${cr(_.size)}`:"",e==="image"){let E=_?_.data?`data:${_.type};base64,${_.data}`:_.url??"":"";u.hidden=!E,u.getAttribute("src")!==E&&(E?u.src=E:u.removeAttribute("src"))}}}}}var Xo=wu("binary"),Qo=wu("image");var ku=new Map;function _u(e,t){let r=ku.get(t);return r||(r=new Intl.NumberFormat(t,{style:"percent",maximumFractionDigits:0,numberingSystem:"latn"}),ku.set(t,r)),r.format(e/100)}var ur=e=>{let{node:t,id:r,document:n,locale:o="en"}=e,i=t.options??{},s=typeof i.min=="number"?i.min:0,a=typeof i.max=="number"?i.max:100,c=typeof i.maxField=="string"?i.maxField:null,l=typeof i.color=="string"?i.color:"auto",u=i.showPercent!==!1,d=n.createElement("div");d.className="fd-progressbar",d.setAttribute("role","progressbar");let h=n.createElement("div");h.className="fd-progressbar-fill";let p=n.createElement("span");p.className="fd-progressbar-text",d.append(h,p);let f=null,m=d;return i.editable===!0?(f=We({...e,node:{...t,widget:void 0}}),d.setAttribute("aria-hidden","true"),m=n.createElement("div"),m.className="fd-progressbar-edit",m.append(d,f.element)):d.id=r,{element:m,focus:()=>f?.focus(),update(b){let y=typeof b.value=="number"?b.value:0,g=c?Number(b.values[c]??0):a,S=g>s?Math.min(100,Math.max(0,(y-s)/(g-s)*100)):0,z=Math.round(S*10)/10;h.style.width=`${z}%`,d.setAttribute("aria-valuenow",String(y)),d.setAttribute("aria-valuemin",String(s)),d.setAttribute("aria-valuemax",String(g)),d.setAttribute("aria-valuetext",_u(S,o)),p.textContent=u?_u(S,o):"",d.dataset.tone=l!=="auto"?l:S<30?"danger":S<70?"warning":"success",f?.update(b)}}};function zu(e){return e==null?"":typeof e=="object"&&"label"in e?e.label:String(e)}var dr=({field:e,node:t,id:r,document:n,locale:o="en"})=>{let i=t.options??{},s=u=>typeof i[u]=="string"?i[u]:"",a=u=>typeof i[u]=="string"?i[u]:null,c=e.type==="integer"?0:e.type==="float"||e.type==="monetary"?e.digits?.[1]??2:null,l=n.createElement("output");return l.id=r,l.className="fd-value-text",{element:l,focus:()=>{},update({value:u,values:d}){if(u==null||u===""){l.textContent="";return}let h=c!==null&&typeof u=="number"?kt(u,c,o):nn(u,e),p=a("prefixField"),f=a("suffixField"),m=p?zu(d[p]):s("prefix"),b=f?zu(d[f]):s("suffix");l.textContent=[m,h,b].filter(y=>y!=="").join(" ")}}};var on=({form:e,name:t,field:r,node:n,id:o,document:i})=>{let s=n.options??{},a=s.clickable===!0,c=Array.isArray(s.visibleStates)?s.visibleStates:null,l=i.createElement("ol");l.className="fd-statusbar",l.id=o,l.setAttribute("aria-label",r.label);let u=m=>m&&typeof m=="object"&&"id"in m?`id:${String(m.id)}`:`v:${String(m)}`,d=r.type==="selection"?r.options.map(m=>({key:u(m.value),label:m.label,value:m.value})):[],h=r.type==="selection",p={value:void 0,readonly:!1};function f(){let{value:m,readonly:b}=p,y=m==null?null:u(m),g=d.filter(S=>!c||c.some(z=>u(z)===S.key)||S.key===y);y&&!g.some(S=>S.key===y)&&m&&typeof m=="object"&&(g=[...g,{key:y,label:m.label,value:m}]),l.replaceChildren(...g.map(S=>{let z=i.createElement("span");z.textContent=S.label;let _=i.createElement(a?"button":"span");_ instanceof HTMLButtonElement&&(_.type="button",_.disabled=b,_.addEventListener("click",()=>e.setValue(t,S.value))),_.append(z),S.key===y&&_.setAttribute("aria-current","step");let E=i.createElement("li");return E.append(_),E}))}return{element:l,focus:()=>l.querySelector("button:not([disabled])")?.focus(),update(m){p={value:m.value,readonly:m.readonly},f(),h||(h=!0,e.search(t,"",20).then(b=>{d=b.map(y=>({key:u(y),label:y.label,value:y})),f()}).catch(()=>{}))}}};function $u(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()));t.setUTCDate(t.getUTCDate()+4-(t.getUTCDay()||7));let r=Date.UTC(t.getUTCFullYear(),0,1);return Math.ceil(((t.getTime()-r)/864e5+1)/7)}var Su=e=>String(e).padStart(2,"0"),ei=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),qe=(e,t)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+t);function sn(e,t){let r=new Date(e.getFullYear(),e.getMonth()+t+1,0).getDate();return new Date(e.getFullYear(),e.getMonth()+t,Math.min(e.getDate(),r))}function ti(e,t){if(typeof t!="string"||!t)return null;if(e==="date"){let n=/^(\d{4})-(\d{2})-(\d{2})/.exec(t);return n?new Date(Number(n[1]),Number(n[2])-1,Number(n[3])):null}let r=new Date(t);return Number.isNaN(r.getTime())?null:r}function an(e,t,r){let{form:n,name:o,id:i,document:s,locale:a="en"}=t,c=t.labels??xe.en,l=a==="en"?"en-GB":a,u=new Intl.DateTimeFormat(l,{month:"long",year:"numeric",numberingSystem:"latn"}),d=new Intl.DateTimeFormat(l,{weekday:"long",day:"numeric",month:"long",year:"numeric",numberingSystem:"latn"}),h=new Intl.DateTimeFormat(l,{weekday:"short"}),p=new Intl.DateTimeFormat(l,{weekday:"long"}),f=s.createElement("button");f.type="button",f.className="fd-calendar-button";let m="http://www.w3.org/2000/svg",b=s.createElementNS(m,"svg");b.setAttribute("viewBox","0 0 16 16"),b.setAttribute("aria-hidden","true");for(let[R,M]of[["rect",{x:"2",y:"3",width:"12",height:"11",rx:"1.5"}],["path",{d:"M2 6.5h12M5 1.5v3M11 1.5v3"}]]){let re=s.createElementNS(m,R);for(let[he,ze]of Object.entries(M))re.setAttribute(he,ze);b.append(re)}f.append(b),f.setAttribute("aria-label",c.chooseDate),f.setAttribute("aria-haspopup","dialog"),f.setAttribute("aria-expanded","false"),f.setAttribute("aria-controls",`${i}-calendar`);let y=s.createElement("div");y.className="fd-calendar",y.id=`${i}-calendar`,y.setAttribute("role","dialog"),y.hidden=!0;let g=s.createElement("div");g.className="fd-calendar-head";let S=s.createElement("button");S.type="button",S.textContent="\u2039",S.setAttribute("aria-label",c.previousMonth);let z=s.createElement("span");z.className="fd-calendar-title",z.setAttribute("aria-live","polite");let _=s.createElement("button");_.type="button",_.textContent="\u203A",_.setAttribute("aria-label",c.nextMonth),g.append(S,z,_);let E=s.createElement("table");E.className="fd-calendar-grid",E.setAttribute("role","grid"),y.append(g,E);let L=s.createElement("span");L.className="fd-date-pick",L.append(e.element,f,y);let T=new Date,U=!1;function W(R){if(r==="date")n.setValue(o,`${R.getFullYear()}-${Su(R.getMonth()+1)}-${Su(R.getDate())}`);else{let M=ti("datetime",n.getState().values[o]),re=new Date(R.getFullYear(),R.getMonth(),R.getDate(),M?.getHours()??0,M?.getMinutes()??0);n.setValue(o,re.toISOString())}q()}function ne(R){let M=ti(r,n.getState().values[o]),re=new Date,he=u.format(T);z.textContent=he,y.setAttribute("aria-label",he);let ze=new Date(T.getFullYear(),T.getMonth(),1),ye=qe(ze,-((ze.getDay()+6)%7)),Ce=s.createElement("tr"),Ge=s.createElement("th");Ge.scope="col",Ge.textContent=c.weekShort,Ge.setAttribute("abbr",c.week),Ce.append(Ge);for(let k=0;k<7;k++){let $=qe(ye,k),N=s.createElement("th");N.scope="col",N.textContent=h.format($).replace(/\.$/,""),N.setAttribute("abbr",p.format($)),Ce.append(N)}let nt=s.createElement("thead");nt.append(Ce);let x=s.createElement("tbody");for(let k=ye;k<=new Date(T.getFullYear(),T.getMonth()+1,0);k=qe(k,7)){let $=s.createElement("tr"),N=s.createElement("th");N.scope="row",N.className="fd-week",N.textContent=String($u(k)),$.append(N);for(let D=0;D<7;D++){let O=qe(k,D),Q=s.createElement("td"),te=s.createElement("button");te.type="button",te.textContent=String(O.getDate()),te.setAttribute("aria-label",d.format(O)),te.tabIndex=ei(O,T)?0:-1,O.getMonth()!==T.getMonth()&&te.classList.add("fd-outside"),M&&ei(O,M)&&te.setAttribute("aria-selected","true"),ei(O,re)&&te.setAttribute("aria-current","date"),te.disabled=U,te.addEventListener("click",()=>W(O)),te.addEventListener("keydown",be=>X(be,O)),Q.append(te),$.append(Q)}x.append($)}E.replaceChildren(nt,x),R&&E.querySelector('button[tabindex="0"]')?.focus()}function Y(R){T=R,ne(!0)}function X(R,M){let re={ArrowLeft:()=>qe(M,-1),ArrowRight:()=>qe(M,1),ArrowUp:()=>qe(M,-7),ArrowDown:()=>qe(M,7),PageUp:()=>sn(M,-1),PageDown:()=>sn(M,1),Home:()=>qe(M,-((M.getDay()+6)%7)),End:()=>qe(M,6-(M.getDay()+6)%7)};re[R.key]?(R.preventDefault(),Y(re[R.key]())):(R.key==="Enter"||R.key===" ")&&(R.preventDefault(),W(M))}function ie(){T=ti(r,n.getState().values[o])??new Date,y.hidden=!1,f.setAttribute("aria-expanded","true"),ne(!0)}function q(){y.hidden||(y.hidden=!0,f.setAttribute("aria-expanded","false"),f.focus())}f.addEventListener("click",()=>y.hidden?ie():q()),S.addEventListener("click",()=>{T=sn(T,-1),ne(!1)}),_.addEventListener("click",()=>{T=sn(T,1),ne(!1)}),y.addEventListener("keydown",R=>{R.key==="Escape"&&(R.preventDefault(),R.stopPropagation(),q())});let V=R=>{!y.hidden&&!L.contains(R.target)&&(y.hidden=!0,f.setAttribute("aria-expanded","false"))};return s.addEventListener("mousedown",V),{element:L,focus:()=>e.focus(),update(R){U=R.readonly,f.hidden=R.readonly,R.readonly&&(y.hidden=!0),e.update(R)},destroy(){s.removeEventListener("mousedown",V),e.destroy?.()}}}var Qp=e=>{let t=e.replace(/_/g," ").trim();return t.charAt(0).toUpperCase()+t.slice(1)};function em(e,t){let r=Qp(e);return typeof t=="boolean"?{name:e,label:r,type:"boolean"}:typeof t=="number"?{name:e,label:r,type:Number.isInteger(t)?"integer":"float"}:typeof t=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t)?{name:e,label:r,type:"date"}:{name:e,label:r,type:"char"}}var ri=e=>{let{form:t,name:r,field:n,node:o,id:i,document:s}=e,a=n.type==="properties"?n.definitions:void 0,c=()=>{let f=t.getState().values[r];return f&&typeof f=="object"&&!Array.isArray(f)?f:{}},l={...t,getState:()=>({...t.getState(),values:c()}),setValue:(f,m)=>t.setValue(r,{...c(),[f]:m})},u=s.createElement("div");u.className="fd-properties",u.setAttribute("role","group");let d=[],h="";function p(f){for(let m of d)m.widget.destroy?.();d=f.map(m=>{let b=`${i}-${m.name}`,y={type:m.type,label:m.label,...m.options?{options:m.options}:{}},g={type:"field",id:`${o.id}.${m.name}`,field:m.name},S=We({...e,form:l,name:m.name,field:y,node:g,id:b});return{definition:m,widget:S}}),u.replaceChildren(...d.map(({definition:m,widget:b})=>{let y=s.createElement("div");y.className="fd-property",y.dataset.type=m.type;let g=s.createElement("label");return g.htmlFor=`${i}-${m.name}`,g.textContent=m.label,y.append(g,b.element),y}))}return{element:u,focus:()=>d[0]?.widget.focus(),destroy:()=>d.forEach(f=>f.widget.destroy?.()),update(f){let m=c(),b=a??Object.keys(m).map(g=>em(g,m[g])),y=JSON.stringify(b);y!==h&&(h=y,p(b));for(let{definition:g,widget:S}of d)S.update({value:m[g.name]??null,values:m,readonly:f.readonly,required:!1,invalid:!1})}}};var tm=new Set(["P","BR","B","STRONG","I","EM","U","S","UL","OL","LI","A","H1","H2","H3","H4","BLOCKQUOTE","CODE","PRE","SPAN","DIV"]),rm=new Set(["SCRIPT","STYLE","IFRAME","OBJECT","EMBED","TEMPLATE","NOSCRIPT","SVG","MATH"]),nm=new Set(["P","DIV","H1","H2","H3","H4","LI","BLOCKQUOTE","PRE"]),om=new Set(["left","center","right","justify","start","end"]);function ni(e,t=globalThis.document){let r=t.createElement("template");r.innerHTML=e;let n=i=>{for(let s of[...i.childNodes]){if(s.nodeType===Node.TEXT_NODE)continue;if(s.nodeType!==Node.ELEMENT_NODE){s.remove();continue}let a=s;if(rm.has(a.tagName)){a.remove();continue}if(n(a),!tm.has(a.tagName)){a.replaceWith(...a.childNodes);continue}let c=a.tagName==="A"?a.getAttribute("href"):null,l=nm.has(a.tagName)?a.style?.textAlign?.trim().toLowerCase():"";for(let u of[...a.attributes])a.removeAttribute(u.name);c&&/^(https?:|mailto:)/i.test(c.trim())&&a.setAttribute("href",c.trim()),l&&om.has(l)&&a.setAttribute("style",`text-align: ${l};`)}};n(r.content);let o=t.createElement("div");return o.append(r.content),o.innerHTML}function Lu(e){let t=e.trim();return/^(https?:\/\/|mailto:)\S+$/i.test(t)?t:/^[^\s@:/]+@[^\s@:/]+\.[^\s@:/]+$/.test(t)?`mailto:${t}`:/^[\w-]+(\.[\w-]+)+([/?#]\S*)?$/.test(t)?`https://${t}`:null}var Eu=[["bold","bold","<b>B</b>"],["italic","italic","<i>I</i>"],["underline","underline","<u>U</u>"],["bulletList","insertUnorderedList",'<svg viewBox="0 0 16 16"><circle cx="3" cy="4" r="1.2"/><circle cx="3" cy="8" r="1.2"/><circle cx="3" cy="12" r="1.2"/><path d="M6 4h8M6 8h8M6 12h8"/></svg>'],["numberList","insertOrderedList",'<svg viewBox="0 0 16 16"><path d="M2.5 3h1v3M2 10.5c.5-.8 2-.8 2 .2 0 .8-2 1.3-2 2.3h2M6 4h8M6 8h8M6 12h8"/></svg>'],["alignLeft","justifyLeft",'<svg viewBox="0 0 16 16"><path d="M2 3.5h12M2 6.5h8M2 9.5h12M2 12.5h8"/></svg>'],["alignCenter","justifyCenter",'<svg viewBox="0 0 16 16"><path d="M2 3.5h12M4 6.5h8M2 9.5h12M4 12.5h8"/></svg>'],["alignRight","justifyRight",'<svg viewBox="0 0 16 16"><path d="M2 3.5h12M6 6.5h8M2 9.5h12M6 12.5h8"/></svg>'],["link","createLink",'<svg viewBox="0 0 16 16"><path d="M7 9a3 3 0 0 0 4.2 0l2.3-2.3a3 3 0 0 0-4.2-4.2L8.2 3.6M9 7a3 3 0 0 0-4.2 0L2.5 9.3a3 3 0 0 0 4.2 4.2l1.1-1.1"/></svg>']],oi=({form:e,name:t,node:r,id:n,document:o,labels:i=xe.en})=>{let s=o.createElement("div");s.id=n,s.className="fd-input fd-richtext",s.setAttribute("role","textbox"),s.setAttribute("aria-multiline","true"),s.setAttribute("contenteditable","true");let a=r.options?.toolbar!==!1,c="";s.addEventListener("input",()=>{let d=ni(s.innerHTML,o);c=d,e.setValue(t,d.trim()===""?null:d)}),s.addEventListener("blur",()=>{s.innerHTML!==c&&(s.innerHTML=c)});let l=a?im(s,o,i):null,u=s;return l&&(u=o.createElement("div"),u.className="fd-richtext-box",u.setAttribute("role","group"),s.setAttribute("aria-labelledby",`${n}-label`),u.append(l.bar,l.linkRow,s)),{element:u,focus:()=>s.focus(),destroy:()=>l?.destroy(),update(d){l&&(l.bar.hidden=d.readonly,d.readonly&&(l.linkRow.hidden=!0));let h=ni(typeof d.value=="string"?d.value:"",o);(h!==c||o.activeElement!==s)&&(s.innerHTML!==h&&(s.innerHTML=h),c=h),s.setAttribute("contenteditable",String(!d.readonly)),s.setAttribute("aria-readonly",String(d.readonly)),s.setAttribute("aria-invalid",String(d.invalid)),d.describedBy&&s.setAttribute("aria-describedby",d.describedBy)}}};function im(e,t,r){let n=t.createElement("div");n.className="fd-richtext-bar",n.setAttribute("role","toolbar"),n.setAttribute("aria-label",r.formatting);let o=null,i=()=>{e.focus();let m=t.getSelection();o&&m&&(m.removeAllRanges(),m.addRange(o))},s=(m,b)=>{i(),t.execCommand?.(m,!1,b)},a=t.createElement("select");a.className="fd-richtext-style",a.setAttribute("aria-label",r.textStyle);for(let[m,b]of[["p","paragraph"],["h2","heading"],["h3","subheading"]]){let y=t.createElement("option");y.value=m,y.textContent=r[b],a.append(y)}a.addEventListener("change",()=>s("formatBlock",`<${a.value}>`));let c=t.createElement("div");c.className="fd-link-row",c.hidden=!0;let l=t.createElement("input");l.className="fd-input",l.type="url",l.placeholder="https://",l.setAttribute("aria-label",r.linkAddress);let u=t.createElement("button");u.type="button",u.className="fd-button fd-link-apply",u.textContent=r.applyLink;let d=t.createElement("button");d.type="button",d.className="fd-button fd-button-link fd-link-remove",d.textContent=r.removeLink,c.append(l,u,d),u.addEventListener("click",()=>{let m=Lu(l.value);if(!m){l.setAttribute("aria-invalid","true");return}l.setAttribute("aria-invalid","false"),i(),t.execCommand?.("createLink",!1,m),c.hidden=!0}),d.addEventListener("click",()=>{i(),t.execCommand?.("unlink",!1),c.hidden=!0}),l.addEventListener("keydown",m=>{m.key==="Enter"?(m.preventDefault(),u.click()):m.key==="Escape"&&(m.preventDefault(),c.hidden=!0,i())});let h=Eu.map(([m,b,y])=>{let g=t.createElement("button");return g.type="button",g.className="fd-richtext-tool",g.setAttribute("aria-label",r[m]),g.title=r[m],g.innerHTML=y,g.querySelector("svg")?.setAttribute("aria-hidden","true"),["bold","italic","underline"].includes(b)&&g.setAttribute("aria-pressed","false"),g.addEventListener("mousedown",S=>S.preventDefault()),g.addEventListener("click",()=>{if(b!=="createLink")return s(b);c.hidden=!1,l.value="",l.focus()}),g});n.append(a,...h);let p=[a,...h];p.forEach((m,b)=>m.tabIndex=b===0?0:-1),n.addEventListener("keydown",m=>{if(m.key!=="ArrowRight"&&m.key!=="ArrowLeft")return;let b=p.indexOf(t.activeElement);if(b<0)return;let y=getComputedStyle(n).direction==="rtl",g=m.key==="ArrowRight"!==y?1:-1,S=p[(b+g+p.length)%p.length];m.preventDefault(),p.forEach(z=>z.tabIndex=z===S?0:-1),S.focus()});let f=()=>{let m=t.getSelection();if(!m||!m.rangeCount||!e.contains(m.anchorNode))return;o=m.getRangeAt(0).cloneRange();for(let y of h){let g=Eu[h.indexOf(y)][1];y.hasAttribute("aria-pressed")&&y.setAttribute("aria-pressed",String(t.queryCommandState?.(g)??!1))}let b=String(t.queryCommandValue?.("formatBlock")??"").toLowerCase().replace(/[<>]/g,"");a.value=b==="h2"||b==="h3"?b:"p"};return t.addEventListener("selectionchange",f),{bar:n,linkRow:c,destroy:()=>t.removeEventListener("selectionchange",f)}}var ii=({form:e,name:t,id:r,document:n,labels:o=xe.en})=>{let i=n.createElement("div");i.className="fd-json";let s=n.createElement("textarea");s.id=r,s.className="fd-input fd-textarea fd-code",s.spellcheck=!1;let a=n.createElement("div");return a.className="fd-cell-error",a.hidden=!0,i.append(s,a),s.addEventListener("input",()=>{if(s.value.trim()===""){a.hidden=!0,e.setValue(t,null);return}try{let c=JSON.parse(s.value);a.hidden=!0,e.setValue(t,c)}catch{a.hidden=!1,a.textContent=o.invalidJson}}),{element:i,focus:()=>s.focus(),update(c){if(n.activeElement!==s){let l=c.value===null||c.value===void 0?"":JSON.stringify(c.value,null,2);s.value!==l&&(s.value=l)}s.readOnly=c.readonly,s.setAttribute("aria-invalid",String(c.invalid||!a.hidden))}}};function We(e,t={}){let{field:r,node:n}=e,o=[n.widget?`${r.type}.${n.widget}`:null,r.type==="selection"&&r.multiple?"selection.checkboxes":null,r.type].filter(i=>i!==null);for(let i of o){let s=t[i]??Ru[i];if(s)return s(e)}return fm(e)}function _e(e,t,r={},...n){let o=e.createElement(t);for(let[i,s]of Object.entries(r))s!==void 0&&o.setAttribute(i,s);return o.append(...n),o}function rt(e,t){e.setAttribute("aria-invalid",String(t.invalid)),e.setAttribute("aria-required",String(t.required)),t.describedBy?e.setAttribute("aria-describedby",t.describedBy):e.removeAttribute("aria-describedby")}var ln=e=>e==null?"":String(e);function fr(e){return({form:t,name:r,field:n,node:o,id:i,document:s})=>{let a=_e(s,"input",{id:i,type:e,class:"fd-input",autocomplete:"off"});return n.type==="char"&&n.size!==void 0&&(a.maxLength=n.size),o.placeholder&&(a.placeholder=o.placeholder),a.addEventListener("input",()=>t.setValue(r,a.value===""?null:a.value)),{element:a,focus:()=>a.focus(),update(c){let l=ln(c.value);a.value!==l&&(a.value=l),a.readOnly=c.readonly,rt(a,c)}}}}var sm=({form:e,name:t,field:r,node:n,id:o,document:i})=>{let s=_e(i,"textarea",{id:o,class:"fd-input fd-textarea",rows:"3"});return r.type==="text"&&r.size!==void 0&&(s.maxLength=r.size),n.placeholder&&(s.placeholder=n.placeholder),s.addEventListener("input",()=>e.setValue(t,s.value===""?null:s.value)),{element:s,focus:()=>s.focus(),update(a){let c=ln(a.value);s.value!==c&&(s.value=c),s.readOnly=a.readonly,rt(s,a)}}},am=/^-?(\d+\.?\d*|\.\d+)$/,cm=/^-?\.?$/,si=e=>{let{form:t,name:r,field:n,node:o,id:i,document:s,locale:a="en"}=e,c=n.type==="integer",l=c?0:(n.type==="float"||n.type==="monetary"?n.digits?.[1]:void 0)??2,u=_=>typeof _=="number"?kt(_,l,a):ln(_),d=_e(s,"input",{id:i,type:"text",class:"fd-input fd-number-input",autocomplete:"off"});d.inputMode=c?"numeric":"decimal",o.placeholder&&(d.placeholder=o.placeholder);let h=_=>{let E=Wo(_.trim(),a);if(E==="")return null;if(am.test(E))return Number(E);if(!cm.test(E))return E};d.addEventListener("input",()=>{let _=h(d.value);_!==void 0&&t.setValue(r,_)}),d.addEventListener("blur",()=>{d.value=u(t.getState().values[r])});let p=o.options??{},f=n.type==="monetary"?n.currencyField:void 0,m=f?t.page.fields[f]:void 0,b=f&&m&&p.pickCurrency===!0?We({...e,name:f,field:m,node:{type:"field",id:`${o.id}.currency`,field:f},id:`${i}-currency`}):null;b&&m&&b.element.querySelector("input, select")?.setAttribute("aria-label",m.label),b?.element.matches("input, select")&&m&&b.element.setAttribute("aria-label",m.label);let y=n.type==="monetary"&&!b?_e(s,"span",{class:"fd-currency","aria-hidden":"true"}):null,g=b?.element??y,S=p.symbol==="after";return{element:g?_e(s,"span",{class:`fd-number${S?" fd-currency-after":""}${b?" fd-currency-picked":""}`},...S?[d,g]:[g,d]):d,focus:()=>d.focus(),update(_){let E=s.activeElement===d,L=h(d.value),T=L===void 0||L===_.value;if(!(E&&T)){let U=u(_.value);d.value!==U&&(d.value=U)}if(d.readOnly=_.readonly,rt(d,_),b&&f&&b.update({value:_.values[f],values:_.values,readonly:_.readonly,required:!1,invalid:!1}),y&&n.type==="monetary"){let U=n.currencyField?_.values[n.currencyField]:null;y.textContent=U&&typeof U=="object"&&"label"in U?U.label:typeof U=="string"?U:n.currency??""}}}};function Nu(e){return({form:t,name:r,id:n,document:o})=>{let i=_e(o,"input",{id:n,type:"checkbox",class:e?"fd-switch":"fd-checkbox",role:e});return i.addEventListener("change",()=>t.setValue(r,i.checked)),{element:i,focus:()=>i.focus(),update(s){i.checked=s.value===!0,i.disabled=s.readonly,rt(i,s)}}}}function Ou(e){return e.type==="selection"?e.options:[]}var lm=({form:e,name:t,field:r,id:n,document:o})=>{let i=Ou(r),s=_e(o,"select",{id:n,class:"fd-input fd-select"},_e(o,"option",{value:""}));return i.forEach((a,c)=>s.append(_e(o,"option",{value:String(c)},a.label))),s.addEventListener("change",()=>e.setValue(t,s.value===""?null:i[Number(s.value)].value)),{element:s,focus:()=>s.focus(),update(a){let c=i.findIndex(l=>l.value===a.value);s.value=c===-1?"":String(c),s.disabled=a.readonly,rt(s,a)}}};function Pu(e){return({form:t,name:r,field:n,id:o,document:i})=>{let s=Ou(n),a=_e(i,"div",{id:o,class:`fd-choices fd-choices-${e}`,role:e==="radio"?"radiogroup":"group"}),c=s.map((l,u)=>{let d=_e(i,"input",{type:e,name:o,value:String(u),id:`${o}-${u}`});return a.append(_e(i,"label",{class:"fd-choice",for:`${o}-${u}`},d,_e(i,"span",{},l.label))),d});return a.addEventListener("change",()=>{if(e==="radio"){let l=c.findIndex(u=>u.checked);t.setValue(r,l===-1?null:s[l].value)}else t.setValue(r,s.filter((l,u)=>c[u].checked).map(l=>l.value))}),{element:a,focus:()=>(c.find(l=>l.checked)??c[0])?.focus(),update(l){let u=Array.isArray(l.value)?l.value:[l.value];c.forEach((d,h)=>{d.checked=u.includes(s[h].value),d.disabled=l.readonly}),rt(a,l)}}}}function Au(e){return({form:t,name:r,field:n,id:o,document:i})=>{let s="min"in n&&n.min!==void 0?n.min:e==="rating"?1:0,a="max"in n&&n.max!==void 0?n.max:e==="rating"?5:10,c=_e(i,"div",{id:o,class:`fd-points fd-${e}`,role:"radiogroup"}),l=[];for(let u=s;u<=a;u++){let d=_e(i,"button",{type:"button",role:"radio","aria-label":`${u} of ${a}`,"data-value":String(u)},e==="rating"?"\u2605":String(u));e==="scale"&&d.removeAttribute("aria-label"),d.addEventListener("click",()=>t.setValue(r,u)),l.push(d),c.append(d)}return c.addEventListener("keydown",u=>{let d=t.getState().values[r],h=typeof d=="number"?d:s-1,p=u.key==="ArrowRight"||u.key==="ArrowUp"?1:u.key==="ArrowLeft"||u.key==="ArrowDown"?-1:0;if(!p)return;u.preventDefault();let f=Math.min(a,Math.max(s,h+p));t.setValue(r,f),l[f-s]?.focus()}),{element:c,focus:()=>(l.find(u=>u.getAttribute("aria-checked")==="true")??l[0])?.focus(),update(u){let d=typeof u.value=="number"?u.value:null;l.forEach((h,p)=>{let f=s+p;h.setAttribute("aria-checked",String(f===d)),h.classList.toggle("fd-on",e==="rating"?d!==null&&f<=d:f===d),h.tabIndex=f===d||d===null&&p===0?0:-1,h.disabled=u.readonly}),rt(c,u)}}}}var um=e=>{let{form:t,name:r,id:n,document:o,node:i}=e,s=_e(o,"input",{id:n,type:"date",class:"fd-input fd-date"});s.addEventListener("input",()=>t.setValue(r,s.value||null));let a={element:s,focus:()=>s.focus(),update(c){let l=ln(c.value);s.value!==l&&(s.value=l),s.readOnly=c.readonly,rt(s,c)}};return i.options?.weekNumbers===!0?an(a,e,"date"):a},cn=e=>String(e).padStart(2,"0"),dm=e=>{let{form:t,name:r,id:n,document:o,node:i}=e,s=_e(o,"input",{id:n,type:"datetime-local",class:"fd-input fd-datetime"}),a=l=>{if(typeof l!="string"||!l)return"";let u=new Date(l);return Number.isNaN(u.getTime())?"":`${u.getFullYear()}-${cn(u.getMonth()+1)}-${cn(u.getDate())}T${cn(u.getHours())}:${cn(u.getMinutes())}`};s.addEventListener("input",()=>{if(!s.value)return t.setValue(r,null);let l=new Date(s.value);Number.isNaN(l.getTime())||t.setValue(r,l.toISOString())});let c={element:s,focus:()=>s.focus(),update(l){let u=a(l.value);s.value!==u&&(s.value=u),s.readOnly=l.readonly,rt(s,l)}};return i.options?.weekNumbers===!0?an(c,e,"datetime"):c};function fm({field:e,id:t,document:r}){let n=_e(r,"span",{id:t,class:"fd-pending","data-fd-pending":e.type});return{element:n,focus:()=>{},update(o){n.textContent=nn(o.value,e)}}}function nn(e,t){if(e==null)return"";switch(t.type){case"many2one":case"reference":return e.label;case"many2many":return e.map(r=>r.label).join(", ");case"one2many":{let r=e.length;return`${r} ${r===1?"line":"lines"}`}case"binary":case"image":return e.name;case"html":return String(e).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim();default:return typeof e=="object"?JSON.stringify(e):String(e)}}var Ru={char:fr("text"),"char.email":fr("email"),"char.phone":fr("tel"),"char.url":fr("url"),"char.password":fr("password"),"char.tags":Ho,text:sm,integer:si,float:si,monetary:si,"integer.rating":Au("rating"),"integer.scale":Au("scale"),"integer.progressbar":ur,"integer.label":dr,"float.label":dr,"monetary.label":dr,"float.progressbar":ur,"monetary.progressbar":ur,boolean:Nu(),"boolean.toggle":Nu("switch"),selection:lm,"selection.radio":Pu("radio"),"selection.checkboxes":Pu("checkbox"),"selection.statusbar":on,date:um,datetime:dm,many2one:Jo,"many2one.statusbar":on,many2many:rn,"many2many.tags":rn,"many2many.checkboxes":Ko,reference:qo,one2many:Yo,binary:Xo,image:Qo,html:oi,json:ii,properties:ri};var Zu=`
|
|
58
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of e.seen.entries()){let a=s[1];if(t===s[0]){i(s);continue}if(e.external){let l=e.external.registry.get(s[0])?.id;if(t!==s[0]&&l){i(s);continue}}if(e.metadataRegistry.get(s[0])?.id){i(s);continue}if(a.cycle){i(s);continue}a.count>1&&e.reused==="ref"&&i(s)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Bc(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let r=[];for(let n of t){if(!n||typeof n!="object")return;Bc(n);let o=Object.keys(n);if(o.length!==1||o[0]!=="type")return;let i=n.type;for(let s of Array.isArray(i)?i:[i]){if(typeof s!="string")return;r.includes(s)||r.push(s)}}delete e.anyOf,e.type=r.length===1?r[0]:r}var Wc=new Set(["type","properties","required","additionalProperties"]),jc=["oneOf","anyOf"];function Vc(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function po(e){let t=[];for(let i of e){if(typeof i!="object"||i.type!=="object")return null;for(let s in i)if(!Wc.has(s))return null;t.push(i)}let r={},n=new Set;for(let i of t){for(let s in i.properties){if(Object.prototype.hasOwnProperty.call(r,s))continue;let a=[];for(let l of t){let d=l.properties?.[s]??Vc(l);d!=null&&(a.some(u=>JSON.stringify(u)===JSON.stringify(d))||a.push(d))}let c=a.length===1?a[0]:po(a)??{allOf:a};Re(r,s,c)}for(let s of i.required??[])n.add(s)}let o={type:"object",properties:r};if(n.size&&(o.required=[...n]),t.every(i=>i.additionalProperties===!1))o.additionalProperties=!1;else{let i=[];for(let s of t){let a=Vc(s);a&&!i.some(c=>JSON.stringify(c)===JSON.stringify(a))&&i.push(a)}i.length===1?o.additionalProperties=i[0]:i.length>1&&(o.additionalProperties={allOf:i})}return o}function uf(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of Wc)if(o in e)return;let r=t.filter(o=>jc.some(i=>Array.isArray(o[i]))),n=null;if(!r.length)n=po(t);else{let o=r[0],i=jc.find(c=>Array.isArray(o[c]));if(Object.keys(o).length!==1)return;let s=t.filter(c=>c!==o),a=o[i].map(c=>po([...s,c]));if(a.some(c=>!c))return;n={[i]:a}}n&&(delete e.allOf,rr(e,n))}function sr(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=a=>{let c=e.seen.get(a);if(c.ref===null)return;let l=c.def??c.schema,d={...l},u=c.ref;if(c.ref=null,u){n(u);let p=e.seen.get(u),f=p.schema;if(f.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(f)):rr(l,f),rr(l,d),a._zod.parent===u)for(let b in l)b==="$ref"||b==="allOf"||b in d||delete l[b];if(f.$ref&&p.def)for(let b in l)b==="$ref"||b==="allOf"||b in p.def&&JSON.stringify(l[b])===JSON.stringify(p.def[b])&&delete l[b]}let h=a._zod.parent;if(h&&h!==u){n(h);let p=e.seen.get(h);if(p?.schema.$ref&&(l.$ref=p.schema.$ref,p.def))for(let f in l)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(l[f])===JSON.stringify(p.def[f])&&delete l[f]}e.override({zodSchema:a,jsonSchema:l,path:c.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let a of[...e.seen.entries()].reverse())n(a[0]);if(e.target!=="openapi-3.0")for(let a of e.seen.entries())Bc(a[1].def??a[1].schema);for(let a of e.deferred)a();if(e.intersections.length){let a=new Map;for(let c of e.seen.values())for(let l of[c.schema,c.def]){let d=l?.allOf;if(!Array.isArray(d))continue;let u=a.get(d);u?u.push(l):a.set(d,[l])}for(let c of e.intersections)for(let l of a.get(c)??[])uf(l)}}let 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){let a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}rr(o,r.defId?r.schema:r.def??r.schema);let i=e.metadataRegistry.get(t)?.id;i!==void 0&&o.id===i&&delete o.id;let s=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let a of e.seen.entries()){let c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,Re(s,c.defId,c.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:nr(t,"input",e.processors),output:nr(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Ae(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return Ae(n.element,r);if(n.type==="set")return Ae(n.valueType,r);if(n.type==="lazy")return Ae(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault"||n.type==="catch")return Ae(n.innerType,r);if(n.type==="intersection")return Ae(n.left,r)||Ae(n.right,r);if(n.type==="record"||n.type==="map")return Ae(n.keyType,r)||Ae(n.valueType,r);if(n.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Ae(n.in,r)||Ae(n.out,r);if(n.type==="object"){for(let o in n.shape)if(Ae(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(Ae(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(Ae(o,r))return!0;return!!(n.rest&&Ae(n.rest,r))}return!1}var Uc=(e,t={})=>r=>{let n=or({...r,processors:t});return le(e,n),ir(n,e),sr(n,e)},nr=(e,t,r={})=>n=>{let{libraryOptions:o,target:i}=n??{},s=or({...o??{},target:i,io:t,processors:r});return le(e,s),ir(s,e),sr(s,e)};var Zt=(e,t,r)=>{(e[t]===void 0||r>e[t])&&(e[t]=r)},Ct=(e,t,r)=>{(e[t]===void 0||r<e[t])&&(e[t]=r)},Jc=(e,t)=>{Zt(e,"minimum",t),Ct(e,"maximum",t)},Yc=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},Xc=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},Qc=(e,t)=>{e.mime=e.mime?e.mime.filter(r=>t.includes(r)):[...t]},el=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},Hc=(e,t)=>Zt(e,"minimum",t.minimum),Kc=(e,t)=>Ct(e,"maximum",t.maximum),qc=e=>(t,r)=>{el(t,r.format);let[n,o]=e[r.format];Zt(t,"minimum",n),Ct(t,"maximum",o)},ff={greater_than:(e,t)=>Zt(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>Ct(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>Yc(e,t.value),number_format:qc(Jt),bigint_format:qc(_r),min_length:Hc,max_length:Kc,length_equals:(e,t)=>Jc(e,t.length),min_size:Hc,max_size:Kc,size_equals:(e,t)=>Jc(e,t.size),string_format:(e,t)=>{el(e,t.format),t.pattern&&Xc(e,t.pattern),(t.format==="base64"||t.format==="base64url")&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Qc(e,t.mime)};function Te(e){let t={},r=e._zod.def,n=e._zod.traits.has("$ZodCheck")?[e,...r.checks??[]]:r.checks??[];for(let i of n)ff[i._zod.def.check]?.(t,i._zod.def);let o=e._zod.bag;o.minimum!==void 0&&Zt(t,"minimum",o.minimum),o.exclusiveMinimum!==void 0&&Zt(t,"exclusiveMinimum",o.exclusiveMinimum),o.maximum!==void 0&&Ct(t,"maximum",o.maximum),o.exclusiveMaximum!==void 0&&Ct(t,"exclusiveMaximum",o.exclusiveMaximum),o.multipleOf!==void 0&&Yc(t,o.multipleOf),o.format!==void 0&&(t.format??(t.format=o.format),o.format.includes("int")&&(t.isInt=!0)),o.mime&&Qc(t,o.mime);for(let i of o.patterns??[])Xc(t,i);return t}var pf={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},mf=new Map([[Hn,us],[Fr,fs]]),tl=e=>mf.get(e)??e,go=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l,laxFormat:d}=Te(e);if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),a&&(o.format=pf[a]??a,o.format===""&&delete o.format,(a==="time"||d)&&delete o.format),l&&(o.contentEncoding=l),c&&c.size>0){let u=[...c].map(tl);u.length===1?o.pattern=u[0].source:u.length>1&&(o.allOf=[...u.map(h=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:h.source}))])}},bo=(e,t,r,n)=>{let o=r,{minimum:i,maximum:s,multipleOf:a,exclusiveMaximum:c,exclusiveMinimum:l,isInt:d}=Te(e);o.type=d?"integer":"number";let u=typeof l=="number"&&l>=(i??Number.NEGATIVE_INFINITY),h=typeof c=="number"&&c<=(s??Number.POSITIVE_INFINITY),p=t.target==="draft-04"||t.target==="openapi-3.0";if(u?p?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l:typeof i=="number"&&(o.minimum=i),h?p?(o.maximum=c,o.exclusiveMaximum=!0):o.exclusiveMaximum=c:typeof s=="number"&&(o.maximum=s),a){let f=new Set;for(let y of a)Number.isFinite(y)&&y!==0?f.add(Math.abs(y)):ze(e,t,o,n,`A multipleOf divisor of ${y} cannot be represented in JSON Schema`);let[m,...b]=f;m!==void 0&&(o.multipleOf=m),b.length&&(o.allOf=[...o.allOf??[],...b.map(y=>({multipleOf:y}))])}},yo=(e,t,r,n)=>{r.type="boolean"},rl=(e,t,r,n)=>{ze(e,t,r,n,"BigInt cannot be represented in JSON Schema")},nl=(e,t,r,n)=>{ze(e,t,r,n,"Symbols cannot be represented in JSON Schema")},xo=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},ol=(e,t,r,n)=>{ze(e,t,r,n,"Undefined cannot be represented in JSON Schema")},il=(e,t,r,n)=>{ze(e,t,r,n,"Void cannot be represented in JSON Schema")},vo=(e,t,r,n)=>{r.not={}},sl=(e,t,r,n)=>{},wo=(e,t,r,n)=>{},al=(e,t,r,n)=>{ze(e,t,r,n,"Date cannot be represented in JSON Schema")},ko=(e,t,r,n)=>{let o=e._zod.def,i=Nt(o.entries);if(i.length===0){r.not={};return}i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),r.enum=i},_o=(e,t,r,n)=>{let o=e._zod.def;if(o.values.length===0){r.not={};return}let i=[];for(let s of o.values)if(s===void 0){if(ze(e,t,r,n,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof s=="bigint"){if(ze(e,t,r,n,"BigInt literals cannot be represented in JSON Schema"))return;i.push(Number(s))}else i.push(s);if(i.length!==0)if(i.length===1){let s=i[0];r.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[s]:r.const=s}else i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),i.every(s=>typeof s=="boolean")&&(r.type="boolean"),i.every(s=>s===null)&&(r.type="null"),r.enum=i},cl=(e,t,r,n)=>{ze(e,t,r,n,"NaN cannot be represented in JSON Schema")},ll=(e,t,r,n)=>{let o=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},dl=(e,t,r,n)=>{let o=r;o.type="string",o.format="binary",o.contentEncoding="binary";let{minimum:i,maximum:s,mime:a}=Te(e);i!==void 0&&(o.minLength=i),s!==void 0&&(o.maxLength=s),a&&(a.length===0?o.not={}:a.length===1?o.contentMediaType=a[0]:o.anyOf=a.map(c=>({contentMediaType:c})))},ul=(e,t,r,n)=>{r.type="boolean"},zo=(e,t,r,n)=>{ze(e,t,r,n,"Custom types cannot be represented in JSON Schema")},fl=(e,t,r,n)=>{ze(e,t,r,n,"Function types cannot be represented in JSON Schema")},So=(e,t,r,n)=>{ze(e,t,r,n,"Transforms cannot be represented in JSON Schema")},pl=(e,t,r,n)=>{ze(e,t,r,n,"Map cannot be represented in JSON Schema")},ml=(e,t,r,n)=>{ze(e,t,r,n,"Set cannot be represented in JSON Schema")},$o=(e,t,r,n)=>{let o=r,i=e._zod.def,{minimum:s,maximum:a}=Te(e);typeof s=="number"&&(o.minItems=s),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=le(i.element,t,{...n,path:[...n.path,"items"]})};function ar(e){let t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?ar(t.out):t.type==="catch"?ar(t.innerType):e._zod.optin}var Eo=(e,t,r,n)=>{let o=r,i=e._zod.def,s=i.shape;if(Object.getOwnPropertySymbols(s).length&&ze(e,t,o,n,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(let l in s)Re(o.properties,l,le(s[l],t,{...n,path:[...n.path,"properties",l]}));let c=[];for(let l of Object.keys(s)){let d=i.shape[l];(t.io==="input"?ar(d)===void 0:d._zod.optout===void 0)&&c.push(l)}c.length>0&&(o.required=c),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=le(i.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Lo=(e,t,r,n)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>le(a,t,{...n,path:[...n.path,i?"oneOf":"anyOf",c]}));i?r.oneOf=s:r.anyOf=s},No=(e,t,r,n)=>{let o=e._zod.def,i=le(o.left,t,{...n,path:[...n.path,"allOf",0]}),s=le(o.right,t,{...n,path:[...n.path,"allOf",1]}),a=l=>"allOf"in l&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];r.allOf=c,t.intersections.push(c)},Po=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((m,b)=>le(m,t,{...n,path:[...n.path,s,b]})),l=i.rest?le(i.rest,t,{...n,path:[...n.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null,d=i.items.length;for(;d>0;){let m=i.items[d-1];if(!(t.io==="input"?ar(m)!==void 0:m._zod.optout==="optional"))break;d--}let u=i.items.length,h=!i.rest;t.target==="draft-2020-12"?(o.prefixItems=c,h?o.items=!1:l&&(o.items=l),d>0&&(o.minItems=d),h&&(o.maxItems=u)):t.target==="openapi-3.0"?(o.items={anyOf:c},l&&o.items.anyOf.push(l),d>0&&(o.minItems=d),h&&(o.maxItems=u)):(o.items=c,h?o.additionalItems=!1:l&&(o.additionalItems=l),d>0&&(o.minItems=d),h&&(o.maxItems=u));let{minimum:p,maximum:f}=Te(e);typeof p=="number"&&(o.minItems=p),typeof f=="number"&&(o.maxItems=f)};function mo(e,t,r){if(t.$ref){if(r.has(t))return t;r.add(t);let f=e.get(t)?.def;if(!f)return t;let m=mo(e,f,r);return m===f?t:m}for(let f of["anyOf","oneOf"]){let m=t[f];if(!Array.isArray(m))continue;let b=m.map(y=>mo(e,y,r));b.some((y,g)=>y!==m[g])&&(t={...t,[f]:b})}let n=Array.isArray(t.type)?t.type:[t.type],o=!n.includes("string")&&n.some(f=>f==="number"||f==="integer"),i=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!i?.some(f=>typeof f=="number"))return t;let{minimum:s,maximum:a,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:d,format:u,id:h,...p}=t;return p.enum?p.enum=p.enum.map(f=>typeof f=="number"?String(f):f):typeof p.const=="number"&&(p.const=String(p.const)),o&&(p.type="string",i||(p.pattern=(n.includes("number")?qt:jn).source)),p}var ho=new WeakMap;function hf(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let r=new Map;for(let n of ho.get(e)??[]){let o=e.seen.get(n),i=(o?.def??o?.schema)?.propertyNames;if(!i||i===!0||r.has(i))continue;let s=mo(t,i,new Set);s!==i&&r.set(i,s)}if(r.size)for(let n of e.seen.values())for(let o of[n.schema,n.def]){let i=o&&r.get(o.propertyNames);i&&(o.propertyNames=i)}}var Ao=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="object";let s=i.keyType,a=Te(s).patterns;if(i.mode==="loose"&&a&&a.size>0){let d=le(i.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let u of a)Re(o.patternProperties,tl(u).source,d)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=le(i.keyType,t,{...n,path:[...n.path,"propertyNames"]});let d=ho.get(t);d||(d=[],ho.set(t,d),t.deferred.push(()=>hf(t))),d.push(e)}o.additionalProperties=le(i.valueType,t,{...n,path:[...n.path,"additionalProperties"]})}let c=s._zod.values,l=t.io==="input"&&ar(i.valueType)!==void 0;if(c&&!i.partial&&!l){let d=[...c].filter(u=>typeof u=="string"||typeof u=="number");d.length>0&&(o.required=d.map(String))}},Oo=(e,t,r,n)=>{let o=e._zod.def,i=le(o.innerType,t,n),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Ro=(e,t,r,n)=>{let o=e._zod.def;le(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},To=Symbol();function hl(e,t,r,n,o){let i=!1,s=JSON.stringify(e,(a,c)=>typeof c!="bigint"?c:(i=!0,null));return i?(ze(t,r,n,o,"BigInt defaults cannot be represented in JSON Schema"),To):JSON.parse(s)}var Io=(e,t,r,n)=>{let o=e._zod.def;le(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType;let s=hl(o.defaultValue,e,t,r,n);s!==To&&(r.default=s)},Zo=(e,t,r,n)=>{let o=e._zod.def;le(o.innerType,t,n);let i=t.seen.get(e);if(i.ref=o.innerType,t.io!=="input")return;let s=hl(o.defaultValue,e,t,r,n);s!==To&&(r._prefault=s)},Co=(e,t,r,n)=>{let o=e._zod.def;le(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{ze(e,t,r,n,"Dynamic catch values are not supported in JSON Schema");return}r.default=s},Fo=(e,t,r,n)=>{let o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?i?o.out:o.in:o.out;le(s,t,n);let a=t.seen.get(e);a.ref=s},Mo=(e,t,r,n)=>{let o=e._zod.def;le(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,r.readOnly=!0},gl=(e,t,r,n)=>{let o=e._zod.def;le(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},Kr=(e,t,r,n)=>{let o=e._zod.def;le(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},Do=(e,t,r,n)=>{let o=e._zod.innerType;le(o,t,n);let i=t.seen.get(e);i.ref=o},Gc={string:go,number:bo,boolean:yo,bigint:rl,symbol:nl,null:xo,undefined:ol,void:il,never:vo,any:sl,unknown:wo,date:al,enum:ko,literal:_o,nan:cl,template_literal:ll,file:dl,success:ul,custom:zo,function:fl,transform:So,map:pl,set:ml,array:$o,object:Eo,union:Lo,intersection:No,tuple:Po,record:Ao,nullable:Oo,nonoptional:Ro,default:Io,prefault:Zo,catch:Co,pipe:Fo,readonly:Mo,promise:gl,optional:Kr,lazy:Do};function jo(e,t){if("_idmap"in e){let n=e,o=or({...t,processors:Gc}),i={};for(let c of n._idmap.entries()){let[l,d]=c;le(d,o)}let s={},a={registry:n,uri:t?.uri,defs:i};o.external=a;for(let c of n._idmap.entries()){let[l,d]=c;ir(o,d),Re(s,l,sr(o,d))}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let r=or({...t,processors:Gc});return le(e,r),ir(r,e),sr(r,e)}var bl=new WeakSet([Object.prototype,Error.prototype]);function Gr(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let n=r(this);return Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0})}})}var zf=(e,t)=>{Fi.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);bl.has(r)||(bl.add(r),Gr(r,"format",n=>o=>Di(n,o)),Gr(r,"flatten",n=>o=>Mi(n,o)),Gr(r,"addIssue",n=>o=>{n.issues.push(o),n.message=JSON.stringify(n.issues,Pt,2)}),Gr(r,"addIssues",n=>o=>{n.issues.push(...o),n.message=JSON.stringify(n.issues,Pt,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))};var Fe=w("ZodError",zf,void 0,{Parent:Error});var yl=Lr(Fe),xl=Nr(Fe),vl=Pr(Fe),wl=Ar(Fe),kl=Vi(Fe),_l=Bi(Fe),zl=Wi(Fe),Sl=Ui(Fe),$l=Ji(Fe),El=Hi(Fe),Ll=Ki(Fe),Nl=qi(Fe);function $f(){Pe.localeError||Ce(tc())}function cr(){Pe.memoizer||Ce({memoizer:ec()})}var ue=w("ZodType",(e,t)=>($f(),se.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(V.mergeDefs(t,{checks:[...t.checks??[],...e.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Ue(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Sp(e,t))},superRefine(e,t){return this.check($p(e,t))},overwrite(e){return this.check(ft(e))},optional(){return Ol(this)},exactOptional(){return dp(this)},nullable(){return Rl(this)},nullish(){return Ol(Rl(this))},nonoptional(e){return gp(this,e)},array(){return fe(this)},or(e){return it([this,e])},and(e){return ip(this,e)},transform(e){return Tl(this,lp(e))},default(e){return pp(this,e)},prefault(e){return hp(this,e)},catch(e){return yp(this,e)},pipe(e){return Tl(this,e)},readonly(){return wp(this)},describe(e){let t=this.clone();return _t.add(t,{description:e}),t},meta(...e){if(e.length===0)return _t.get(this);let t=this.clone();return _t.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return V.hide(this,"~standard",{...Jn(this),jsonSchema:{input:nr(this,"input"),output:nr(this,"output")}})},set"~standard"(e){V.own(this,"~standard",e)},parse:function e(t,r){return yl(this,t,r,{callee:e})},parseAsync:async function e(t,r){return await xl(this,t,r,{callee:e})},safeParse(e,t){return vl(this,e,t)},async safeParseAsync(e,t){return wl(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){V.own(this,"spa",e)},validate(e,t){return Cn(this,e,t)},validateAsync(e,t){return Fn(this,e,t)},encode:function e(t,r){return kl(this,t,r,{callee:e})},decode:function e(t,r){return _l(this,t,r,{callee:e})},encodeAsync:async function e(t,r){return await zl(this,t,r,{callee:e})},decodeAsync:async function e(t,r){return await Sl(this,t,r,{callee:e})},safeEncode(e,t){return $l(this,e,t)},safeDecode(e,t){return El(this,e,t)},async safeEncodeAsync(e,t){return Ll(this,e,t)},async safeDecodeAsync(e,t){return Nl(this,e,t)},toJSONSchema(e){return Uc(this,{})(e)},get description(){return _t.get(this)?.description},get _def(){return this._zod.def}}),Il=w("_ZodString",(e,t)=>{Cr.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>go(e,r,n,o)},V.derived({format:e=>Te(e).format??null,minLength:e=>Te(e).minimum??null,maxLength:e=>Te(e).maximum??null},{regex(...e){return this.check(to(...e))},includes(...e){return this.check(oo(...e))},startsWith(...e){return this.check(io(...e))},endsWith(...e){return this.check(so(...e))},min(...e){return this.check(It(...e))},max(...e){return this.check(Jr(...e))},length(...e){return this.check(Hr(...e))},nonempty(...e){return this.check(It(1,...e))},lowercase(e){return this.check(ro(e))},uppercase(e){return this.check(no(e))},trim(){return this.check(co())},normalize(...e){return this.check(ao(...e))},toLowerCase(){return this.check(lo())},toUpperCase(){return this.check(uo())},slugify(){return this.check(fo())}})),Ef=w("ZodString",(e,t)=>{Cr.init(e,t),Il.init(e,t)},{email(e){return this.check(ic(Of,e))},url(e){return this.check(uc(Tf,e))},jwt(e){return this.check($c(qf,e))},emoji(e){return this.check(fc(If,e))},guid(e){return this.check(sc(Rf,e))},uuid(e){return this.check(ac(Yr,e))},uuidv4(e){return this.check(cc(Yr,e))},uuidv6(e){return this.check(lc(Yr,e))},uuidv7(e){return this.check(dc(Yr,e))},nanoid(e){return this.check(pc(Zf,e))},cuid(e){return this.check(mc(Cf,e))},cuid2(e){return this.check(hc(Ff,e))},ulid(e){return this.check(gc(Mf,e))},base64(e){return this.check(_c(Jf,e))},base64url(e){return this.check(zc(Hf,e))},xid(e){return this.check(bc(Df,e))},ksuid(e){return this.check(yc(jf,e))},ipv4(e){return this.check(xc(Vf,e))},ipv6(e){return this.check(vc(Bf,e))},cidrv4(e){return this.check(wc(Wf,e))},cidrv6(e){return this.check(kc(Uf,e))},e164(e){return this.check(Sc(Kf,e))},datetime(e){return this.check(Ec(Lf,e))},date(e){return this.check(Lc(Nf,e))},time(e){return this.check(Nc(Pf,e))},duration(e){return this.check(Pc(Af,e))}});function O(e){return oc(Ef,e)}var me=w("ZodStringFormat",(e,t)=>{pe.init(e,t),Il.init(e,t)}),Lf=w("ZodISODateTime",(e,t)=>{ua.init(e,t),me.init(e,t)}),Nf=w("ZodISODate",(e,t)=>{fa.init(e,t),me.init(e,t)}),Pf=w("ZodISOTime",(e,t)=>{pa.init(e,t),me.init(e,t)}),Af=w("ZodISODuration",(e,t)=>{ma.init(e,t),me.init(e,t)}),Of=w("ZodEmail",(e,t)=>{ea.init(e,t),me.init(e,t)});var Rf=w("ZodGUID",(e,t)=>{Xs.init(e,t),me.init(e,t)});var Yr=w("ZodUUID",(e,t)=>{Qs.init(e,t),me.init(e,t)});var Tf=w("ZodURL",(e,t)=>{na.init(e,t),me.init(e,t)});var If=w("ZodEmoji",(e,t)=>{oa.init(e,t),me.init(e,t)});var Zf=w("ZodNanoID",(e,t)=>{ia.init(e,t),me.init(e,t)});var Cf=w("ZodCUID",(e,t)=>{sa.init(e,t),me.init(e,t)});var Ff=w("ZodCUID2",(e,t)=>{aa.init(e,t),me.init(e,t)});var Mf=w("ZodULID",(e,t)=>{ca.init(e,t),me.init(e,t)});var Df=w("ZodXID",(e,t)=>{la.init(e,t),me.init(e,t)});var jf=w("ZodKSUID",(e,t)=>{da.init(e,t),me.init(e,t)});var Vf=w("ZodIPv4",(e,t)=>{ha.init(e,t),me.init(e,t)});var Bf=w("ZodIPv6",(e,t)=>{ba.init(e,t),me.init(e,t)});var Wf=w("ZodCIDRv4",(e,t)=>{ya.init(e,t),me.init(e,t)});var Uf=w("ZodCIDRv6",(e,t)=>{xa.init(e,t),me.init(e,t)});var Jf=w("ZodBase64",(e,t)=>{wa.init(e,t),me.init(e,t)});var Hf=w("ZodBase64URL",(e,t)=>{ka.init(e,t),me.init(e,t)});var Kf=w("ZodE164",(e,t)=>{_a.init(e,t),me.init(e,t)});var qf=w("ZodJWT",(e,t)=>{za.init(e,t),me.init(e,t)});var Zl=w("ZodNumber",(e,t)=>{Kn.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>bo(e,r,n,o),e.isFinite=!0},V.derived({minValue:e=>{let{minimum:t,exclusiveMinimum:r}=Te(e);return Math.max(t??Number.NEGATIVE_INFINITY,r??Number.NEGATIVE_INFINITY)},maxValue:e=>{let{maximum:t,exclusiveMaximum:r}=Te(e);return Math.min(t??Number.POSITIVE_INFINITY,r??Number.POSITIVE_INFINITY)},isInt:e=>{let{isInt:t,multipleOf:r}=Te(e);return!!t||!!r?.some(Number.isSafeInteger)},format:e=>Te(e).format??null},{gt(e,t){return this.check(Wr(e,t))},gte(e,t){return this.check(tr(e,t))},min(e,t){return this.check(tr(e,t))},lt(e,t){return this.check(Br(e,t))},lte(e,t){return this.check(er(e,t))},max(e,t){return this.check(er(e,t))},int(e){return this.check(Xe(e))},safe(e){return this.check(Xe(e))},positive(e){return this.check(Wr(0,e))},nonnegative(e){return this.check(tr(0,e))},negative(e){return this.check(Br(0,e))},nonpositive(e){return this.check(er(0,e))},multipleOf(e,t){return this.check(Ur(e,t))},step(e,t){return this.check(Ur(e,t))},finite(){return this}}));function qe(e){return Ac(Zl,e)}var Gf=w("ZodNumberFormat",(e,t)=>{Sa.init(e,t),Zl.init(e,t)});function Xe(e){return Oc(Gf,e)}var Yf=w("ZodBoolean",(e,t)=>{$a.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>yo(e,r,n,o)});function Me(e){return Rc(Yf,e)}var Xf=w("ZodNull",(e,t)=>{Ea.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>xo(e,r,n,o)});function Qf(e){return Tc(Xf,e)}var ep=w("ZodUnknown",(e,t)=>{La.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>wo(e,r,n,o)});function Pl(){return Ic(ep)}var tp=w("ZodNever",(e,t)=>{Na.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>vo(e,r,n,o)});function Cl(e){return Zc(tp,e)}var rp=w("ZodArray",(e,t)=>{cr(),Pa.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>$o(e,r,n,o),e.element=t.element},{min(e,t){return this.check(It(e,t))},nonempty(e){return this.check(It(1,e))},max(e,t){return this.check(Jr(e,t))},length(e,t){return this.check(Hr(e,t))},unwrap(){return this.element}});function fe(e,t){return Cc(rp,e,t)}var Fl=w("ZodObject",(e,t)=>{cr(),Ra.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Eo(e,r,n,o),V.installLazyProp(e,"shape",r=>r._zod.def.shape,!1)},{keyof(){return Ie(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(V.mergeDefs(this._zod.def,{catchall:e}))},passthrough(){return this.clone(V.mergeDefs(this._zod.def,{catchall:Pl()}))},loose(){return this.clone(V.mergeDefs(this._zod.def,{catchall:Pl()}))},strict(){return this.clone(V.mergeDefs(this._zod.def,{catchall:Cl()}))},strip(){return this.clone(V.mergeDefs(this._zod.def,{catchall:void 0}))},extend(e){return V.extend(this,e)},safeExtend(e){return V.safeExtend(this,e)},merge(e){return V.merge(this,e)},pick(e){return V.pick(this,e)},omit(e){return V.omit(this,e)},partial(...e){return V.partial(Bo,this,e[0])},exactPartial(...e){return V.partial(jl,this,e[0],"exactPartial")},required(...e){return V.required(Vl,this,e[0])}});function he(e,t){let r={type:"object",shape:e??{},...V.normalizeParams(t)};return new Fl(r)}function ge(e,t){return new Fl({type:"object",shape:e,catchall:Cl(),...V.normalizeParams(t)})}var Ml=w("ZodUnion",(e,t)=>{qn.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Lo(e,r,n,o),e.options=t.options});function it(e,t){return new Ml({type:"union",options:e,...V.normalizeParams(t)})}var np=w("ZodDiscriminatedUnion",(e,t)=>{Ml.init(e,t),Ta.init(e,t)});function pt(e,t,r){return new np({type:"union",options:t,discriminator:e,...V.normalizeParams(r)})}var op=w("ZodIntersection",(e,t)=>{Ia.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>No(e,r,n,o)});function ip(e,t){return new op({type:"intersection",left:e,right:t})}var sp=w("ZodTuple",(e,t)=>{cr(),Za.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Po(e,r,n,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw new Error(".partial() cannot be used on tuple schemas containing refinements");return this.clone({...e,items:e.items.map(t=>new Bo({type:"optional",innerType:t}))})}});function Dl(e,t,r){let n=t instanceof se,o=n?r:t,i=n?t:null;return new sp({type:"tuple",items:e,rest:i,...V.normalizeParams(o)})}var Al=w("ZodRecord",(e,t)=>{cr(),Ca.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ao(e,r,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function mt(e,t,r){return!t||!t._zod?new Al({type:"record",keyType:O(),valueType:e,...V.normalizeParams(t)}):new Al({type:"record",keyType:e,valueType:t,...V.normalizeParams(r)})}var Vo=w("ZodEnum",(e,t)=>{Fa.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,o,i)=>ko(e,n,o,i),e.enum=t.entries,e.options=[...e._zod.values];let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let i={};for(let s of n)if(r.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Vo({...t,checks:[],...V.normalizeParams(o),entries:i})},e.exclude=(n,o)=>{let i={...t.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new Vo({...t,checks:[],...V.normalizeParams(o),entries:i})}});function Ie(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Vo({type:"enum",entries:r,...V.normalizeParams(t)})}var ap=w("ZodLiteral",(e,t)=>{Ma.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>_o(e,r,n,o),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 Y(e,t){return new ap({type:"literal",values:Array.isArray(e)?e:[e],...V.normalizeParams(t)})}var cp=w("ZodTransform",(e,t)=>{cr(),Da.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>So(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Tt(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(V.issue(i,r.value,t));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=r.value),s.inst??(s.inst=e),r.issues.push(V.issue(s))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function lp(e){return new cp({type:"transform",transform:e})}var Bo=w("ZodOptional",(e,t)=>{Gn.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Kr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Ol(e){return new Bo({type:"optional",innerType:e})}var jl=w("ZodExactOptional",(e,t)=>{ja.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Kr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function dp(e){return new jl({type:"optional",innerType:e})}var up=w("ZodNullable",(e,t)=>{Va.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Oo(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Rl(e){return new up({type:"nullable",innerType:e})}var fp=w("ZodDefault",(e,t)=>{Ba.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Io(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function pp(e,t){return new fp({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():V.shallowClone(t)}})}var mp=w("ZodPrefault",(e,t)=>{Wa.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Zo(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function hp(e,t){return new mp({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():V.shallowClone(t)}})}var Vl=w("ZodNonOptional",(e,t)=>{Ua.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ro(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function gp(e,t){return new Vl({type:"nonoptional",innerType:e,...V.normalizeParams(t)})}var bp=w("ZodCatch",(e,t)=>{Ja.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Co(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function yp(e,t){return new bp({type:"catch",innerType:e,catchValue:typeof t=="function"?t:V.constantCatch(t)})}var xp=w("ZodPipe",(e,t)=>{Ha.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Fo(e,r,n,o),e.in=t.in,e.out=t.out});function Tl(e,t){return new xp({type:"pipe",in:e,out:t})}var vp=w("ZodReadonly",(e,t)=>{Ka.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Mo(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function wp(e){return new vp({type:"readonly",innerType:e})}var kp=w("ZodLazy",(e,t)=>{qa.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Do(e,r,n,o),e.unwrap=()=>e._zod.def.getter()});function _p(e){return new kp({type:"lazy",getter:e})}var zp=w("ZodCustom",(e,t)=>{Ga.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,n,o)=>zo(e,r,n,o)});function Sp(e,t={}){return Fc(zp,e,t)}function $p(e,t){return Mc(e,t)}function Bl(e){let t=_p(()=>it([O(e),qe(),Me(),Qf(),fe(t),mt(O(),t)]));return t}var Ft=Bl().meta({id:"JsonValue"});var je=/^[A-Za-z_][A-Za-z0-9_]*$/,Wl=["char","text","html","integer","float","monetary","boolean","date","datetime","selection","binary","image","many2one","many2many","one2many","reference","properties","json"],lr=he({value:it([O(),qe()]),label:O()}).strict().meta({id:"Option"}),Wo=he({field:O().min(1),op:Ie(["=","!=","<",">","<=",">=","in","not in","like","ilike"]),value:Ft.optional(),valueFrom:O().regex(je).optional()}).strict().refine(e=>e.value===void 0!=(e.valueFrom===void 0),{message:"set exactly one of value or valueFrom"}).meta({id:"FilterCondition"}),Se={label:O(),help:O().optional(),required:Me().optional(),readonly:Me().optional(),default:Ft.optional()},Ul=Xe().positive().optional(),Jl=Dl([Xe().positive(),Xe().nonnegative()]).optional(),Uo=O().min(1),Hl=fe(Wo).optional(),Kl=he({type:Y("char"),...Se,size:Ul,pattern:O().optional()}).strict(),ql=he({type:Y("text"),...Se,size:Ul}).strict(),Gl=he({type:Y("html"),...Se}).strict(),Yl=he({type:Y("integer"),...Se,min:qe().optional(),max:qe().optional()}).strict(),Xl=he({type:Y("float"),...Se,min:qe().optional(),max:qe().optional(),digits:Jl}).strict(),Ql=he({type:Y("monetary"),...Se,currencyField:O().regex(je).optional(),currency:O().regex(/^[A-Z]{3}$/).optional(),min:qe().optional(),max:qe().optional(),digits:Jl}).strict(),ed=he({type:Y("boolean"),...Se}).strict(),td=he({type:Y("date"),...Se}).strict(),rd=he({type:Y("datetime"),...Se}).strict(),nd=he({type:Y("selection"),...Se,options:fe(lr).min(1),multiple:Me().optional()}).strict(),od=he({type:Y("binary"),...Se,accept:fe(O()).optional(),maxSize:Xe().positive().optional()}).strict(),id=he({type:Y("image"),...Se,maxSize:Xe().positive().optional()}).strict(),sd=he({type:Y("many2one"),...Se,relation:Uo,filter:Hl}).strict(),ad=he({type:Y("many2many"),...Se,relation:Uo,filter:Hl}).strict(),cd=he({type:Y("reference"),...Se,models:fe(lr).min(1)}).strict(),Jo=he({name:O().regex(je),label:O(),type:Ie(["char","text","integer","float","boolean","selection","date"]),options:fe(lr).min(1).optional()}).strict().meta({id:"PropertyDefinition"}),ld=he({type:Y("properties"),...Se,definitions:fe(Jo).optional()}).strict(),dd=he({type:Y("json"),...Se}).strict(),Ho=pt("type",[Kl,ql,Gl,Yl,Xl,Ql,ed,td,rd,nd,od,id,sd,ad,cd,ld,dd]).meta({id:"LineField"}),Ko=he({field:O().regex(je),text:O().regex(je),section:O().min(1).optional(),note:O().min(1).optional()}).strict().meta({id:"LineKinds"}),Ep=he({type:Y("one2many"),...Se,relation:Uo,fields:mt(O().regex(je),Ho),lineKinds:Ko.optional(),sequenceField:O().regex(je).optional()}).strict(),qo=pt("type",[Kl,ql,Gl,Yl,Xl,Ql,ed,td,rd,nd,od,id,sd,ad,Ep,cd,ld,dd]).meta({id:"Field"}),Qr=mt(O().regex(je),qo);function tn(e){return typeof e=="object"?e.wide:e??1}var Mt=it([Me(),O().min(1)]).meta({id:"Modifier"}),Oe=O().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/),st=O().regex(je),Yo=Ie(["info","success","warning","danger","muted"]),en=it([Y(1),Y(2),Y(3),Y(4)]),Ve=Mt.optional(),Go=ge({type:Y("field"),id:Oe,field:st,label:O().optional(),widget:O().min(1).optional(),options:mt(O(),Ft).optional(),placeholder:O().optional(),help:O().optional(),colspan:Xe().min(1).max(4).optional(),columns:fe(st).min(1).optional(),totals:fe(st).min(1).optional(),optionalColumns:mt(st,Ie(["show","hide"])).optional(),editMode:Ie(["cell","row"]).optional(),invisible:Ve,readonly:Mt.optional(),required:Mt.optional()}),ud=ge({type:Y("button"),id:Oe,label:O(),action:O().min(1),params:mt(O(),Ft).optional(),style:Ie(["primary","secondary","danger","link"]).optional(),confirm:O().optional(),icon:O().optional(),invisible:Ve}),Lp=ge({type:Y("text"),id:Oe,text:O(),style:Ie(["heading","paragraph","note"]).optional(),invisible:Ve}),fd=ge({type:Y("slot"),id:Oe,name:O().min(1),invisible:Ve}),Np=ge({type:Y("section"),id:Oe,title:O().optional(),icon:O().min(1).optional(),description:O().optional(),columns:it([en,ge({wide:en,medium:en.optional(),narrow:en.optional()})]).optional(),collapsible:Me().optional(),collapsed:Me().optional(),invisible:Ve,readonly:Mt.optional(),get children(){return fe(zt)}}).meta({id:"SectionNode"}),Pp=ge({type:Y("tab"),id:Oe,label:O(),icon:O().optional(),invisible:Ve,get children(){return fe(zt)}}).meta({id:"TabNode"}),pd=ge({type:Y("tabs"),id:Oe,invisible:Ve,children:fe(Pp).min(1)}).meta({id:"TabsNode"}),zt=pt("type",[Go,ud,Lp,fd,Np,pd]).meta({id:"LayoutNode"}),Ap=ge({type:Y("step"),id:Oe,label:O(),description:O().optional(),icon:O().min(1).optional(),optional:Me().optional(),invisible:Ve,get children(){return fe(zt)}}).meta({id:"StepNode"}),Op=ge({type:Y("wizard"),id:Oe,clickable:Me().optional(),nextLabel:O().min(1).optional(),backLabel:O().min(1).optional(),finishLabel:O().min(1).optional(),children:fe(Ap).min(1)}).meta({id:"WizardNode"}),Rp=ge({type:Y("sections"),id:Oe,get children(){return fe(zt)}}).meta({id:"SectionsNode"}),Tp=ge({id:Oe,label:O(),action:O().min(1),field:st.optional(),icon:O().optional(),invisible:Ve}),Ip=ge({id:Oe,label:O(),tone:Yo.optional(),invisible:Ve}),Zp=ge({id:Oe,message:O(),tone:Yo.optional(),dismissible:Me().optional(),invisible:Ve}),Cp=ge({id:Oe,label:O(),tone:Yo.optional(),icon:O().min(1).optional(),invisible:Ve}),Fp=ge({type:Y("sheet"),id:Oe,title:ge({field:st,subtitleField:st.optional(),avatarField:st.optional(),placeholder:O().optional(),above:fe(Go).optional(),below:fe(Go).optional()}).optional(),statusbar:ge({field:st,visibleStates:fe(it([O(),qe()])).optional(),clickable:Me().optional(),position:Ie(["header","title"]).optional()}).optional(),buttons:fe(ud).optional(),statButtons:fe(Tp).optional(),ribbon:Ip.optional(),alerts:fe(Zp).optional(),badges:fe(Cp).optional(),get children(){return fe(zt)},sidePanel:fd.optional()}).meta({id:"SheetNode"}),rn=pt("type",[Fp,Rp,pd,Op]).meta({id:"RootLayout"});var Xo="0.1",Mp=pt("kind",[ge({kind:Y("record"),model:O().min(1)}),ge({kind:Y("responses")})]),Dt=ge({fieldia:Y(Xo),id:O().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/),title:O().optional(),description:O().optional(),data:Mp,fields:Qr,layout:rn,maxWidth:Ie(["narrow","medium","wide","full"]).optional(),actionsPosition:Ie(["top","bottom"]).optional()}).meta({title:"Fieldia page",description:"A form, survey or record screen as data. This schema checks shape; validatePage() also checks that every reference resolves."});function St(e,t){switch(e.type){case"BinaryOp":return Dp(e,t);case"UnaryOp":return jp(e,t);case"Literal":return e.value;case"Identifier":return Vp(t,e.name);default:throw new Error(`Unknown AST node type: ${e.type}`)}}function Dp(e,t){let r=md(St(e.left,t)),n=md(St(e.right,t)),o=e.operator.toLowerCase(),i=r!==null&&n!==null;switch(o){case"==":return r===n;case"!=":case"<>":return r!==n;case"<":return i&&r<n;case">":return i&&r>n;case"<=":return i&&r<=n;case">=":return i&&r>=n;case"in":return Array.isArray(n)&&n.includes(r);case"not in":return Array.isArray(n)&&!n.includes(r);case"and":return at(r)&&at(n);case"or":return at(r)||at(n);default:throw new Error(`Unknown binary operator: ${e.operator}`)}}function jp(e,t){let r=St(e.operand,t);if(e.operator.toLowerCase()==="not")return!at(r);throw new Error(`Unknown unary operator: ${e.operator}`)}function md(e){return e===void 0?null:e}function at(e){return Array.isArray(e)?e.length>0:e!==null&&typeof e=="object"?Object.keys(e).length>0:!!e}function Vp(e,t){let r=t.split("."),n=e;for(let o of r){if(n==null)return;n=n[o]}return n}var Qo=new Map([["True",!0],["False",!1],["None",null],["true",!0],["false",!1],["null",null]]);function dr(e){let t=[];if(!e)return t;let r=/(\(|\)|==|!=|<=|>=|<>|<|>|not\s+in\b|in\b|and\b|or\b|not\b|\[[^\]]*\]|'[^']*'|"[^"]*"|-?\d+\.?\d*|\w+(?:\.\w+)*)/iy,n=/\s*/y,o=0;for(;;){if(n.lastIndex=o,n.exec(e),o=n.lastIndex,o>=e.length)return t;r.lastIndex=o;let i=r.exec(e);if(!i)throw new Error(`Unexpected "${e[o]}" at character ${o+1} of: ${e}`);t.push({type:Bp(i[0]),value:i[0],position:t.length}),o=r.lastIndex}}function Bp(e){let t=e.toLowerCase().trim();return Qo.has(e)?"CONSTANT":t==="and"||t==="or"||t==="not"?"LOGICAL":["==","!=","<>","<",">","<=",">="].includes(e)||t==="in"||t==="not in"?"OPERATOR":e==="("||e===")"?"PAREN":e.startsWith("[")?"LIST":e.startsWith("'")||e.startsWith('"')?"STRING":/^-?\d+\.?\d*$/.test(e)?"NUMBER":"IDENTIFIER"}var $t=class{constructor(t){vt(this,"tokens");vt(this,"position",0);this.tokens=t}parse(){if(this.tokens.length===0)throw new Error("Cannot parse empty expression");let t=this.parseOr();if(!this.isAtEnd())throw new Error(`Unexpected token at position ${this.position}: ${this.peek()?.value}`);return t}parseOr(){let t=this.parseAnd();for(;this.matchLogical("or");){let r=this.previous().value,n=this.parseAnd();t={type:"BinaryOp",operator:r.toLowerCase(),left:t,right:n}}return t}parseAnd(){let t=this.parseNot();for(;this.matchLogical("and");){let r=this.previous().value,n=this.parseNot();t={type:"BinaryOp",operator:r.toLowerCase(),left:t,right:n}}return t}parseNot(){if(this.matchLogical("not")){let t=this.previous().value,r=this.parseComparison();return{type:"UnaryOp",operator:t.toLowerCase(),operand:r}}return this.parseComparison()}parseComparison(){let t=this.parseValue(),r=["==","!=","<>","<",">","<=",">=","in","not in"];if(this.matchOperator(...r)){let n=this.previous().value,o=this.parseValue();return{type:"BinaryOp",operator:n.toLowerCase(),left:t,right:o}}return t}parseValue(){if(this.match("PAREN","(")){let t=this.parseOr();return this.consume("PAREN",")","Expected closing parenthesis"),t}if(this.check("STRING"))return{type:"Literal",value:this.advance().value.slice(1,-1)};if(this.check("CONSTANT")){let t=this.advance();return{type:"Literal",value:Qo.get(t.value)??null}}if(this.check("NUMBER")){let t=this.advance();return{type:"Literal",value:Number(t.value)}}if(this.check("LIST")){let t=this.advance();return{type:"Literal",value:Wp(t.value)}}if(this.check("IDENTIFIER"))return{type:"Identifier",name:this.advance().value};throw new Error(`Unexpected token: ${this.peek()?.value||"EOF"}`)}match(t,...r){if(this.check(t)){if(r.length===0)return this.advance(),!0;let n=this.peek();if(n&&r.includes(n.value))return this.advance(),!0}return!1}matchLogical(...t){let r=this.peek();if(r&&r.type==="LOGICAL"){let n=r.value.toLowerCase();if(t.map(o=>o.toLowerCase()).includes(n))return this.advance(),!0}return!1}matchOperator(...t){let r=this.peek();if(r&&r.type==="OPERATOR"){let n=r.value.toLowerCase();if(t.map(o=>o.toLowerCase()).includes(n))return this.advance(),!0}return!1}check(t){return this.peek()?.type===t}advance(){return this.isAtEnd()||this.position++,this.previous()}peek(){return this.isAtEnd()?null:this.tokens[this.position]}previous(){return this.tokens[this.position-1]}isAtEnd(){return this.position>=this.tokens.length}consume(t,r,n){if(this.check(t)){let o=this.peek();if(o&&o.value===r)return this.advance()}throw new Error(n)}};function Wp(e){try{let t=e.slice(1,-1).trim();if(!t)return[];let r=[],n="",o=!1,i="";for(let s=0;s<t.length;s++){let a=t[s];(a==="'"||a==='"')&&(s===0||t[s-1]!=="\\")&&(o?a===i&&(o=!1,i=""):(o=!0,i=a)),a===","&&!o?(r.push(hd(n.trim())),n=""):n+=a}return n.trim()&&r.push(hd(n.trim())),r}catch(t){throw new Error(`Cannot read the list ${e}`,{cause:t})}}function hd(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):isNaN(Number(e))?e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:e:Number(e)}function ht(e){if(typeof e!="string"){let r=e===!0;return{source:e,fields:[],evaluate:()=>r}}let t=new $t(dr(e)).parse();return{source:e,fields:Up(t),evaluate(r){try{return at(St(t,r))}catch{return!1}}}}function Up(e){let t=[],r=n=>{switch(n.type){case"Identifier":{let o=n.name.split(".")[0];t.includes(o)||t.push(o);return}case"BinaryOp":r(n.left),r(n.right);return;case"UnaryOp":r(n.operand);return;default:return}};return r(e),t}function on(e){let t=Dt.safeParse(e);if(!t.success)return{ok:!1,issues:t.error.issues.map(o=>({path:Jp(o.path),message:Hp(o)}))};let r=t.data,n=new ei(r).run();return n.length?{ok:!1,issues:n}:{ok:!0,page:r}}function Jp(e){return e.length===0?"(page)":e.map((t,r)=>typeof t=="number"?`[${t}]`:r===0?String(t):`.${String(t)}`).join("")}function Hp(e){return e.code==="invalid_union"&&"discriminator"in e&&e.discriminator?`"${e.discriminator}" is not one of the kinds allowed here`:e.message}var nn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),ei=class{constructor(t){vt(this,"page",t);vt(this,"issues",[]);vt(this,"ids",new Map)}run(){return this.checkFields(this.page.fields,"fields"),this.walkRoot(this.page.layout,"layout"),this.issues}report(t,r){this.issues.push({path:t,message:r})}claim(t,r){let n=this.ids.get(t);n!==void 0?this.report(r,`duplicate id "${t}", also used at ${n}`):this.ids.set(t,r)}need(t,r,n=this.page.fields){if(nn(n,t))return n[t];this.report(r,`no field "${t}"`)}checkModifiers(t,r,n=["invisible"]){for(let o of n){let i=t[o];if(typeof i!="string")continue;let s;try{s=ht(i).fields}catch(a){this.report(`${r}.${o}`,`cannot read "${i}": ${a.message}`);continue}for(let a of s)nn(this.page.fields,a)||this.report(`${r}.${o}`,`"${i}" reads "${a}", which is not a field of this page`)}}checkFields(t,r){for(let[n,o]of Object.entries(t)){let i=`${r}.${n}`;if(o.type==="monetary"&&o.currencyField!==void 0){let s=this.need(o.currencyField,`${i}.currencyField`,t);s&&!["many2one","selection","char"].includes(s.type)&&this.report(`${i}.currencyField`,`"${o.currencyField}" is a ${s.type}; a currency field must be a many2one, selection or char`)}if((o.type==="many2one"||o.type==="many2many")&&o.filter&&o.filter.forEach((s,a)=>{s.valueFrom!==void 0&&this.need(s.valueFrom,`${i}.filter[${a}].valueFrom`,t)}),o.type==="properties"&&o.definitions){let s=new Set;o.definitions.forEach((a,c)=>{a.type==="selection"&&!a.options&&this.report(`${i}.definitions[${c}].options`,"a choice property needs its choices"),s.has(a.name)&&this.report(`${i}.definitions[${c}].name`,`"${a.name}" is named twice`),s.add(a.name)})}if(o.type==="one2many"&&(this.checkFields(o.fields,`${i}.fields`),o.lineKinds&&this.checkLineKinds(n,o.lineKinds,o.fields,`${i}.lineKinds`),o.sequenceField!==void 0)){let s=o.fields[o.sequenceField];s?s.type!=="integer"&&this.report(`${i}.sequenceField`,`"${o.sequenceField}" is a ${s.type}; the field that keeps the order of lines must be an integer`):this.report(`${i}.sequenceField`,`"${o.sequenceField}" is not a field of the lines of "${n}"`)}}}checkLineKinds(t,r,n,o){let i=n[r.field];if(!i)this.report(`${o}.field`,`"${r.field}" is not a field of the lines of "${t}"`);else if(i.type!=="selection"&&i.type!=="char")this.report(`${o}.field`,`"${r.field}" is a ${i.type}; the field that says what a line is must be a selection or char`);else if(i.type==="selection")for(let a of["section","note"]){let c=r[a]??a;i.options.some(l=>l.value===c)||this.report(`${o}.${a}`,`"${r.field}" has no option "${c}"`)}let s=n[r.text];s?s.type!=="char"&&s.type!=="text"&&this.report(`${o}.text`,`"${r.text}" is a ${s.type}; a section's or note's text must be a char or text field`):this.report(`${o}.text`,`"${r.text}" is not a field of the lines of "${t}"`)}walkRoot(t,r){if(t.type==="tabs")return this.walkNode(t,r);if(this.claim(t.id,r),t.type==="sheet")return this.walkSheet(t,r);if(t.type==="sections")return this.walkChildren(t.children,r);t.children.forEach((n,o)=>{let i=`${r}.children[${o}]`;this.claim(n.id,i),this.checkModifiers(n,i),this.walkChildren(n.children,i)})}walkChildren(t,r){t.forEach((n,o)=>this.walkNode(n,`${r}.children[${o}]`))}walkNode(t,r){switch(this.claim(t.id,r),this.checkModifiers(t,r,t.type==="field"?["invisible","readonly","required"]:t.type==="section"?["invisible","readonly"]:["invisible"]),t.type){case"field":return this.checkFieldNode(t,r);case"section":return t.collapsible&&!t.title&&this.report(r,"a collapsible section needs a title to fold it by"),t.collapsed&&!t.collapsible&&this.report(r,"collapsed needs collapsible: true"),this.walkChildren(t.children,r);case"tabs":return this.walkTabs(t,r);default:return}}walkTabs(t,r){t.children.forEach((n,o)=>{let i=`${r}.children[${o}]`;this.claim(n.id,i),this.checkModifiers(n,i),this.walkChildren(n.children,i)})}walkSheet(t,r){if(t.title&&(this.need(t.title.field,`${r}.title.field`),t.title.subtitleField!==void 0&&this.need(t.title.subtitleField,`${r}.title.subtitleField`),t.title.avatarField!==void 0&&this.need(t.title.avatarField,`${r}.title.avatarField`)),t.statusbar){let{field:n,visibleStates:o}=t.statusbar,i=this.need(n,`${r}.statusbar.field`);if(i&&i.type!=="selection"&&i.type!=="many2one"&&this.report(`${r}.statusbar.field`,`"${n}" is a ${i.type}; a statusbar needs a selection or many2one`),i?.type==="selection"&&o){let s=new Set(i.options.map(a=>a.value));o.forEach((a,c)=>{s.has(a)||this.report(`${r}.statusbar.visibleStates[${c}]`,`"${a}" is not an option of "${n}"`)})}}t.buttons?.forEach((n,o)=>{this.claim(n.id,`${r}.buttons[${o}]`),this.checkModifiers(n,`${r}.buttons[${o}]`)}),t.statButtons?.forEach((n,o)=>{this.claim(n.id,`${r}.statButtons[${o}]`),this.checkModifiers(n,`${r}.statButtons[${o}]`),n.field!==void 0&&this.need(n.field,`${r}.statButtons[${o}].field`)}),t.ribbon&&(this.claim(t.ribbon.id,`${r}.ribbon`),this.checkModifiers(t.ribbon,`${r}.ribbon`)),t.badges?.forEach((n,o)=>{this.claim(n.id,`${r}.badges[${o}]`),this.checkModifiers(n,`${r}.badges[${o}]`)});for(let n of["above","below"])t.title?.[n]?.forEach((o,i)=>this.walkNode(o,`${r}.title.${n}[${i}]`));t.alerts?.forEach((n,o)=>{this.claim(n.id,`${r}.alerts[${o}]`),this.checkModifiers(n,`${r}.alerts[${o}]`)}),this.walkChildren(t.children,r),t.sidePanel&&(this.claim(t.sidePanel.id,`${r}.sidePanel`),this.checkModifiers(t.sidePanel,`${r}.sidePanel`))}checkFieldNode(t,r){let n=this.need(t.field,`${r}.field`);n&&t.totals&&(n.type!=="one2many"?this.report(`${r}.totals`,`totals only apply to one2many fields; "${t.field}" is a ${n.type}`):t.totals.forEach((o,i)=>{let s=nn(n.fields,o)?n.fields[o]:void 0;s?["integer","float","monetary"].includes(s.type)||this.report(`${r}.totals[${i}]`,`"${o}" is a ${s.type}; only integer, float and monetary columns add up`):this.report(`${r}.totals[${i}]`,`"${o}" is not a field of the lines of "${t.field}"`)}));for(let[o,i]of Object.entries(t.options??{}))o.endsWith("Field")&&typeof i=="string"&&this.need(i,`${r}.options.${o}`);if(n&&t.editMode&&n.type!=="one2many"&&this.report(`${r}.editMode`,`editMode only applies to one2many fields; "${t.field}" is a ${n.type}`),n&&t.optionalColumns)if(n.type!=="one2many")this.report(`${r}.optionalColumns`,`optional columns only apply to one2many fields; "${t.field}" is a ${n.type}`);else{let o=t.columns??Object.keys(n.fields).filter(i=>i!==n.lineKinds?.field&&i!==n.sequenceField);for(let i of Object.keys(t.optionalColumns))o.includes(i)||this.report(`${r}.optionalColumns.${i}`,`"${i}" is not a column of "${t.field}"`)}!n||!t.columns||(n.type==="one2many"?t.columns.forEach((o,i)=>{nn(n.fields,o)||this.report(`${r}.columns[${i}]`,`"${o}" is not a field of the lines of "${t.field}"`)}):n.type!=="many2many"&&this.report(`${r}.columns`,`columns only apply to one2many and many2many fields; "${t.field}" is a ${n.type}`))}};function gd(){return jo(Dt,{target:"draft-2020-12"})}function bd(e,t){if(e===void 0)return!1;if(typeof e=="boolean")return e;if(e==="1"||e==="True"||e==="true")return!0;if(e==="0"||e==="False"||e==="false"||e==="")return!1;try{let r=dr(e);if(r.length===0)return!1;let o=new $t(r).parse(),i=St(o,t);return at(i)}catch{return!1}}function yd(e){if(e===void 0||typeof e=="boolean"||e==="")return!0;try{let t=dr(e);return t.length===0||new $t(t).parse(),!0}catch{return!1}}function ur(e){switch(e.type){case"boolean":return!1;case"many2many":case"one2many":return[];case"selection":return e.multiple?[]:null;default:return null}}function jt(e){let t={};for(let[r,n]of Object.entries(e))t[r]=n.default!==void 0?ae(n.default):ur(n);return t}function Vt(e,t){return t==null?!0:typeof t=="string"?t.trim()==="":Array.isArray(t)?t.length===0:!1}function fr(e,t){let r={};for(let[n,o]of Object.entries(e)){let i=t[n];r[n]=i?Kp(i,o):o}return r}function Kp(e,t){if(t==null)return null;switch(e.type){case"many2one":return t.id;case"many2many":return t.map(r=>r.id);case"one2many":return t.map(r=>r.key);case"reference":{let r=t;return`${r.model},${r.id}`}case"binary":case"image":return t.name;default:return t}}function gt(e,t){let r=e.lineKinds;if(!r)return null;let n=t[r.field];return n===(r.section??"section")?"section":n===(r.note??"note")?"note":null}function ae(e){return e===void 0?e:JSON.parse(JSON.stringify(e))}var bt={en:{required:"{label} is required",maxLength:"Maximum {max} characters allowed",pattern:"{label} is not in the expected format",text:"{label} must be text",number:"{label} must be a number",integer:"{label} must be a whole number",min:"{label} must be at least {min}",max:"{label} must be at most {max}",decimals:"Maximum {digits} decimal places allowed",boolean:"{label} must be yes or no",dateFormat:"Invalid date format (expected YYYY-MM-DD)",dateInvalid:"Invalid date (check month/day values)",datetimeFormat:"Invalid date and time format (expected YYYY-MM-DDTHH:MM:SS)",datetimeInvalid:"Invalid date and time (check the values)",choice:"Must be one of: {options}",choices:"{label} must be a list of choices",record:"{label} must be a record",records:"{label} must be a list of records",reference:"{label} must point to {aModels}",file:"{label} must be a file",fileSize:"{label} is larger than {size}",fileType:"{label} must be {aTypes} file",or:"or"},ar:{required:"{label} \u0645\u0637\u0644\u0648\u0628",maxLength:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 {max} \u062D\u0631\u0641\u064B\u0627",pattern:"\u0635\u064A\u063A\u0629 {label} \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629",text:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0646\u0635\u064B\u0627",number:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0631\u0642\u0645\u064B\u0627",integer:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0631\u0642\u0645\u064B\u0627 \u0635\u062D\u064A\u062D\u064B\u0627",min:"\u064A\u062C\u0628 \u0623\u0644\u0627 \u064A\u0642\u0644 {label} \u0639\u0646 {min}",max:"\u064A\u062C\u0628 \u0623\u0644\u0627 \u064A\u0632\u064A\u062F {label} \u0639\u0646 {max}",decimals:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 {digits} \u0645\u0646\u0627\u0632\u0644 \u0639\u0634\u0631\u064A\u0629",boolean:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0646\u0639\u0645 \u0623\u0648 \u0644\u0627",dateFormat:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629 (\u0627\u0644\u0645\u062A\u0648\u0642\u0639 YYYY-MM-DD)",dateInvalid:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E \u063A\u064A\u0631 \u0635\u062D\u064A\u062D (\u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u0634\u0647\u0631 \u0648\u0627\u0644\u064A\u0648\u0645)",datetimeFormat:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0648\u0627\u0644\u0648\u0642\u062A \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629 (\u0627\u0644\u0645\u062A\u0648\u0642\u0639 YYYY-MM-DDTHH:MM:SS)",datetimeInvalid:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0648\u0627\u0644\u0648\u0642\u062A \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u064A\u0646",choice:"\u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0627\u0644\u0642\u064A\u0645\u0629 \u0648\u0627\u062D\u062F\u0629 \u0645\u0646: {options}",choices:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0642\u0627\u0626\u0645\u0629 \u0627\u062E\u062A\u064A\u0627\u0631\u0627\u062A",record:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0633\u062C\u0644\u064B\u0627",records:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0642\u0627\u0626\u0645\u0629 \u0633\u062C\u0644\u0627\u062A",reference:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0634\u064A\u0631 {label} \u0625\u0644\u0649 {models}",file:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0645\u0644\u0641\u064B\u0627",fileSize:"\u062D\u062C\u0645 {label} \u0623\u0643\u0628\u0631 \u0645\u0646 {size}",fileType:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 {label} \u0645\u0644\u0641 {types}",or:"\u0623\u0648"},de:{required:"{label} ist erforderlich",maxLength:"Maximal {max} Zeichen erlaubt",pattern:"{label} hat nicht das erwartete Format",text:"{label} muss Text sein",number:"{label} muss eine Zahl sein",integer:"{label} muss eine ganze Zahl sein",min:"{label} muss mindestens {min} sein",max:"{label} darf h\xF6chstens {max} sein",decimals:"Maximal {digits} Nachkommastellen erlaubt",boolean:"{label} muss ja oder nein sein",dateFormat:"Ung\xFCltiges Datumsformat (erwartet JJJJ-MM-TT)",dateInvalid:"Ung\xFCltiges Datum (Monat und Tag pr\xFCfen)",datetimeFormat:"Ung\xFCltiges Datums- und Zeitformat (erwartet JJJJ-MM-TTTHH:MM:SS)",datetimeInvalid:"Ung\xFCltiges Datum oder ung\xFCltige Uhrzeit",choice:"Muss eines davon sein: {options}",choices:"{label} muss eine Liste von Optionen sein",record:"{label} muss ein Datensatz sein",records:"{label} muss eine Liste von Datens\xE4tzen sein",reference:"{label} muss auf {models} verweisen",file:"{label} muss eine Datei sein",fileSize:"{label} ist gr\xF6\xDFer als {size}",fileType:"{label} muss eine {types}-Datei sein",or:"oder"},fr:{required:"{label} est obligatoire",maxLength:"{max} caract\xE8res au maximum",pattern:"{label} n'a pas le format attendu",text:"{label} doit \xEAtre du texte",number:"{label} doit \xEAtre un nombre",integer:"{label} doit \xEAtre un nombre entier",min:"{label} doit \xEAtre au moins {min}",max:"{label} doit \xEAtre au plus {max}",decimals:"{digits} d\xE9cimales au maximum",boolean:"{label} doit \xEAtre oui ou non",dateFormat:"Format de date invalide (attendu AAAA-MM-JJ)",dateInvalid:"Date invalide (v\xE9rifiez le mois et le jour)",datetimeFormat:"Format de date et heure invalide (attendu AAAA-MM-JJTHH:MM:SS)",datetimeInvalid:"Date ou heure invalide",choice:"Doit \xEAtre parmi : {options}",choices:"{label} doit \xEAtre une liste de choix",record:"{label} doit \xEAtre un enregistrement",records:"{label} doit \xEAtre une liste d'enregistrements",reference:"{label} doit pointer vers {models}",file:"{label} doit \xEAtre un fichier",fileSize:"{label} d\xE9passe {size}",fileType:"{label} doit \xEAtre un fichier {types}",or:"ou"}};function sn(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>n in t?String(t[n]):r)}function pr(e,t,r,n=bt.en){let o=e.label||"This field",i=(s,a={})=>sn(n[s],{label:o,...a});if(Vt(e,t))return r?i("required"):void 0;switch(e.type){case"char":case"text":case"html":return typeof t!="string"?i("text"):(e.type==="char"||e.type==="text")&&e.size!==void 0&&t.length>e.size?i("maxLength",{max:e.size}):e.type==="char"&&e.pattern!==void 0&&!new RegExp(e.pattern).test(t)?i("pattern"):void 0;case"integer":case"float":case"monetary":return typeof t!="number"||!Number.isFinite(t)?i("number"):e.type==="integer"&&!Number.isInteger(t)?i("integer"):e.min!==void 0&&t<e.min?i("min",{min:e.min}):e.max!==void 0&&t>e.max?i("max",{max:e.max}):e.type!=="integer"&&e.digits&&qp(t)>e.digits[1]?i("decimals",{digits:e.digits[1]}):void 0;case"boolean":return typeof t=="boolean"?void 0:i("boolean");case"date":return Gp(t,i);case"datetime":return Xp(t,i);case"selection":{let s=new Set(e.options.map(c=>c.value)),a=i("choice",{options:e.options.map(c=>c.label).join(", ")});return e.multiple?Array.isArray(t)?t.every(c=>s.has(c))?void 0:a:i("choices"):s.has(t)?void 0:a}case"many2one":return ti(t)?void 0:i("record");case"many2many":return Array.isArray(t)&&t.every(ti)?void 0:i("records");case"reference":{let s=t;if(!ti(t)||typeof s.model!="string")return i("record");if(!e.models.some(a=>a.value===s.model)){let a=vd(e.models.map(c=>c.label),n.or);return i("reference",{models:a,aModels:wd(a)})}return}case"binary":case"image":return Qp(e,t,i,n);default:return}}function qp(e){let t=String(e);if(t.includes("e-"))return Number(t.split("e-")[1]);let r=t.indexOf(".");return r===-1?0:t.length-r-1}function ti(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&(typeof e.id=="number"||typeof e.id=="string")&&typeof e.label=="string"}function Gp(e,t){if(typeof e!="string"||!/^\d{4}-\d{2}-\d{2}$/.test(e))return t("dateFormat");let[r,n,o]=e.split("-").map(Number);return xd(r,n,o)?void 0:t("dateInvalid")}var Yp=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:\d{2})?$/;function Xp(e,t){let r=typeof e=="string"?Yp.exec(e):null;if(!r)return t("datetimeFormat");let[n,o,i,s,a,c]=r.slice(1).map(l=>Number(l??0));return xd(n,o,i)&&s<24&&a<60&&c<60?void 0:t("datetimeInvalid")}function xd(e,t,r){if(t<1||t>12||r<1)return!1;let n=[31,e%4===0&&(e%100!==0||e%400===0)?29:28,31,30,31,30,31,31,30,31,30,31];return r<=n[t-1]}function Qp(e,t,r,n){let o=t;if(!em(t))return r("file");if("maxSize"in e&&e.maxSize!==void 0&&o.size>e.maxSize)return r("fileSize",{size:mr(e.maxSize)});if(e.type==="binary"&&e.accept&&!e.accept.some(i=>tm(i,o.type))){let i=vd(e.accept.map(rm),n.or);return r("fileType",{types:i,aTypes:wd(i)})}}function em(e){let t=e;return e!==null&&typeof e=="object"&&typeof t.name=="string"&&typeof t.size=="number"}function tm(e,t){return e.endsWith("/*")?t.startsWith(e.slice(0,-1)):e===t}function rm(e){return e.endsWith("/*")?e.slice(0,-2):e==="application/pdf"?"PDF":(e.split("/")[1]??e).toUpperCase()}function vd(e,t){return e.length<=1?e.join(""):`${e.slice(0,-1).join(", ")} ${t} ${e[e.length-1]}`}function wd(e){return/^[aeiou]/i.test(e)?`an ${e}`:`a ${e}`}function mr(e){let t=["bytes","KB","MB","GB"],r=e,n=0;for(;r>=1024&&n<t.length-1;)r/=1024,n++;return`${Number(r.toFixed(1))} ${t[n]}`}var hr={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e)};function an(e,t=hr){return new Promise(r=>{t.setTimeout(r,e)})}function kd(e={}){let t=ae(e.records??{}),r=[],n=[],o=1e3,i=()=>e.delayMs?an(e.delayMs,e.scheduler):Promise.resolve(),s=p=>t[p]??(t[p]={}),a=(p,f)=>{let m=s(p)[String(f)]?.[e.labelField?.[p]??"name"];return typeof m=="string"?m:String(f)},c=p=>Math.max(0,...Object.keys(s(p)).map(Number).filter(Number.isFinite))+1,l=p=>Number.isFinite(Number(p))?Number(p):p;function d(p,f){let m=[...p];for(let b of f)b.op==="create"?m.push({key:b.key,id:++o,values:ae(b.values)}):b.op==="update"?m=m.map(y=>y.id===b.id?{...y,values:{...y.values,...ae(b.values)}}:y):m=m.filter(y=>y.id!==b.id);return m}function u(p,f,m){let b=[...p],y=g=>({id:g,label:a(m,g)});for(let g of f)g.op==="link"&&!b.some($=>$.id===g.id)?b.push(y(g.id)):g.op==="unlink"?b=b.filter($=>$.id!==g.id):g.op==="set"?b=g.ids.map(y):g.op==="clear"&&(b=[]);return b}function h(p,f){let m=p[f];return m&&"relation"in m?m.relation:f}return{records:t,responses:r,calls:n,async load(p){n.push({method:"load",request:p}),await i();let f=s(p.model)[String(p.id)];if(!f)throw new Error(`No ${p.model} record with id ${p.id}`);return ae(f)},async save(p){n.push({method:"save",request:p}),await i();let f=p.id??c(p.model),m={...s(p.model)[String(f)]??{},...ae(p.changes.values)};for(let[b,y]of Object.entries(p.changes.lines))m[b]=d(m[b]??[],y);for(let[b,y]of Object.entries(p.changes.links))m[b]=u(m[b]??[],y,h(p.fields,b));return s(p.model)[String(f)]=m,{id:f,values:ae(m)}},async onchange(p){n.push({method:"onchange",request:p}),await i();let f=e.onchange?.[p.model]?.[p.changed],m=e.warnings?.[p.model]?.[p.changed],b=f?{values:f(ae(p.values))}:{},y=m?.(ae(p.values));return y?{...b,warning:y}:b},async search(p){n.push({method:"search",request:p}),await i();let f=p.query.trim().toLowerCase();return Object.entries(s(p.model)).filter(([,m])=>(p.filter??[]).every(b=>nm(m,b))).map(([m])=>({id:l(m),label:a(p.model,l(m))})).filter(m=>m.label.toLowerCase().includes(f)).slice(0,p.limit??8)},async create(p){n.push({method:"create",request:p}),await i();let f=s(p.model),m=Object.keys(f).reduce((b,y)=>Math.max(b,Number(y)||0),0)+1;return f[String(m)]={name:p.name},{id:m,label:p.name}},async submit(p){return n.push({method:"submit",request:p}),await i(),r.push(ae(p)),{id:r.length}}}}function nm(e,t){let r=e[t.field],n=r!==null&&typeof r=="object"&&"id"in r?r.id:r,o=t.value;switch(t.op){case"=":return n===o;case"!=":return n!==o;case"<":return n<o;case">":return n>o;case"<=":return n<=o;case">=":return n>=o;case"in":return Array.isArray(o)&&o.includes(n);case"not in":return Array.isArray(o)&&!o.includes(n);case"like":return String(n??"").includes(String(o));case"ilike":return String(n??"").toLowerCase().includes(String(o).toLowerCase())}}function cn(e){let{page:t}=e,r=e.scheduler??hr,n=e.messages??bt.en,o=sm(t.layout),i=t.layout.type==="wizard"?t.layout.children.map(x=>x.id):[],s=()=>`fieldia:draft:${t.id}:${c.recordId??"new"}`,a={...jt(t.fields),...ae(e.values??{})},c={status:e.recordId!=null?"idle":"ready",recordId:e.recordId??null,values:ae(a),errors:{},dirty:[],warning:null,warningField:null,error:null,draft:null,step:i[0]??null,skipped:[]},l=0,d=0,u=null,h=null,p=new Set,f=new Set,m=null;function b(x){c={...c,...x};for(let k of[...f])k(c)}function y(x){p.add(x);let k=()=>p.delete(x);return x.then(k,k),x}function g(){return m?.values!==c.values&&(m={values:c.values,context:fr(c.values,t.fields)}),m.context}function $(x){let k=t.fields[x];if(!k)throw new Error(`The page has no field "${x}"`);return k}function _(x){return Object.keys(t.fields).filter(k=>JSON.stringify(x[k]??null)!==JSON.stringify(a[k]??null))}function z(x){let k=o.get(x);if(!k)throw new Error(`The page has no element "${x}"`);let S=g(),N=k.invisible.evaluate(S);for(let T=k.parent;!N&&T;T=o.get(T)?.parent??null)N=o.get(T)?.invisible.evaluate(S)??!1;let P=k.readonly.evaluate(S);for(let T=k.parent;!P&&T;T=o.get(T)?.parent??null)P=o.get(T)?.readonly.evaluate(S)??!1;let M=k.field?t.fields[k.field]:void 0;return{invisible:N,readonly:P||M?.readonly===!0,required:k.required.evaluate(S)||M?.required===!0}}function L(x){let k=N=>{if(!x)return!0;for(let P=N.id;P;P=o.get(P)?.parent??null)if(P===x)return!0;return!1},S=N=>{if(x||!c.skipped.length)return!1;for(let P=N.id;P;P=o.get(P)?.parent??null)if(c.skipped.includes(P))return!0;return!1};return[...o.values()].filter(N=>N.kind==="field"&&k(N)&&!S(N)&&!z(N.id).invisible)}function E(x){let k={};for(let S of L(x)){let N=S.field;if(k[N])continue;let P=t.fields[N],M=pr(P,c.values[N],z(S.id).required,n);if(M&&(k[N]=M),P.type==="one2many")for(let T of c.values[N]??[]){let be=gt(P,T.values);for(let[ke,Ne]of Object.entries(P.fields)){if(be&&ke!==P.lineKinds?.text)continue;let _e=pr(Ne,T.values[ke],Ne.required===!0,n);_e&&(k[`${N}.${T.key}.${ke}`]=_e)}}}return k}function Z(x,k={}){let S=Object.keys(c.errors).length?U(x):c.errors;b({values:x,dirty:_(x),errors:S,...k})}function U(x){let k=c;c={...c,values:x};let S=E(c.step??void 0);c=k;let N={};for(let P of Object.keys(c.errors))S[P]&&(N[P]=S[P]);return N}function J(){let x=e.drafts;x&&(u!==null&&r.clearTimeout(u),u=r.setTimeout(()=>{u=null,x.store.setItem(s(),JSON.stringify({savedAt:new Date().toISOString(),values:c.values}))},x.delayMs??400))}function ne(){u!==null&&r.clearTimeout(u),u=null,e.drafts?.store.removeItem(s())}function G(){let x=e.drafts;if(!x)return;let k=x.store.getItem(s());if(!k)return;let S;try{S=JSON.parse(k)}catch{x.store.removeItem(s());return}x.restore==="auto"?Z({...c.values,...S.values},{draft:null}):b({draft:{savedAt:S.savedAt}})}function X(){let x=e.autosave;!x||t.data.kind!=="record"||(h!==null&&r.clearTimeout(h),h=r.setTimeout(()=>{h=null,c.dirty.length&&Object.keys(E()).length===0&&y(B())},x.delayMs))}function ce(x){let k=e.dataSource;if(!k?.onchange||t.data.kind!=="record")return;let S=++d,N={model:t.data.model,id:c.recordId,changed:x,values:ae(c.values)};y(k.onchange(N).then(P=>{if(S!==d)return;let M={...c.values,...P.values??{}};Z(M,{warning:P.warning??null,warningField:P.warning?x:null})},()=>{}))}function ee(x){J(),X(),ce(x)}function D(){let x={values:{},lines:{},links:{}},k=c.recordId===null||c.recordId===void 0,S=k?Object.keys(t.fields).filter(N=>c.dirty.includes(N)||!Vt(t.fields[N],c.values[N])):c.dirty;for(let N of S){let P=t.fields[N],M=c.values[N],T=k?ur(P):a[N];P.type==="one2many"?x.lines[N]=om(T??[],M??[]):P.type==="many2many"?x.links[N]=im(T??[],M??[]):x.values[N]=ae(M)}return x}function C(){let x={};for(let k of L()){let S=k.field;x[S]=ae(c.values[S])}return x}async function B(){let x=E();if(Object.keys(x).length)return b({errors:x}),!1;let k=e.dataSource;b({status:"saving",errors:{},error:null});try{if(t.data.kind==="responses"){if(!k?.submit)throw new Error("This page has no data source to send its answers to");return await k.submit({pageId:t.id,values:C()}),ne(),b({status:"saved"}),!0}if(!k?.save)throw new Error("This page has no data source to save to");let S=await k.save({model:t.data.model,id:c.recordId,fields:t.fields,changes:D(),values:ae(c.values)});ne();let N=S.values?{...c.values,...S.values}:c.values;return a=ae(N),b({status:"saved",recordId:S.id,values:N,dirty:[]}),!0}catch(S){return b({status:"error",error:S.message}),!1}}function oe(x){return!e.dataSource?.create||!x||x.readonly?null:x.type==="many2one"||x.type==="many2many"?x.relation:null}async function xe(x,k,S){let N=oe(x),P=e.dataSource;if(!N||!P?.create)throw new Error(`"${k}" cannot make records: its data source has no create, or it is not a link`);return y(P.create({model:N,name:S.trim()}))}async function we(x,k,S,N,P,M){if(x.type!=="many2one"&&x.type!=="many2many"&&x.type!=="reference")throw new Error(`"${k}" is not a many2one, many2many or reference`);if(x.type==="reference"&&!M)throw new Error(`Searching "${k}" needs a model`);let T=e.dataSource;if(!T?.search)return[];let be=x.type==="reference"?void 0:x.filter?.map(({field:Ne,op:_e,value:v,valueFrom:A})=>({field:Ne,op:_e,value:A!==void 0?S[A]??null:v??null})),ke=x.type==="reference"?M:x.relation;return y(T.search({model:ke,query:N,...be?{filter:be}:{},limit:P}))}function ye(x){let k=$(x);if(k.type!=="one2many")throw new Error(`"${x}" is a ${k.type}, not a one2many`);return k}function et(){return c.step?i.indexOf(c.step):-1}function De(x){return o.get(x)?.source?.optional===!0}async function yt(){let x=e.dataSource;if(!(c.recordId==null||t.data.kind!=="record")){if(!x?.load){b({status:"error",error:"This page has no data source to load from"});return}b({status:"loading",error:null});try{let k=await x.load({model:t.data.model,id:c.recordId,fields:t.fields});a={...jt(t.fields),...k},b({status:"ready",values:ae(a),dirty:[],errors:{}}),G()}catch(k){b({status:"error",error:k.message})}}}let Ye={page:t,getState:()=>c,subscribe(x){return f.add(x),()=>f.delete(x)},load:()=>y(yt()),setValue(x,k){$(x),Z({...c.values,[x]:ae(k)}),ee(x)},node:z,fieldReadonly:x=>$(x).readonly===!0,validate(){let x=E();return b({errors:x}),Object.keys(x).length===0},save:()=>y(B()),reset(){ne(),b({values:ae(a),dirty:[],errors:{},warning:null,warningField:null,draft:null,step:i[0]??null,skipped:[]})},changes:D,addLine(x,k={}){let S=ye(x),N=`new-${++l}`,P=c.values[x]??[],M={key:N,values:{...jt(S.fields),...ae(k)}};if(S.sequenceField&&M.values[S.sequenceField]==null){let be=P.map(ke=>ke.values[S.sequenceField]).filter(ke=>typeof ke=="number");M.values[S.sequenceField]=be.length?Math.max(...be)+1:1}let T=[...P,M];return Z({...c.values,[x]:T}),ee(x),N},updateLine(x,k,S,N){if(!ye(x).fields[S])throw new Error(`The lines of "${x}" have no field "${S}"`);let M=(c.values[x]??[]).map(T=>T.key===k?{...T,values:{...T.values,[S]:ae(N)}}:T);Z({...c.values,[x]:M}),ee(x)},moveLine(x,k,S){let P=ye(x).sequenceField;if(!P)throw new Error(`The lines of "${x}" keep no order: give the field a sequenceField`);let M=[...c.values[x]??[]],T=M.findIndex(F=>F.key===k);if(T<0)throw new Error(`"${x}" has no line "${k}"`);let be=Math.max(0,Math.min(S,M.length-1));if(be===T)return;let ke=M.map(F=>F.values[P]),Ne=ke.every((F,W)=>typeof F=="number"&&(W===0||F>ke[W-1]));M.splice(be,0,...M.splice(T,1));let _e=Math.min(T,be),v=Math.max(T,be),A=Ne?ke.slice(_e,v+1):[],I=M.map((F,W)=>{let H=Ne?W>=_e&&W<=v?A[W-_e]:F.values[P]:W+1;return H===F.values[P]?F:{...F,values:{...F.values,[P]:H}}});Z({...c.values,[x]:I}),ee(x)},removeLine(x,k){ye(x);let S=(c.values[x]??[]).filter(N=>N.key!==k);Z({...c.values,[x]:S}),ee(x)},async search(x,k,S=8,N={}){return we($(x),x,g(),k,S,N.model)},async previewLine(x,k,S){ye(x);let N=c.values[x]??[],P=N.find(_e=>_e.key===k);if(!P)throw new Error(`"${x}" has no line "${k}"`);let M={...P.values,...S},T=e.dataSource;if(!T?.onchange||t.data.kind!=="record")return M;let be=N.map(_e=>_e.key===k?{..._e,values:M}:_e),Ne=((await T.onchange({model:t.data.model,id:c.recordId,changed:x,values:ae({...c.values,[x]:be})})).values?.[x]??[]).find(_e=>_e.key===k);return Ne?{...M,...Ne.values}:M},async searchLine(x,k,S,N,P=8){let M=ye(x),T=M.fields[S];if(!T)throw new Error(`The lines of "${x}" have no field "${S}"`);let be=(c.values[x]??[]).find(ke=>ke.key===k);if(!be)throw new Error(`"${x}" has no line "${k}"`);return we(T,S,fr(be.values,M.fields),N,P)},canCreate:x=>oe(t.fields[x])!==null,quickCreate:(x,k)=>xe(t.fields[x],x,k),canCreateLine:(x,k)=>oe(ye(x).fields[k])!==null,quickCreateLine:(x,k,S)=>xe(ye(x).fields[k],k,S),steps:()=>i.filter(x=>!z(x).invisible),next(){if(!c.step)return!1;c.skipped.includes(c.step)&&b({skipped:c.skipped.filter(N=>N!==c.step)});let x=E(c.step);if(Object.keys(x).length)return b({errors:x}),!1;let k=Ye.steps(),S=i.slice(et()+1).find(N=>k.includes(N));return S?(b({step:S,errors:{}}),!0):!1},back(){if(!c.step)return!1;let x=Ye.steps(),k=i.slice(0,et()).reverse().find(S=>x.includes(S));return k?(b({step:k,errors:{}}),!0):!1},skip(){let x=c.step;if(!x||!De(x))return!1;let k=Ye.steps(),S=k[k.indexOf(x)+1];return S?(b({step:S,errors:{},skipped:[...c.skipped.filter(N=>N!==x),x]}),!0):!1},goTo(x){let k=Ye.steps(),S=k.indexOf(x),N=c.step?k.indexOf(c.step):-1;if(S===-1||N===-1)return!1;if(S<=N)return b({step:x,errors:{}}),!0;let P=[...c.skipped];for(let M of k.slice(N,S)){if(P.includes(M))continue;let T=E(M);if(Object.keys(T).length){if(De(M)){P.push(M);continue}return b({step:M,errors:T,skipped:P}),!1}}return b({step:x,errors:{},skipped:P}),!0},async runAction(x){let k=o.get(x);if(!k||k.kind!=="button"&&k.kind!=="stat")throw new Error(`The page has no button "${x}"`);if(z(x).invisible)return;let S=k.source;await y(Promise.resolve(e.onAction?.({id:x,action:S.action,..."params"in S&&S.params?{params:S.params}:{},recordId:c.recordId,values:ae(c.values)})))},restoreDraft(){let x=e.drafts?.store.getItem(s());if(!x)return;let k=JSON.parse(x);Z({...c.values,...k.values},{draft:null})},discardDraft(){ne(),b({draft:null})},async settled(){for(;p.size;)await Promise.allSettled([...p])},dispose(){u!==null&&r.clearTimeout(u),h!==null&&r.clearTimeout(h),f.clear()}};return c.recordId==null&&G(),Ye}function om(e,t){let r=[],n=new Map(e.filter(i=>i.id!==void 0).map(i=>[i.key,i]));for(let i of t){let s=n.get(i.key);if(i.id===void 0||!s){r.push({op:"create",key:i.key,values:ae(i.values)});continue}let a={};for(let[c,l]of Object.entries(i.values))JSON.stringify(l)!==JSON.stringify(s.values[c])&&(a[c]=ae(l));Object.keys(a).length&&r.push({op:"update",id:i.id,values:a})}let o=new Set(t.map(i=>i.key));for(let i of e)i.id!==void 0&&!o.has(i.key)&&r.push({op:"delete",id:i.id});return r}function im(e,t){let r=new Set(e.map(o=>o.id)),n=new Set(t.map(o=>o.id));return[...t.filter(o=>!r.has(o.id)).map(o=>({op:"link",id:o.id})),...e.filter(o=>!n.has(o.id)).map(o=>({op:"unlink",id:o.id}))]}function sm(e){let t=new Map,r=(o,i,s,a)=>{t.set(o.id,{id:o.id,parent:i,kind:s,field:a.field,invisible:ht(a.invisible),readonly:ht(a.readonly),required:ht(a.required),source:o})},n=(o,i)=>{for(let s of o)if(s.type==="field")r(s,i,"field",{invisible:s.invisible,readonly:s.readonly,required:s.required,field:s.field});else if(s.type==="button")r(s,i,"button",{invisible:s.invisible});else if(s.type==="tabs"){r(s,i,"other",{invisible:s.invisible});for(let a of s.children)r(a,s.id,"other",{invisible:a.invisible}),n(a.children,a.id)}else s.type==="section"?(r(s,i,"other",{invisible:s.invisible,readonly:s.readonly}),n(s.children,s.id)):r(s,i,"other",{invisible:s.invisible})};if(e.type==="tabs")return n([e],""),t.get(e.id).parent=null,t;if(r(e,null,"other",{}),e.type==="wizard")for(let o of e.children)r(o,e.id,"step",{invisible:o.invisible}),n(o.children,o.id);else if(e.type==="sections")n(e.children,e.id);else{let o=(i,s)=>{s&&r({id:i},e.id,"field",{field:s})};o("#title",e.title?.field),o("#subtitle",e.title?.subtitleField),o("#avatar",e.title?.avatarField),o("#statusbar",e.statusbar?.field);for(let i of e.buttons??[])r(i,e.id,"button",{invisible:i.invisible});for(let i of e.statButtons??[])r(i,e.id,"stat",{invisible:i.invisible});e.ribbon&&r(e.ribbon,e.id,"other",{invisible:e.ribbon.invisible});for(let i of e.alerts??[])r(i,e.id,"other",{invisible:i.invisible});for(let i of e.badges??[])r(i,e.id,"other",{invisible:i.invisible});n([...e.title?.above??[],...e.title?.below??[]],e.id),n(e.children,e.id),e.sidePanel&&r(e.sidePanel,e.id,"other",{invisible:e.sidePanel.invisible})}return t}var _d=new Map;function zd(e,t){let r=`${e}:${t}`,n=_d.get(r);return n||(n=new Intl.NumberFormat(e,{numberingSystem:"latn",minimumFractionDigits:t,maximumFractionDigits:t}),_d.set(r,n)),n}function am(e){let t=zd(e,1).formatToParts(12345.6);return{group:t.find(r=>r.type==="group")?.value??",",decimal:t.find(r=>r.type==="decimal")?.value??"."}}function Et(e,t,r="en"){return zd(r,t).format(e)}function ri(e,t="en"){let{group:r,decimal:n}=am(t),o=e.replace(/[٠-٩]/g,i=>String(i.charCodeAt(0)-1632)).replace(/[۰-۹]/g,i=>String(i.charCodeAt(0)-1776)).replace(/٫/g,n).replace(/٬/g,r);return o=o.replace(/[\s\u00a0\u202f]/g,""),r.trim()&&(o=o.split(r).join("")),n==="."?o:o.split(n).join(".")}var ve={en:{search:"Search\u2026",noResults:"No results",remove:"Remove {name}",clear:"Clear {label}",addLine:"Add a line",addSection:"Add a section",addNote:"Add a note",deleteLine:"Delete line",total:"Total",lineProblem:"Line {n}: {message}",moreProblems:"and {n} more",chooseColumns:"Choose columns",createNamed:"Create \u201C{name}\u201D",createAndEdit:"Create and edit\u2026",searchMore:"Search more\u2026",openNamed:"Open {name}",openLine:"Open line",chooseDate:"Choose a date",previousMonth:"Previous month",nextMonth:"Next month",weekShort:"Wk",week:"Week",formatting:"Formatting",bold:"Bold",italic:"Italic",underline:"Underline",textStyle:"Text style",paragraph:"Paragraph",heading:"Heading",subheading:"Subheading",bulletList:"Bulleted list",numberList:"Numbered list",alignLeft:"Align left",alignCenter:"Align centre",alignRight:"Align right",link:"Link",linkAddress:"Link address",applyLink:"Apply",removeLink:"Remove link",upload:"Upload a file",uploadImage:"Add a photo",replace:"Replace",removeFile:"Remove",dropHere:"or drop it here",invalidJson:"Not valid JSON"},ar:{search:"\u0628\u062D\u062B\u2026",noResults:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",remove:"\u0625\u0632\u0627\u0644\u0629 {name}",clear:"\u0645\u0633\u062D {label}",addLine:"\u0625\u0636\u0627\u0641\u0629 \u0633\u0637\u0631",addSection:"\u0625\u0636\u0627\u0641\u0629 \u0642\u0633\u0645",addNote:"\u0625\u0636\u0627\u0641\u0629 \u0645\u0644\u0627\u062D\u0638\u0629",deleteLine:"\u062D\u0630\u0641 \u0627\u0644\u0633\u0637\u0631",total:"\u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",lineProblem:"\u0627\u0644\u0633\u0637\u0631 {n}: {message}",moreProblems:"\u0648{n} \u0623\u062E\u0631\u0649",chooseColumns:"\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0623\u0639\u0645\u062F\u0629",createNamed:"\u0625\u0646\u0634\u0627\u0621 \xAB{name}\xBB",createAndEdit:"\u0625\u0646\u0634\u0627\u0621 \u0648\u062A\u0639\u062F\u064A\u0644\u2026",searchMore:"\u0628\u062D\u062B \u0645\u0648\u0633\u0651\u0639\u2026",openNamed:"\u0641\u062A\u062D {name}",openLine:"\u0641\u062A\u062D \u0627\u0644\u0633\u0637\u0631",chooseDate:"\u0627\u062E\u062A\u064A\u0627\u0631 \u062A\u0627\u0631\u064A\u062E",previousMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0633\u0627\u0628\u0642",nextMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u062A\u0627\u0644\u064A",weekShort:"\u0623\u0633\u0628\u0648\u0639",week:"\u0627\u0644\u0623\u0633\u0628\u0648\u0639",formatting:"\u0627\u0644\u062A\u0646\u0633\u064A\u0642",bold:"\u063A\u0627\u0645\u0642",italic:"\u0645\u0627\u0626\u0644",underline:"\u062A\u0633\u0637\u064A\u0631",textStyle:"\u0646\u0645\u0637 \u0627\u0644\u0646\u0635",paragraph:"\u0641\u0642\u0631\u0629",heading:"\u0639\u0646\u0648\u0627\u0646",subheading:"\u0639\u0646\u0648\u0627\u0646 \u0641\u0631\u0639\u064A",bulletList:"\u0642\u0627\u0626\u0645\u0629 \u0646\u0642\u0637\u064A\u0629",numberList:"\u0642\u0627\u0626\u0645\u0629 \u0645\u0631\u0642\u0645\u0629",alignLeft:"\u0645\u062D\u0627\u0630\u0627\u0629 \u0644\u0644\u064A\u0633\u0627\u0631",alignCenter:"\u062A\u0648\u0633\u064A\u0637",alignRight:"\u0645\u062D\u0627\u0630\u0627\u0629 \u0644\u0644\u064A\u0645\u064A\u0646",link:"\u0631\u0627\u0628\u0637",linkAddress:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0627\u0628\u0637",applyLink:"\u062A\u0637\u0628\u064A\u0642",removeLink:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0631\u0627\u0628\u0637",upload:"\u0631\u0641\u0639 \u0645\u0644\u0641",uploadImage:"\u0625\u0636\u0627\u0641\u0629 \u0635\u0648\u0631\u0629",replace:"\u0627\u0633\u062A\u0628\u062F\u0627\u0644",removeFile:"\u0625\u0632\u0627\u0644\u0629",dropHere:"\u0623\u0648 \u0623\u0641\u0644\u062A\u0647 \u0647\u0646\u0627",invalidJson:"\u0644\u064A\u0633 JSON \u0635\u0627\u0644\u062D\u064B\u0627"},de:{search:"Suchen\u2026",noResults:"Keine Ergebnisse",remove:"{name} entfernen",clear:"{label} leeren",addLine:"Zeile hinzuf\xFCgen",addSection:"Abschnitt hinzuf\xFCgen",addNote:"Notiz hinzuf\xFCgen",deleteLine:"Zeile l\xF6schen",total:"Summe",lineProblem:"Zeile {n}: {message}",moreProblems:"und {n} weitere",chooseColumns:"Spalten ausw\xE4hlen",createNamed:"\u201E{name}\u201C anlegen",createAndEdit:"Anlegen und bearbeiten\u2026",searchMore:"Weitere suchen\u2026",openNamed:"{name} \xF6ffnen",openLine:"Zeile \xF6ffnen",chooseDate:"Datum ausw\xE4hlen",previousMonth:"Vorheriger Monat",nextMonth:"N\xE4chster Monat",weekShort:"KW",week:"Kalenderwoche",formatting:"Formatierung",bold:"Fett",italic:"Kursiv",underline:"Unterstrichen",textStyle:"Textstil",paragraph:"Absatz",heading:"\xDCberschrift",subheading:"Unter\xFCberschrift",bulletList:"Aufz\xE4hlung",numberList:"Nummerierte Liste",alignLeft:"Linksb\xFCndig",alignCenter:"Zentriert",alignRight:"Rechtsb\xFCndig",link:"Link",linkAddress:"Linkadresse",applyLink:"\xDCbernehmen",removeLink:"Link entfernen",upload:"Datei hochladen",uploadImage:"Foto hinzuf\xFCgen",replace:"Ersetzen",removeFile:"Entfernen",dropHere:"oder hier ablegen",invalidJson:"Kein g\xFCltiges JSON"},fr:{search:"Rechercher\u2026",noResults:"Aucun r\xE9sultat",remove:"Retirer {name}",clear:"Effacer {label}",addLine:"Ajouter une ligne",addSection:"Ajouter une section",addNote:"Ajouter une note",deleteLine:"Supprimer la ligne",total:"Total",lineProblem:"Ligne {n} : {message}",moreProblems:"et {n} de plus",chooseColumns:"Choisir les colonnes",createNamed:"Cr\xE9er \xAB {name} \xBB",createAndEdit:"Cr\xE9er et modifier\u2026",searchMore:"Rechercher plus\u2026",openNamed:"Ouvrir {name}",openLine:"Ouvrir la ligne",chooseDate:"Choisir une date",previousMonth:"Mois pr\xE9c\xE9dent",nextMonth:"Mois suivant",weekShort:"Sem.",week:"Semaine",formatting:"Mise en forme",bold:"Gras",italic:"Italique",underline:"Soulign\xE9",textStyle:"Style du texte",paragraph:"Paragraphe",heading:"Titre",subheading:"Sous-titre",bulletList:"Liste \xE0 puces",numberList:"Liste num\xE9rot\xE9e",alignLeft:"Aligner \xE0 gauche",alignCenter:"Centrer",alignRight:"Aligner \xE0 droite",link:"Lien",linkAddress:"Adresse du lien",applyLink:"Appliquer",removeLink:"Supprimer le lien",upload:"T\xE9l\xE9verser un fichier",uploadImage:"Ajouter une photo",replace:"Remplacer",removeFile:"Retirer",dropHere:"ou d\xE9posez-le ici",invalidJson:"JSON invalide"}};var cm=180,Sd=8;function ln(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>t[n]??r)}function dn(e){let{document:t,id:r,labels:n}=e,o=`${r}-list`,i=t.createElement("input");Object.assign(i,{id:r,className:"fd-input fd-combo-input",autocomplete:"off"}),i.setAttribute("role","combobox"),i.setAttribute("aria-autocomplete","list"),i.setAttribute("aria-expanded","false"),i.setAttribute("aria-controls",o),i.placeholder=n.search;let s=t.createElement("ul");s.id=o,s.className="fd-listbox",s.setAttribute("role","listbox"),s.hidden=!0;let a=t.createElement("div");a.className="fd-combo",a.append(i,s);let c="",l=null,d="",u=new Map,h=!1,p=[],f=-1,m=0,b,y=!1;function g(){if(s.replaceChildren(),p.forEach((E,Z)=>{let U=t.createElement("li");U.id=`${o}-${Z}`,U.setAttribute("role","option"),U.setAttribute("aria-selected",String(Z===f)),U.className=`fd-option${Z===f?" fd-active":""}${E===l||u.has(E)?" fd-option-create":""}`,U.textContent=E.label,U.addEventListener("mousedown",J=>J.preventDefault()),U.addEventListener("click",()=>z(Z)),s.append(U)}),!p.length){let E=t.createElement("li");E.className="fd-empty",E.textContent=n.noResults,s.append(E)}f>=0?i.setAttribute("aria-activedescendant",`${o}-${f}`):i.removeAttribute("aria-activedescendant")}function $(){s.hidden=!1,i.setAttribute("aria-expanded","true")}function _(){clearTimeout(b),m++,s.hidden=!0,i.setAttribute("aria-expanded","false"),i.removeAttribute("aria-activedescendant"),f=-1}function z(E){let Z=p[E];if(!Z)return;let U=d;if(_(),h=!1,Z===l&&e.create){e.create(U).then(e.pick,()=>{});return}let J=u.get(Z);if(J){J(U).then(ne=>ne&&e.pick(ne),()=>{});return}e.pick(Z)}function L(E){clearTimeout(b);let Z=++m;b=setTimeout(async()=>{let U=await e.search(E).catch(()=>[]);if(Z!==m||t.activeElement!==i)return;let J=p[f],ne=J&&J!==l&&!u.has(J)?J.id:void 0,G=e.exclude?.()??new Set,X=U.filter(D=>!G.has(D.id)),ce=e.shown!==void 0&&X.length>e.shown;p=ce?X.slice(0,e.shown):X;let ee=E.trim();l=null,e.create&&ee&&!U.some(D=>D.label.trim().toLowerCase()===ee.toLowerCase())&&(d=ee,l={id:"__create__",label:ln(n.createNamed,{name:ee})},p=[...p,l]),d=ee,u=new Map((e.more?.(ee,ce)??[]).map((D,C)=>[{id:`__more_${C}__`,label:D.label},D.act])),p=[...p,...u.keys()],f=ne===void 0?-1:p.findIndex(D=>D.id===ne),g(),$()},cm)}return i.addEventListener("input",()=>{h=!0,y||L(i.value)}),i.addEventListener("focus",()=>{y||L("")}),i.addEventListener("keydown",E=>{if(!y)switch(E.key){case"ArrowDown":case"ArrowUp":{if(E.preventDefault(),s.hidden)return L(i.value);if(!p.length)return;f=(f+(E.key==="ArrowDown"?1:-1)+p.length)%p.length,g(),s.children[f]?.scrollIntoView?.({block:"nearest"});return}case"Enter":!s.hidden&&f>=0&&(E.preventDefault(),z(f));return;case"Escape":s.hidden||E.preventDefault(),_(),h=!1,i.value=c;return;case"Backspace":i.value===""&&e.onEmptyBackspace?.();return}}),i.addEventListener("blur",()=>{m++,clearTimeout(b),_();let E=h&&i.value.trim()===""&&c!=="";h=!1,E?e.onCommitEmpty?.():i.value=c}),{element:a,input:i,setText(E){c=E,h||(i.value=E)},setReadonly(E){y=E,i.readOnly=E,E&&_()},close:_}}function $d(e,t,r){return r.options?.create!==!1&&e.canCreate(t)?n=>e.quickCreate(t,n):void 0}var ni=({form:e,name:t,field:r,node:n,id:o,document:i,labels:s=ve.en,dialogs:a})=>{let c=r.type==="many2one"?r.relation:"",l=!!a&&a.canOpen(c),d=!1,u=dn({document:i,id:o,labels:s,search:f=>e.search(t,f,Sd+1),shown:Sd,pick:f=>e.setValue(t,f),onCommitEmpty:()=>e.setValue(t,null),create:$d(e,t,n),more:(f,m)=>{if(!a||d)return[];let b=[];return f&&l&&n.options?.create!==!1&&b.push({label:s.createAndEdit,act:y=>a.openRecord(c,{name:y,title:r.label})}),m&&b.push({label:s.searchMore,act:()=>a.searchMore({title:r.label,search:(y,g)=>e.search(t,y,g)})}),b}}),h=l?i.createElement("button"):null;h&&(h.type="button",h.className="fd-combo-open",h.textContent="\u2197",h.hidden=!0,h.addEventListener("click",async()=>{let f=e.getState().values[t];if(!f||!a)return;let m=await a.openRecord(c,{recordId:f.id,title:f.label});m&&m.label!==f.label&&e.setValue(t,m)}));let p=i.createElement("button");return p.type="button",p.className="fd-combo-clear",p.textContent="\xD7",p.setAttribute("aria-label",ln(s.clear,{label:r.label})),p.addEventListener("click",()=>{e.setValue(t,null),u.input.focus()}),u.element.append(p,...h?[h]:[]),{element:u.element,focus:()=>u.input.focus(),update(f){let m=f.value;d=f.readonly,u.setText(m?.label??""),u.setReadonly(f.readonly),p.hidden=!m||f.readonly,h&&(h.hidden=!m,m&&h.setAttribute("aria-label",ln(s.openNamed,{name:m.label}))),u.input.setAttribute("aria-invalid",String(f.invalid)),u.input.setAttribute("aria-required",String(f.required)),f.describedBy&&u.input.setAttribute("aria-describedby",f.describedBy)}}},un=({form:e,name:t,node:r,id:n,document:o,labels:i=ve.en})=>{let s=()=>e.getState().values[t]??[],a=o.createElement("div");a.className="fd-tags",a.setAttribute("role","group");let c=o.createElement("ul");c.className="fd-chips";let l=dn({document:o,id:n,labels:i,search:h=>e.search(t,h),pick:h=>{e.setValue(t,[...s(),h]),l.input.value=""},exclude:()=>new Set(s().map(h=>h.id)),onEmptyBackspace:()=>{let h=s();h.length&&e.setValue(t,h.slice(0,-1))},create:$d(e,t,r)});a.append(c,l.element);let d=!1,u="";return{element:a,focus:()=>l.input.focus(),update(h){let p=h.value??[],f=JSON.stringify([h.readonly,p]);d=h.readonly,l.setReadonly(d),l.element.hidden=d,l.input.setAttribute("aria-invalid",String(h.invalid)),h.describedBy&&l.input.setAttribute("aria-describedby",h.describedBy),f!==u&&(u=f,Ed(c,p,d,i,m=>e.setValue(t,s().filter(b=>b.id!==m.id))),l.setText(""))}}};function Ed(e,t,r,n,o){let i=e.ownerDocument;e.replaceChildren(...t.map(s=>{let a=i.createElement("li");a.className="fd-chip";let c=i.createElement("span");if(c.className="fd-chip-label",c.textContent=s.label,a.append(c),!r){let l=i.createElement("button");l.type="button",l.className="fd-chip-remove",l.textContent="\xD7",l.setAttribute("aria-label",ln(n.remove,{name:s.label})),l.addEventListener("click",()=>o(s)),a.append(l)}return a}))}var oi=({form:e,name:t,node:r,id:n,document:o,labels:i=ve.en})=>{let s=r.options??{},a=typeof s.separator=="string"&&s.separator?s.separator:",",c=Array.isArray(s.suggestions)?s.suggestions.filter(y=>typeof y=="string"):[],l=y=>typeof y=="string"?y.split(a).map(g=>g.trim()).filter(g=>g!==""):[],d=()=>l(e.getState().values[t]),u=y=>e.setValue(t,y.length?y.join(`${a} `):null),h=y=>{let g=y.trim(),$=d();g&&!$.some(_=>_.toLowerCase()===g.toLowerCase())&&u([...$,g])},p=o.createElement("div");p.className="fd-tags",p.setAttribute("role","group");let f=o.createElement("ul");f.className="fd-chips";let m=dn({document:o,id:n,labels:i,search:async y=>{let g=new Set(d().map(_=>_.toLowerCase())),$=y.trim().toLowerCase();return c.filter(_=>!g.has(_.toLowerCase())&&_.toLowerCase().includes($)).map(_=>({id:_,label:_}))},pick:y=>{h(y.label),m.input.value=""},onEmptyBackspace:()=>{let y=d();y.length&&u(y.slice(0,-1))}});m.input.addEventListener("keydown",y=>{y.key!=="Enter"||y.defaultPrevented||m.input.value.trim()===""||(y.preventDefault(),h(m.input.value),m.input.value="",m.close())}),m.input.addEventListener("input",()=>{let y=m.input.value.split(a);if(!(y.length<2)){for(let g of y.slice(0,-1))h(g);m.input.value=y[y.length-1].trimStart()}}),m.input.addEventListener("change",()=>{m.input.value.trim()&&h(m.input.value)}),p.append(f,m.element);let b="";return{element:p,focus:()=>m.input.focus(),update(y){let g=l(y.value);m.setReadonly(y.readonly),m.element.hidden=y.readonly,m.input.setAttribute("aria-invalid",String(y.invalid)),y.describedBy&&m.input.setAttribute("aria-describedby",y.describedBy);let $=JSON.stringify([y.readonly,g]);$!==b&&(b=$,Ed(f,g.map(_=>({id:_,label:_})),y.readonly,i,_=>u(d().filter(z=>z!==_.label))),m.setText(""))}}},ii=({form:e,name:t,id:r,document:n})=>{let o=n.createElement("div");o.id=r,o.className="fd-choices fd-choices-checkbox",o.setAttribute("role","group");let i=[],s={readonly:!1,value:[]},a=()=>{let c=new Set(s.value.map(l=>l.id));for(let{record:l,box:d}of i)d.checked=c.has(l.id),d.disabled=s.readonly};return e.search(t,"",50).then(c=>{i=c.map((l,d)=>{let u=n.createElement("input");u.type="checkbox",u.id=`${r}-${d}`,u.addEventListener("change",()=>{let f=e.getState().values[t]??[];e.setValue(t,u.checked?[...f,l]:f.filter(m=>m.id!==l.id))});let h=n.createElement("label");h.className="fd-choice",h.htmlFor=u.id;let p=n.createElement("span");return p.textContent=l.label,h.append(u,p),o.append(h),{record:l,box:u}}),a()}),{element:o,focus:()=>o.querySelector("input")?.focus(),update(c){s={readonly:c.readonly,value:c.value??[]},a()}}},si=e=>{let{form:t,name:r,field:n,id:o,document:i,labels:s=ve.en}=e,a=n.type==="reference"?n.models:[],c=i.createElement("div");c.className="fd-reference";let l=i.createElement("select");l.className="fd-input fd-select",l.setAttribute("aria-label",n.label),l.append(i.createElement("option"));for(let h of a){let p=i.createElement("option");p.value=String(h.value),p.textContent=h.label,l.append(p)}let d="";l.addEventListener("change",()=>{d=l.value,t.setValue(r,null)});let u=dn({document:i,id:o,labels:s,search:h=>d?t.search(r,h,8,{model:d}):Promise.resolve([]),pick:h=>t.setValue(r,{model:d,id:h.id,label:h.label}),onCommitEmpty:()=>t.setValue(r,null)});return c.append(l,u.element),{element:c,focus:()=>d?u.input.focus():l.focus(),update(h){let p=h.value;p&&(d=p.model),l.value=d,l.disabled=h.readonly,u.setText(p?.label??""),u.setReadonly(h.readonly||!d)}}};function Ld(e){let t=/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2}))?/.exec(e);if(!t)return null;let[,r,n,o,i,s]=t;return new Date(Number(r),Number(n)-1,Number(o),Number(i??0),Number(s??0))}function ai(e,t,r={},n="en"){let o=(i,s)=>Et(i,s,n);if(t==null||t==="")return"";switch(e.type){case"many2one":case"reference":return t.label??"";case"many2many":return(t??[]).map(i=>i.label).join(", ");case"selection":{let i=s=>e.options.find(a=>a.value===s)?.label??String(s);return Array.isArray(t)?t.map(i).join(", "):i(t)}case"integer":return o(Number(t),0);case"float":return o(Number(t),e.digits?.[1]??2);case"monetary":{let i=e.currency??(e.currencyField?r[e.currencyField]?.label:void 0),s=o(Number(t),e.digits?.[1]??2);return i?`${i} ${s}`:s}case"date":{let i=Ld(String(t));return i?new Intl.DateTimeFormat(n==="en"?"en-GB":n,{day:"numeric",month:"short",year:"numeric",numberingSystem:"latn"}).format(i):String(t)}case"datetime":{let i=Ld(String(t));return i?new Intl.DateTimeFormat(n==="en"?"en-GB":n,{day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",numberingSystem:"latn"}).format(i):String(t)}case"html":return String(t).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim();case"binary":case"image":return t.name??"";case"boolean":return t?"\u2713":"";default:return String(t)}}function Nd(e,t){return t==="section"?{...e,type:"char"}:{...e,type:"text"}}function Pd(e,t,r){let n=()=>(e.getState().values[t]??[]).find(o=>o.key===r)?.values??{};return{...e,getState:()=>({...e.getState(),values:n()}),setValue:(o,i)=>e.updateLine(t,r,o,i),search:(o,i,s)=>e.searchLine(t,r,o,i,s),canCreate:o=>e.canCreateLine(t,o),quickCreate:(o,i)=>e.quickCreateLine(t,o,i)}}var ci=({form:e,name:t,field:r,node:n,id:o,document:i,labels:s=ve.en,locale:a,dialogs:c})=>{let l=r,d=l.lineKinds,u=(n.columns??Object.keys(l.fields)).filter(G=>l.fields[G]&&G!==d?.field&&G!==l.sequenceField&&n.optionalColumns?.[G]!=="hide"),h=i.createElement("div");h.className="fd-lines",h.id=o,h.setAttribute("role","group");let p=i.createElement("div");p.className="fd-lines-scroll";let f=i.createElement("table");f.className="fd-lines-table";let m=i.createElement("thead"),b=i.createElement("tr");for(let G of u){let X=i.createElement("th");X.scope="col",X.textContent=l.fields[G].label,b.append(X)}let y=i.createElement("th");y.className="fd-lines-tools",b.append(y),m.append(b);let g=i.createElement("tbody");f.append(m,g);let $=(n.totals??[]).filter(G=>u.includes(G)),_=new Map;if($.length){let G=i.createElement("tfoot"),X=i.createElement("tr");X.className="fd-lines-totals",u.forEach((ce,ee)=>{let D=i.createElement("td");$.includes(ce)?_.set(ce,D):ee===0&&(D.textContent=s.total),X.append(D)}),X.append(i.createElement("td")),G.append(X),f.append(G)}p.append(f);let z=i.createElement("div");z.className="fd-lines-adds";let L=(G,X,ce)=>{let ee=i.createElement("button");ee.type="button",ee.className="fd-button fd-button-link fd-lines-add",ee.dataset.add=ce,ee.textContent=`+ ${G}`,ee.addEventListener("click",()=>{Z=e.addLine(t,X);let D=E.get(Z);D&&(D.cells[0]?.widget.focus(),Z=null)}),z.append(ee)};L(s.addLine,{},"line"),d&&(L(s.addSection,{[d.field]:d.section??"section"},"section"),L(s.addNote,{[d.field]:d.note??"note"},"note")),h.append(p,z);let E=new Map,Z=null,U=!1;function J(G,X,ce,ee,D=1){let C=`${o}-${X.key}-${ce}`,B={type:"field",id:`${n.id}.${X.key}.${ce}`,field:ce},oe=Ge({form:Pd(e,t,X.key),name:ce,field:ee,node:B,id:C,document:i,labels:s,locale:a,dialogs:c}),xe=i.createElement("td");xe.colSpan=D;let we=i.createElement("label");we.className="fd-sr-only",we.htmlFor=C,we.textContent=ee.label;let ye=i.createElement("div");return ye.className="fd-cell-error",ye.hidden=!0,xe.append(we,oe.element,ye),G.append(xe),{name:ce,def:ee,widget:oe,error:ye}}function ne(G){let X=i.createElement("tr");X.dataset.line=G.key;let ce=gt(l,G.values);ce&&(X.className=`fd-line-${ce}`);let ee=ce&&d?[J(X,G,d.text,Nd(l.fields[d.text],ce),u.length)]:u.map(B=>J(X,G,B,l.fields[B])),D=i.createElement("td");D.className="fd-lines-tools";let C=i.createElement("button");return C.type="button",C.className="fd-line-delete",C.textContent="\xD7",C.setAttribute("aria-label",s.deleteLine),C.addEventListener("click",()=>e.removeLine(t,G.key)),D.append(C),X.append(D),{element:X,kind:ce,cells:ee,remove:C}}return{element:h,focus:()=>(g.querySelector("input, select, textarea")??z.querySelector("button"))?.focus(),update(G){U=G.readonly,z.hidden=U;let X=G.value??[],ce=e.getState().errors,ee=new Set(X.map(D=>D.key));for(let[D,C]of E)ee.has(D)||(C.element.remove(),E.delete(D));X.forEach((D,C)=>{let B=E.get(D.key);B&&B.kind!==gt(l,D.values)&&(B.element.remove(),B=void 0),B||(B=ne(D),E.set(D.key,B)),g.children[C]!==B.element&&g.insertBefore(B.element,g.children[C]??null),B.remove.hidden=U,U?B.remove.remove():B.remove.isConnected||B.element.lastElementChild?.append(B.remove);for(let oe of B.cells){let xe=ce[`${t}.${D.key}.${oe.name}`];oe.error.hidden=!xe,oe.error.textContent=xe??"",oe.widget.update({value:D.values[oe.name],values:D.values,readonly:U||oe.def.readonly===!0,required:oe.def.required===!0,invalid:!!xe})}});for(let[D,C]of _){let B=X.filter(oe=>!gt(l,oe.values)).reduce((oe,xe)=>oe+Number(xe.values[D]??0),0);C.textContent=ai(l.fields[D],B,X[0]?.values??{},a)}Z&&E.has(Z)&&(E.get(Z)?.cells[0]?.widget.focus(),Z=null)}}};function lm(e){return new Promise((t,r)=>{let n=new FileReader;n.onload=()=>{let o=String(n.result??"");t({name:e.name,type:e.type,size:e.size,data:o.slice(o.indexOf(",")+1)})},n.onerror=()=>r(n.error),n.readAsDataURL(e)})}function Ad(e){return({form:t,name:r,field:n,id:o,document:i,labels:s=ve.en})=>{let a=i.createElement("div");a.className=`fd-file fd-file-${e}`;let c=i.createElement("input");c.type="file",c.id=o,c.className="fd-sr-only";let l=n.type==="binary"?n.accept:e==="image"?["image/*"]:void 0;l&&(c.accept=l.join(","));let d=i.createElement("img");d.className="fd-image-preview",d.alt=n.label,d.hidden=!0;let u=i.createElement("label");u.className=e==="image"?"fd-file-pick fd-image-pick":"fd-file-pick",u.htmlFor=o;let h=i.createElement("span");h.className="fd-button",h.textContent=e==="image"?s.uploadImage:s.upload;let p=i.createElement("span");p.className="fd-help",p.textContent=s.dropHere,u.append(h,p);let f=i.createElement("div");f.className="fd-file-chosen";let m=i.createElement("span");m.className="fd-file-name";let b=i.createElement("button");b.type="button",b.className="fd-button fd-button-link",b.textContent=s.replace,b.addEventListener("click",()=>c.click());let y=i.createElement("button");y.type="button",y.className="fd-button fd-button-link",y.textContent=s.removeFile,y.addEventListener("click",()=>t.setValue(r,null)),f.append(m,b,y),a.append(c,...e==="image"?[d]:[],u,f);let g=!1,$=async _=>{!_||g||t.setValue(r,await lm(_))};return c.addEventListener("change",()=>{$(c.files?.[0]),c.value=""}),a.addEventListener("dragover",_=>{g||(_.preventDefault(),a.classList.add("fd-dragging"))}),a.addEventListener("dragleave",()=>a.classList.remove("fd-dragging")),a.addEventListener("drop",_=>{_.preventDefault(),a.classList.remove("fd-dragging"),$(_.dataTransfer?.files?.[0])}),{element:a,focus:()=>(u.hidden?b:c).focus(),update(_){g=_.readonly;let z=_.value;if(u.hidden=!!z||g,f.hidden=!z,b.hidden=y.hidden=g,c.disabled=g,c.setAttribute("aria-invalid",String(_.invalid)),_.describedBy&&c.setAttribute("aria-describedby",_.describedBy),m.textContent=z?`${z.name} \xB7 ${mr(z.size)}`:"",e==="image"){let L=z?z.data?`data:${z.type};base64,${z.data}`:z.url??"":"";d.hidden=!L,d.getAttribute("src")!==L&&(L?d.src=L:d.removeAttribute("src"))}}}}}var li=Ad("binary"),di=Ad("image");var Od=new Map;function Rd(e,t){let r=Od.get(t);return r||(r=new Intl.NumberFormat(t,{style:"percent",maximumFractionDigits:0,numberingSystem:"latn"}),Od.set(t,r)),r.format(e/100)}var gr=e=>{let{node:t,id:r,document:n,locale:o="en"}=e,i=t.options??{},s=typeof i.min=="number"?i.min:0,a=typeof i.max=="number"?i.max:100,c=typeof i.maxField=="string"?i.maxField:null,l=typeof i.color=="string"?i.color:"auto",d=i.showPercent!==!1,u=n.createElement("div");u.className="fd-progressbar",u.setAttribute("role","progressbar");let h=n.createElement("div");h.className="fd-progressbar-fill";let p=n.createElement("span");p.className="fd-progressbar-text",u.append(h,p);let f=null,m=u;return i.editable===!0?(f=Ge({...e,node:{...t,widget:void 0}}),u.setAttribute("aria-hidden","true"),m=n.createElement("div"),m.className="fd-progressbar-edit",m.append(u,f.element)):u.id=r,{element:m,focus:()=>f?.focus(),update(b){let y=typeof b.value=="number"?b.value:0,g=c?Number(b.values[c]??0):a,$=g>s?Math.min(100,Math.max(0,(y-s)/(g-s)*100)):0,_=Math.round($*10)/10;h.style.width=`${_}%`,u.setAttribute("aria-valuenow",String(y)),u.setAttribute("aria-valuemin",String(s)),u.setAttribute("aria-valuemax",String(g)),u.setAttribute("aria-valuetext",Rd($,o)),p.textContent=d?Rd($,o):"",u.dataset.tone=l!=="auto"?l:$<30?"danger":$<70?"warning":"success",f?.update(b)}}};function Td(e){return e==null?"":typeof e=="object"&&"label"in e?e.label:String(e)}var br=({field:e,node:t,id:r,document:n,locale:o="en"})=>{let i=t.options??{},s=d=>typeof i[d]=="string"?i[d]:"",a=d=>typeof i[d]=="string"?i[d]:null,c=e.type==="integer"?0:e.type==="float"||e.type==="monetary"?e.digits?.[1]??2:null,l=n.createElement("output");return l.id=r,l.className="fd-value-text",{element:l,focus:()=>{},update({value:d,values:u}){if(d==null||d===""){l.textContent="";return}let h=c!==null&&typeof d=="number"?Et(d,c,o):fn(d,e),p=a("prefixField"),f=a("suffixField"),m=p?Td(u[p]):s("prefix"),b=f?Td(u[f]):s("suffix");l.textContent=[m,h,b].filter(y=>y!=="").join(" ")}}};var pn=({form:e,name:t,field:r,node:n,id:o,document:i})=>{let s=n.options??{},a=s.clickable===!0,c=Array.isArray(s.visibleStates)?s.visibleStates:null,l=i.createElement("ol");l.className="fd-statusbar",l.id=o,l.setAttribute("aria-label",r.label);let d=m=>m&&typeof m=="object"&&"id"in m?`id:${String(m.id)}`:`v:${String(m)}`,u=r.type==="selection"?r.options.map(m=>({key:d(m.value),label:m.label,value:m.value})):[],h=r.type==="selection",p={value:void 0,readonly:!1};function f(){let{value:m,readonly:b}=p,y=m==null?null:d(m),g=u.filter($=>!c||c.some(_=>d(_)===$.key)||$.key===y);y&&!g.some($=>$.key===y)&&m&&typeof m=="object"&&(g=[...g,{key:y,label:m.label,value:m}]),l.replaceChildren(...g.map($=>{let _=i.createElement("span");_.textContent=$.label;let z=i.createElement(a?"button":"span");z instanceof HTMLButtonElement&&(z.type="button",z.disabled=b,z.addEventListener("click",()=>e.setValue(t,$.value))),z.append(_),$.key===y&&z.setAttribute("aria-current","step");let L=i.createElement("li");return L.append(z),L}))}return{element:l,focus:()=>l.querySelector("button:not([disabled])")?.focus(),update(m){p={value:m.value,readonly:m.readonly},f(),h||(h=!0,e.search(t,"",20).then(b=>{u=b.map(y=>({key:d(y),label:y.label,value:y})),f()}).catch(()=>{}))}}};function Zd(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()));t.setUTCDate(t.getUTCDate()+4-(t.getUTCDay()||7));let r=Date.UTC(t.getUTCFullYear(),0,1);return Math.ceil(((t.getTime()-r)/864e5+1)/7)}var Id=e=>String(e).padStart(2,"0"),ui=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),Qe=(e,t)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+t);function mn(e,t){let r=new Date(e.getFullYear(),e.getMonth()+t+1,0).getDate();return new Date(e.getFullYear(),e.getMonth()+t,Math.min(e.getDate(),r))}function fi(e,t){if(typeof t!="string"||!t)return null;if(e==="date"){let n=/^(\d{4})-(\d{2})-(\d{2})/.exec(t);return n?new Date(Number(n[1]),Number(n[2])-1,Number(n[3])):null}let r=new Date(t);return Number.isNaN(r.getTime())?null:r}function hn(e,t,r){let{form:n,name:o,id:i,document:s,locale:a="en"}=t,c=t.labels??ve.en,l=a==="en"?"en-GB":a,d=new Intl.DateTimeFormat(l,{month:"long",year:"numeric",numberingSystem:"latn"}),u=new Intl.DateTimeFormat(l,{weekday:"long",day:"numeric",month:"long",year:"numeric",numberingSystem:"latn"}),h=new Intl.DateTimeFormat(l,{weekday:"short"}),p=new Intl.DateTimeFormat(l,{weekday:"long"}),f=s.createElement("button");f.type="button",f.className="fd-calendar-button";let m="http://www.w3.org/2000/svg",b=s.createElementNS(m,"svg");b.setAttribute("viewBox","0 0 16 16"),b.setAttribute("aria-hidden","true");for(let[C,B]of[["rect",{x:"2",y:"3",width:"12",height:"11",rx:"1.5"}],["path",{d:"M2 6.5h12M5 1.5v3M11 1.5v3"}]]){let oe=s.createElementNS(m,C);for(let[xe,we]of Object.entries(B))oe.setAttribute(xe,we);b.append(oe)}f.append(b),f.setAttribute("aria-label",c.chooseDate),f.setAttribute("aria-haspopup","dialog"),f.setAttribute("aria-expanded","false"),f.setAttribute("aria-controls",`${i}-calendar`);let y=s.createElement("div");y.className="fd-calendar",y.id=`${i}-calendar`,y.setAttribute("role","dialog"),y.hidden=!0;let g=s.createElement("div");g.className="fd-calendar-head";let $=s.createElement("button");$.type="button",$.textContent="\u2039",$.setAttribute("aria-label",c.previousMonth);let _=s.createElement("span");_.className="fd-calendar-title",_.setAttribute("aria-live","polite");let z=s.createElement("button");z.type="button",z.textContent="\u203A",z.setAttribute("aria-label",c.nextMonth),g.append($,_,z);let L=s.createElement("table");L.className="fd-calendar-grid",L.setAttribute("role","grid"),y.append(g,L);let E=s.createElement("span");E.className="fd-date-pick",E.append(e.element,f,y);let Z=new Date,U=!1;function J(C){if(r==="date")n.setValue(o,`${C.getFullYear()}-${Id(C.getMonth()+1)}-${Id(C.getDate())}`);else{let B=fi("datetime",n.getState().values[o]),oe=new Date(C.getFullYear(),C.getMonth(),C.getDate(),B?.getHours()??0,B?.getMinutes()??0);n.setValue(o,oe.toISOString())}ee()}function ne(C){let B=fi(r,n.getState().values[o]),oe=new Date,xe=d.format(Z);_.textContent=xe,y.setAttribute("aria-label",xe);let we=new Date(Z.getFullYear(),Z.getMonth(),1),ye=Qe(we,-((we.getDay()+6)%7)),et=s.createElement("tr"),De=s.createElement("th");De.scope="col",De.textContent=c.weekShort,De.setAttribute("abbr",c.week),et.append(De);for(let x=0;x<7;x++){let k=Qe(ye,x),S=s.createElement("th");S.scope="col",S.textContent=h.format(k).replace(/\.$/,""),S.setAttribute("abbr",p.format(k)),et.append(S)}let yt=s.createElement("thead");yt.append(et);let Ye=s.createElement("tbody");for(let x=ye;x<=new Date(Z.getFullYear(),Z.getMonth()+1,0);x=Qe(x,7)){let k=s.createElement("tr"),S=s.createElement("th");S.scope="row",S.className="fd-week",S.textContent=String(Zd(x)),k.append(S);for(let N=0;N<7;N++){let P=Qe(x,N),M=s.createElement("td"),T=s.createElement("button");T.type="button",T.textContent=String(P.getDate()),T.setAttribute("aria-label",u.format(P)),T.tabIndex=ui(P,Z)?0:-1,P.getMonth()!==Z.getMonth()&&T.classList.add("fd-outside"),B&&ui(P,B)&&T.setAttribute("aria-selected","true"),ui(P,oe)&&T.setAttribute("aria-current","date"),T.disabled=U,T.addEventListener("click",()=>J(P)),T.addEventListener("keydown",be=>X(be,P)),M.append(T),k.append(M)}Ye.append(k)}L.replaceChildren(yt,Ye),C&&L.querySelector('button[tabindex="0"]')?.focus()}function G(C){Z=C,ne(!0)}function X(C,B){let oe={ArrowLeft:()=>Qe(B,-1),ArrowRight:()=>Qe(B,1),ArrowUp:()=>Qe(B,-7),ArrowDown:()=>Qe(B,7),PageUp:()=>mn(B,-1),PageDown:()=>mn(B,1),Home:()=>Qe(B,-((B.getDay()+6)%7)),End:()=>Qe(B,6-(B.getDay()+6)%7)};oe[C.key]?(C.preventDefault(),G(oe[C.key]())):(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),J(B))}function ce(){Z=fi(r,n.getState().values[o])??new Date,y.hidden=!1,f.setAttribute("aria-expanded","true"),ne(!0)}function ee(){y.hidden||(y.hidden=!0,f.setAttribute("aria-expanded","false"),f.focus())}f.addEventListener("click",()=>y.hidden?ce():ee()),$.addEventListener("click",()=>{Z=mn(Z,-1),ne(!1)}),z.addEventListener("click",()=>{Z=mn(Z,1),ne(!1)}),y.addEventListener("keydown",C=>{C.key==="Escape"&&(C.preventDefault(),C.stopPropagation(),ee())});let D=C=>{!y.hidden&&!E.contains(C.target)&&(y.hidden=!0,f.setAttribute("aria-expanded","false"))};return s.addEventListener("mousedown",D),{element:E,focus:()=>e.focus(),update(C){U=C.readonly,f.hidden=C.readonly,C.readonly&&(y.hidden=!0),e.update(C)},destroy(){s.removeEventListener("mousedown",D),e.destroy?.()}}}var dm=e=>{let t=e.replace(/_/g," ").trim();return t.charAt(0).toUpperCase()+t.slice(1)};function um(e,t){let r=dm(e);return typeof t=="boolean"?{name:e,label:r,type:"boolean"}:typeof t=="number"?{name:e,label:r,type:Number.isInteger(t)?"integer":"float"}:typeof t=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t)?{name:e,label:r,type:"date"}:{name:e,label:r,type:"char"}}var pi=e=>{let{form:t,name:r,field:n,node:o,id:i,document:s}=e,a=n.type==="properties"?n.definitions:void 0,c=()=>{let f=t.getState().values[r];return f&&typeof f=="object"&&!Array.isArray(f)?f:{}},l={...t,getState:()=>({...t.getState(),values:c()}),setValue:(f,m)=>t.setValue(r,{...c(),[f]:m})},d=s.createElement("div");d.className="fd-properties",d.setAttribute("role","group");let u=[],h="";function p(f){for(let m of u)m.widget.destroy?.();u=f.map(m=>{let b=`${i}-${m.name}`,y={type:m.type,label:m.label,...m.options?{options:m.options}:{}},g={type:"field",id:`${o.id}.${m.name}`,field:m.name},$=Ge({...e,form:l,name:m.name,field:y,node:g,id:b});return{definition:m,widget:$}}),d.replaceChildren(...u.map(({definition:m,widget:b})=>{let y=s.createElement("div");y.className="fd-property",y.dataset.type=m.type;let g=s.createElement("label");return g.htmlFor=`${i}-${m.name}`,g.textContent=m.label,y.append(g,b.element),y}))}return{element:d,focus:()=>u[0]?.widget.focus(),destroy:()=>u.forEach(f=>f.widget.destroy?.()),update(f){let m=c(),b=a??Object.keys(m).map(g=>um(g,m[g])),y=JSON.stringify(b);y!==h&&(h=y,p(b));for(let{definition:g,widget:$}of u)$.update({value:m[g.name]??null,values:m,readonly:f.readonly,required:!1,invalid:!1})}}};var fm=new Set(["P","BR","B","STRONG","I","EM","U","S","UL","OL","LI","A","H1","H2","H3","H4","BLOCKQUOTE","CODE","PRE","SPAN","DIV"]),pm=new Set(["SCRIPT","STYLE","IFRAME","OBJECT","EMBED","TEMPLATE","NOSCRIPT","SVG","MATH"]),mm=new Set(["P","DIV","H1","H2","H3","H4","LI","BLOCKQUOTE","PRE"]),hm=new Set(["left","center","right","justify","start","end"]);function mi(e,t=globalThis.document){let r=t.createElement("template");r.innerHTML=e;let n=i=>{for(let s of[...i.childNodes]){if(s.nodeType===Node.TEXT_NODE)continue;if(s.nodeType!==Node.ELEMENT_NODE){s.remove();continue}let a=s;if(pm.has(a.tagName)){a.remove();continue}if(n(a),!fm.has(a.tagName)){a.replaceWith(...a.childNodes);continue}let c=a.tagName==="A"?a.getAttribute("href"):null,l=mm.has(a.tagName)?a.style?.textAlign?.trim().toLowerCase():"";for(let d of[...a.attributes])a.removeAttribute(d.name);c&&/^(https?:|mailto:)/i.test(c.trim())&&a.setAttribute("href",c.trim()),l&&hm.has(l)&&a.setAttribute("style",`text-align: ${l};`)}};n(r.content);let o=t.createElement("div");return o.append(r.content),o.innerHTML}function Fd(e){let t=e.trim();return/^(https?:\/\/|mailto:)\S+$/i.test(t)?t:/^[^\s@:/]+@[^\s@:/]+\.[^\s@:/]+$/.test(t)?`mailto:${t}`:/^[\w-]+(\.[\w-]+)+([/?#]\S*)?$/.test(t)?`https://${t}`:null}var Cd=[["bold","bold","<b>B</b>"],["italic","italic","<i>I</i>"],["underline","underline","<u>U</u>"],["bulletList","insertUnorderedList",'<svg viewBox="0 0 16 16"><circle cx="3" cy="4" r="1.2"/><circle cx="3" cy="8" r="1.2"/><circle cx="3" cy="12" r="1.2"/><path d="M6 4h8M6 8h8M6 12h8"/></svg>'],["numberList","insertOrderedList",'<svg viewBox="0 0 16 16"><path d="M2.5 3h1v3M2 10.5c.5-.8 2-.8 2 .2 0 .8-2 1.3-2 2.3h2M6 4h8M6 8h8M6 12h8"/></svg>'],["alignLeft","justifyLeft",'<svg viewBox="0 0 16 16"><path d="M2 3.5h12M2 6.5h8M2 9.5h12M2 12.5h8"/></svg>'],["alignCenter","justifyCenter",'<svg viewBox="0 0 16 16"><path d="M2 3.5h12M4 6.5h8M2 9.5h12M4 12.5h8"/></svg>'],["alignRight","justifyRight",'<svg viewBox="0 0 16 16"><path d="M2 3.5h12M6 6.5h8M2 9.5h12M6 12.5h8"/></svg>'],["link","createLink",'<svg viewBox="0 0 16 16"><path d="M7 9a3 3 0 0 0 4.2 0l2.3-2.3a3 3 0 0 0-4.2-4.2L8.2 3.6M9 7a3 3 0 0 0-4.2 0L2.5 9.3a3 3 0 0 0 4.2 4.2l1.1-1.1"/></svg>']],hi=({form:e,name:t,node:r,id:n,document:o,labels:i=ve.en})=>{let s=o.createElement("div");s.id=n,s.className="fd-input fd-richtext",s.setAttribute("role","textbox"),s.setAttribute("aria-multiline","true"),s.setAttribute("contenteditable","true");let a=r.options?.toolbar!==!1,c="";s.addEventListener("input",()=>{let u=mi(s.innerHTML,o);c=u,e.setValue(t,u.trim()===""?null:u)}),s.addEventListener("blur",()=>{s.innerHTML!==c&&(s.innerHTML=c)});let l=a?gm(s,o,i):null,d=s;return l&&(d=o.createElement("div"),d.className="fd-richtext-box",d.setAttribute("role","group"),s.setAttribute("aria-labelledby",`${n}-label`),d.append(l.bar,l.linkRow,s)),{element:d,focus:()=>s.focus(),destroy:()=>l?.destroy(),update(u){l&&(l.bar.hidden=u.readonly,u.readonly&&(l.linkRow.hidden=!0));let h=mi(typeof u.value=="string"?u.value:"",o);(h!==c||o.activeElement!==s)&&(s.innerHTML!==h&&(s.innerHTML=h),c=h),s.setAttribute("contenteditable",String(!u.readonly)),s.setAttribute("aria-readonly",String(u.readonly)),s.setAttribute("aria-invalid",String(u.invalid)),u.describedBy&&s.setAttribute("aria-describedby",u.describedBy)}}};function gm(e,t,r){let n=t.createElement("div");n.className="fd-richtext-bar",n.setAttribute("role","toolbar"),n.setAttribute("aria-label",r.formatting);let o=null,i=()=>{e.focus();let m=t.getSelection();o&&m&&(m.removeAllRanges(),m.addRange(o))},s=(m,b)=>{i(),t.execCommand?.(m,!1,b)},a=t.createElement("select");a.className="fd-richtext-style",a.setAttribute("aria-label",r.textStyle);for(let[m,b]of[["p","paragraph"],["h2","heading"],["h3","subheading"]]){let y=t.createElement("option");y.value=m,y.textContent=r[b],a.append(y)}a.addEventListener("change",()=>s("formatBlock",`<${a.value}>`));let c=t.createElement("div");c.className="fd-link-row",c.hidden=!0;let l=t.createElement("input");l.className="fd-input",l.type="url",l.placeholder="https://",l.setAttribute("aria-label",r.linkAddress);let d=t.createElement("button");d.type="button",d.className="fd-button fd-link-apply",d.textContent=r.applyLink;let u=t.createElement("button");u.type="button",u.className="fd-button fd-button-link fd-link-remove",u.textContent=r.removeLink,c.append(l,d,u),d.addEventListener("click",()=>{let m=Fd(l.value);if(!m){l.setAttribute("aria-invalid","true");return}l.setAttribute("aria-invalid","false"),i(),t.execCommand?.("createLink",!1,m),c.hidden=!0}),u.addEventListener("click",()=>{i(),t.execCommand?.("unlink",!1),c.hidden=!0}),l.addEventListener("keydown",m=>{m.key==="Enter"?(m.preventDefault(),d.click()):m.key==="Escape"&&(m.preventDefault(),c.hidden=!0,i())});let h=Cd.map(([m,b,y])=>{let g=t.createElement("button");return g.type="button",g.className="fd-richtext-tool",g.setAttribute("aria-label",r[m]),g.title=r[m],g.innerHTML=y,g.querySelector("svg")?.setAttribute("aria-hidden","true"),["bold","italic","underline"].includes(b)&&g.setAttribute("aria-pressed","false"),g.addEventListener("mousedown",$=>$.preventDefault()),g.addEventListener("click",()=>{if(b!=="createLink")return s(b);c.hidden=!1,l.value="",l.focus()}),g});n.append(a,...h);let p=[a,...h];p.forEach((m,b)=>m.tabIndex=b===0?0:-1),n.addEventListener("keydown",m=>{if(m.key!=="ArrowRight"&&m.key!=="ArrowLeft")return;let b=p.indexOf(t.activeElement);if(b<0)return;let y=getComputedStyle(n).direction==="rtl",g=m.key==="ArrowRight"!==y?1:-1,$=p[(b+g+p.length)%p.length];m.preventDefault(),p.forEach(_=>_.tabIndex=_===$?0:-1),$.focus()});let f=()=>{let m=t.getSelection();if(!m||!m.rangeCount||!e.contains(m.anchorNode))return;o=m.getRangeAt(0).cloneRange();for(let y of h){let g=Cd[h.indexOf(y)][1];y.hasAttribute("aria-pressed")&&y.setAttribute("aria-pressed",String(t.queryCommandState?.(g)??!1))}let b=String(t.queryCommandValue?.("formatBlock")??"").toLowerCase().replace(/[<>]/g,"");a.value=b==="h2"||b==="h3"?b:"p"};return t.addEventListener("selectionchange",f),{bar:n,linkRow:c,destroy:()=>t.removeEventListener("selectionchange",f)}}var gi=({form:e,name:t,id:r,document:n,labels:o=ve.en})=>{let i=n.createElement("div");i.className="fd-json";let s=n.createElement("textarea");s.id=r,s.className="fd-input fd-textarea fd-code",s.spellcheck=!1;let a=n.createElement("div");return a.className="fd-cell-error",a.hidden=!0,i.append(s,a),s.addEventListener("input",()=>{if(s.value.trim()===""){a.hidden=!0,e.setValue(t,null);return}try{let c=JSON.parse(s.value);a.hidden=!0,e.setValue(t,c)}catch{a.hidden=!1,a.textContent=o.invalidJson}}),{element:i,focus:()=>s.focus(),update(c){if(n.activeElement!==s){let l=c.value===null||c.value===void 0?"":JSON.stringify(c.value,null,2);s.value!==l&&(s.value=l)}s.readOnly=c.readonly,s.setAttribute("aria-invalid",String(c.invalid||!a.hidden))}}};function Ge(e,t={}){let{field:r,node:n}=e,o=[n.widget?`${r.type}.${n.widget}`:null,r.type==="selection"&&r.multiple?"selection.checkboxes":null,r.type].filter(i=>i!==null);for(let i of o){let s=t[i]??Bd[i];if(s)return s(e)}return _m(e)}function $e(e,t,r={},...n){let o=e.createElement(t);for(let[i,s]of Object.entries(r))s!==void 0&&o.setAttribute(i,s);return o.append(...n),o}function ct(e,t){e.setAttribute("aria-invalid",String(t.invalid)),e.setAttribute("aria-required",String(t.required)),t.describedBy?e.setAttribute("aria-describedby",t.describedBy):e.removeAttribute("aria-describedby")}var bn=e=>e==null?"":String(e);function yr(e){return({form:t,name:r,field:n,node:o,id:i,document:s})=>{let a=$e(s,"input",{id:i,type:e,class:"fd-input",autocomplete:"off"});return n.type==="char"&&n.size!==void 0&&(a.maxLength=n.size),o.placeholder&&(a.placeholder=o.placeholder),a.addEventListener("input",()=>t.setValue(r,a.value===""?null:a.value)),{element:a,focus:()=>a.focus(),update(c){let l=bn(c.value);a.value!==l&&(a.value=l),a.readOnly=c.readonly,ct(a,c)}}}}var bm=({form:e,name:t,field:r,node:n,id:o,document:i})=>{let s=$e(i,"textarea",{id:o,class:"fd-input fd-textarea",rows:"3"});return r.type==="text"&&r.size!==void 0&&(s.maxLength=r.size),n.placeholder&&(s.placeholder=n.placeholder),s.addEventListener("input",()=>e.setValue(t,s.value===""?null:s.value)),{element:s,focus:()=>s.focus(),update(a){let c=bn(a.value);s.value!==c&&(s.value=c),s.readOnly=a.readonly,ct(s,a)}}},ym=/^-?(\d+\.?\d*|\.\d+)$/,xm=/^-?\.?$/,bi=e=>{let{form:t,name:r,field:n,node:o,id:i,document:s,locale:a="en"}=e,c=n.type==="integer",l=c?0:(n.type==="float"||n.type==="monetary"?n.digits?.[1]:void 0)??2,d=z=>typeof z=="number"?Et(z,l,a):bn(z),u=$e(s,"input",{id:i,type:"text",class:"fd-input fd-number-input",autocomplete:"off"});u.inputMode=c?"numeric":"decimal",o.placeholder&&(u.placeholder=o.placeholder);let h=z=>{let L=ri(z.trim(),a);if(L==="")return null;if(ym.test(L))return Number(L);if(!xm.test(L))return L};u.addEventListener("input",()=>{let z=h(u.value);z!==void 0&&t.setValue(r,z)}),u.addEventListener("blur",()=>{u.value=d(t.getState().values[r])});let p=o.options??{},f=n.type==="monetary"?n.currencyField:void 0,m=f?t.page.fields[f]:void 0,b=f&&m&&p.pickCurrency===!0?Ge({...e,name:f,field:m,node:{type:"field",id:`${o.id}.currency`,field:f},id:`${i}-currency`}):null;b&&m&&b.element.querySelector("input, select")?.setAttribute("aria-label",m.label),b?.element.matches("input, select")&&m&&b.element.setAttribute("aria-label",m.label);let y=n.type==="monetary"&&!b?$e(s,"span",{class:"fd-currency","aria-hidden":"true"}):null,g=b?.element??y,$=p.symbol==="after";return{element:g?$e(s,"span",{class:`fd-number${$?" fd-currency-after":""}${b?" fd-currency-picked":""}`},...$?[u,g]:[g,u]):u,focus:()=>u.focus(),update(z){let L=s.activeElement===u,E=h(u.value),Z=E===void 0||E===z.value;if(!(L&&Z)){let U=d(z.value);u.value!==U&&(u.value=U)}if(u.readOnly=z.readonly,ct(u,z),b&&f&&b.update({value:z.values[f],values:z.values,readonly:z.readonly,required:!1,invalid:!1}),y&&n.type==="monetary"){let U=n.currencyField?z.values[n.currencyField]:null;y.textContent=U&&typeof U=="object"&&"label"in U?U.label:typeof U=="string"?U:n.currency??""}}}};function Md(e){return({form:t,name:r,id:n,document:o})=>{let i=$e(o,"input",{id:n,type:"checkbox",class:e?"fd-switch":"fd-checkbox",role:e});return i.addEventListener("change",()=>t.setValue(r,i.checked)),{element:i,focus:()=>i.focus(),update(s){i.checked=s.value===!0,i.disabled=s.readonly,ct(i,s)}}}}function Vd(e){return e.type==="selection"?e.options:[]}var vm=({form:e,name:t,field:r,id:n,document:o})=>{let i=Vd(r),s=$e(o,"select",{id:n,class:"fd-input fd-select"},$e(o,"option",{value:""}));return i.forEach((a,c)=>s.append($e(o,"option",{value:String(c)},a.label))),s.addEventListener("change",()=>e.setValue(t,s.value===""?null:i[Number(s.value)].value)),{element:s,focus:()=>s.focus(),update(a){let c=i.findIndex(l=>l.value===a.value);s.value=c===-1?"":String(c),s.disabled=a.readonly,ct(s,a)}}};function Dd(e){return({form:t,name:r,field:n,id:o,document:i})=>{let s=Vd(n),a=$e(i,"div",{id:o,class:`fd-choices fd-choices-${e}`,role:e==="radio"?"radiogroup":"group"}),c=s.map((l,d)=>{let u=$e(i,"input",{type:e,name:o,value:String(d),id:`${o}-${d}`});return a.append($e(i,"label",{class:"fd-choice",for:`${o}-${d}`},u,$e(i,"span",{},l.label))),u});return a.addEventListener("change",()=>{if(e==="radio"){let l=c.findIndex(d=>d.checked);t.setValue(r,l===-1?null:s[l].value)}else t.setValue(r,s.filter((l,d)=>c[d].checked).map(l=>l.value))}),{element:a,focus:()=>(c.find(l=>l.checked)??c[0])?.focus(),update(l){let d=Array.isArray(l.value)?l.value:[l.value];c.forEach((u,h)=>{u.checked=d.includes(s[h].value),u.disabled=l.readonly}),ct(a,l)}}}}function jd(e){return({form:t,name:r,field:n,id:o,document:i})=>{let s="min"in n&&n.min!==void 0?n.min:e==="rating"?1:0,a="max"in n&&n.max!==void 0?n.max:e==="rating"?5:10,c=$e(i,"div",{id:o,class:`fd-points fd-${e}`,role:"radiogroup"}),l=[];for(let d=s;d<=a;d++){let u=$e(i,"button",{type:"button",role:"radio","aria-label":`${d} of ${a}`,"data-value":String(d)},e==="rating"?"\u2605":String(d));e==="scale"&&u.removeAttribute("aria-label"),u.addEventListener("click",()=>t.setValue(r,d)),l.push(u),c.append(u)}return c.addEventListener("keydown",d=>{let u=t.getState().values[r],h=typeof u=="number"?u:s-1,p=d.key==="ArrowRight"||d.key==="ArrowUp"?1:d.key==="ArrowLeft"||d.key==="ArrowDown"?-1:0;if(!p)return;d.preventDefault();let f=Math.min(a,Math.max(s,h+p));t.setValue(r,f),l[f-s]?.focus()}),{element:c,focus:()=>(l.find(d=>d.getAttribute("aria-checked")==="true")??l[0])?.focus(),update(d){let u=typeof d.value=="number"?d.value:null;l.forEach((h,p)=>{let f=s+p;h.setAttribute("aria-checked",String(f===u)),h.classList.toggle("fd-on",e==="rating"?u!==null&&f<=u:f===u),h.tabIndex=f===u||u===null&&p===0?0:-1,h.disabled=d.readonly}),ct(c,d)}}}}var wm=e=>{let{form:t,name:r,id:n,document:o,node:i}=e,s=$e(o,"input",{id:n,type:"date",class:"fd-input fd-date"});s.addEventListener("input",()=>t.setValue(r,s.value||null));let a={element:s,focus:()=>s.focus(),update(c){let l=bn(c.value);s.value!==l&&(s.value=l),s.readOnly=c.readonly,ct(s,c)}};return i.options?.weekNumbers===!0?hn(a,e,"date"):a},gn=e=>String(e).padStart(2,"0"),km=e=>{let{form:t,name:r,id:n,document:o,node:i}=e,s=$e(o,"input",{id:n,type:"datetime-local",class:"fd-input fd-datetime"}),a=l=>{if(typeof l!="string"||!l)return"";let d=new Date(l);return Number.isNaN(d.getTime())?"":`${d.getFullYear()}-${gn(d.getMonth()+1)}-${gn(d.getDate())}T${gn(d.getHours())}:${gn(d.getMinutes())}`};s.addEventListener("input",()=>{if(!s.value)return t.setValue(r,null);let l=new Date(s.value);Number.isNaN(l.getTime())||t.setValue(r,l.toISOString())});let c={element:s,focus:()=>s.focus(),update(l){let d=a(l.value);s.value!==d&&(s.value=d),s.readOnly=l.readonly,ct(s,l)}};return i.options?.weekNumbers===!0?hn(c,e,"datetime"):c};function _m({field:e,id:t,document:r}){let n=$e(r,"span",{id:t,class:"fd-pending","data-fd-pending":e.type});return{element:n,focus:()=>{},update(o){n.textContent=fn(o.value,e)}}}function fn(e,t){if(e==null)return"";switch(t.type){case"many2one":case"reference":return e.label;case"many2many":return e.map(r=>r.label).join(", ");case"one2many":{let r=e.length;return`${r} ${r===1?"line":"lines"}`}case"binary":case"image":return e.name;case"html":return String(e).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim();default:return typeof e=="object"?JSON.stringify(e):String(e)}}var Bd={char:yr("text"),"char.email":yr("email"),"char.phone":yr("tel"),"char.url":yr("url"),"char.password":yr("password"),"char.tags":oi,text:bm,integer:bi,float:bi,monetary:bi,"integer.rating":jd("rating"),"integer.scale":jd("scale"),"integer.progressbar":gr,"integer.label":br,"float.label":br,"monetary.label":br,"float.progressbar":gr,"monetary.progressbar":gr,boolean:Md(),"boolean.toggle":Md("switch"),selection:vm,"selection.radio":Dd("radio"),"selection.checkboxes":Dd("checkbox"),"selection.statusbar":pn,date:wm,datetime:km,many2one:ni,"many2one.statusbar":pn,many2many:un,"many2many.tags":un,"many2many.checkboxes":ii,reference:si,one2many:ci,binary:li,image:di,html:hi,json:gi,properties:pi};var Ud=`
|
|
59
59
|
/* .fd-theme carries the same tokens for things outside a form, such as a dialog over the page. */
|
|
60
60
|
.fd-form, .fd-theme {
|
|
61
61
|
--fd-font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Arabic", sans-serif;
|
|
@@ -122,6 +122,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
122
122
|
.fd-page-title { font-size: 22px; font-weight: 650; margin: 0; line-height: 1.25; }
|
|
123
123
|
.fd-page-description { color: var(--fd-muted); margin: 0; }
|
|
124
124
|
|
|
125
|
+
/* ---- how wide a page goes, and Save above its sections ----------------------- */
|
|
126
|
+
.fd-form[data-max-width="narrow"] { --fd-page-max: 640px; }
|
|
127
|
+
.fd-form[data-max-width="medium"] { --fd-page-max: 900px; }
|
|
128
|
+
.fd-form[data-max-width="wide"] { --fd-page-max: 1180px; }
|
|
129
|
+
.fd-form[data-max-width="full"] { --fd-page-max: none; }
|
|
130
|
+
.fd-form[data-max-width] > .fd-content:not(:has(> .fd-sheet-page)) { max-width: var(--fd-page-max); margin-inline: auto; }
|
|
131
|
+
.fd-actions.fd-actions-top { margin-block-start: 0; padding-block-end: 14px; margin-block-end: 18px; border-block-end: 1px solid var(--fd-border); }
|
|
132
|
+
|
|
133
|
+
/* ---- icons: drawn with lines in the colour of the words beside them ------------ */
|
|
134
|
+
.fd-icon { width: 1.15em; height: 1.15em; flex: none; vertical-align: -0.2em; }
|
|
135
|
+
.fd-section-title .fd-icon, .fd-tab .fd-icon, .fd-button .fd-icon, .fd-step-title .fd-icon { margin-inline-end: 0.4em; }
|
|
136
|
+
.fd-section-title .fd-icon { color: var(--fd-muted); }
|
|
137
|
+
|
|
125
138
|
/* ---- fields ---------------------------------------------------------------- */
|
|
126
139
|
.fd-grid {
|
|
127
140
|
display: grid;
|
|
@@ -157,12 +170,21 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
157
170
|
@container (max-width: 760px) {
|
|
158
171
|
.fd-form[data-fd-skin="underline"] .fd-grid { grid-template-columns: minmax(0, 1fr); }
|
|
159
172
|
.fd-form[data-fd-skin="underline"] .fd-field { grid-column: auto; }
|
|
173
|
+
/* A section that says how many columns it keeps here keeps them, in either skin. */
|
|
174
|
+
.fd-form .fd-grid[data-columns-medium] { grid-template-columns: repeat(var(--fd-columns-medium), minmax(0, 1fr)); }
|
|
175
|
+
.fd-form .fd-grid[data-columns-medium] > .fd-field { grid-column: span min(var(--fd-span, 1), var(--fd-columns-medium)); }
|
|
176
|
+
/* Kept side by side here, the underline skin's fields have no room for a label beside: it goes above. */
|
|
177
|
+
.fd-form[data-fd-skin="underline"] .fd-grid[data-columns-medium]:not([data-columns-medium="1"]) .fd-field { grid-template-columns: minmax(0, 1fr); }
|
|
178
|
+
.fd-form[data-fd-skin="underline"] .fd-grid[data-columns-medium]:not([data-columns-medium="1"]) .fd-field > * { grid-column: 1 !important; }
|
|
160
179
|
}
|
|
161
180
|
@container (max-width: 520px) {
|
|
162
181
|
.fd-grid { grid-template-columns: minmax(0, 1fr); }
|
|
163
182
|
.fd-field { grid-column: auto; }
|
|
164
183
|
.fd-form[data-fd-skin="underline"] .fd-field { grid-template-columns: minmax(0, 1fr); }
|
|
165
184
|
.fd-form[data-fd-skin="underline"] .fd-field > * { grid-column: 1 !important; }
|
|
185
|
+
/* The narrow count, or one column when only the medium one was given. */
|
|
186
|
+
.fd-form .fd-grid[data-columns-medium], .fd-form .fd-grid[data-columns-narrow] { grid-template-columns: repeat(var(--fd-columns-narrow, 1), minmax(0, 1fr)); }
|
|
187
|
+
.fd-form .fd-grid[data-columns-medium] > .fd-field, .fd-form .fd-grid[data-columns-narrow] > .fd-field { grid-column: span min(var(--fd-span, 1), var(--fd-columns-narrow, 1)); }
|
|
166
188
|
}
|
|
167
189
|
|
|
168
190
|
/* ---- inputs ---------------------------------------------------------------- */
|
|
@@ -391,7 +413,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
391
413
|
.fd-statusbar [aria-current="step"] { background: var(--fd-accent); color: var(--fd-accent-text); font-weight: 600; }
|
|
392
414
|
[dir="rtl"] .fd-statusbar button, [dir="rtl"] .fd-statusbar span { transform: scaleX(-1); }
|
|
393
415
|
[dir="rtl"] .fd-statusbar button > *, [dir="rtl"] .fd-statusbar span > * { display: inline-block; transform: scaleX(-1); }
|
|
394
|
-
.fd-sheet-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: 1180px; margin: 16px auto 0; padding-inline: 16px; }
|
|
416
|
+
.fd-sheet-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: var(--fd-page-max, 1180px); margin: 16px auto 0; padding-inline: 16px; }
|
|
417
|
+
/* Save and Discard closing the sheet, when the page puts them at its foot. */
|
|
418
|
+
.fd-sheet-foot { margin: 4px -28px -28px; padding: 12px 28px; border-block-start: 1px solid var(--fd-border); border-end-start-radius: inherit; border-end-end-radius: inherit; }
|
|
395
419
|
.fd-sheet-layout.fd-has-side { grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); }
|
|
396
420
|
@container (max-width: 860px) { .fd-sheet-layout.fd-has-side { grid-template-columns: minmax(0, 1fr); } }
|
|
397
421
|
.fd-card {
|
|
@@ -409,7 +433,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
409
433
|
.fd-ribbon.fd-tone-success { background: var(--fd-success); }
|
|
410
434
|
.fd-ribbon.fd-tone-warning { background: #d97706; }
|
|
411
435
|
.fd-ribbon.fd-tone-info { background: var(--fd-info); }
|
|
412
|
-
.fd-alert { padding: 10px 14px; border-radius: var(--fd-control-radius); border: 1px solid; font-size: 13.5px; }
|
|
436
|
+
.fd-alert { padding: 10px 14px; border-radius: var(--fd-control-radius); border: 1px solid; font-size: 13.5px; display: flex; align-items: flex-start; gap: 10px; }
|
|
437
|
+
.fd-alert-message { flex: 1 1 auto; min-width: 0; }
|
|
438
|
+
.fd-alert-close { border: none; background: none; color: inherit; cursor: pointer; font: inherit; font-size: 18px; line-height: 1; padding: 0 4px; border-radius: 4px; opacity: 0.75; }
|
|
439
|
+
.fd-alert-close:hover { opacity: 1; }
|
|
440
|
+
.fd-alert-close:focus-visible { outline: 2px solid var(--fd-focus); opacity: 1; }
|
|
413
441
|
.fd-alert.fd-tone-warning { background: var(--fd-warning-soft); border-color: #f0c47a; color: var(--fd-warning); }
|
|
414
442
|
.fd-alert.fd-tone-danger { background: var(--fd-error-soft); border-color: #f1a7a7; color: var(--fd-error); }
|
|
415
443
|
.fd-alert.fd-tone-success { background: var(--fd-success-soft); border-color: #a7d7ab; color: var(--fd-success); }
|
|
@@ -423,6 +451,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
423
451
|
padding: 8px 18px; display: grid; justify-items: start; line-height: 1.2; color: var(--fd-text); min-width: 120px;
|
|
424
452
|
}
|
|
425
453
|
.fd-stat:hover { background: var(--fd-page); }
|
|
454
|
+
.fd-stat:has(> .fd-icon) { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 10px; }
|
|
455
|
+
.fd-stat > .fd-icon { width: 22px; height: 22px; color: var(--fd-muted); }
|
|
456
|
+
.fd-stat-words { display: grid; justify-items: start; }
|
|
426
457
|
.fd-stat-value { font-weight: 700; font-size: 15px; color: var(--fd-accent); font-variant-numeric: tabular-nums; }
|
|
427
458
|
.fd-stat-label { font-size: 12.5px; color: var(--fd-muted); }
|
|
428
459
|
.fd-title-row { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; }
|
|
@@ -443,10 +474,32 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
443
474
|
.fd-avatar .fd-file-name { display: none; }
|
|
444
475
|
.fd-avatar .fd-file { justify-items: center; gap: 2px; padding: 0; }
|
|
445
476
|
.fd-avatar .fd-file-chosen { gap: 2px 8px; justify-content: center; font-size: 12.5px; }
|
|
446
|
-
|
|
447
|
-
.fd-
|
|
448
|
-
.fd-form[data-fd-skin="underline"] .fd-title .fd-field
|
|
449
|
-
.fd-
|
|
477
|
+
/* The title and subtitle themselves: big, their labels only for screen readers. */
|
|
478
|
+
.fd-title > .fd-field .fd-input { font-size: 24px; font-weight: 600; min-height: 40px; }
|
|
479
|
+
.fd-form[data-fd-skin="underline"] .fd-title > .fd-field { grid-template-columns: minmax(0, 1fr); }
|
|
480
|
+
.fd-form[data-fd-skin="underline"] .fd-title > .fd-field > * { grid-column: 1; }
|
|
481
|
+
.fd-title > .fd-field > .fd-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
|
|
482
|
+
/* Fields over and under the title: one row, each label beside its control. */
|
|
483
|
+
.fd-title-above, .fd-title-below { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 24px; }
|
|
484
|
+
.fd-title-above { margin-block-end: 4px; }
|
|
485
|
+
.fd-title-below { margin-block-start: 6px; }
|
|
486
|
+
.fd-form .fd-title-above > .fd-field, .fd-form .fd-title-below > .fd-field { display: flex; align-items: center; gap: 8px; grid-template-columns: none; }
|
|
487
|
+
.fd-form .fd-title-above > .fd-field > *, .fd-form .fd-title-below > .fd-field > * { grid-column: auto !important; }
|
|
488
|
+
.fd-title-above .fd-label:empty, .fd-title-below .fd-label:empty { display: none; }
|
|
489
|
+
/* A choice over the title, such as Individual or Company, speaks for itself: its label is for screen readers. */
|
|
490
|
+
.fd-title-above > .fd-field > .fd-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
|
|
491
|
+
.fd-title-statusbar { display: flex; }
|
|
492
|
+
/* Badges over the title. */
|
|
493
|
+
.fd-badges { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
494
|
+
.fd-badge {
|
|
495
|
+
display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; line-height: 1; padding: 5px 10px;
|
|
496
|
+
border-radius: 999px; border: 1px solid var(--fd-border); background: var(--fd-page); color: var(--fd-muted);
|
|
497
|
+
}
|
|
498
|
+
.fd-badge .fd-icon { width: 13px; height: 13px; }
|
|
499
|
+
.fd-badge.fd-tone-info { background: var(--fd-info-soft); border-color: #a9c8ef; color: var(--fd-info); }
|
|
500
|
+
.fd-badge.fd-tone-success { background: var(--fd-success-soft); border-color: #a7d7ab; color: var(--fd-success); }
|
|
501
|
+
.fd-badge.fd-tone-warning { background: var(--fd-warning-soft); border-color: #f0c47a; color: var(--fd-warning); }
|
|
502
|
+
.fd-badge.fd-tone-danger { background: var(--fd-error-soft); border-color: #f1a7a7; color: var(--fd-error); }
|
|
450
503
|
.fd-side { display: grid; gap: 12px; align-content: start; min-width: 0; }
|
|
451
504
|
|
|
452
505
|
/* ---- wizard -------------------------------------------------------------- */
|
|
@@ -505,6 +558,26 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
505
558
|
.fd-step { display: grid; gap: 18px; }
|
|
506
559
|
.fd-step-title { font-size: 18px; font-weight: 650; margin: 0; }
|
|
507
560
|
.fd-wizard-nav { display: flex; gap: 8px; justify-content: space-between; }
|
|
561
|
+
/* A clickable wizard's steps: numbered, the current one filled, those behind it ticked. */
|
|
562
|
+
.fd-steps-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; counter-reset: fd-step; }
|
|
563
|
+
.fd-steps-list > li { counter-increment: fd-step; }
|
|
564
|
+
.fd-step-link {
|
|
565
|
+
font: inherit; font-size: 13.5px; display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
|
|
566
|
+
border: 1px solid var(--fd-border); background: var(--fd-surface); color: var(--fd-muted); border-radius: 999px; padding: 4px 12px 4px 6px;
|
|
567
|
+
}
|
|
568
|
+
.fd-step-link::before {
|
|
569
|
+
content: counter(fd-step); display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
|
|
570
|
+
background: var(--fd-page); color: var(--fd-muted); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums;
|
|
571
|
+
}
|
|
572
|
+
.fd-step-link:hover { border-color: var(--fd-accent); color: var(--fd-text); }
|
|
573
|
+
.fd-step-link:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }
|
|
574
|
+
.fd-step-link.fd-step-done { color: var(--fd-text); }
|
|
575
|
+
.fd-step-link.fd-step-done::before { content: "\u2713"; background: var(--fd-accent-soft); color: var(--fd-accent); }
|
|
576
|
+
/* Skipped is not done: no tick, no colour. */
|
|
577
|
+
.fd-step-link.fd-step-skipped { border-style: dashed; color: var(--fd-muted); }
|
|
578
|
+
.fd-step-link.fd-step-skipped::before { content: "\u2013"; background: var(--fd-page); color: var(--fd-muted); }
|
|
579
|
+
.fd-step-link[aria-current="step"] { border-color: var(--fd-accent); color: var(--fd-accent); font-weight: 600; }
|
|
580
|
+
.fd-step-link[aria-current="step"]::before { content: counter(fd-step); background: var(--fd-accent); color: var(--fd-accent-text); }
|
|
508
581
|
.fd-wizard-nav .fd-spacer { flex: 1; }
|
|
509
582
|
|
|
510
583
|
/* ---- text, status, dialog ------------------------------------------------- */
|
|
@@ -557,7 +630,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
557
630
|
.fd-form-dialog-body:not(:has(.fd-sheet-layout)) { background: var(--fd-surface); padding: 16px 20px 20px; }
|
|
558
631
|
.fd-form-dialog-foot { padding: 12px 16px; border-block-start: 1px solid var(--fd-border); background: var(--fd-surface); margin: 0; }
|
|
559
632
|
@media (prefers-reduced-motion: reduce) { .fd-form *, .fd-form *::before, .fd-form *::after { transition: none !important; } }
|
|
560
|
-
`,Tu="fieldia-styles";function ai(e){if(e.getElementById(Tu))return;let t=e.createElement("style");t.id=Tu,t.textContent=Zu,(e.head??e.documentElement).append(t)}function ci(e){let t=()=>{try{return e??globalThis.localStorage??null}catch{return null}};return{get(r){try{let n=t()?.getItem(`fieldia:${r}`);return n==null?null:JSON.parse(n)}catch{return null}},set(r,n){try{t()?.setItem(`fieldia:${r}`,JSON.stringify(n))}catch{}}}}function pm(){let e=new Map;return{get:t=>e.has(t)?Iu(e.get(t)):null,set:(t,r)=>{e.set(t,Iu(r))}}}var Iu=e=>JSON.parse(JSON.stringify(e));var Fu=0,mm='button, [href], input, select, textarea, [contenteditable="true"], [tabindex]:not([tabindex="-1"])';function un(e){let t=e.container?.ownerDocument??document,r=e.container??t.body,n=t.activeElement instanceof t.defaultView.HTMLElement?t.activeElement:null,o={...Ft[e.locale??"en"],...e.labels},i=`fd-dialog-${++Fu}`,s=(g,S={},z)=>{let _=t.createElement(g);for(let[E,L]of Object.entries(S))_.setAttribute(E,L);return z!==void 0&&(_.textContent=z),_},a=s("h2",{id:`${i}-title`,class:"fd-form-dialog-title"},e.title),c=s("button",{type:"button",class:"fd-dialog-close","aria-label":o.close},"\xD7"),l=s("div",{class:"fd-form-dialog-body"}),u=s("button",{type:"button",class:"fd-button"},o.discard),d=s("button",{type:"button",class:"fd-button fd-button-primary"},o.saveClose),h=s("div",{class:`fd-theme fd-form-dialog fd-size-${e.size??"medium"}`,"data-fd-skin":e.skin??"underline",role:"dialog","aria-modal":"true","aria-labelledby":a.id,tabindex:"-1"});e.dir&&h.setAttribute("dir",e.dir),h.append(s("div",{class:"fd-form-dialog-head"}),l,s("div",{class:"fd-actions fd-actions-end fd-form-dialog-foot"})),h.firstElementChild?.append(a,c),h.lastElementChild?.append(u,d);let p=s("div",{class:"fd-dialog-backdrop fd-form-dialog-backdrop"});p.append(h),r.append(p);let f=ui(l,{...e,showActions:!1}),m=!1;e.recompute&&hm(f.form,e.page.fields,e.recompute,()=>m);let b=()=>[...h.querySelectorAll(mm)].filter(g=>!g.closest("[hidden], [inert]")&&!g.disabled),y=()=>l.querySelector('input:not([type="hidden"]), select, textarea, [contenteditable="true"]');return(y()??h).focus(),f.form.settled().then(()=>{(t.activeElement===h||!h.contains(t.activeElement))&&y()?.focus()}),new Promise(g=>{let S=z=>{if(m)return;m=!0;let _=f.form.getState(),E={saved:z,recordId:_.recordId??null,values:_.values};f.destroy(),p.remove(),n?.focus(),g(E)};d.addEventListener("click",async()=>{d.disabled=!0;let z=e.mode==="values"?f.check():await f.save();d.disabled=!1,z&&S(!0)}),u.addEventListener("click",()=>S(!1)),c.addEventListener("click",()=>S(!1)),h.addEventListener("keydown",z=>{if(!z.defaultPrevented){if(z.key==="Escape")z.preventDefault(),S(!1);else if(z.key==="Tab"){let _=b();if(!_.length)return;let E=_[0],L=_[_.length-1];z.shiftKey&&t.activeElement===E?(z.preventDefault(),L.focus()):!z.shiftKey&&t.activeElement===L&&(z.preventDefault(),E.focus())}}})})}function hm(e,t,r,n){let o=JSON.stringify(e.getState().values),i=!1;e.subscribe(()=>{let s=e.getState().values,a=JSON.stringify(s);i||a===o||(o=a,r(s).then(c=>{if(!(n()||JSON.stringify(e.getState().values)!==a)){i=!0;for(let[l,u]of Object.entries(c))l in t&&JSON.stringify(s[l]??null)!==JSON.stringify(u??null)&&e.setValue(l,u);i=!1,o=JSON.stringify(e.getState().values)}},()=>{}))})}function li(e){let t=e.container?.ownerDocument??document,r=e.container??t.body,n=t.activeElement instanceof t.defaultView.HTMLElement?t.activeElement:null,o=Ft[e.locale??"en"],i=xe[e.locale??"en"],s=`fd-dialog-${++Fu}`,a=(g,S={},z)=>{let _=t.createElement(g);for(let[E,L]of Object.entries(S))_.setAttribute(E,L);return z!==void 0&&(_.textContent=z),_},c=a("h2",{id:`${s}-title`,class:"fd-form-dialog-title"},e.title),l=a("button",{type:"button",class:"fd-dialog-close","aria-label":o.close},"\xD7"),u=a("input",{type:"search",class:"fd-input","aria-label":i.search,placeholder:i.search,"aria-controls":`${s}-list`,autocomplete:"off"}),d=a("ul",{id:`${s}-list`,class:"fd-search-list",role:"listbox","aria-labelledby":c.id}),h=a("button",{type:"button",class:"fd-button"},o.cancel),p=a("div",{class:"fd-theme fd-form-dialog fd-search-dialog fd-size-small","data-fd-skin":e.skin??"underline",role:"dialog","aria-modal":"true","aria-labelledby":c.id});e.dir&&p.setAttribute("dir",e.dir);let f=a("div",{class:"fd-form-dialog-head"});f.append(c,l);let m=a("div",{class:"fd-form-dialog-body fd-search-body"});m.append(u,d);let b=a("div",{class:"fd-actions fd-actions-end fd-form-dialog-foot"});b.append(h),p.append(f,m,b);let y=a("div",{class:"fd-dialog-backdrop fd-form-dialog-backdrop"});return y.append(p),r.append(y),u.focus(),new Promise(g=>{let S=[],z=-1,_=0,E,L=W=>{clearTimeout(E),_++,y.remove(),n?.focus(),g(W)},T=()=>{d.replaceChildren(...S.map((W,ne)=>{let Y=a("li",{id:`${s}-option-${ne}`,role:"option",class:`fd-option${ne===z?" fd-active":""}`,"aria-selected":String(ne===z)},W.label);return Y.addEventListener("click",()=>L(W)),Y})),S.length||d.append(a("li",{class:"fd-empty"},i.noResults)),z>=0?u.setAttribute("aria-activedescendant",`${s}-option-${z}`):u.removeAttribute("aria-activedescendant")},U=()=>{clearTimeout(E);let W=++_;E=setTimeout(async()=>{let ne=await e.search(u.value,80).catch(()=>[]);W===_&&(S=ne,z=-1,T())},180)};u.addEventListener("input",U),u.addEventListener("keydown",W=>{if(W.key==="ArrowDown"||W.key==="ArrowUp"){if(W.preventDefault(),!S.length)return;z=(z+(W.key==="ArrowDown"?1:-1)+S.length)%S.length,T(),d.children[z]?.scrollIntoView?.({block:"nearest"})}else W.key==="Enter"&&z>=0&&(W.preventDefault(),L(S[z]))}),h.addEventListener("click",()=>L(null)),l.addEventListener("click",()=>L(null)),p.addEventListener("keydown",W=>{W.key==="Escape"&&(W.preventDefault(),L(null))}),U()})}var Ft={en:{save:"Save",discard:"Discard",saving:"Saving\u2026",saved:"Saved",submit:"Submit",next:"Next",back:"Back",stepOf:"Step {n} of {total}",submitted:"Thank you. Your answers were sent.",submitAnother:"Submit another response",draftFound:"You have unsaved answers from {time}.",restore:"Restore",discardDraft:"Discard",ok:"OK",cancel:"Cancel",loading:"Loading\u2026",saveClose:"Save & Close",close:"Close"},ar:{save:"\u062D\u0641\u0638",discard:"\u062A\u062C\u0627\u0647\u0644",saving:"\u062C\u0627\u0631\u064D \u0627\u0644\u062D\u0641\u0638\u2026",saved:"\u062A\u0645 \u0627\u0644\u062D\u0641\u0638",submit:"\u0625\u0631\u0633\u0627\u0644",next:"\u0627\u0644\u062A\u0627\u0644\u064A",back:"\u0631\u062C\u0648\u0639",stepOf:"\u0627\u0644\u062E\u0637\u0648\u0629 {n} \u0645\u0646 {total}",submitted:"\u0634\u0643\u0631\u064B\u0627 \u0644\u0643. \u062A\u0645 \u0625\u0631\u0633\u0627\u0644 \u0625\u062C\u0627\u0628\u0627\u062A\u0643.",submitAnother:"\u0625\u0631\u0633\u0627\u0644 \u0625\u062C\u0627\u0628\u0629 \u0623\u062E\u0631\u0649",draftFound:"\u0644\u062F\u064A\u0643 \u0625\u062C\u0627\u0628\u0627\u062A \u063A\u064A\u0631 \u0645\u062D\u0641\u0648\u0638\u0629 \u0645\u0646 {time}.",restore:"\u0627\u0633\u062A\u0639\u0627\u062F\u0629",discardDraft:"\u062A\u062C\u0627\u0647\u0644",ok:"\u0645\u0648\u0627\u0641\u0642",cancel:"\u0625\u0644\u063A\u0627\u0621",loading:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644\u2026",saveClose:"\u062D\u0641\u0638 \u0648\u0625\u063A\u0644\u0627\u0642",close:"\u0625\u063A\u0644\u0627\u0642"},de:{save:"Speichern",discard:"Verwerfen",saving:"Wird gespeichert\u2026",saved:"Gespeichert",submit:"Absenden",next:"Weiter",back:"Zur\xFCck",stepOf:"Schritt {n} von {total}",submitted:"Vielen Dank. Ihre Antworten wurden gesendet.",submitAnother:"Weitere Antwort senden",draftFound:"Sie haben ungespeicherte Antworten vom {time}.",restore:"Wiederherstellen",discardDraft:"Verwerfen",ok:"OK",cancel:"Abbrechen",loading:"Wird geladen\u2026",saveClose:"Speichern und schlie\xDFen",close:"Schlie\xDFen"},fr:{save:"Enregistrer",discard:"Annuler les modifications",saving:"Enregistrement\u2026",saved:"Enregistr\xE9",submit:"Envoyer",next:"Suivant",back:"Retour",stepOf:"\xC9tape {n} sur {total}",submitted:"Merci. Vos r\xE9ponses ont \xE9t\xE9 envoy\xE9es.",submitAnother:"Envoyer une autre r\xE9ponse",draftFound:"Vous avez des r\xE9ponses non enregistr\xE9es du {time}.",restore:"Restaurer",discardDraft:"Ignorer",ok:"OK",cancel:"Annuler",loading:"Chargement\u2026",saveClose:"Enregistrer et fermer",close:"Fermer"}},gm=Ft.en,bm=0;function ui(e,t){let r=e.ownerDocument,n=Gr(t.page);if(!n.ok)throw new Error(`This page cannot be shown:
|
|
633
|
+
`,Wd="fieldia-styles";function yi(e){if(e.getElementById(Wd))return;let t=e.createElement("style");t.id=Wd,t.textContent=Ud,(e.head??e.documentElement).append(t)}function xi(e){let t=()=>{try{return e??globalThis.localStorage??null}catch{return null}};return{get(r){try{let n=t()?.getItem(`fieldia:${r}`);return n==null?null:JSON.parse(n)}catch{return null}},set(r,n){try{t()?.setItem(`fieldia:${r}`,JSON.stringify(n))}catch{}}}}function zm(){let e=new Map;return{get:t=>e.has(t)?Jd(e.get(t)):null,set:(t,r)=>{e.set(t,Jd(r))}}}var Jd=e=>JSON.parse(JSON.stringify(e));var Sm="http://www.w3.org/2000/svg",Hd={user:'<circle cx="12" cy="8" r="4"/><path d="M4 21c0-4 3.6-6 8-6s8 2 8 6"/>',users:'<circle cx="9" cy="8" r="3.5"/><path d="M2 20c0-3.5 3-5.5 7-5.5s7 2 7 5.5"/><circle cx="17" cy="9" r="2.5"/><path d="M16.5 14.5c3 0 5.5 1.6 5.5 4.5"/>',building:'<rect x="4" y="3" width="16" height="18" rx="1"/><path d="M9 21v-4h6v4M8 7h2M14 7h2M8 11h2M14 11h2"/>',home:'<path d="M3 11l9-7 9 7"/><path d="M5 10v10h14V10"/><path d="M10 20v-6h4v6"/>',phone:'<rect x="7" y="2" width="10" height="20" rx="2"/><path d="M11 18h2"/>',mail:'<rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/>',pin:'<path d="M12 21s-7-6.5-7-12a7 7 0 0 1 14 0c0 5.5-7 12-7 12z"/><circle cx="12" cy="9" r="2.5"/>',globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18"/>',calendar:'<rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18M8 3v4M16 3v4"/>',clock:'<circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 3"/>',money:'<rect x="2" y="6" width="20" height="12" rx="2"/><circle cx="12" cy="12" r="3"/><path d="M6 9.5v0M18 14.5v0"/>',cart:'<path d="M3 4h2l2.5 11h11L21 7H6.4"/><circle cx="9" cy="19.5" r="1.5"/><circle cx="17" cy="19.5" r="1.5"/>',box:'<path d="M12 3l8 4.5v9L12 21l-8-4.5v-9z"/><path d="M4 7.5l8 4.5 8-4.5M12 12v9"/>',truck:'<path d="M2 6h12v10H2zM14 9h4l3 3.5V16h-7"/><circle cx="6.5" cy="17.5" r="1.8"/><circle cx="17" cy="17.5" r="1.8"/>',receipt:'<path d="M6 3h12v18l-3-2-3 2-3-2-3 2z"/><path d="M9 8h6M9 12h6"/>',file:'<path d="M6 3h8l4 4v14H6z"/><path d="M14 3v4h4M9 12h6M9 16h6"/>',edit:'<path d="M4 20h4L19 9l-4-4L4 16z"/><path d="M13.5 6.5l4 4"/>',tag:'<path d="M3 12V4h8l10 10-8 8z"/><circle cx="7.5" cy="8" r="1.5"/>',star:'<path d="M12 3l2.8 6 6.2.6-4.7 4.2 1.4 6.2L12 16.8 6.3 20l1.4-6.2L3 9.6 9.2 9z"/>',lock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/>',check:'<path d="M5 12.5l4.5 4.5L19 7.5"/>',info:'<circle cx="12" cy="12" r="9"/><path d="M12 11v6M12 7.5v0"/>',warning:'<path d="M12 3l10 18H2z"/><path d="M12 10v5M12 18v0"/>',settings:'<path d="M4 6h9M17 6h3M4 12h3M11 12h9M4 18h11M19 18h1"/><circle cx="15" cy="6" r="2"/><circle cx="9" cy="12" r="2"/><circle cx="17" cy="18" r="2"/>',chart:'<path d="M3 20h18M6 20v-8M11 20V5M16 20v-6"/>',link:'<path d="M10 14a4 4 0 0 0 5.6 0l3-3a4 4 0 0 0-5.6-5.6l-1 1"/><path d="M14 10a4 4 0 0 0-5.6 0l-3 3a4 4 0 0 0 5.6 5.6l1-1"/>',list:'<path d="M8 6h12M8 12h12M8 18h12M4 6v0M4 12v0M4 18v0"/>',chat:'<path d="M4 5h16v11H9l-5 4z"/>'};function yn(e,t,r){let n=t?r?.[t]??Hd[t]:void 0;if(n===void 0)return null;let o=e.createElementNS(Sm,"svg");for(let[i,s]of Object.entries({viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false",class:"fd-icon","data-icon":t}))o.setAttribute(i,s);return o.innerHTML=n,o}var Kd=0,$m='button, [href], input, select, textarea, [contenteditable="true"], [tabindex]:not([tabindex="-1"])';function xn(e){let t=e.container?.ownerDocument??document,r=e.container??t.body,n=t.activeElement instanceof t.defaultView.HTMLElement?t.activeElement:null,o={...Bt[e.locale??"en"],...e.labels},i=`fd-dialog-${++Kd}`,s=(g,$={},_)=>{let z=t.createElement(g);for(let[L,E]of Object.entries($))z.setAttribute(L,E);return _!==void 0&&(z.textContent=_),z},a=s("h2",{id:`${i}-title`,class:"fd-form-dialog-title"},e.title),c=s("button",{type:"button",class:"fd-dialog-close","aria-label":o.close},"\xD7"),l=s("div",{class:"fd-form-dialog-body"}),d=s("button",{type:"button",class:"fd-button"},o.discard),u=s("button",{type:"button",class:"fd-button fd-button-primary"},o.saveClose),h=s("div",{class:`fd-theme fd-form-dialog fd-size-${e.size??"medium"}`,"data-fd-skin":e.skin??"underline",role:"dialog","aria-modal":"true","aria-labelledby":a.id,tabindex:"-1"});e.dir&&h.setAttribute("dir",e.dir),h.append(s("div",{class:"fd-form-dialog-head"}),l,s("div",{class:"fd-actions fd-actions-end fd-form-dialog-foot"})),h.firstElementChild?.append(a,c),h.lastElementChild?.append(d,u);let p=s("div",{class:"fd-dialog-backdrop fd-form-dialog-backdrop"});p.append(h),r.append(p);let f=wi(l,{...e,showActions:!1}),m=!1;e.recompute&&Em(f.form,e.page.fields,e.recompute,()=>m);let b=()=>[...h.querySelectorAll($m)].filter(g=>!g.closest("[hidden], [inert]")&&!g.disabled),y=()=>l.querySelector('input:not([type="hidden"]), select, textarea, [contenteditable="true"]');return(y()??h).focus(),f.form.settled().then(()=>{(t.activeElement===h||!h.contains(t.activeElement))&&y()?.focus()}),new Promise(g=>{let $=_=>{if(m)return;m=!0;let z=f.form.getState(),L={saved:_,recordId:z.recordId??null,values:z.values};f.destroy(),p.remove(),n?.focus(),g(L)};u.addEventListener("click",async()=>{u.disabled=!0;let _=e.mode==="values"?f.check():await f.save();u.disabled=!1,_&&$(!0)}),d.addEventListener("click",()=>$(!1)),c.addEventListener("click",()=>$(!1)),h.addEventListener("keydown",_=>{if(!_.defaultPrevented){if(_.key==="Escape")_.preventDefault(),$(!1);else if(_.key==="Tab"){let z=b();if(!z.length)return;let L=z[0],E=z[z.length-1];_.shiftKey&&t.activeElement===L?(_.preventDefault(),E.focus()):!_.shiftKey&&t.activeElement===E&&(_.preventDefault(),L.focus())}}})})}function Em(e,t,r,n){let o=JSON.stringify(e.getState().values),i=!1;e.subscribe(()=>{let s=e.getState().values,a=JSON.stringify(s);i||a===o||(o=a,r(s).then(c=>{if(!(n()||JSON.stringify(e.getState().values)!==a)){i=!0;for(let[l,d]of Object.entries(c))l in t&&JSON.stringify(s[l]??null)!==JSON.stringify(d??null)&&e.setValue(l,d);i=!1,o=JSON.stringify(e.getState().values)}},()=>{}))})}function vi(e){let t=e.container?.ownerDocument??document,r=e.container??t.body,n=t.activeElement instanceof t.defaultView.HTMLElement?t.activeElement:null,o=Bt[e.locale??"en"],i=ve[e.locale??"en"],s=`fd-dialog-${++Kd}`,a=(g,$={},_)=>{let z=t.createElement(g);for(let[L,E]of Object.entries($))z.setAttribute(L,E);return _!==void 0&&(z.textContent=_),z},c=a("h2",{id:`${s}-title`,class:"fd-form-dialog-title"},e.title),l=a("button",{type:"button",class:"fd-dialog-close","aria-label":o.close},"\xD7"),d=a("input",{type:"search",class:"fd-input","aria-label":i.search,placeholder:i.search,"aria-controls":`${s}-list`,autocomplete:"off"}),u=a("ul",{id:`${s}-list`,class:"fd-search-list",role:"listbox","aria-labelledby":c.id}),h=a("button",{type:"button",class:"fd-button"},o.cancel),p=a("div",{class:"fd-theme fd-form-dialog fd-search-dialog fd-size-small","data-fd-skin":e.skin??"underline",role:"dialog","aria-modal":"true","aria-labelledby":c.id});e.dir&&p.setAttribute("dir",e.dir);let f=a("div",{class:"fd-form-dialog-head"});f.append(c,l);let m=a("div",{class:"fd-form-dialog-body fd-search-body"});m.append(d,u);let b=a("div",{class:"fd-actions fd-actions-end fd-form-dialog-foot"});b.append(h),p.append(f,m,b);let y=a("div",{class:"fd-dialog-backdrop fd-form-dialog-backdrop"});return y.append(p),r.append(y),d.focus(),new Promise(g=>{let $=[],_=-1,z=0,L,E=J=>{clearTimeout(L),z++,y.remove(),n?.focus(),g(J)},Z=()=>{u.replaceChildren(...$.map((J,ne)=>{let G=a("li",{id:`${s}-option-${ne}`,role:"option",class:`fd-option${ne===_?" fd-active":""}`,"aria-selected":String(ne===_)},J.label);return G.addEventListener("click",()=>E(J)),G})),$.length||u.append(a("li",{class:"fd-empty"},i.noResults)),_>=0?d.setAttribute("aria-activedescendant",`${s}-option-${_}`):d.removeAttribute("aria-activedescendant")},U=()=>{clearTimeout(L);let J=++z;L=setTimeout(async()=>{let ne=await e.search(d.value,80).catch(()=>[]);J===z&&($=ne,_=-1,Z())},180)};d.addEventListener("input",U),d.addEventListener("keydown",J=>{if(J.key==="ArrowDown"||J.key==="ArrowUp"){if(J.preventDefault(),!$.length)return;_=(_+(J.key==="ArrowDown"?1:-1)+$.length)%$.length,Z(),u.children[_]?.scrollIntoView?.({block:"nearest"})}else J.key==="Enter"&&_>=0&&(J.preventDefault(),E($[_]))}),h.addEventListener("click",()=>E(null)),l.addEventListener("click",()=>E(null)),p.addEventListener("keydown",J=>{J.key==="Escape"&&(J.preventDefault(),E(null))}),U()})}var Bt={en:{save:"Save",discard:"Discard",saving:"Saving\u2026",saved:"Saved",submit:"Submit",next:"Next",back:"Back",skip:"Skip",steps:"Steps",stepOf:"Step {n} of {total}",submitted:"Thank you. Your answers were sent.",submitAnother:"Submit another response",draftFound:"You have unsaved answers from {time}.",restore:"Restore",discardDraft:"Discard",ok:"OK",cancel:"Cancel",loading:"Loading\u2026",saveClose:"Save & Close",close:"Close",dismiss:"Dismiss"},ar:{save:"\u062D\u0641\u0638",discard:"\u062A\u062C\u0627\u0647\u0644",saving:"\u062C\u0627\u0631\u064D \u0627\u0644\u062D\u0641\u0638\u2026",saved:"\u062A\u0645 \u0627\u0644\u062D\u0641\u0638",submit:"\u0625\u0631\u0633\u0627\u0644",next:"\u0627\u0644\u062A\u0627\u0644\u064A",back:"\u0631\u062C\u0648\u0639",skip:"\u062A\u062E\u0637\u064D\u0651",steps:"\u0627\u0644\u062E\u0637\u0648\u0627\u062A",stepOf:"\u0627\u0644\u062E\u0637\u0648\u0629 {n} \u0645\u0646 {total}",submitted:"\u0634\u0643\u0631\u064B\u0627 \u0644\u0643. \u062A\u0645 \u0625\u0631\u0633\u0627\u0644 \u0625\u062C\u0627\u0628\u0627\u062A\u0643.",submitAnother:"\u0625\u0631\u0633\u0627\u0644 \u0625\u062C\u0627\u0628\u0629 \u0623\u062E\u0631\u0649",draftFound:"\u0644\u062F\u064A\u0643 \u0625\u062C\u0627\u0628\u0627\u062A \u063A\u064A\u0631 \u0645\u062D\u0641\u0648\u0638\u0629 \u0645\u0646 {time}.",restore:"\u0627\u0633\u062A\u0639\u0627\u062F\u0629",discardDraft:"\u062A\u062C\u0627\u0647\u0644",ok:"\u0645\u0648\u0627\u0641\u0642",cancel:"\u0625\u0644\u063A\u0627\u0621",loading:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644\u2026",saveClose:"\u062D\u0641\u0638 \u0648\u0625\u063A\u0644\u0627\u0642",close:"\u0625\u063A\u0644\u0627\u0642",dismiss:"\u0625\u062E\u0641\u0627\u0621"},de:{save:"Speichern",discard:"Verwerfen",saving:"Wird gespeichert\u2026",saved:"Gespeichert",submit:"Absenden",next:"Weiter",back:"Zur\xFCck",skip:"\xDCberspringen",steps:"Schritte",stepOf:"Schritt {n} von {total}",submitted:"Vielen Dank. Ihre Antworten wurden gesendet.",submitAnother:"Weitere Antwort senden",draftFound:"Sie haben ungespeicherte Antworten vom {time}.",restore:"Wiederherstellen",discardDraft:"Verwerfen",ok:"OK",cancel:"Abbrechen",loading:"Wird geladen\u2026",saveClose:"Speichern und schlie\xDFen",close:"Schlie\xDFen",dismiss:"Ausblenden"},fr:{save:"Enregistrer",discard:"Annuler les modifications",saving:"Enregistrement\u2026",saved:"Enregistr\xE9",submit:"Envoyer",next:"Suivant",back:"Retour",skip:"Passer",steps:"\xC9tapes",stepOf:"\xC9tape {n} sur {total}",submitted:"Merci. Vos r\xE9ponses ont \xE9t\xE9 envoy\xE9es.",submitAnother:"Envoyer une autre r\xE9ponse",draftFound:"Vous avez des r\xE9ponses non enregistr\xE9es du {time}.",restore:"Restaurer",discardDraft:"Ignorer",ok:"OK",cancel:"Annuler",loading:"Chargement\u2026",saveClose:"Enregistrer et fermer",close:"Fermer",dismiss:"Masquer"}},Lm=Bt.en,Nm=0;function wi(e,t){let r=e.ownerDocument,n=on(t.page);if(!n.ok)throw new Error(`This page cannot be shown:
|
|
561
634
|
${n.issues.map(v=>` ${v.path}: ${v.message}`).join(`
|
|
562
|
-
`)}`);let o=n.page,i=t.locale??"en",s=t.preferences??ci(),a=wm(t),c=!t.form,l=t.form??Qr({...t,page:o,messages:t.messages??mt[i]}),u={...Ft[i],...t.labels},d=xe[i],h=t.dir??(i==="ar"?"rtl":void 0),p=`fd${++bm}`,f=[],m=[],b=v=>`${p}-${v.replace(/[^A-Za-z0-9_-]/g,"_")}`,y=(v,P)=>v.replace(/\{(\w+)\}/g,(Z,F)=>String(P[F]??""));ai(r);function g(v,P={},...Z){let F=r.createElement(v);for(let[H,K]of Object.entries(P))K!==void 0&&F.setAttribute(H,K);return F.append(...Z),F}let S=g("form",{class:"fd-form",novalidate:"","data-fd-skin":t.skin??"underline",dir:h,lang:t.locale}),z=t.confirm??be;function _(v){let P=o.fields[v.field],Z=b(v.id),F=g("div",{class:"fd-field","data-node":v.id,"data-field":v.field,"data-type":P.type});v.colspan&&F.style.setProperty("--fd-span",String(v.colspan));let H=g("label",{class:"fd-label",id:`${Z}-label`,for:Z},v.label??P.label),K=We({form:l,name:v.field,field:P,node:v,id:Z,document:r,labels:d,preferences:s,locale:i,dialogs:a},t.widgets);["INPUT","SELECT","TEXTAREA"].includes(K.element.tagName)||(K.element.getAttribute("role")&&K.element.setAttribute("aria-labelledby",H.id),H.addEventListener("click",()=>K.focus()));let J=v.help??P.help,ue=J?g("div",{class:"fd-help",id:`${Z}-help`},J):null,j=g("div",{class:"fd-error",id:`${Z}-error`,role:"alert",hidden:""}),B=g("div",{class:"fd-warning",role:"status",hidden:""});return F.append(H,K.element,...ue?[ue]:[],j,B),K.destroy&&m.push(()=>K.destroy?.()),f.push(oe=>{let $e=l.node(v.id);F.hidden=$e.invisible,F.classList.toggle("fd-required",$e.required);let Ie=oe.errors[v.field];j.hidden=!Ie,j.textContent=Ie??"";let ot=oe.warning&&oe.warningField===v.field?oe.warning:"";B.hidden=!ot,B.textContent=ot,K.update({value:oe.values[v.field],values:oe.values,readonly:$e.readonly,required:$e.required,invalid:!!Ie,describedBy:[ue?.id,Ie?j.id:void 0].filter(Boolean).join(" ")||void 0})}),F}function E(v,P){f.push(()=>{v.hidden=l.node(P).invisible})}function L(v){let P=g("button",{type:"button",class:`fd-button fd-button-${v.style??"secondary"}`,"data-node":v.id},v.label);return P.addEventListener("click",async()=>{v.confirm&&!await z(v.confirm)||await l.runAction(v.id)}),E(P,v.id),P}function T(v){let P=v.style??"paragraph",Z=g(P==="heading"?"h3":"p",{class:`fd-text-${P}`,"data-node":v.id},v.text);return E(Z,v.id),Z}function U(v){let P=g("div",{class:"fd-slot","data-slot":v.name,"data-node":v.id}),Z=t.slots?.[v.name]?.(P,{form:l,name:v.name});return Z&&m.push(Z),E(P,v.id),P}function W(v,P=1){let Z=g("div",{class:"fd-grid"});return Z.style.setProperty("--fd-columns",String(P)),Z.append(...v.map(ie)),Z}let ne=new Map;function Y(v){let P=g("fieldset",{class:"fd-section","data-node":v.id}),Z=v.description?g("p",{class:"fd-section-description"},v.description):null,F=W(v.children,v.columns??1);if(v.title&&v.collapsible){F.id=b(`${v.id}-content`);let H=g("button",{type:"button",class:"fd-section-toggle","aria-controls":F.id},g("span",{class:"fd-section-chevron","aria-hidden":"true"}),v.title),K=v.collapsed!==!0,J=ue=>{K=ue,H.setAttribute("aria-expanded",String(K)),F.hidden=!K,Z&&(Z.hidden=!K),P.classList.toggle("fd-section-folded",!K)};H.addEventListener("click",()=>J(!K)),ne.set(P,()=>J(!0)),J(K),P.append(g("legend",{class:"fd-section-title"},H))}else v.title&&P.append(g("legend",{class:"fd-section-title"},v.title));return Z&&P.append(Z),P.append(F),E(P,v.id),P}function X(v){let P=g("div",{class:"fd-tabs","data-node":v.id}),Z=g("div",{class:"fd-tablist",role:"tablist"}),F=null,H=v.children[0].id,K=v.children.map(J=>{let ue=b(`${J.id}-tab`),j=b(`${J.id}-panel`),B=g("button",{type:"button",class:"fd-tab",role:"tab",id:ue,"aria-controls":j,"data-node":J.id},J.label),oe=g("div",{class:"fd-tabpanel",role:"tabpanel",id:j,"aria-labelledby":ue},W(J.children));return B.addEventListener("click",()=>{F=H=J.id,Ee(l.getState())}),Z.append(B),{tab:J,button:B,panel:oe}});return Z.addEventListener("keydown",J=>{let ue=K.filter(Ie=>!Ie.button.hidden),j=ue.findIndex(Ie=>Ie.tab.id===H),B={ArrowRight:1,ArrowLeft:-1,Home:-j,End:ue.length-1-j}[J.key];if(B===void 0||j===-1)return;J.preventDefault();let oe=S.getAttribute("dir")==="rtl"&&(J.key==="ArrowRight"||J.key==="ArrowLeft"),$e=ue[(j+(oe?-B:B)+ue.length)%ue.length];F=H=$e.tab.id,Ee(l.getState()),$e.button.focus()}),P.append(Z,...K.map(J=>J.panel)),f.push(()=>{P.hidden=l.node(v.id).invisible;let J=K.filter(j=>!l.node(j.tab.id).invisible);F!==null&&J.some(j=>j.tab.id===F)?H=F:J.length&&(H=J[0].tab.id);for(let j of K){let B=j.tab.id===H;j.button.hidden=!J.includes(j),j.button.setAttribute("aria-selected",String(B)),j.button.tabIndex=B?0:-1,j.panel.hidden=!B}}),P}function ie(v){switch(v.type){case"field":return _(v);case"button":return L(v);case"text":return T(v);case"slot":return U(v);case"section":return Y(v);case"tabs":return X(v)}}let q=g("div",{class:"fd-status",role:"status","aria-live":"polite"});f.push(v=>{let P=v.status==="saving"?u.saving:v.status==="saved"?u.saved:v.status==="loading"?u.loading:v.status==="error"?v.error??"":"";q.textContent=P,q.classList.toggle("fd-status-error",v.status==="error"),q.classList.toggle("fd-status-saved",v.status==="saved")});let V=g("div",{class:"fd-draft",hidden:""}),R=g("span"),M=g("button",{type:"button",class:"fd-button fd-button-primary"},u.restore),re=g("button",{type:"button",class:"fd-button fd-button-link"},u.discardDraft);M.addEventListener("click",()=>l.restoreDraft()),re.addEventListener("click",()=>l.discardDraft()),V.append(R,M,re),f.push(v=>{V.hidden=!v.draft,v.draft&&(R.textContent=y(u.draftFound,{time:new Date(v.draft.savedAt).toLocaleString()}))});function he(){let v=S.querySelector('[aria-invalid="true"]');if(!v)return;for(let Z=v.closest(".fd-section-folded");Z;Z=Z.parentElement?.closest(".fd-section-folded")??null)ne.get(Z)?.();if(!v.dispatchEvent(new CustomEvent("fd-focus-problem",{cancelable:!0})))return;(v.matches("input, select, textarea, button")?v:v.querySelector("input, select, textarea, button"))?.focus()}let ze=g("div",{class:"fd-done",hidden:""},g("p",{class:"fd-done-title"},u.submitted)),ye=g("button",{type:"button",class:"fd-button"},u.submitAnother);ze.append(ye);let Ce=g("div",{class:"fd-content"});async function Ge(){if(!await l.save()){he();return}o.data.kind==="responses"&&(Ce.hidden=!0,ze.hidden=!1)}ye.addEventListener("click",()=>{l.reset(),Ce.hidden=!1,ze.hidden=!0});function nt(){if(!o.title&&!o.description)return null;let v=g("header",{class:"fd-page-head"});return o.title&&v.append(g("h1",{class:"fd-page-title"},o.title)),o.description&&v.append(g("p",{class:"fd-page-description"},o.description)),v}function x(v){let P=g("div",{class:"fd-sections","data-node":v.id},...v.children.map(ie)),Z=g("button",{type:"submit",class:"fd-button fd-button-primary"},o.data.kind==="responses"?u.submit:u.save),F=g("div",{class:"fd-actions fd-actions-end"},q,Z);if(o.data.kind==="record"){let H=g("button",{type:"button",class:"fd-button"},u.discard);H.addEventListener("click",()=>l.reset()),F.insertBefore(H,Z),f.push(K=>{let J=K.dirty.length>0&&K.status!=="saving";Z.hidden=!J,H.hidden=!J})}return t.showActions===!1?g("div",{},P):g("div",{},P,F)}function k(v){let P=g("div",{class:"fd-wizard","data-node":v.id}),Z=g("div",{class:"fd-progress-text"}),F=g("span");P.append(g("div",{class:"fd-progress"},Z,g("div",{class:"fd-progress-bar"},F)));let H=v.children.map(B=>{let oe=g("section",{class:"fd-step","data-node":B.id,"aria-labelledby":b(`${B.id}-title`)});return oe.append(g("h2",{class:"fd-step-title",id:b(`${B.id}-title`)},B.label)),B.description&&oe.append(g("p",{class:"fd-section-description"},B.description)),oe.append(W(B.children)),P.append(oe),{step:B,panel:oe}}),K=g("button",{type:"button",class:"fd-button"},u.back),J=g("button",{type:"submit",class:"fd-button fd-button-primary"});P.append(g("div",{class:"fd-wizard-nav"},K,g("span",{class:"fd-spacer"}),q,J)),K.addEventListener("click",()=>{l.back()&&j()});let ue=()=>{let B=l.steps();return B.indexOf(l.getState().step??"")===B.length-1};D=async()=>{if(ue())return Ge();l.next()?j():he()};function j(){H.find(oe=>oe.step.id===l.getState().step)?.panel.querySelector("input, select, textarea, [role=radio]")?.focus()}return f.push(B=>{let oe=l.steps(),$e=Math.max(0,oe.indexOf(B.step??""));Z.textContent=y(u.stepOf,{n:$e+1,total:oe.length}),F.style.width=`${($e+1)/Math.max(1,oe.length)*100}%`;for(let{step:Ie,panel:ot}of H)ot.hidden=Ie.id!==B.step;K.hidden=$e===0,J.textContent=$e===oe.length-1?u.submit:u.next}),P}function $(v){let P=g("div",{class:"fd-sheet-page","data-node":v.id}),Z=g("div",{class:"fd-actions"}),F=g("button",{type:"submit",class:"fd-button fd-button-primary"},u.save),H=g("button",{type:"button",class:"fd-button"},u.discard);H.addEventListener("click",()=>l.reset()),t.showActions===!1?Z.append(...(v.buttons??[]).map(L)):Z.append(F,H,...(v.buttons??[]).map(L),q),f.push(j=>{let B=j.dirty.length>0&&j.status!=="saving";F.hidden=!B,H.hidden=!B});let K=g("div",{class:"fd-header"},Z);v.statusbar&&K.append(N(v.statusbar));let J=g("div",{class:"fd-card"});if(v.ribbon){let j=g("div",{class:`fd-ribbon fd-tone-${v.ribbon.tone??"muted"}`,"data-node":v.ribbon.id},v.ribbon.label);E(j,v.ribbon.id),J.append(g("div",{class:"fd-ribbon-frame"},j))}if(v.statButtons?.length){let j=g("div",{class:"fd-stats"});for(let B of v.statButtons){let oe=g("span",{class:"fd-stat-value"}),$e=g("button",{type:"button",class:"fd-stat","data-node":B.id},oe,g("span",{class:"fd-stat-label"},B.label));$e.addEventListener("click",()=>{l.runAction(B.id)}),f.push(Ie=>{$e.hidden=l.node(B.id).invisible;let ot=B.field?Ie.values[B.field]:null;oe.textContent=ot==null?"":String(ot)}),j.append($e)}J.append(j)}for(let j of v.alerts??[]){let B=g("div",{class:`fd-alert fd-tone-${j.tone??"info"}`,role:"status","data-node":j.id},j.message);E(B,j.id),J.append(B)}if(v.title){let j=g("div",{class:"fd-title"});j.append(_({type:"field",id:"#title",field:v.title.field,placeholder:v.title.placeholder})),v.title.subtitleField&&j.append(_({type:"field",id:"#subtitle",field:v.title.subtitleField}));let B=g("div",{class:"fd-title-row"},j);if(v.title.avatarField){let oe=_({type:"field",id:"#avatar",field:v.title.avatarField});oe.classList.add("fd-avatar"),B.append(oe)}J.append(B)}J.append(W(v.children));let ue=g("div",{class:"fd-sheet-layout"},J);return v.sidePanel&&(ue.classList.add("fd-has-side"),ue.append(g("aside",{class:"fd-side"},U(v.sidePanel)))),P.append(K,ue),P}function N(v){let P=o.fields[v.field],Z={clickable:v.clickable===!0};v.visibleStates&&(Z.visibleStates=v.visibleStates);let F={type:"field",id:"#statusbar",field:v.field,widget:"statusbar",options:Z},H=We({form:l,name:v.field,field:P,node:F,id:b("statusbar"),document:r,labels:d,preferences:s,locale:i,dialogs:a},t.widgets);return f.push(K=>H.update({value:K.values[v.field],values:K.values,readonly:l.node("#statusbar").readonly,required:!1,invalid:!1})),H.element}let D=null,O=o.layout,Q;O.type==="sheet"?Q=$(O):O.type==="wizard"?Q=k(O):O.type==="tabs"?Q=x({id:`${O.id}-page`,children:[O]}):Q=x(O);let te=O.type==="sheet"?null:nt();Ce.append(...te?[te]:[],V,Q),S.append(Ce,ze),S.addEventListener("submit",v=>{v.preventDefault(),D?D():Ge()});function be(v){return new Promise(P=>{let Z=g("p",{id:`${p}-confirm`},v),F=g("button",{type:"button",class:"fd-button"},u.cancel),H=g("button",{type:"button",class:"fd-button fd-button-primary"},u.ok),K=g("div",{class:"fd-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":Z.id},Z,g("div",{class:"fd-actions fd-actions-end"},F,H)),J=g("div",{class:"fd-dialog-backdrop"},K),ue=j=>{J.remove(),P(j)};F.addEventListener("click",()=>ue(!1)),H.addEventListener("click",()=>ue(!0)),J.addEventListener("keydown",j=>{j.key==="Escape"&&ue(!1)}),S.append(J),H.focus()})}function Ee(v){for(let P of f)P(v)}e.append(S);let ve=l.subscribe(Ee);return Ee(l.getState()),l.getState().status==="idle"&&l.load(),{form:l,element:S,setSkin(v){S.setAttribute("data-fd-skin",v)},async save(){let v=await l.save();return v||he(),v},check(){let v=l.validate();return v||he(),v},destroy(){ve();for(let v of m)v();S.remove(),c&&l.dispose()}}}function ym(e){return e.layout.type==="sheet"&&e.layout.title?.field?e.layout.title.field:e.fields.name?"name":Object.entries(e.fields).find(([,t])=>t.type==="char")?.[0]??null}function xm(e,t,r){let n=Object.fromEntries(Object.entries(e).map(([o,i])=>[o,r?{...i,readonly:!0}:i]));return{fieldia:"0.1",id:"values",title:t,data:{kind:"record",model:"values"},fields:n,layout:{type:"sections",id:"values",children:[{type:"section",id:"values-section",columns:2,children:Object.keys(n).map(o=>({type:"field",id:`values-${o}`,field:o}))}]}}}function vm(e){if(e)return{...e.search?{search:t=>e.search(t)}:{},...e.create?{create:t=>e.create(t)}:{}}}function wm(e){let t=n=>(typeof e.relatedPages=="function"?e.relatedPages(n):e.relatedPages?.[n])??null,r={locale:e.locale,skin:e.skin,dir:e.dir,widgets:e.widgets,preferences:e.preferences,relatedPages:e.relatedPages};return{canOpen:n=>t(n)!==null,async openRecord(n,o){let i=t(n);if(!i)return null;let s=ym(i),a=await un({...r,page:i,dataSource:e.dataSource,recordId:o.recordId??null,values:o.name&&s?{[s]:o.name}:void 0,title:o.title,size:"large"});if(!a.saved||a.recordId===null)return null;let c=s?a.values[s]:null;return{id:a.recordId,label:typeof c=="string"&&c?c:o.name??o.title}},searchMore:n=>li({title:n.title,search:n.search,locale:e.locale,skin:e.skin,dir:e.dir}),async editValues(n){let o=await un({...r,page:xm(n.fields,n.title,n.readonly===!0),dataSource:vm(e.dataSource),values:n.values,title:n.title,mode:"values",...n.recompute?{recompute:n.recompute}:{}});return o.saved?o.values:null}}}var km="0.5.0";return Bu(_m);})();
|
|
635
|
+
`)}`);let o=n.page,i=t.locale??"en",s=t.preferences??xi(),a=Rm(t),c=!t.form,l=t.form??cn({...t,page:o,messages:t.messages??bt[i]}),d={...Bt[i],...t.labels},u=ve[i],h=t.dir??(i==="ar"?"rtl":void 0),p=`fd${++Nm}`,f=[],m=[],b=v=>`${p}-${v.replace(/[^A-Za-z0-9_-]/g,"_")}`,y=(v,A)=>v.replace(/\{(\w+)\}/g,(I,F)=>String(A[F]??""));yi(r);function g(v,A={},...I){let F=r.createElement(v);for(let[W,H]of Object.entries(A))H!==void 0&&F.setAttribute(W,H);return F.append(...I),F}function $(v,A){let I=yn(r,v,t.icons);return I?[I,A]:[A]}let _=g("form",{class:"fd-form",novalidate:"","data-fd-skin":t.skin??"underline",dir:h,lang:t.locale,"data-max-width":o.maxWidth}),z=t.confirm??ke;function L(v){let A=o.fields[v.field],I=b(v.id),F=g("div",{class:"fd-field","data-node":v.id,"data-field":v.field,"data-type":A.type});v.colspan&&F.style.setProperty("--fd-span",String(v.colspan));let W=g("label",{class:"fd-label",id:`${I}-label`,for:I},v.label??A.label),H=Ge({form:l,name:v.field,field:A,node:v,id:I,document:r,labels:u,preferences:s,locale:i,dialogs:a},t.widgets);["INPUT","SELECT","TEXTAREA"].includes(H.element.tagName)||(H.element.getAttribute("role")&&H.element.setAttribute("aria-labelledby",W.id),W.addEventListener("click",()=>H.focus()));let K=v.help??A.help,de=K?g("div",{class:"fd-help",id:`${I}-help`},K):null,te=g("div",{class:"fd-error",id:`${I}-error`,role:"alert",hidden:""}),ie=g("div",{class:"fd-warning",role:"status",hidden:""});return F.append(W,H.element,...de?[de]:[],te,ie),H.destroy&&m.push(()=>H.destroy?.()),f.push(Le=>{let q=l.node(v.id);F.hidden=q.invisible,F.classList.toggle("fd-required",q.required);let R=Le.errors[v.field];te.hidden=!R,te.textContent=R??"";let re=Le.warning&&Le.warningField===v.field?Le.warning:"";ie.hidden=!re,ie.textContent=re,H.update({value:Le.values[v.field],values:Le.values,readonly:q.readonly,required:q.required,invalid:!!R,describedBy:[de?.id,R?te.id:void 0].filter(Boolean).join(" ")||void 0})}),F}function E(v,A){f.push(()=>{v.hidden=l.node(A).invisible})}function Z(v){let A=g("button",{type:"button",class:`fd-button fd-button-${v.style??"secondary"}`,"data-node":v.id},...$(v.icon,v.label));return A.addEventListener("click",async()=>{v.confirm&&!await z(v.confirm)||await l.runAction(v.id)}),E(A,v.id),A}function U(v){let A=v.style??"paragraph",I=g(A==="heading"?"h3":"p",{class:`fd-text-${A}`,"data-node":v.id},v.text);return E(I,v.id),I}function J(v){let A=g("div",{class:"fd-slot","data-slot":v.name,"data-node":v.id}),I=t.slots?.[v.name]?.(A,{form:l,name:v.name});return I&&m.push(I),E(A,v.id),A}function ne(v,A=1){let I=g("div",{class:"fd-grid"});if(I.style.setProperty("--fd-columns",String(tn(A))),typeof A=="object")for(let F of["medium","narrow"]){let W=A[F];W!==void 0&&(I.setAttribute(`data-columns-${F}`,String(W)),I.style.setProperty(`--fd-columns-${F}`,String(W)))}return I.append(...v.map(ee)),I}let G=new Map;function X(v){let A=g("fieldset",{class:"fd-section","data-node":v.id}),I=v.description?g("p",{class:"fd-section-description"},v.description):null,F=ne(v.children,v.columns);if(v.title&&v.collapsible){F.id=b(`${v.id}-content`);let W=g("button",{type:"button",class:"fd-section-toggle","aria-controls":F.id},g("span",{class:"fd-section-chevron","aria-hidden":"true"}),...$(v.icon,v.title)),H=v.collapsed!==!0,K=de=>{H=de,W.setAttribute("aria-expanded",String(H)),F.hidden=!H,I&&(I.hidden=!H),A.classList.toggle("fd-section-folded",!H)};W.addEventListener("click",()=>K(!H)),G.set(A,()=>K(!0)),K(H),A.append(g("legend",{class:"fd-section-title"},W))}else v.title&&A.append(g("legend",{class:"fd-section-title"},...$(v.icon,v.title)));return I&&A.append(I),A.append(F),E(A,v.id),A}function ce(v){let A=g("div",{class:"fd-tabs","data-node":v.id}),I=g("div",{class:"fd-tablist",role:"tablist"}),F=null,W=v.children[0].id,H=v.children.map(K=>{let de=b(`${K.id}-tab`),te=b(`${K.id}-panel`),ie=g("button",{type:"button",class:"fd-tab",role:"tab",id:de,"aria-controls":te,"data-node":K.id},...$(K.icon,K.label)),Le=g("div",{class:"fd-tabpanel",role:"tabpanel",id:te,"aria-labelledby":de},ne(K.children));return ie.addEventListener("click",()=>{F=W=K.id,Ne(l.getState())}),I.append(ie),{tab:K,button:ie,panel:Le}});return I.addEventListener("keydown",K=>{let de=H.filter(R=>!R.button.hidden),te=de.findIndex(R=>R.tab.id===W),ie={ArrowRight:1,ArrowLeft:-1,Home:-te,End:de.length-1-te}[K.key];if(ie===void 0||te===-1)return;K.preventDefault();let Le=_.getAttribute("dir")==="rtl"&&(K.key==="ArrowRight"||K.key==="ArrowLeft"),q=de[(te+(Le?-ie:ie)+de.length)%de.length];F=W=q.tab.id,Ne(l.getState()),q.button.focus()}),A.append(I,...H.map(K=>K.panel)),f.push(()=>{A.hidden=l.node(v.id).invisible;let K=H.filter(te=>!l.node(te.tab.id).invisible);F!==null&&K.some(te=>te.tab.id===F)?W=F:K.length&&(W=K[0].tab.id);for(let te of H){let ie=te.tab.id===W;te.button.hidden=!K.includes(te),te.button.setAttribute("aria-selected",String(ie)),te.button.tabIndex=ie?0:-1,te.panel.hidden=!ie}}),A}function ee(v){switch(v.type){case"field":return L(v);case"button":return Z(v);case"text":return U(v);case"slot":return J(v);case"section":return X(v);case"tabs":return ce(v)}}let D=g("div",{class:"fd-status",role:"status","aria-live":"polite"});f.push(v=>{let A=v.status==="saving"?d.saving:v.status==="saved"?d.saved:v.status==="loading"?d.loading:v.status==="error"?v.error??"":"";D.textContent=A,D.classList.toggle("fd-status-error",v.status==="error"),D.classList.toggle("fd-status-saved",v.status==="saved")});let C=g("div",{class:"fd-draft",hidden:""}),B=g("span"),oe=g("button",{type:"button",class:"fd-button fd-button-primary"},d.restore),xe=g("button",{type:"button",class:"fd-button fd-button-link"},d.discardDraft);oe.addEventListener("click",()=>l.restoreDraft()),xe.addEventListener("click",()=>l.discardDraft()),C.append(B,oe,xe),f.push(v=>{C.hidden=!v.draft,v.draft&&(B.textContent=y(d.draftFound,{time:new Date(v.draft.savedAt).toLocaleString()}))});function we(){let v=_.querySelector('[aria-invalid="true"]');if(!v)return;for(let I=v.closest(".fd-section-folded");I;I=I.parentElement?.closest(".fd-section-folded")??null)G.get(I)?.();if(!v.dispatchEvent(new CustomEvent("fd-focus-problem",{cancelable:!0})))return;(v.matches("input, select, textarea, button")?v:v.querySelector("input, select, textarea, button"))?.focus()}let ye=g("div",{class:"fd-done",hidden:""},g("p",{class:"fd-done-title"},d.submitted)),et=g("button",{type:"button",class:"fd-button"},d.submitAnother);ye.append(et);let De=g("div",{class:"fd-content"});async function yt(){if(!await l.save()){we();return}o.data.kind==="responses"&&(De.hidden=!0,ye.hidden=!1)}et.addEventListener("click",()=>{l.reset(),De.hidden=!1,ye.hidden=!0});function Ye(){if(!o.title&&!o.description)return null;let v=g("header",{class:"fd-page-head"});return o.title&&v.append(g("h1",{class:"fd-page-title"},o.title)),o.description&&v.append(g("p",{class:"fd-page-description"},o.description)),v}function x(v){let A=g("div",{class:"fd-sections","data-node":v.id},...v.children.map(ee)),I=g("button",{type:"submit",class:"fd-button fd-button-primary"},o.data.kind==="responses"?d.submit:d.save),F=g("div",{class:"fd-actions fd-actions-end"},D,I);if(o.data.kind==="record"){let W=g("button",{type:"button",class:"fd-button"},d.discard);W.addEventListener("click",()=>l.reset()),F.insertBefore(W,I),f.push(H=>{let K=H.dirty.length>0&&H.status!=="saving";I.hidden=!K,W.hidden=!K})}return t.showActions===!1?g("div",{},A):o.actionsPosition==="top"?(F.classList.add("fd-actions-top"),g("div",{},F,A)):g("div",{},A,F)}function k(v){let A=g("div",{class:"fd-wizard","data-node":v.id}),I=g("div",{class:"fd-progress-text"}),F=g("span");A.append(g("div",{class:"fd-progress"},I,g("div",{class:"fd-progress-bar"},F)));let W=v.clickable?g("ol",{class:"fd-steps-list"}):null,H=new Map;if(W){for(let R of v.children){let re=g("button",{type:"button",class:"fd-step-link"},...$(R.icon,R.label));re.addEventListener("click",()=>{l.goTo(R.id)?q():we()}),H.set(R.id,re),W.append(g("li",{},re))}A.append(g("nav",{class:"fd-steps","aria-label":d.steps},W))}let K=v.children.map(R=>{let re=g("section",{class:"fd-step","data-node":R.id,"aria-labelledby":b(`${R.id}-title`)});return re.append(g("h2",{class:"fd-step-title",id:b(`${R.id}-title`)},...$(R.icon,R.label))),R.description&&re.append(g("p",{class:"fd-section-description"},R.description)),re.append(ne(R.children)),A.append(re),{step:R,panel:re}}),de=g("button",{type:"button",class:"fd-button"},v.backLabel??d.back),te=g("button",{type:"button",class:"fd-button fd-button-link"},d.skip),ie=g("button",{type:"submit",class:"fd-button fd-button-primary"});A.append(g("div",{class:"fd-wizard-nav"},de,g("span",{class:"fd-spacer"}),D,te,ie)),de.addEventListener("click",()=>{l.back()&&q()}),te.addEventListener("click",()=>{l.skip()&&q()});let Le=()=>{let R=l.steps();return R.indexOf(l.getState().step??"")===R.length-1};P=async()=>{if(Le())return yt();l.next()?q():we()};function q(){K.find(re=>re.step.id===l.getState().step)?.panel.querySelector("input, select, textarea, [role=radio]")?.focus()}return f.push(R=>{let re=l.steps(),Be=Math.max(0,re.indexOf(R.step??""));I.textContent=y(d.stepOf,{n:Be+1,total:re.length}),F.style.width=`${(Be+1)/Math.max(1,re.length)*100}%`;for(let{step:We,panel:tt}of K)tt.hidden=We.id!==R.step;let Wt=Be===re.length-1;de.hidden=Be===0,te.hidden=Wt||!v.children.find(We=>We.id===R.step)?.optional,ie.textContent=Wt?v.finishLabel??d.submit:v.nextLabel??d.next;for(let[We,tt]of H){let xt=re.indexOf(We);tt.parentElement.hidden=xt===-1,tt.classList.toggle("fd-step-done",xt!==-1&&xt<Be),tt.classList.toggle("fd-step-skipped",R.skipped.includes(We)),We===R.step?tt.setAttribute("aria-current","step"):tt.removeAttribute("aria-current")}}),A}function S(v){let A=g("div",{class:"fd-sheet-page","data-node":v.id}),I=g("div",{class:"fd-actions"}),F=g("button",{type:"submit",class:"fd-button fd-button-primary"},d.save),W=g("button",{type:"button",class:"fd-button"},d.discard);W.addEventListener("click",()=>l.reset());let H=o.actionsPosition==="bottom",K=g("div",{class:"fd-actions fd-actions-end fd-sheet-foot"});t.showActions===!1?I.append(...(v.buttons??[]).map(Z)):H?(I.append(...(v.buttons??[]).map(Z)),K.append(D,W,F)):I.append(F,W,...(v.buttons??[]).map(Z),D),f.push(q=>{let R=q.dirty.length>0&&q.status!=="saving";F.hidden=!R,W.hidden=!R});let de=g("div",{class:"fd-header"},I),te=v.statusbar?.position==="title";v.statusbar&&!te&&de.append(N(v.statusbar));let ie=g("div",{class:"fd-card"});if(v.ribbon){let q=g("div",{class:`fd-ribbon fd-tone-${v.ribbon.tone??"muted"}`,"data-node":v.ribbon.id},v.ribbon.label);E(q,v.ribbon.id),ie.append(g("div",{class:"fd-ribbon-frame"},q))}if(v.statButtons?.length){let q=g("div",{class:"fd-stats"});for(let R of v.statButtons){let re=g("span",{class:"fd-stat-value"}),Be=yn(r,R.icon,t.icons),Wt=g("span",{class:"fd-stat-words"},re,g("span",{class:"fd-stat-label"},R.label)),We=g("button",{type:"button",class:"fd-stat","data-node":R.id},...Be?[Be,Wt]:[Wt]);We.addEventListener("click",()=>{l.runAction(R.id)}),f.push(tt=>{We.hidden=l.node(R.id).invisible;let xt=R.field?tt.values[R.field]:null;re.textContent=xt==null?"":String(xt)}),q.append(We)}ie.append(q)}for(let q of v.alerts??[]){let R=g("div",{class:`fd-alert fd-tone-${q.tone??"info"}`,role:"status","data-node":q.id},g("span",{class:"fd-alert-message"},q.message));if(q.dismissible){let re=!1,Be=g("button",{type:"button",class:"fd-alert-close","aria-label":d.dismiss},"\xD7");Be.addEventListener("click",()=>{re=!0,R.hidden=!0}),R.append(Be),f.push(()=>{R.hidden=re||l.node(q.id).invisible})}else E(R,q.id);ie.append(R)}if(v.badges?.length){let q=g("div",{class:"fd-badges"});for(let R of v.badges){let re=g("span",{class:`fd-badge fd-tone-${R.tone??"muted"}`,"data-node":R.id},...$(R.icon,R.label));E(re,R.id),q.append(re)}f.push(()=>{q.hidden=[...q.children].every(R=>R.hidden)}),ie.append(q)}if(v.title){let q=g("div",{class:"fd-title"});v.title.above?.length&&q.append(g("div",{class:"fd-title-above"},...v.title.above.map(L))),q.append(L({type:"field",id:"#title",field:v.title.field,placeholder:v.title.placeholder})),v.title.subtitleField&&q.append(L({type:"field",id:"#subtitle",field:v.title.subtitleField})),v.title.below?.length&&q.append(g("div",{class:"fd-title-below"},...v.title.below.map(L)));let R=g("div",{class:"fd-title-row"},q);if(v.title.avatarField){let re=L({type:"field",id:"#avatar",field:v.title.avatarField});re.classList.add("fd-avatar"),R.append(re)}ie.append(R)}v.statusbar&&te&&ie.append(g("div",{class:"fd-title-statusbar"},N(v.statusbar))),ie.append(ne(v.children)),H&&t.showActions!==!1&&(ie.append(K),f.push(q=>{K.hidden=q.dirty.length===0&&!D.textContent}));let Le=g("div",{class:"fd-sheet-layout"},ie);return v.sidePanel&&(Le.classList.add("fd-has-side"),Le.append(g("aside",{class:"fd-side"},J(v.sidePanel)))),A.append(de,Le),A}function N(v){let A=o.fields[v.field],I={clickable:v.clickable===!0};v.visibleStates&&(I.visibleStates=v.visibleStates);let F={type:"field",id:"#statusbar",field:v.field,widget:"statusbar",options:I},W=Ge({form:l,name:v.field,field:A,node:F,id:b("statusbar"),document:r,labels:u,preferences:s,locale:i,dialogs:a},t.widgets);return f.push(H=>W.update({value:H.values[v.field],values:H.values,readonly:l.node("#statusbar").readonly,required:!1,invalid:!1})),W.element}let P=null,M=o.layout,T;M.type==="sheet"?T=S(M):M.type==="wizard"?T=k(M):M.type==="tabs"?T=x({id:`${M.id}-page`,children:[M]}):T=x(M);let be=M.type==="sheet"?null:Ye();De.append(...be?[be]:[],C,T),_.append(De,ye),_.addEventListener("submit",v=>{v.preventDefault(),P?P():yt()});function ke(v){return new Promise(A=>{let I=g("p",{id:`${p}-confirm`},v),F=g("button",{type:"button",class:"fd-button"},d.cancel),W=g("button",{type:"button",class:"fd-button fd-button-primary"},d.ok),H=g("div",{class:"fd-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":I.id},I,g("div",{class:"fd-actions fd-actions-end"},F,W)),K=g("div",{class:"fd-dialog-backdrop"},H),de=te=>{K.remove(),A(te)};F.addEventListener("click",()=>de(!1)),W.addEventListener("click",()=>de(!0)),K.addEventListener("keydown",te=>{te.key==="Escape"&&de(!1)}),_.append(K),W.focus()})}function Ne(v){for(let A of f)A(v)}e.append(_);let _e=l.subscribe(Ne);return Ne(l.getState()),l.getState().status==="idle"&&l.load(),{form:l,element:_,setSkin(v){_.setAttribute("data-fd-skin",v)},async save(){let v=await l.save();return v||we(),v},check(){let v=l.validate();return v||we(),v},destroy(){_e();for(let v of m)v();_.remove(),c&&l.dispose()}}}function Pm(e){return e.layout.type==="sheet"&&e.layout.title?.field?e.layout.title.field:e.fields.name?"name":Object.entries(e.fields).find(([,t])=>t.type==="char")?.[0]??null}function Am(e,t,r){let n=Object.fromEntries(Object.entries(e).map(([o,i])=>[o,r?{...i,readonly:!0}:i]));return{fieldia:"0.1",id:"values",title:t,data:{kind:"record",model:"values"},fields:n,layout:{type:"sections",id:"values",children:[{type:"section",id:"values-section",columns:2,children:Object.keys(n).map(o=>({type:"field",id:`values-${o}`,field:o}))}]}}}function Om(e){if(e)return{...e.search?{search:t=>e.search(t)}:{},...e.create?{create:t=>e.create(t)}:{}}}function Rm(e){let t=n=>(typeof e.relatedPages=="function"?e.relatedPages(n):e.relatedPages?.[n])??null,r={locale:e.locale,skin:e.skin,dir:e.dir,widgets:e.widgets,preferences:e.preferences,relatedPages:e.relatedPages};return{canOpen:n=>t(n)!==null,async openRecord(n,o){let i=t(n);if(!i)return null;let s=Pm(i),a=await xn({...r,page:i,dataSource:e.dataSource,recordId:o.recordId??null,values:o.name&&s?{[s]:o.name}:void 0,title:o.title,size:"large"});if(!a.saved||a.recordId===null)return null;let c=s?a.values[s]:null;return{id:a.recordId,label:typeof c=="string"&&c?c:o.name??o.title}},searchMore:n=>vi({title:n.title,search:n.search,locale:e.locale,skin:e.skin,dir:e.dir}),async editValues(n){let o=await xn({...r,page:Am(n.fields,n.title,n.readonly===!0),dataSource:Om(e.dataSource),values:n.values,title:n.title,mode:"values",...n.recompute?{recompute:n.recompute}:{}});return o.saved?o.values:null}}}var Tm="0.6.0";return eu(Im);})();
|
|
563
636
|
//# sourceMappingURL=fieldia.js.map
|