@ram_28/kf-ai-sdk 1.0.10 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/client.d.ts +10 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/components/hooks/useForm/types.d.ts +18 -0
- package/dist/components/hooks/useForm/types.d.ts.map +1 -1
- package/dist/components/hooks/useForm/useForm.d.ts.map +1 -1
- package/dist/index.cjs +12 -12
- package/dist/index.mjs +2405 -2345
- package/package.json +1 -1
- package/sdk/api/client.ts +27 -0
- package/sdk/components/hooks/useForm/types.ts +26 -0
- package/sdk/components/hooks/useForm/useForm.ts +148 -22
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var Hr=Object.defineProperty;var Xr=(e,t,n)=>t in e?Hr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var
|
|
1
|
+
"use strict";var Hr=Object.defineProperty;var Xr=(e,t,n)=>t in e?Hr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Be=(e,t,n)=>Xr(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),Ce=require("@tanstack/react-query"),Zr=require("react-hook-form");function en(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Ve=en(c);let We={baseUrl:"",headers:{"Content-Type":"application/json"}};function tn(e){We.baseUrl=e}function rn(e){We.headers={...We.headers,...e}}function ot(){return{...We.headers}}function pt(){return We.baseUrl||""}function dt(e){if(e==null)return e;if(Array.isArray(e))return e.map(t=>dt(t));if(typeof e=="object"){if("$__dt__"in e)return new Date(e.$__dt__*1e3);if("$__d__"in e)return new Date(e.$__d__);const t={};for(const[n,r]of Object.entries(e))t[n]=dt(r);return t}return e}function he(e){const t=We.baseUrl,n=We.headers;return{async get(r){const a=await fetch(`${t}/api/app/${e}/${r}/read`,{method:"GET",headers:n});if(!a.ok)throw new Error(`Failed to get ${e} ${r}: ${a.statusText}`);const o=await a.json();return dt(o.Data)},async create(r){const a=await fetch(`${t}/api/app/${e}/create`,{method:"POST",headers:n,body:JSON.stringify(r)});if(!a.ok)throw new Error(`Failed to create ${e}: ${a.statusText}`);return a.json()},async update(r,a){const o=await fetch(`${t}/api/app/${e}/${r}/update`,{method:"POST",headers:n,body:JSON.stringify(a)});if(!o.ok)throw new Error(`Failed to update ${e} ${r}: ${o.statusText}`);return o.json()},async delete(r){const a=await fetch(`${t}/api/app/${e}/${r}/delete`,{method:"DELETE",headers:n});if(!a.ok)throw new Error(`Failed to delete ${e} ${r}: ${a.statusText}`);return a.json()},async list(r){const a={Type:"List",...r},o=await fetch(`${t}/api/app/${e}/list`,{method:"POST",headers:n,body:JSON.stringify(a)});if(!o.ok)throw new Error(`Failed to list ${e}: ${o.statusText}`);return{Data:(await o.json()).Data.map(u=>dt(u))}},async count(r){var l,m;const a={Type:"Metric",GroupBy:[],Metric:[{Field:"_id",Type:"Count"}],...(r==null?void 0:r.Filter)&&{Filter:r.Filter}},o=await fetch(`${t}/api/app/${e}/metric`,{method:"POST",headers:n,body:JSON.stringify(a)});if(!o.ok)throw new Error(`Failed to count ${e}: ${o.statusText}`);return{Count:((m=(l=(await o.json()).Data)==null?void 0:l[0])==null?void 0:m.count__id)??0}},async draft(r){const a=await fetch(`${t}/api/app/${e}/draft`,{method:"POST",headers:n,body:JSON.stringify(r)});if(!a.ok)throw new Error(`Failed to create draft for ${e}: ${a.statusText}`);return a.json()},async draftUpdate(r,a){const o=await fetch(`${t}/api/app/${e}/${r}/draft`,{method:"POST",headers:n,body:JSON.stringify(a)});if(!o.ok)throw new Error(`Failed to update draft for ${e} ${r}: ${o.statusText}`);return o.json()},async draftPatch(r,a){const o=await fetch(`${t}/api/app/${e}/${r}/draft`,{method:"PATCH",headers:n,body:JSON.stringify(a)});if(!o.ok)throw new Error(`Failed to patch draft for ${e} ${r}: ${o.statusText}`);return o.json()},async draftInteraction(r){const a=await fetch(`${t}/api/app/${e}/draft`,{method:"PATCH",headers:n,body:JSON.stringify(r)});if(!a.ok)throw new Error(`Failed to create interactive draft for ${e}: ${a.statusText}`);return a.json()},async metric(r){const a={Type:"Metric",...r},o=await fetch(`${t}/api/app/${e}/metric`,{method:"POST",headers:n,body:JSON.stringify(a)});if(!o.ok)throw new Error(`Failed to get metrics for ${e}: ${o.statusText}`);return o.json()},async pivot(r){const a={Type:"Pivot",...r},o=await fetch(`${t}/api/app/${e}/pivot`,{method:"POST",headers:n,body:JSON.stringify(a)});if(!o.ok)throw new Error(`Failed to get pivot data for ${e}: ${o.statusText}`);return o.json()},async fields(){const r=await fetch(`${t}/api/app/${e}/fields`,{method:"GET",headers:n});if(!r.ok)throw new Error(`Failed to get fields for ${e}: ${r.statusText}`);return r.json()},async fetchField(r,a){const o=await fetch(`${t}/api/app/${e}/${r}/field/${a}/fetch`,{method:"GET",headers:n});if(!o.ok)throw new Error(`Failed to fetch field ${a} for ${e}: ${o.statusText}`);return(await o.json()).Data}}}function nn(e){return{$__dt__:e.getTime()/1e3}}function an(e){return new Date(e.$__dt__*1e3)}function sn(e){return{$__d__:e.toISOString().split("T")[0]}}function on(e){return new Date(e.$__d__)}async function er(e){try{const t=pt(),n=ot(),r=await fetch(`${t}/api/app/meta/bdo/${e}`,{method:"GET",headers:n});if(!r.ok)throw new Error(`Failed to fetch schema for ${e}: ${r.statusText}`);const a=await r.json();if(!a||typeof a!="object")throw new Error(`Invalid BDO schema response for ${e}`);return a}catch(t){throw console.error(`Schema fetch error for ${e}:`,t),new Error(`Failed to load BDO schema: ${t instanceof Error?t.message:"Unknown error"}`)}}async function cn(e){try{const t=pt(),n=ot(),r=e!=null&&e.Filter||e!=null&&e.Sort?"POST":"GET",a=await fetch(`${t}/api/app/metadata/list`,{method:r,headers:n,...r==="POST"&&e&&{body:JSON.stringify(e)}});if(!a.ok)throw new Error(`Failed to list metadata: ${a.statusText}`);return await a.json()}catch(t){throw console.error("Metadata list error:",t),new Error(`Failed to list metadata: ${t instanceof Error?t.message:"Unknown error"}`)}}function tr(e){return typeof e=="string"?e:typeof e=="object"&&e!==null?new Intl.NumberFormat("en-US",{style:"currency",currency:e.currency}).format(e.value):"Invalid Currency"}function ln(e){const t=e.match(/^(?:([A-Z]{3})\s+(\d+\.?\d*))|(?:(\d+\.?\d*)\s+([A-Z]{3}))$/);if(t){const n=t[1]||t[4],r=parseFloat(t[2]||t[3]);if(!isNaN(r))return{value:r,currency:n}}return null}function rr(e,t="medium"){if(!(e instanceof Date)||isNaN(e.getTime()))return"Invalid Date";const n={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"}}[t];return new Intl.DateTimeFormat("en-US",n).format(e)}function nr(e,t="medium"){if(!(e instanceof Date)||isNaN(e.getTime()))return"Invalid Date";const n={short:{dateStyle:"short",timeStyle:"short"},medium:{dateStyle:"medium",timeStyle:"medium"},long:{dateStyle:"long",timeStyle:"long"}}[t];return new Intl.DateTimeFormat("en-US",n).format(e)}function ar(e,t=2){return typeof e!="number"||isNaN(e)?"Invalid Number":e.toFixed(t)}function sr(e,t=2){try{return JSON.stringify(e,null,t)}catch{return"Invalid JSON"}}function or(e,t,n=", "){return Array.isArray(e)?t?e.map(t).join(n):e.map(r=>String(r)).join(n):"Invalid Array"}function ir(e,t){return typeof e!="boolean"?"Invalid Boolean":e?(t==null?void 0:t.trueLabel)||"Yes":(t==null?void 0:t.falseLabel)||"No"}function un(e,t=50){return typeof e!="string"?"Invalid String":e.length<=t?e:e.slice(0,t-3)+"..."}function cr(e,t){if(typeof e!="string")return"Invalid Text";const n=e.split(`
|
|
2
2
|
`);return t&&n.length>t?n.slice(0,t).join(`
|
|
3
3
|
`)+`
|
|
4
|
-
...`:e}function dn(e,t){if(e==null)return"";switch(t||(typeof e=="boolean"?t="boolean":typeof e=="number"?t="number":e instanceof Date?t="datetime":Array.isArray(e)?t="array":typeof e=="object"?t="json":t="string"),t){case"id":case"string":return String(e);case"textarea":return or(String(e));case"number":return rr(e);case"boolean":return sr(e);case"date":return er(e);case"datetime":return tr(e);case"currency":return Zt(e);case"json":return nr(e);case"array":return ar(e);default:return String(e)}}function ir(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=ir(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function fn(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=ir(e))&&(r&&(r+=" "),r+=t);return r}const mn=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},pn=(e,t)=>({classGroupId:e,validator:t}),cr=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),it="-",$t=[],gn="arbitrary..",hn=e=>{const t=yn(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return bn(i);const d=i.split(it),u=d[0]===""&&d.length>1?1:0;return lr(d,u,t)},getConflictingClassGroupIds:(i,d)=>{if(d){const u=r[i],f=n[i];return u?f?mn(f,u):u:f||$t}return n[i]||$t}}},lr=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const a=e[t],o=n.nextPart.get(a);if(o){const f=lr(e,t+1,o);if(f)return f}const i=n.validators;if(i===null)return;const d=t===0?e.join(it):e.slice(t).join(it),u=i.length;for(let f=0;f<u;f++){const b=i[f];if(b.validator(d))return b.classGroupId}},bn=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?gn+r:void 0})(),yn=e=>{const{theme:t,classGroups:n}=e;return wn(n,t)},wn=(e,t)=>{const n=cr();for(const r in e){const a=e[r];xt(a,n,r,t)}return n},xt=(e,t,n,r)=>{const a=e.length;for(let o=0;o<a;o++){const i=e[o];vn(i,t,n,r)}},vn=(e,t,n,r)=>{if(typeof e=="string"){Cn(e,t,n);return}if(typeof e=="function"){Sn(e,t,n,r);return}kn(e,t,n,r)},Cn=(e,t,n)=>{const r=e===""?t:ur(t,e);r.classGroupId=n},Sn=(e,t,n,r)=>{if(En(e)){xt(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(pn(n,e))},kn=(e,t,n,r)=>{const a=Object.entries(e),o=a.length;for(let i=0;i<o;i++){const[d,u]=a[i];xt(u,ur(t,d),n,r)}},ur=(e,t)=>{let n=e;const r=t.split(it),a=r.length;for(let o=0;o<a;o++){const i=r[o];let d=n.nextPart.get(i);d||(d=cr(),n.nextPart.set(i,d)),n=d}return n},En=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,xn=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const a=(o,i)=>{n[o]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(o){let i=n[o];if(i!==void 0)return i;if((i=r[o])!==void 0)return a(o,i),i},set(o,i){o in n?n[o]=i:a(o,i)}}},Ct="!",jt=":",Rn=[],It=(e,t,n,r,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:a}),Tn=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=a=>{const o=[];let i=0,d=0,u=0,f;const b=a.length;for(let B=0;B<b;B++){const Z=a[B];if(i===0&&d===0){if(Z===jt){o.push(a.slice(u,B)),u=B+1;continue}if(Z==="/"){f=B;continue}}Z==="["?i++:Z==="]"?i--:Z==="("?d++:Z===")"&&d--}const k=o.length===0?a:a.slice(u);let m=k,Y=!1;k.endsWith(Ct)?(m=k.slice(0,-1),Y=!0):k.startsWith(Ct)&&(m=k.slice(1),Y=!0);const z=f&&f>u?f-u:void 0;return It(o,Y,m,z)};if(t){const a=t+jt,o=r;r=i=>i.startsWith(a)?o(i.slice(a.length)):It(Rn,!1,i,void 0,!0)}if(n){const a=r;r=o=>n({className:o,parseClassName:a})}return r},On=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let a=[];for(let o=0;o<n.length;o++){const i=n[o],d=i[0]==="[",u=t.has(i);d||u?(a.length>0&&(a.sort(),r.push(...a),a=[]),r.push(i)):a.push(i)}return a.length>0&&(a.sort(),r.push(...a)),r}},An=e=>({cache:xn(e.cacheSize),parseClassName:Tn(e),sortModifiers:On(e),...hn(e)}),Dn=/\s+/,Fn=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:a,sortModifiers:o}=t,i=[],d=e.trim().split(Dn);let u="";for(let f=d.length-1;f>=0;f-=1){const b=d[f],{isExternal:k,modifiers:m,hasImportantModifier:Y,baseClassName:z,maybePostfixModifierPosition:B}=n(b);if(k){u=b+(u.length>0?" "+u:u);continue}let Z=!!B,C=r(Z?z.substring(0,B):z);if(!C){if(!Z){u=b+(u.length>0?" "+u:u);continue}if(C=r(z),!C){u=b+(u.length>0?" "+u:u);continue}Z=!1}const T=m.length===0?"":m.length===1?m[0]:o(m).join(":"),U=Y?T+Ct:T,L=U+C;if(i.indexOf(L)>-1)continue;i.push(L);const Q=a(C,Z);for(let y=0;y<Q.length;++y){const S=Q[y];i.push(U+S)}u=b+(u.length>0?" "+u:u)}return u},_n=(...e)=>{let t=0,n,r,a="";for(;t<e.length;)(n=e[t++])&&(r=dr(n))&&(a&&(a+=" "),a+=r);return a},dr=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=dr(e[r]))&&(n&&(n+=" "),n+=t);return n},Nn=(e,...t)=>{let n,r,a,o;const i=u=>{const f=t.reduce((b,k)=>k(b),e());return n=An(f),r=n.cache.get,a=n.cache.set,o=d,d(u)},d=u=>{const f=r(u);if(f)return f;const b=Fn(u,n);return a(u,b),b};return o=i,(...u)=>o(_n(...u))},Pn=[],me=e=>{const t=n=>n[e]||Pn;return t.isThemeGetter=!0,t},fr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,mr=/^\((?:(\w[\w-]*):)?(.+)\)$/i,$n=/^\d+\/\d+$/,jn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,In=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ln=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Vn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Un=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ye=e=>$n.test(e),M=e=>!!e&&!Number.isNaN(Number(e)),$e=e=>!!e&&Number.isInteger(Number(e)),yt=e=>e.endsWith("%")&&M(e.slice(0,-1)),Ne=e=>jn.test(e),qn=()=>!0,Mn=e=>In.test(e)&&!Ln.test(e),pr=()=>!1,zn=e=>Vn.test(e),Kn=e=>Un.test(e),Bn=e=>!x(e)&&!R(e),Gn=e=>Qe(e,br,pr),x=e=>fr.test(e),Ue=e=>Qe(e,yr,Mn),wt=e=>Qe(e,Hn,M),Lt=e=>Qe(e,gr,pr),Yn=e=>Qe(e,hr,Kn),at=e=>Qe(e,wr,zn),R=e=>mr.test(e),Ze=e=>Je(e,yr),Wn=e=>Je(e,Xn),Vt=e=>Je(e,gr),Qn=e=>Je(e,br),Jn=e=>Je(e,hr),st=e=>Je(e,wr,!0),Qe=(e,t,n)=>{const r=fr.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Je=(e,t,n=!1)=>{const r=mr.exec(e);return r?r[1]?t(r[1]):n:!1},gr=e=>e==="position"||e==="percentage",hr=e=>e==="image"||e==="url",br=e=>e==="length"||e==="size"||e==="bg-size",yr=e=>e==="length",Hn=e=>e==="number",Xn=e=>e==="family-name",wr=e=>e==="shadow",Zn=()=>{const e=me("color"),t=me("font"),n=me("text"),r=me("font-weight"),a=me("tracking"),o=me("leading"),i=me("breakpoint"),d=me("container"),u=me("spacing"),f=me("radius"),b=me("shadow"),k=me("inset-shadow"),m=me("text-shadow"),Y=me("drop-shadow"),z=me("blur"),B=me("perspective"),Z=me("aspect"),C=me("ease"),T=me("animate"),U=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Q=()=>[...L(),R,x],y=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],h=()=>[R,x,u],O=()=>[Ye,"full","auto",...h()],N=()=>[$e,"none","subgrid",R,x],_=()=>["auto",{span:["full",$e,R,x]},$e,R,x],J=()=>[$e,"auto",R,x],H=()=>["auto","min","max","fr",R,x],ce=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],D=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...h()],le=()=>[Ye,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...h()],A=()=>[e,R,x],we=()=>[...L(),Vt,Lt,{position:[R,x]}],ve=()=>["no-repeat",{repeat:["","x","y","space","round"]}],pe=()=>["auto","cover","contain",Qn,Gn,{size:[R,x]}],ge=()=>[yt,Ze,Ue],se=()=>["","none","full",f,R,x],oe=()=>["",M,Ze,Ue],re=()=>["solid","dashed","dotted","double"],xe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ee=()=>[M,yt,Vt,Lt],Ce=()=>["","none",z,R,x],F=()=>["none",M,R,x],ie=()=>["none",M,R,x],Oe=()=>[M,R,x],Ae=()=>[Ye,"full",...h()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ne],breakpoint:[Ne],color:[qn],container:[Ne],"drop-shadow":[Ne],ease:["in","out","in-out"],font:[Bn],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ne],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ne],shadow:[Ne],spacing:["px",M],text:[Ne],"text-shadow":[Ne],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ye,x,R,Z]}],container:["container"],columns:[{columns:[M,x,R,d]}],"break-after":[{"break-after":U()}],"break-before":[{"break-before":U()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:Q()}],overflow:[{overflow:y()}],"overflow-x":[{"overflow-x":y()}],"overflow-y":[{"overflow-y":y()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{start:O()}],end:[{end:O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[$e,"auto",R,x]}],basis:[{basis:[Ye,"full","auto",d,...h()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[M,Ye,"auto","initial","none",x]}],grow:[{grow:["",M,R,x]}],shrink:[{shrink:["",M,R,x]}],order:[{order:[$e,"first","last","none",R,x]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:_()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:_()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:h()}],"gap-x":[{"gap-x":h()}],"gap-y":[{"gap-y":h()}],"justify-content":[{justify:[...ce(),"normal"]}],"justify-items":[{"justify-items":[...D(),"normal"]}],"justify-self":[{"justify-self":["auto",...D()]}],"align-content":[{content:["normal",...ce()]}],"align-items":[{items:[...D(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...D(),{baseline:["","last"]}]}],"place-content":[{"place-content":ce()}],"place-items":[{"place-items":[...D(),"baseline"]}],"place-self":[{"place-self":["auto",...D()]}],p:[{p:h()}],px:[{px:h()}],py:[{py:h()}],ps:[{ps:h()}],pe:[{pe:h()}],pt:[{pt:h()}],pr:[{pr:h()}],pb:[{pb:h()}],pl:[{pl:h()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":h()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":h()}],"space-y-reverse":["space-y-reverse"],size:[{size:le()}],w:[{w:[d,"screen",...le()]}],"min-w":[{"min-w":[d,"screen","none",...le()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[i]},...le()]}],h:[{h:["screen","lh",...le()]}],"min-h":[{"min-h":["screen","lh","none",...le()]}],"max-h":[{"max-h":["screen","lh",...le()]}],"font-size":[{text:["base",n,Ze,Ue]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,R,wt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",yt,x]}],"font-family":[{font:[Wn,x,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,R,x]}],"line-clamp":[{"line-clamp":[M,"none",R,wt]}],leading:[{leading:[o,...h()]}],"list-image":[{"list-image":["none",R,x]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",R,x]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...re(),"wavy"]}],"text-decoration-thickness":[{decoration:[M,"from-font","auto",R,Ue]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[M,"auto",R,x]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:h()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",R,x]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",R,x]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:we()}],"bg-repeat":[{bg:ve()}],"bg-size":[{bg:pe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},$e,R,x],radial:["",R,x],conic:[$e,R,x]},Jn,Yn]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:ge()}],"gradient-via-pos":[{via:ge()}],"gradient-to-pos":[{to:ge()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:se()}],"rounded-s":[{"rounded-s":se()}],"rounded-e":[{"rounded-e":se()}],"rounded-t":[{"rounded-t":se()}],"rounded-r":[{"rounded-r":se()}],"rounded-b":[{"rounded-b":se()}],"rounded-l":[{"rounded-l":se()}],"rounded-ss":[{"rounded-ss":se()}],"rounded-se":[{"rounded-se":se()}],"rounded-ee":[{"rounded-ee":se()}],"rounded-es":[{"rounded-es":se()}],"rounded-tl":[{"rounded-tl":se()}],"rounded-tr":[{"rounded-tr":se()}],"rounded-br":[{"rounded-br":se()}],"rounded-bl":[{"rounded-bl":se()}],"border-w":[{border:oe()}],"border-w-x":[{"border-x":oe()}],"border-w-y":[{"border-y":oe()}],"border-w-s":[{"border-s":oe()}],"border-w-e":[{"border-e":oe()}],"border-w-t":[{"border-t":oe()}],"border-w-r":[{"border-r":oe()}],"border-w-b":[{"border-b":oe()}],"border-w-l":[{"border-l":oe()}],"divide-x":[{"divide-x":oe()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":oe()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...re(),"hidden","none"]}],"divide-style":[{divide:[...re(),"hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:[...re(),"none","hidden"]}],"outline-offset":[{"outline-offset":[M,R,x]}],"outline-w":[{outline:["",M,Ze,Ue]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",b,st,at]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",k,st,at]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:oe()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[M,Ue]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":oe()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",m,st,at]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[M,R,x]}],"mix-blend":[{"mix-blend":[...xe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":xe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[M]}],"mask-image-linear-from-pos":[{"mask-linear-from":ee()}],"mask-image-linear-to-pos":[{"mask-linear-to":ee()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":ee()}],"mask-image-t-to-pos":[{"mask-t-to":ee()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":ee()}],"mask-image-r-to-pos":[{"mask-r-to":ee()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":ee()}],"mask-image-b-to-pos":[{"mask-b-to":ee()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":ee()}],"mask-image-l-to-pos":[{"mask-l-to":ee()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":ee()}],"mask-image-x-to-pos":[{"mask-x-to":ee()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":ee()}],"mask-image-y-to-pos":[{"mask-y-to":ee()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[R,x]}],"mask-image-radial-from-pos":[{"mask-radial-from":ee()}],"mask-image-radial-to-pos":[{"mask-radial-to":ee()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":L()}],"mask-image-conic-pos":[{"mask-conic":[M]}],"mask-image-conic-from-pos":[{"mask-conic-from":ee()}],"mask-image-conic-to-pos":[{"mask-conic-to":ee()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:we()}],"mask-repeat":[{mask:ve()}],"mask-size":[{mask:pe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",R,x]}],filter:[{filter:["","none",R,x]}],blur:[{blur:Ce()}],brightness:[{brightness:[M,R,x]}],contrast:[{contrast:[M,R,x]}],"drop-shadow":[{"drop-shadow":["","none",Y,st,at]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",M,R,x]}],"hue-rotate":[{"hue-rotate":[M,R,x]}],invert:[{invert:["",M,R,x]}],saturate:[{saturate:[M,R,x]}],sepia:[{sepia:["",M,R,x]}],"backdrop-filter":[{"backdrop-filter":["","none",R,x]}],"backdrop-blur":[{"backdrop-blur":Ce()}],"backdrop-brightness":[{"backdrop-brightness":[M,R,x]}],"backdrop-contrast":[{"backdrop-contrast":[M,R,x]}],"backdrop-grayscale":[{"backdrop-grayscale":["",M,R,x]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[M,R,x]}],"backdrop-invert":[{"backdrop-invert":["",M,R,x]}],"backdrop-opacity":[{"backdrop-opacity":[M,R,x]}],"backdrop-saturate":[{"backdrop-saturate":[M,R,x]}],"backdrop-sepia":[{"backdrop-sepia":["",M,R,x]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":h()}],"border-spacing-x":[{"border-spacing-x":h()}],"border-spacing-y":[{"border-spacing-y":h()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",R,x]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[M,"initial",R,x]}],ease:[{ease:["linear","initial",C,R,x]}],delay:[{delay:[M,R,x]}],animate:[{animate:["none",T,R,x]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[B,R,x]}],"perspective-origin":[{"perspective-origin":Q()}],rotate:[{rotate:F()}],"rotate-x":[{"rotate-x":F()}],"rotate-y":[{"rotate-y":F()}],"rotate-z":[{"rotate-z":F()}],scale:[{scale:ie()}],"scale-x":[{"scale-x":ie()}],"scale-y":[{"scale-y":ie()}],"scale-z":[{"scale-z":ie()}],"scale-3d":["scale-3d"],skew:[{skew:Oe()}],"skew-x":[{"skew-x":Oe()}],"skew-y":[{"skew-y":Oe()}],transform:[{transform:[R,x,"","none","gpu","cpu"]}],"transform-origin":[{origin:Q()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ae()}],"translate-x":[{"translate-x":Ae()}],"translate-y":[{"translate-y":Ae()}],"translate-z":[{"translate-z":Ae()}],"translate-none":["translate-none"],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",R,x]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":h()}],"scroll-mx":[{"scroll-mx":h()}],"scroll-my":[{"scroll-my":h()}],"scroll-ms":[{"scroll-ms":h()}],"scroll-me":[{"scroll-me":h()}],"scroll-mt":[{"scroll-mt":h()}],"scroll-mr":[{"scroll-mr":h()}],"scroll-mb":[{"scroll-mb":h()}],"scroll-ml":[{"scroll-ml":h()}],"scroll-p":[{"scroll-p":h()}],"scroll-px":[{"scroll-px":h()}],"scroll-py":[{"scroll-py":h()}],"scroll-ps":[{"scroll-ps":h()}],"scroll-pe":[{"scroll-pe":h()}],"scroll-pt":[{"scroll-pt":h()}],"scroll-pr":[{"scroll-pr":h()}],"scroll-pb":[{"scroll-pb":h()}],"scroll-pl":[{"scroll-pl":h()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",R,x]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[M,Ze,Ue,wt]}],stroke:[{stroke:["none",...A()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ea=Nn(Zn);function Fe(...e){return ea(fn(e))}const De=e=>"Condition"in e,vr=e=>"LHSField"in e,ta=De,ra=vr;let na=0;const rt=()=>`filter_${Date.now()}_${++na}`,aa=e=>e.id?e:{...e,id:rt()},Cr=e=>e.map(t=>{const n=aa(t);return De(n)?{...n,Condition:Cr(n.Condition)}:n}),Sr=e=>e.map(t=>{if(De(t)){const{id:a,...o}=t;return{...o,Condition:Sr(t.Condition)}}const{id:n,...r}=t;return r}),kr=(e,t)=>{for(const n of e){if(n.id===t)return n;if(De(n)){const r=kr(n.Condition,t);if(r)return r}}},St=(e,t,n)=>e.map(r=>r.id===t?n(r):De(r)?{...r,Condition:St(r.Condition,t,n)}:r),Er=(e,t)=>e.filter(n=>n.id!==t).map(n=>De(n)?{...n,Condition:Er(n.Condition,t)}:n),kt=(e,t,n)=>e.map(r=>r.id===t&&De(r)?{...r,Condition:[...r.Condition,n]}:De(r)?{...r,Condition:kt(r.Condition,t,n)}:r);function Rt(e={}){const[t,n]=l.useState(()=>Cr(e.initialConditions||[])),[r,a]=l.useState(e.initialOperator||"And"),o=l.useMemo(()=>{if(t.length!==0)return{Operator:r,Condition:Sr(t)}},[t,r]),i=t.length>0,d=l.useCallback(C=>{const T=rt(),U={...C,id:T};return n(L=>[...L,U]),T},[]),u=l.useCallback(C=>{const T=rt(),U={id:T,Operator:C,Condition:[]};return n(L=>[...L,U]),T},[]),f=l.useCallback((C,T)=>{const U=rt(),L={...T,id:U};return n(Q=>kt(Q,C,L)),U},[]),b=l.useCallback((C,T)=>{const U=rt(),L={id:U,Operator:T,Condition:[]};return n(Q=>kt(Q,C,L)),U},[]),k=l.useCallback((C,T)=>{n(U=>St(U,C,L=>De(L)?L:{...L,...T}))},[]),m=l.useCallback((C,T)=>{n(U=>St(U,C,L=>De(L)?{...L,Operator:T}:L))},[]),Y=l.useCallback(C=>{n(T=>Er(T,C))},[]),z=l.useCallback(C=>kr(t,C),[t]),B=l.useCallback(()=>{n([])},[]),Z=l.useCallback(C=>{a(C)},[]);return{operator:r,items:t,payload:o,hasConditions:i,add:d,addGroup:u,addTo:f,addGroupTo:b,update:k,updateOperator:m,remove:Y,get:z,clear:B,setOperator:Z,conditions:t}}function sa(e){var we,ve,pe,ge,se,oe,re,xe,ee,Ce;const[t,n]=l.useState({query:""}),[r,a]=l.useState({field:((ve=(we=e.initialState)==null?void 0:we.sorting)==null?void 0:ve.field)||null,direction:((ge=(pe=e.initialState)==null?void 0:pe.sorting)==null?void 0:ge.direction)||null}),[o,i]=l.useState({pageNo:((oe=(se=e.initialState)==null?void 0:se.pagination)==null?void 0:oe.pageNo)||1,pageSize:((xe=(re=e.initialState)==null?void 0:re.pagination)==null?void 0:xe.pageSize)||10}),d=Rt({initialConditions:(ee=e.initialState)==null?void 0:ee.filters,initialOperator:((Ce=e.initialState)==null?void 0:Ce.filterOperator)||"And"}),u=l.useMemo(()=>{const F={};return t.query&&(F.Search=t.query),d.payload&&(F.Filter=d.payload),F},[t.query,d.payload]),f=l.useMemo(()=>{const F={...u};return r.field&&r.direction&&(F.Sort=[{[String(r.field)]:r.direction==="asc"?"ASC":"DESC"}]),e.enablePagination&&(F.Page=o.pageNo,F.PageSize=o.pageSize),F},[u,r,o,e.enablePagination]),{data:b,isLoading:k,isFetching:m,error:Y,refetch:z}=be.useQuery({queryKey:["table",e.source,f],queryFn:async()=>{try{const F=await ye(e.source).list(f);return e.onSuccess&&e.onSuccess(F.Data),F}catch(F){throw e.onError&&e.onError(F),F}},staleTime:0,gcTime:0}),{data:B,isLoading:Z,isFetching:C,error:T,refetch:U}=be.useQuery({queryKey:["table-count",e.source,u],queryFn:async()=>{try{return await ye(e.source).count(u)}catch(F){throw e.onError&&e.onError(F),F}},staleTime:0,gcTime:0}),L=l.useMemo(()=>(b==null?void 0:b.Data)||[],[b]),Q=l.useMemo(()=>(B==null?void 0:B.Count)||0,[B]),y=l.useMemo(()=>Math.ceil(Q/o.pageSize),[Q,o.pageSize]),S=l.useCallback(F=>{a(ie=>{if(ie.field===F){if(ie.direction==="asc")return{field:F,direction:"desc"};if(ie.direction==="desc")return{field:null,direction:null}}return{field:F,direction:"asc"}})},[]),h=l.useCallback(()=>{a({field:null,direction:null})},[]),O=l.useCallback((F,ie)=>{a({field:F,direction:ie})},[]),N=l.useCallback(F=>{n({query:F}),i(ie=>({...ie,pageNo:1}))},[]),_=l.useCallback(()=>{n({query:""})},[]),J=o.pageNo<y,H=o.pageNo>1,ce=l.useCallback(()=>{J&&i(F=>({...F,pageNo:F.pageNo+1}))},[J]),D=l.useCallback(()=>{H&&i(F=>({...F,pageNo:F.pageNo-1}))},[H]),q=l.useCallback(F=>{const ie=Math.max(1,Math.min(F,y));i(Oe=>({...Oe,pageNo:ie}))},[y]),le=l.useCallback(F=>{i(ie=>({...ie,pageSize:F,pageNo:1}))},[]),A=l.useCallback(async()=>{const[F]=await Promise.all([z(),U()]);return F.data||{Data:[]}},[z,U]);return{rows:L,totalItems:Q,isLoading:k||Z,isFetching:m||C,error:Y||T,search:{query:t.query,setQuery:N,clear:_},sort:{field:r.field,direction:r.direction,toggle:S,clear:h,set:O},filter:d,pagination:{currentPage:o.pageNo,pageSize:o.pageSize,totalPages:y,totalItems:Q,canGoNext:J,canGoPrevious:H,goToNext:ce,goToPrevious:D,goToPage:q,setPageSize:le},refetch:A}}function oa(){const e=new Date;return{NOW:e,TODAY:new Date(e.getFullYear(),e.getMonth(),e.getDate()),CURRENT_USER:{EmpId:1,Email:"user@example.com",FirstName:"John",LastName:"Doe",Role:"User"},CURRENT_USER_ID:1}}const ia={CONCAT:(...e)=>e.map(t=>String(t||"")).join(""),TRIM:e=>String(e||"").trim(),LENGTH:e=>String(e||"").length,UPPER:e=>String(e||"").toUpperCase(),LOWER:e=>String(e||"").toLowerCase(),SUBSTRING:(e,t,n)=>{const r=String(e||"");return n!==void 0?r.substring(t,t+n):r.substring(t)},CONTAINS:(e,t)=>String(e||"").includes(String(t||"")),YEAR:e=>new Date(e).getFullYear(),MONTH:e=>new Date(e).getMonth()+1,DAY:e=>new Date(e).getDate(),DATE_DIFF:(e,t)=>{const n=new Date(e),r=new Date(t),a=Math.abs(n.getTime()-r.getTime());return Math.ceil(a/(1e3*60*60*24))},ADD_DAYS:(e,t)=>{const n=new Date(e);return n.setDate(n.getDate()+t),n},ADD_MONTHS:(e,t)=>{const n=new Date(e);return n.setMonth(n.getMonth()+t),n},SUM:(...e)=>e.reduce((t,n)=>t+(Number(n)||0),0),AVG:(...e)=>{const t=e.filter(n=>!isNaN(Number(n)));return t.length>0?t.reduce((n,r)=>n+Number(r),0)/t.length:0},MIN:(...e)=>Math.min(...e.map(t=>Number(t)||0)),MAX:(...e)=>Math.max(...e.map(t=>Number(t)||0)),ROUND:e=>Math.round(Number(e)||0),FLOOR:e=>Math.floor(Number(e)||0),CEIL:e=>Math.ceil(Number(e)||0),ABS:e=>Math.abs(Number(e)||0),IF:(e,t,n)=>e?t:n,IS_NULL:e=>e==null,IS_EMPTY:e=>!e||String(e).trim()==="",IS_NUMBER:e=>!isNaN(Number(e))&&e!==""&&e!==null&&e!==void 0,IS_DATE:e=>{const t=new Date(e);return!isNaN(t.getTime())},AUTO_NUMBER:()=>Math.floor(Math.random()*1e4)+1e3,UUID:()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)}),ARRAY_LENGTH:e=>Array.isArray(e)?e.length:0,ARRAY_CONTAINS:(e,t)=>Array.isArray(e)?e.includes(t):!1,ARRAY_JOIN:(e,t=",")=>Array.isArray(e)?e.join(t):""};function je(e,t){var n;switch(e.Type){case"Literal":return e.Value;case"SystemIdentifier":if(e.Property){const f=t.systemValues[e.Name];return vt(f,e.Property.Name)}return t.systemValues[e.Name];case"Identifier":if(e.Property){const f=Ut(e,t);return vt(f,e.Property.Name)}return Ut(e,t);case"MemberExpression":if(!e.Arguments||e.Arguments.length===0)throw new Error("MemberExpression requires Arguments array");const r=je(e.Arguments[0],t),a=(n=e.Arguments[0].Property)==null?void 0:n.Name;return a?vt(r,a):r;case"BinaryExpression":if(!e.Arguments||e.Arguments.length!==2)throw new Error("BinaryExpression requires exactly 2 arguments");const o=je(e.Arguments[0],t),i=je(e.Arguments[1],t);return ca(e.Operator,o,i);case"LogicalExpression":if(!e.Arguments||e.Arguments.length<2)throw new Error("LogicalExpression requires at least 2 arguments");return la(e.Operator,e.Arguments,t);case"CallExpression":if(!e.Callee)throw new Error("CallExpression requires Callee");const d=ia[e.Callee];if(!d)throw new Error(`Unknown function: ${e.Callee}`);const u=(e.Arguments||[]).map(f=>je(f,t));return d(...u);case"AssignmentExpression":if(!e.Arguments||e.Arguments.length!==1)throw new Error("AssignmentExpression requires exactly 1 argument");return je(e.Arguments[0],t);default:throw new Error(`Unknown expression type: ${e.Type}`)}}function Ut(e,t){const{Name:n,Source:r}=e;if(!n)throw new Error("Identifier requires Name");switch(r){case"Input":default:return t.formValues[n]}}function vt(e,t){if(!(!e||typeof e!="object"))return e[t]}function ca(e,t,n){const r=a=>a==null?0:typeof a=="number"?a:typeof a=="object"&&a!==null&&"value"in a?Number(a.value)||0:Number(a)||0;switch(e){case"==":return t==n;case"!=":return t!=n;case">":return r(t)>r(n);case"<":return r(t)<r(n);case">=":return r(t)>=r(n);case"<=":return r(t)<=r(n);case"+":return r(t)+r(n);case"-":return r(t)-r(n);case"*":return r(t)*r(n);case"/":const a=r(n);return a!==0?r(t)/a:0;default:throw new Error(`Unknown binary operator: ${e}`)}}function la(e,t,n){switch(e){case"AND":return t.every(r=>!!je(r,n));case"OR":return t.some(r=>!!je(r,n));default:throw new Error(`Unknown logical operator: ${e}`)}}function xr(e,t,n={}){const r={formValues:t,systemValues:oa(),referenceData:n};try{return je(e,r)}catch(a){return console.warn("Expression evaluation failed:",a),!1}}function qt(e,t,n={}){const r=[];for(const a of e)try{xr(a.Condition.ExpressionTree,t,n)||r.push({isValid:!1,message:a.Message,fieldName:a.Id})}catch(o){console.warn(`Cross-field validation rule ${a.Id} failed:`,o)}return r}function ua(e,t={},n={}){try{return xr(e,t,n)}catch(r){return console.warn("Default value calculation failed:",r),null}}function Mt(e,t){var d,u,f;const n=((d=e.Expression)==null?void 0:d.toLowerCase())||"",r=((u=e.Name)==null?void 0:u.toLowerCase())||"",a=((f=e.Id)==null?void 0:f.toLowerCase())||"",o=t.toLowerCase();return r.includes("required")||a.includes("required")?!0:[`${o} != null`,`${o} != ''`,`trim(${o}) != ''`,`${o}!=null`,`${o}!=''`].some(b=>n.includes(b))}function da(e){const t={...e};t.Rules||(t.Rules={Validation:{},Computation:{},BusinessLogic:{}}),t.Rules.Validation||(t.Rules.Validation={}),t.Rules.Computation||(t.Rules.Computation={}),t.Rules.BusinessLogic||(t.Rules.BusinessLogic={});const n={...t.Fields};return Object.entries(n).forEach(([r,a])=>{let o=a.Required||!1;if(a.Validation&&Array.isArray(a.Validation))if(a.Validation.length>0&&typeof a.Validation[0]=="object"){const i=[];a.Validation.forEach(d=>{t.Rules.Validation[d.Id]=d,i.push(d.Id),Mt(d,r)&&(o=!0)}),n[r]={...a,Validation:i,Required:o}}else a.Validation.forEach(d=>{var f;const u=(f=t.Rules.Validation)==null?void 0:f[d];u&&Mt(u,r)&&(o=!0)}),o&&!a.Required&&(n[r]={...a,Required:!0});if(a.Formula){const i=`RULE_COMPUTE_${r.toUpperCase()}`;t.Rules.Computation[i]={Id:i,Name:a.Formula.Id||`Compute ${r}`,Description:a.Formula.Description||`Computes value for ${r}`,Expression:a.Formula.Expression,ExpressionTree:a.Formula.ExpressionTree,ResultType:a.Type}}}),t.Fields=n,t}function fa(e){var n,r,a;const t={validation:{},computation:{},businessLogic:{}};return(n=e.Rules)!=null&&n.Validation&&(t.validation={...e.Rules.Validation}),(r=e.Rules)!=null&&r.Computation&&(t.computation={...e.Rules.Computation}),(a=e.Rules)!=null&&a.BusinessLogic&&(t.businessLogic={...e.Rules.BusinessLogic}),t}function ma(e){var r;const t={};if(!((r=e.Rules)!=null&&r.Computation))return t;const n=Object.entries(e.Fields).filter(([a,o])=>o.Computed).map(([a])=>a);return n.sort((a,o)=>o.length-a.length),Object.entries(e.Rules.Computation).forEach(([a,o])=>{const i=a.toUpperCase().replace(/[_-]/g,"");for(const u of n){const f=u.toUpperCase().replace(/[_-]/g,"");if(i.includes(f)){t[a]=u;return}}const d=`${o.Name||""} ${o.Description||""}`.toLowerCase();for(const u of n)if(d.includes(u.toLowerCase())){t[a]=u;return}}),t}function pa(e,t){const n={};Object.keys(e.Fields).forEach(a=>{n[a]={validation:[],computation:[],businessLogic:[]}}),Object.entries(e.Fields).forEach(([a,o])=>{o.Validation&&Array.isArray(o.Validation)&&o.Validation.forEach(d=>{t.validation[d]?n[a].validation.push(d):t.computation[d]?n[a].computation.push(d):t.businessLogic[d]&&n[a].businessLogic.push(d)}),o.Formula&&Object.entries(t.computation).forEach(([i,d])=>{var u;d.Expression===((u=o.Formula)==null?void 0:u.Expression)&&(n[a].computation.includes(i)||n[a].computation.push(i))})});const r=ma(e);return Object.entries(r).forEach(([a,o])=>{n[o]&&!n[o].computation.includes(a)&&n[o].computation.push(a)}),n}function ga(e,t){const n={},r={editable:!0,readable:!0,hidden:!1};return Object.keys(e.Fields).forEach(a=>{var u,f,b,k,m,Y;if(!t||!((u=e.RolePermission)!=null&&u[t])){n[a]=r;return}const o=e.RolePermission[t],i=((f=o.Editable)==null?void 0:f.includes(a))||((b=o.Editable)==null?void 0:b.includes("*"))||!1,d=((k=o.ReadOnly)==null?void 0:k.includes(a))||((m=o.ReadOnly)==null?void 0:m.includes("*"))||i;n[a]={editable:i&&!((Y=o.ReadOnly)!=null&&Y.includes(a)),readable:d,hidden:!d}}),n}function ha(e,t){switch(e){case"String":return t.toLowerCase().includes("email")?"email":t.toLowerCase().includes("password")?"password":"text";case"Number":return"number";case"Boolean":return"checkbox";case"Date":return"date";case"DateTime":return"datetime-local";case"Reference":return"reference";case"Array":case"Object":return"textarea";default:return"text"}}function Rr(e){return e.replace(/([A-Z])/g," $1").replace(/^./,t=>t.toUpperCase()).replace(/_/g," ").trim()}function ba(e,t,n){const r={};switch(t.Required&&(r.required={value:!0,message:`${Rr(e)} is required`}),t.Type){case"Number":r.valueAsNumber=!0;break;case"Date":case"DateTime":r.valueAsDate=!0;break}return t.Validation&&t.Validation.length>0&&(r.validate=()=>!0),r}function ya(e){return e.Values?e.Values.Mode==="Static"&&e.Values.Items?e.Values.Items.map(t=>({value:t.Value,label:t.Label})):e.Values.Mode==="Dynamic"&&e.Values.Reference?[]:[]:[]}function wa(e,t={}){if(!e.DefaultValue)switch(e.Type){case"Boolean":return!1;case"Number":return 0;case"String":return"";case"Array":return[];case"Object":return{};default:return}return ua(e.DefaultValue.ExpressionTree,t)}function va(e,t,n,r={},a,o){const i={editable:!0,readable:!0,hidden:!1},u=o||{validation:[],computation:[],businessLogic:[]},f=t.Computed||!!t.Formula||u.computation.length>0,b=ba(e,t);return f&&(b.disabled=!0),{name:e,type:ha(t.Type,e),label:t.Name||Rr(e),required:t.Required||!1,computed:f,defaultValue:wa(t,r),options:ya(t),validation:b,description:t.Description,_bdoField:t,permission:a||i,rules:u}}function Ca(e,t={},n){let r=e;r=da(r);const a={},o=[],i=[],d=[],u=[],f=fa(r),b=pa(r,f),k=ga(r,n);for(const[m,Y]of Object.entries(r.Fields)){if(m.startsWith("_")&&!["_id"].includes(m))continue;const z=k[m];if(z.hidden)continue;const B=va(m,Y,r.Fields,t,z,b[m]||{validation:[],computation:[],businessLogic:[]});a[m]=B,o.push(m),B.computed&&i.push(m),B.required&&d.push(m)}return{fields:a,fieldOrder:o,computedFields:i,requiredFields:d,crossFieldValidation:u,rules:f,fieldRules:b,rolePermissions:r.RolePermission}}function Sa(e){var n;if(e.type!=="reference"||!((n=e._bdoField.Values)!=null&&n.Reference))return null;const t=e._bdoField.Values.Reference;return{businessObject:t.BusinessObject,fields:t.Fields||["_id"],filters:t.Filters,sort:t.Sort}}function ka(e){const t={};for(const[n,r]of Object.entries(e.fields))if(r.type==="reference"){const a=Sa(r);a&&(t[n]=a)}return t}async function Ea(e){try{const n=(await Xt(e)).BOBlob;if(!n||typeof n!="object"||!n.Fields)throw new Error(`Invalid BDO schema response for ${e}`);return n}catch(t){throw console.error(`Schema fetch error for ${e}:`,t),new Error(`Failed to load form schema: ${t instanceof Error?t.message:"Unknown error"}`)}}async function xa(e,t=3){let n;for(let r=1;r<=t;r++)try{return await Ea(e)}catch(a){if(n=a,r<t){const o=Math.min(1e3*Math.pow(2,r-1),5e3);await new Promise(i=>setTimeout(i,o));continue}}throw n}async function Ra(e,t){try{return await ye(e).get(t)}catch(n){throw console.error(`Record fetch error for ${e}/${t}:`,n),new Error(`Failed to load record: ${n instanceof Error?n.message:"Unknown error"}`)}}async function Ta(e,t,n,r){try{let a;if(t==="create")return a=await ye(e).create(n),{success:!0,data:a,recordId:a._id||r};if(t==="update"){if(!r)throw new Error("Record ID is required for update operations");return a=await ye(e).update(r,n),{success:!0,data:a,recordId:a._id||r}}else throw new Error(`Unsupported operation: ${t}`)}catch(a){return console.error("Form submission error:",a),{success:!1,error:new Error(`Failed to ${t} record: ${a instanceof Error?a.message:"Unknown error"}`)}}}async function Oa(e,t=["_id"],n,r){try{const a={};return n&&(a.Filter=n),r&&(a.Sort=r),t.length>0&&(a.Field=t),(await ye(e).list(a)).Data||[]}catch(a){return console.error(`Reference data fetch error for ${e}:`,a),[]}}async function Aa(e){const t={},n=Object.entries(e).map(async([a,o])=>{try{const i=await Oa(o.businessObject,o.fields,o.filters,o.sort);return[a,i]}catch(i){return console.warn(`Failed to fetch reference data for ${a}:`,i),[a,[]]}});return(await Promise.allSettled(n)).forEach(a=>{if(a.status==="fulfilled"){const[o,i]=a.value;t[o]=Array.isArray(i)?i:[]}}),t}function Da(e,t,n="create",r){const a={};return Object.keys(e).forEach(o=>{const i=o,d=e[i];if(!t.includes(o)&&d!==void 0){if(n==="create"){a[i]=d;return}if(n==="update"){if(!r){a[i]=d;return}const u=r[i];JSON.stringify(d)!==JSON.stringify(u)&&(a[i]=d)}}}),a}function Fa(e){var t,n,r,a;return typeof e=="string"?e:e!=null&&e.message?e.message:(n=(t=e==null?void 0:e.response)==null?void 0:t.data)!=null&&n.message?e.response.data.message:(a=(r=e==null?void 0:e.response)==null?void 0:r.data)!=null&&a.error?e.response.data.error:"An unexpected error occurred"}function _a(e){var t,n;return!navigator.onLine||(e==null?void 0:e.code)==="NETWORK_ERROR"||((t=e==null?void 0:e.message)==null?void 0:t.toLowerCase().includes("network"))||((n=e==null?void 0:e.message)==null?void 0:n.toLowerCase().includes("fetch"))}function Na(e){var t,n,r;return(e==null?void 0:e.status)===400||((t=e==null?void 0:e.response)==null?void 0:t.status)===400||((n=e==null?void 0:e.message)==null?void 0:n.toLowerCase().includes("validation"))||((r=e==null?void 0:e.message)==null?void 0:r.toLowerCase().includes("invalid"))}const We=new Map;function Pa(e,t,n=10){We.set(e,{data:t,timestamp:Date.now(),ttl:n*60*1e3})}function $a(e){const t=We.get(e);return t?Date.now()-t.timestamp>t.ttl?(We.delete(e),null):t.data:null}function ja(e){e?Array.from(We.keys()).filter(n=>n.startsWith(e)).forEach(n=>We.delete(n)):We.clear()}async function Ia(e){const t=`schema:${e}`,n=$a(t);if(n)return n;const r=await xa(e);return Pa(t,r,30),r}class zt{constructor(t=1e3){Ve(this,"cache",new Map);Ve(this,"maxSize");this.maxSize=t}get(t){const n=this.cache.get(t);return n!==void 0&&(this.cache.delete(t),this.cache.set(t,n)),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){const r=this.cache.keys().next().value;this.cache.delete(r)}this.cache.set(t,n)}clear(){this.cache.clear()}}function La(e){const t=new Set;function n(r){switch(r.Type){case"Identifier":r.Name&&!r.Name.startsWith("$")&&t.add(r.Name);break;case"MemberExpression":r.Arguments&&r.Arguments.forEach(n);break;case"CallExpression":case"BinaryExpression":case"LogicalExpression":r.Arguments&&r.Arguments.forEach(n);break}}return n(e),t}class Va{constructor(){Ve(this,"resultCache",new zt(500));Ve(this,"dependencyCache",new zt(200));Ve(this,"compiledExpressions",new Map)}createCacheKey(t,n){const r=JSON.stringify(t),a=JSON.stringify(n);return`${r}:${a}`}getDependencies(t){const n=JSON.stringify(t);let r=this.dependencyCache.get(n);return r||(r=La(t),this.dependencyCache.set(n,r)),r}getCachedResult(t,n,r){if(!r)return;const a=this.getDependencies(t);for(const i of a)if(n[i]!==r[i])return;const o=this.createCacheKey(t,n);return this.resultCache.get(o)}evaluate(t,n,r){const a=this.getCachedResult(t,n,r);if(a!==void 0)return a;const o=this.evaluateNode(t,n),i=this.createCacheKey(t,n);return this.resultCache.set(i,o),o}evaluateNode(t,n){switch(t.Type){case"Literal":return t.Value;case"Identifier":return this.getIdentifierValue(t,n);case"BinaryExpression":return this.evaluateBinaryExpression(t,n);case"LogicalExpression":return this.evaluateLogicalExpression(t,n);case"CallExpression":return this.evaluateCallExpression(t,n);case"MemberExpression":return this.evaluateMemberExpression(t,n);default:throw new Error(`Unsupported expression type: ${t.Type}`)}}getIdentifierValue(t,n){if(t.Name){if(t.Name==="NOW")return new Date;if(t.Name==="TODAY"){const r=new Date;return new Date(r.getFullYear(),r.getMonth(),r.getDate())}return t.Name==="CURRENT_USER_ID"?1:t.Name==="CURRENT_USER"?{EmpId:1,Email:"user@example.com",FirstName:"John",LastName:"Doe",Role:"User"}:n[t.Name]}}evaluateBinaryExpression(t,n){if(!t.Arguments||t.Arguments.length!==2)throw new Error("Binary expression requires exactly 2 arguments");const r=this.evaluateNode(t.Arguments[0],n),a=this.evaluateNode(t.Arguments[1],n);switch(t.Operator){case"==":return r==a;case"!=":return r!=a;case"===":return r===a;case"!==":return r!==a;case"<":return Number(r)<Number(a);case"<=":return Number(r)<=Number(a);case">":return Number(r)>Number(a);case">=":return Number(r)>=Number(a);case"+":return Number(r)+Number(a);case"-":return Number(r)-Number(a);case"*":return Number(r)*Number(a);case"/":return Number(r)/Number(a);case"%":return Number(r)%Number(a);default:throw new Error(`Unsupported binary operator: ${t.Operator}`)}}evaluateLogicalExpression(t,n){if(!t.Arguments||t.Arguments.length<2)throw new Error("Logical expression requires at least 2 arguments");switch(t.Operator){case"AND":for(const r of t.Arguments)if(!this.evaluateNode(r,n))return!1;return!0;case"OR":for(const r of t.Arguments)if(this.evaluateNode(r,n))return!0;return!1;default:throw new Error(`Unsupported logical operator: ${t.Operator}`)}}evaluateCallExpression(t,n){var a;if(!t.Callee)throw new Error("Call expression requires a function name");const r=((a=t.Arguments)==null?void 0:a.map(o=>this.evaluateNode(o,n)))||[];switch(t.Callee){case"CONCAT":return r.map(f=>String(f||"")).join("");case"TRIM":return String(r[0]||"").trim();case"LENGTH":return String(r[0]||"").length;case"UPPER":return String(r[0]||"").toUpperCase();case"LOWER":return String(r[0]||"").toLowerCase();case"CONTAINS":return String(r[0]||"").includes(String(r[1]||""));case"MATCHES":return new RegExp(String(r[1])).test(String(r[0]||""));case"SUM":return r.reduce((f,b)=>f+(Number(b)||0),0);case"AVG":const o=r.filter(f=>!isNaN(Number(f)));return o.length>0?o.reduce((f,b)=>f+Number(b),0)/o.length:0;case"MIN":return Math.min(...r.map(f=>Number(f)||0));case"MAX":return Math.max(...r.map(f=>Number(f)||0));case"ROUND":return Math.round(Number(r[0])||0);case"FLOOR":return Math.floor(Number(r[0])||0);case"CEIL":return Math.ceil(Number(r[0])||0);case"ABS":return Math.abs(Number(r[0])||0);case"YEAR":return new Date(r[0]).getFullYear();case"MONTH":return new Date(r[0]).getMonth()+1;case"DAY":return new Date(r[0]).getDate();case"DATE_DIFF":const i=new Date(r[0]),d=new Date(r[1]),u=Math.abs(i.getTime()-d.getTime());return Math.ceil(u/(1e3*60*60*24));case"IF":return r[0]?r[1]:r[2];case"AUTO_NUMBER":return Math.floor(Math.random()*1e4);default:throw new Error(`Unknown function: ${t.Callee}`)}}evaluateMemberExpression(t,n){var o;if(!t.Arguments||t.Arguments.length===0)throw new Error("Member expression requires arguments");const r=this.evaluateNode(t.Arguments[0],n),a=(o=t.Arguments[0].Property)==null?void 0:o.Name;return a&&r&&typeof r=="object"?r[a]:r}clearCache(){this.resultCache.clear(),this.dependencyCache.clear(),this.compiledExpressions.clear()}}const Tr=new Va;function Ua(e,t,n,r,a){if(!n||n.length===0)return{isValid:!0};const o={...r,[e]:t};for(const i of n)try{if(!Tr.evaluate(i.ExpressionTree,o,a))return{isValid:!1,message:i.Message||`Validation failed for ${i.Name}`,fieldName:e}}catch(d){console.warn(`Validation rule ${i.Id} failed to evaluate:`,d)}return{isValid:!0}}function Kt(e){return Array.from(Tr.getDependencies(e))}function qa(e){const{source:t,operation:n,recordId:r,defaultValues:a={},mode:o="onBlur",enabled:i=!0,userRole:d,onSchemaError:u,skipSchemaFetch:f=!1,schema:b,draftOnEveryChange:k=!1}=e,[m,Y]=l.useState(null),[z,B]=l.useState({}),[Z,C]=l.useState(!1),[T]=l.useState({}),U=l.useRef(!1),L=l.useRef(null),Q=l.useRef(null),y=l.useRef(u);l.useEffect(()=>{y.current=u},[u]);const{data:S,isLoading:h,error:O,refetch:N}=be.useQuery({queryKey:["form-schema",t],queryFn:()=>f?Promise.resolve(b||{}):Ia(t),enabled:i&&(!f||!!b),retry:3,staleTime:30*60*1e3,gcTime:60*60*1e3,throwOnError:!1}),{data:_,isLoading:J,error:H}=be.useQuery({queryKey:["form-record",t,r],queryFn:()=>Ra(t,r),enabled:i&&n==="update"&&!!r,retry:3,staleTime:5*60*1e3,gcTime:15*60*1e3,throwOnError:!1}),ce=l.useMemo(()=>{const P={...a};if(n==="update"&&_&&Object.assign(P,_),m)for(const[j,I]of Object.entries(m.fields))I.defaultValue!==void 0&&!(j in P)&&(P[j]=I.defaultValue);return P},[a,_,n,m]),D=Zr.useForm({mode:o,defaultValues:a,values:n==="update"&&_?ce:void 0});l.useEffect(()=>{var P;if(S)try{const j=Ca(S,{},d);Y(j);const I=ka(j);Object.keys(I).length>0&&Aa(I).then(B).catch(console.warn)}catch(j){console.error("Schema processing failed:",j),(P=y.current)==null||P.call(y,j)}},[S,d]),l.useEffect(()=>{var P;O&&((P=y.current)==null||P.call(y,O))},[O]);const q=l.useMemo(()=>{if(!m)return[];const P=new Set,j=new Set(m.computedFields);return Object.entries(m.fieldRules).forEach(([I,X])=>{X.computation.forEach(W=>{const c=m.rules.computation[W];c!=null&&c.ExpressionTree&&Kt(c.ExpressionTree).forEach(p=>{m.fields[p]&&p!==I&&!j.has(p)&&P.add(p)})})}),m.computedFields.forEach(I=>{const X=m.fields[I];X._bdoField.Formula&&Kt(X._bdoField.Formula.ExpressionTree).forEach(c=>{m.fields[c]&&c!==I&&!j.has(c)&&P.add(c)})}),Array.from(P)},[m]),le=l.useCallback(async P=>{!m||q.length===0||!(k||q.includes(P))||U.current||(L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{if(!m||U.current)return;const I=D.getValues();(async()=>{U.current=!0;try{const W=ye(t),c={};n==="update"&&r&&"_id"in I&&(c._id=I._id);const w=Q.current??(n==="update"?_:null)??{},p=new Set(m.computedFields||[]);Object.keys(I).forEach(ne=>{if(ne==="_id"||p.has(ne))return;const de=I[ne],Re=w[ne];JSON.stringify(de)!==JSON.stringify(Re)&&(de!==""&&de!==null&&de!==void 0)&&(c[ne]=de)});const v=c,V={...Q.current};Object.keys(I).forEach(ne=>{p.has(ne)||(V[ne]=I[ne])}),Q.current=V;const Se=n==="update"&&r?await W.draftPatch(r,v):await W.draft(v);Se&&typeof Se=="object"&&(Object.entries(Se).forEach(([ne,de])=>{I[ne]!==de&&D.setValue(ne,de,{shouldDirty:!1,shouldValidate:!1})}),Object.entries(Se).forEach(([ne,de])=>{p.has(ne)&&(Q.current[ne]=de)}))}catch(W){console.warn("Failed to compute fields via API:",W)}finally{U.current=!1}})()},300))},[m,n,r,_,t,D,q,k]),A=l.useCallback(async()=>{if(!m)return!1;const P=D.getValues();if(!await D.trigger())return!1;const I=m.crossFieldValidation.map(W=>({Id:W.Id,Condition:{ExpressionTree:W.ExpressionTree},Message:W.Message||`Validation failed for ${W.Name}`})),X=qt(I,P,z);return X.length>0?(X.forEach((W,c)=>{D.setError(`root.crossField${c}`,{type:"validate",message:W.message})}),!1):!0},[m,D.getValues,D.trigger,D.setError,z]),we=l.useCallback((P,j)=>D.handleSubmit(async(I,X)=>{if(!m){const W=new Error("Schema not loaded");j==null||j(W,X);return}C(!0);try{const W=m.crossFieldValidation.map(v=>({Id:v.Id,Condition:{ExpressionTree:v.ExpressionTree},Message:v.Message||`Validation failed for ${v.Name}`})),c=qt(W,I,z);if(c.length>0){c.forEach((v,V)=>{D.setError(`root.crossField${V}`,{type:"validate",message:v.message})}),j==null||j(D.formState.errors,X);return}const w=Da(I,m.computedFields,n,_),p=await Ta(t,n,w,r);if(!p.success)throw p.error||new Error("Submission failed");n==="create"&&D.reset(),await(P==null?void 0:P(p.data||I,X))}catch(W){j==null||j(W,X)}finally{C(!1)}},(I,X)=>{j==null||j(I,X)}),[D,m,z,t,n,r,_]),ve=l.useCallback(P=>(m==null?void 0:m.fields[P])||null,[m]),pe=l.useCallback(()=>{if(!m)return{};const P={};return Object.entries(m.fields).forEach(([j,I])=>{P[j]=I}),P},[m]),ge=l.useCallback(P=>!!(m!=null&&m.fields[P]),[m]),se=l.useCallback(P=>(m==null?void 0:m.requiredFields.includes(P))||!1,[m]),oe=l.useCallback(P=>(m==null?void 0:m.computedFields.includes(P))||!1,[m]),re=l.useCallback(async()=>{await N()},[N]),xe=l.useCallback(()=>{D.clearErrors()},[D]),ee=h||n==="update"&&J,Ce=ee||Z,F=O||H,ie=!!F,Oe=l.useMemo(()=>(m==null?void 0:m.computedFields)||[],[m]),Ae=l.useMemo(()=>(m==null?void 0:m.requiredFields)||[],[m]),ze=l.useMemo(()=>{if(!m)return{};const P={};return Object.entries(m.fields).forEach(([j,I])=>{const X={};switch(I.required&&(X.required=`${I.label} is required`),I.permission.editable||(X.disabled=!0),I.type){case"number":X.valueAsNumber=!0;break;case"date":case"datetime-local":X.valueAsDate=!0;break}const W=I.rules.validation;W.length>0&&(X.validate={expressionValidation:c=>{const w=D.getValues();for(const p of W){const v=m.rules.validation[p];if(v){const V=Ua(j,c,[v],w,T);if(!V.isValid)return V.message||v.Message||"Invalid value"}}return!0}}),P[j]=X}),P},[m,D,z]);return{register:l.useCallback((P,j)=>{const I=ze[P],X=j==null?void 0:j.onBlur,W=async c=>{X&&await X(c);let w=!0;o==="onBlur"||o==="onTouched"||o==="all"?w=await D.trigger(P):w=!D.getFieldState(P,D.formState).error,w&&await le(P)};return D.register(P,{...I,...j,onBlur:W})},[D,ze,le,o]),handleSubmit:we,watch:D.watch,setValue:D.setValue,reset:D.reset,errors:D.formState.errors,isValid:D.formState.isValid,isDirty:D.formState.isDirty,isSubmitting:D.formState.isSubmitting||Z,isSubmitSuccessful:D.formState.isSubmitSuccessful,formState:D.formState,isLoadingInitialData:ee,isLoadingRecord:J,isLoading:Ce,loadError:F,hasError:ie,schema:S,schemaConfig:m,computedFields:Oe,requiredFields:Ae,getField:ve,getFields:pe,hasField:ge,isFieldRequired:se,isFieldComputed:oe,refreshSchema:re,validateForm:A,clearErrors:xe}}const Bt=50,Gt=5,Yt=5;function Ma({onCardMove:e,onError:t,columns:n,announceMove:r}){const[a,o]=l.useState({isDragging:!1,draggedCard:null,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:null}),i=l.useRef(null),d=l.useRef(null),u=l.useRef(null),f=l.useCallback(()=>{o({isDragging:!1,draggedCard:null,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:null}),d.current&&(clearTimeout(d.current),d.current=null)},[]),b=l.useCallback(y=>n.find(S=>S._id===y)||null,[n]),k=l.useCallback(y=>{for(const S of n){const h=S.cards.find(O=>O._id===y);if(h)return{card:h,column:S}}return null},[n]),m=l.useCallback((y,S)=>{var h,O;try{const N=y.target,_=b(S.columnId);if(!_)throw new Error("Source column not found");(h=y.dataTransfer)==null||h.setData("text/plain",S._id),(O=y.dataTransfer)==null||O.setData("application/json",JSON.stringify(S));const J=N.cloneNode(!0);J.style.cssText=`
|
|
4
|
+
...`:e}function dn(e,t){if(e==null)return"";switch(t||(typeof e=="boolean"?t="boolean":typeof e=="number"?t="number":e instanceof Date?t="datetime":Array.isArray(e)?t="array":typeof e=="object"?t="json":t="string"),t){case"id":case"string":return String(e);case"textarea":return cr(String(e));case"number":return ar(e);case"boolean":return ir(e);case"date":return rr(e);case"datetime":return nr(e);case"currency":return tr(e);case"json":return sr(e);case"array":return or(e);default:return String(e)}}function lr(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=lr(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function fn(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=lr(e))&&(r&&(r+=" "),r+=t);return r}const mn=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},pn=(e,t)=>({classGroupId:e,validator:t}),ur=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),ft="-",jt=[],gn="arbitrary..",hn=e=>{const t=yn(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return bn(i);const u=i.split(ft),l=u[0]===""&&u.length>1?1:0;return dr(u,l,t)},getConflictingClassGroupIds:(i,u)=>{if(u){const l=r[i],m=n[i];return l?m?mn(m,l):l:m||jt}return n[i]||jt}}},dr=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const a=e[t],o=n.nextPart.get(a);if(o){const m=dr(e,t+1,o);if(m)return m}const i=n.validators;if(i===null)return;const u=t===0?e.join(ft):e.slice(t).join(ft),l=i.length;for(let m=0;m<l;m++){const h=i[m];if(h.validator(u))return h.classGroupId}},bn=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?gn+r:void 0})(),yn=e=>{const{theme:t,classGroups:n}=e;return wn(n,t)},wn=(e,t)=>{const n=ur();for(const r in e){const a=e[r];Rt(a,n,r,t)}return n},Rt=(e,t,n,r)=>{const a=e.length;for(let o=0;o<a;o++){const i=e[o];vn(i,t,n,r)}},vn=(e,t,n,r)=>{if(typeof e=="string"){Cn(e,t,n);return}if(typeof e=="function"){Sn(e,t,n,r);return}En(e,t,n,r)},Cn=(e,t,n)=>{const r=e===""?t:fr(t,e);r.classGroupId=n},Sn=(e,t,n,r)=>{if(kn(e)){Rt(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(pn(n,e))},En=(e,t,n,r)=>{const a=Object.entries(e),o=a.length;for(let i=0;i<o;i++){const[u,l]=a[i];Rt(l,fr(t,u),n,r)}},fr=(e,t)=>{let n=e;const r=t.split(ft),a=r.length;for(let o=0;o<a;o++){const i=r[o];let u=n.nextPart.get(i);u||(u=ur(),n.nextPart.set(i,u)),n=u}return n},kn=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,xn=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const a=(o,i)=>{n[o]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(o){let i=n[o];if(i!==void 0)return i;if((i=r[o])!==void 0)return a(o,i),i},set(o,i){o in n?n[o]=i:a(o,i)}}},St="!",Vt=":",Rn=[],Lt=(e,t,n,r,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:a}),Tn=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=a=>{const o=[];let i=0,u=0,l=0,m;const h=a.length;for(let Y=0;Y<h;Y++){const H=a[Y];if(i===0&&u===0){if(H===Vt){o.push(a.slice(l,Y)),l=Y+1;continue}if(H==="/"){m=Y;continue}}H==="["?i++:H==="]"?i--:H==="("?u++:H===")"&&u--}const k=o.length===0?a:a.slice(l);let _=k,V=!1;k.endsWith(St)?(_=k.slice(0,-1),V=!0):k.startsWith(St)&&(_=k.slice(1),V=!0);const b=m&&m>l?m-l:void 0;return Lt(o,V,_,b)};if(t){const a=t+Vt,o=r;r=i=>i.startsWith(a)?o(i.slice(a.length)):Lt(Rn,!1,i,void 0,!0)}if(n){const a=r;r=o=>n({className:o,parseClassName:a})}return r},On=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let a=[];for(let o=0;o<n.length;o++){const i=n[o],u=i[0]==="[",l=t.has(i);u||l?(a.length>0&&(a.sort(),r.push(...a),a=[]),r.push(i)):a.push(i)}return a.length>0&&(a.sort(),r.push(...a)),r}},Dn=e=>({cache:xn(e.cacheSize),parseClassName:Tn(e),sortModifiers:On(e),...hn(e)}),An=/\s+/,Fn=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:a,sortModifiers:o}=t,i=[],u=e.trim().split(An);let l="";for(let m=u.length-1;m>=0;m-=1){const h=u[m],{isExternal:k,modifiers:_,hasImportantModifier:V,baseClassName:b,maybePostfixModifierPosition:Y}=n(h);if(k){l=h+(l.length>0?" "+l:l);continue}let H=!!Y,S=r(H?b.substring(0,Y):b);if(!S){if(!H){l=h+(l.length>0?" "+l:l);continue}if(S=r(b),!S){l=h+(l.length>0?" "+l:l);continue}H=!1}const O=_.length===0?"":_.length===1?_[0]:o(_).join(":"),K=V?O+St:O,z=K+S;if(i.indexOf(z)>-1)continue;i.push(z);const U=a(S,H);for(let w=0;w<U.length;++w){const E=U[w];i.push(K+E)}l=h+(l.length>0?" "+l:l)}return l},_n=(...e)=>{let t=0,n,r,a="";for(;t<e.length;)(n=e[t++])&&(r=mr(n))&&(a&&(a+=" "),a+=r);return a},mr=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=mr(e[r]))&&(n&&(n+=" "),n+=t);return n},Nn=(e,...t)=>{let n,r,a,o;const i=l=>{const m=t.reduce((h,k)=>k(h),e());return n=Dn(m),r=n.cache.get,a=n.cache.set,o=u,u(l)},u=l=>{const m=r(l);if(m)return m;const h=Fn(l,n);return a(l,h),h};return o=i,(...l)=>o(_n(...l))},Pn=[],ge=e=>{const t=n=>n[e]||Pn;return t.isThemeGetter=!0,t},pr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,gr=/^\((?:(\w[\w-]*):)?(.+)\)$/i,$n=/^\d+\/\d+$/,In=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Vn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ln=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Un=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,He=e=>$n.test(e),M=e=>!!e&&!Number.isNaN(Number(e)),qe=e=>!!e&&Number.isInteger(Number(e)),wt=e=>e.endsWith("%")&&M(e.slice(0,-1)),je=e=>In.test(e),qn=()=>!0,Mn=e=>jn.test(e)&&!Vn.test(e),hr=()=>!1,zn=e=>Ln.test(e),Kn=e=>Un.test(e),Bn=e=>!R(e)&&!T(e),Gn=e=>Ze(e,wr,hr),R=e=>pr.test(e),Ge=e=>Ze(e,vr,Mn),vt=e=>Ze(e,Hn,M),Ut=e=>Ze(e,br,hr),Yn=e=>Ze(e,yr,Kn),lt=e=>Ze(e,Cr,zn),T=e=>gr.test(e),rt=e=>et(e,vr),Wn=e=>et(e,Xn),qt=e=>et(e,br),Qn=e=>et(e,wr),Jn=e=>et(e,yr),ut=e=>et(e,Cr,!0),Ze=(e,t,n)=>{const r=pr.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},et=(e,t,n=!1)=>{const r=gr.exec(e);return r?r[1]?t(r[1]):n:!1},br=e=>e==="position"||e==="percentage",yr=e=>e==="image"||e==="url",wr=e=>e==="length"||e==="size"||e==="bg-size",vr=e=>e==="length",Hn=e=>e==="number",Xn=e=>e==="family-name",Cr=e=>e==="shadow",Zn=()=>{const e=ge("color"),t=ge("font"),n=ge("text"),r=ge("font-weight"),a=ge("tracking"),o=ge("leading"),i=ge("breakpoint"),u=ge("container"),l=ge("spacing"),m=ge("radius"),h=ge("shadow"),k=ge("inset-shadow"),_=ge("text-shadow"),V=ge("drop-shadow"),b=ge("blur"),Y=ge("perspective"),H=ge("aspect"),S=ge("ease"),O=ge("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],U=()=>[...z(),T,R],w=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],p=()=>[T,R,l],F=()=>[He,"full","auto",...p()],$=()=>[qe,"none","subgrid",T,R],I=()=>["auto",{span:["full",qe,T,R]},qe,T,R],X=()=>[qe,"auto",T,R],W=()=>["auto","min","max","fr",T,R],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],se=()=>["start","end","center","stretch","center-safe","end-safe"],B=()=>["auto",...p()],oe=()=>[He,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...p()],A=()=>[e,T,R],ue=()=>[...z(),qt,Ut,{position:[T,R]}],ye=()=>["no-repeat",{repeat:["","x","y","space","round"]}],be=()=>["auto","cover","contain",Qn,Gn,{size:[T,R]}],we=()=>[wt,rt,Ge],D=()=>["","none","full",m,T,R],ne=()=>["",M,rt,Ge],ee=()=>["solid","dashed","dotted","double"],Re=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],re=()=>[M,wt,qt,Ut],Se=()=>["","none",b,T,R],P=()=>["none",M,T,R],ie=()=>["none",M,T,R],De=()=>[M,T,R],Ae=()=>[He,"full",...p()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[je],breakpoint:[je],color:[qn],container:[je],"drop-shadow":[je],ease:["in","out","in-out"],font:[Bn],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[je],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[je],shadow:[je],spacing:["px",M],text:[je],"text-shadow":[je],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",He,R,T,H]}],container:["container"],columns:[{columns:[M,R,T,u]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:U()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:F()}],"inset-x":[{"inset-x":F()}],"inset-y":[{"inset-y":F()}],start:[{start:F()}],end:[{end:F()}],top:[{top:F()}],right:[{right:F()}],bottom:[{bottom:F()}],left:[{left:F()}],visibility:["visible","invisible","collapse"],z:[{z:[qe,"auto",T,R]}],basis:[{basis:[He,"full","auto",u,...p()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[M,He,"auto","initial","none",R]}],grow:[{grow:["",M,T,R]}],shrink:[{shrink:["",M,T,R]}],order:[{order:[qe,"first","last","none",T,R]}],"grid-cols":[{"grid-cols":$()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":X()}],"col-end":[{"col-end":X()}],"grid-rows":[{"grid-rows":$()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":X()}],"row-end":[{"row-end":X()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:p()}],"gap-x":[{"gap-x":p()}],"gap-y":[{"gap-y":p()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...se(),"normal"]}],"justify-self":[{"justify-self":["auto",...se()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...se(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...se(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...se(),"baseline"]}],"place-self":[{"place-self":["auto",...se()]}],p:[{p:p()}],px:[{px:p()}],py:[{py:p()}],ps:[{ps:p()}],pe:[{pe:p()}],pt:[{pt:p()}],pr:[{pr:p()}],pb:[{pb:p()}],pl:[{pl:p()}],m:[{m:B()}],mx:[{mx:B()}],my:[{my:B()}],ms:[{ms:B()}],me:[{me:B()}],mt:[{mt:B()}],mr:[{mr:B()}],mb:[{mb:B()}],ml:[{ml:B()}],"space-x":[{"space-x":p()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":p()}],"space-y-reverse":["space-y-reverse"],size:[{size:oe()}],w:[{w:[u,"screen",...oe()]}],"min-w":[{"min-w":[u,"screen","none",...oe()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[i]},...oe()]}],h:[{h:["screen","lh",...oe()]}],"min-h":[{"min-h":["screen","lh","none",...oe()]}],"max-h":[{"max-h":["screen","lh",...oe()]}],"font-size":[{text:["base",n,rt,Ge]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,T,vt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",wt,R]}],"font-family":[{font:[Wn,R,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,T,R]}],"line-clamp":[{"line-clamp":[M,"none",T,vt]}],leading:[{leading:[o,...p()]}],"list-image":[{"list-image":["none",T,R]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",T,R]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[M,"from-font","auto",T,Ge]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[M,"auto",T,R]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:p()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",T,R]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",T,R]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:ye()}],"bg-size":[{bg:be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},qe,T,R],radial:["",T,R],conic:[qe,T,R]},Jn,Yn]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:we()}],"gradient-via-pos":[{via:we()}],"gradient-to-pos":[{to:we()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:D()}],"rounded-s":[{"rounded-s":D()}],"rounded-e":[{"rounded-e":D()}],"rounded-t":[{"rounded-t":D()}],"rounded-r":[{"rounded-r":D()}],"rounded-b":[{"rounded-b":D()}],"rounded-l":[{"rounded-l":D()}],"rounded-ss":[{"rounded-ss":D()}],"rounded-se":[{"rounded-se":D()}],"rounded-ee":[{"rounded-ee":D()}],"rounded-es":[{"rounded-es":D()}],"rounded-tl":[{"rounded-tl":D()}],"rounded-tr":[{"rounded-tr":D()}],"rounded-br":[{"rounded-br":D()}],"rounded-bl":[{"rounded-bl":D()}],"border-w":[{border:ne()}],"border-w-x":[{"border-x":ne()}],"border-w-y":[{"border-y":ne()}],"border-w-s":[{"border-s":ne()}],"border-w-e":[{"border-e":ne()}],"border-w-t":[{"border-t":ne()}],"border-w-r":[{"border-r":ne()}],"border-w-b":[{"border-b":ne()}],"border-w-l":[{"border-l":ne()}],"divide-x":[{"divide-x":ne()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ne()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[M,T,R]}],"outline-w":[{outline:["",M,rt,Ge]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",h,ut,lt]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",k,ut,lt]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:ne()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[M,Ge]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":ne()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",_,ut,lt]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[M,T,R]}],"mix-blend":[{"mix-blend":[...Re(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Re()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[M]}],"mask-image-linear-from-pos":[{"mask-linear-from":re()}],"mask-image-linear-to-pos":[{"mask-linear-to":re()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":re()}],"mask-image-t-to-pos":[{"mask-t-to":re()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":re()}],"mask-image-r-to-pos":[{"mask-r-to":re()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":re()}],"mask-image-b-to-pos":[{"mask-b-to":re()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":re()}],"mask-image-l-to-pos":[{"mask-l-to":re()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":re()}],"mask-image-x-to-pos":[{"mask-x-to":re()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":re()}],"mask-image-y-to-pos":[{"mask-y-to":re()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[T,R]}],"mask-image-radial-from-pos":[{"mask-radial-from":re()}],"mask-image-radial-to-pos":[{"mask-radial-to":re()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":z()}],"mask-image-conic-pos":[{"mask-conic":[M]}],"mask-image-conic-from-pos":[{"mask-conic-from":re()}],"mask-image-conic-to-pos":[{"mask-conic-to":re()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:ye()}],"mask-size":[{mask:be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",T,R]}],filter:[{filter:["","none",T,R]}],blur:[{blur:Se()}],brightness:[{brightness:[M,T,R]}],contrast:[{contrast:[M,T,R]}],"drop-shadow":[{"drop-shadow":["","none",V,ut,lt]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",M,T,R]}],"hue-rotate":[{"hue-rotate":[M,T,R]}],invert:[{invert:["",M,T,R]}],saturate:[{saturate:[M,T,R]}],sepia:[{sepia:["",M,T,R]}],"backdrop-filter":[{"backdrop-filter":["","none",T,R]}],"backdrop-blur":[{"backdrop-blur":Se()}],"backdrop-brightness":[{"backdrop-brightness":[M,T,R]}],"backdrop-contrast":[{"backdrop-contrast":[M,T,R]}],"backdrop-grayscale":[{"backdrop-grayscale":["",M,T,R]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[M,T,R]}],"backdrop-invert":[{"backdrop-invert":["",M,T,R]}],"backdrop-opacity":[{"backdrop-opacity":[M,T,R]}],"backdrop-saturate":[{"backdrop-saturate":[M,T,R]}],"backdrop-sepia":[{"backdrop-sepia":["",M,T,R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":p()}],"border-spacing-x":[{"border-spacing-x":p()}],"border-spacing-y":[{"border-spacing-y":p()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",T,R]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[M,"initial",T,R]}],ease:[{ease:["linear","initial",S,T,R]}],delay:[{delay:[M,T,R]}],animate:[{animate:["none",O,T,R]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[Y,T,R]}],"perspective-origin":[{"perspective-origin":U()}],rotate:[{rotate:P()}],"rotate-x":[{"rotate-x":P()}],"rotate-y":[{"rotate-y":P()}],"rotate-z":[{"rotate-z":P()}],scale:[{scale:ie()}],"scale-x":[{"scale-x":ie()}],"scale-y":[{"scale-y":ie()}],"scale-z":[{"scale-z":ie()}],"scale-3d":["scale-3d"],skew:[{skew:De()}],"skew-x":[{"skew-x":De()}],"skew-y":[{"skew-y":De()}],transform:[{transform:[T,R,"","none","gpu","cpu"]}],"transform-origin":[{origin:U()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ae()}],"translate-x":[{"translate-x":Ae()}],"translate-y":[{"translate-y":Ae()}],"translate-z":[{"translate-z":Ae()}],"translate-none":["translate-none"],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",T,R]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":p()}],"scroll-mx":[{"scroll-mx":p()}],"scroll-my":[{"scroll-my":p()}],"scroll-ms":[{"scroll-ms":p()}],"scroll-me":[{"scroll-me":p()}],"scroll-mt":[{"scroll-mt":p()}],"scroll-mr":[{"scroll-mr":p()}],"scroll-mb":[{"scroll-mb":p()}],"scroll-ml":[{"scroll-ml":p()}],"scroll-p":[{"scroll-p":p()}],"scroll-px":[{"scroll-px":p()}],"scroll-py":[{"scroll-py":p()}],"scroll-ps":[{"scroll-ps":p()}],"scroll-pe":[{"scroll-pe":p()}],"scroll-pt":[{"scroll-pt":p()}],"scroll-pr":[{"scroll-pr":p()}],"scroll-pb":[{"scroll-pb":p()}],"scroll-pl":[{"scroll-pl":p()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",T,R]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[M,rt,Ge,vt]}],stroke:[{stroke:["none",...A()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ea=Nn(Zn);function Ne(...e){return ea(fn(e))}const _e=e=>"Condition"in e,Sr=e=>"LHSField"in e,ta=_e,ra=Sr;let na=0;const st=()=>`filter_${Date.now()}_${++na}`,aa=e=>e.id?e:{...e,id:st()},Er=e=>e.map(t=>{const n=aa(t);return _e(n)?{...n,Condition:Er(n.Condition)}:n}),kr=e=>e.map(t=>{if(_e(t)){const{id:a,...o}=t;return{...o,Condition:kr(t.Condition)}}const{id:n,...r}=t;return r}),xr=(e,t)=>{for(const n of e){if(n.id===t)return n;if(_e(n)){const r=xr(n.Condition,t);if(r)return r}}},Et=(e,t,n)=>e.map(r=>r.id===t?n(r):_e(r)?{...r,Condition:Et(r.Condition,t,n)}:r),Rr=(e,t)=>e.filter(n=>n.id!==t).map(n=>_e(n)?{...n,Condition:Rr(n.Condition,t)}:n),kt=(e,t,n)=>e.map(r=>r.id===t&&_e(r)?{...r,Condition:[...r.Condition,n]}:_e(r)?{...r,Condition:kt(r.Condition,t,n)}:r);function Tt(e={}){const[t,n]=c.useState(()=>Er(e.initialConditions||[])),[r,a]=c.useState(e.initialOperator||"And"),o=c.useMemo(()=>{if(t.length!==0)return{Operator:r,Condition:kr(t)}},[t,r]),i=t.length>0,u=c.useCallback(S=>{const O=st(),K={...S,id:O};return n(z=>[...z,K]),O},[]),l=c.useCallback(S=>{const O=st(),K={id:O,Operator:S,Condition:[]};return n(z=>[...z,K]),O},[]),m=c.useCallback((S,O)=>{const K=st(),z={...O,id:K};return n(U=>kt(U,S,z)),K},[]),h=c.useCallback((S,O)=>{const K=st(),z={id:K,Operator:O,Condition:[]};return n(U=>kt(U,S,z)),K},[]),k=c.useCallback((S,O)=>{n(K=>Et(K,S,z=>_e(z)?z:{...z,...O}))},[]),_=c.useCallback((S,O)=>{n(K=>Et(K,S,z=>_e(z)?{...z,Operator:O}:z))},[]),V=c.useCallback(S=>{n(O=>Rr(O,S))},[]),b=c.useCallback(S=>xr(t,S),[t]),Y=c.useCallback(()=>{n([])},[]),H=c.useCallback(S=>{a(S)},[]);return{operator:r,items:t,payload:o,hasConditions:i,add:u,addGroup:l,addTo:m,addGroupTo:h,update:k,updateOperator:_,remove:V,get:b,clear:Y,setOperator:H,conditions:t}}function sa(e){var ue,ye,be,we,D,ne,ee,Re,re,Se;const[t,n]=c.useState({query:""}),[r,a]=c.useState({field:((ye=(ue=e.initialState)==null?void 0:ue.sorting)==null?void 0:ye.field)||null,direction:((we=(be=e.initialState)==null?void 0:be.sorting)==null?void 0:we.direction)||null}),[o,i]=c.useState({pageNo:((ne=(D=e.initialState)==null?void 0:D.pagination)==null?void 0:ne.pageNo)||1,pageSize:((Re=(ee=e.initialState)==null?void 0:ee.pagination)==null?void 0:Re.pageSize)||10}),u=Tt({initialConditions:(re=e.initialState)==null?void 0:re.filters,initialOperator:((Se=e.initialState)==null?void 0:Se.filterOperator)||"And"}),l=c.useMemo(()=>{const P={};return t.query&&(P.Search=t.query),u.payload&&(P.Filter=u.payload),P},[t.query,u.payload]),m=c.useMemo(()=>{const P={...l};return r.field&&r.direction&&(P.Sort=[{[String(r.field)]:r.direction==="asc"?"ASC":"DESC"}]),e.enablePagination&&(P.Page=o.pageNo,P.PageSize=o.pageSize),P},[l,r,o,e.enablePagination]),{data:h,isLoading:k,isFetching:_,error:V,refetch:b}=Ce.useQuery({queryKey:["table",e.source,m],queryFn:async()=>{try{const P=await he(e.source).list(m);return e.onSuccess&&e.onSuccess(P.Data),P}catch(P){throw e.onError&&e.onError(P),P}},staleTime:0,gcTime:0}),{data:Y,isLoading:H,isFetching:S,error:O,refetch:K}=Ce.useQuery({queryKey:["table-count",e.source,l],queryFn:async()=>{try{return await he(e.source).count(l)}catch(P){throw e.onError&&e.onError(P),P}},staleTime:0,gcTime:0}),z=c.useMemo(()=>(h==null?void 0:h.Data)||[],[h]),U=c.useMemo(()=>(Y==null?void 0:Y.Count)||0,[Y]),w=c.useMemo(()=>Math.ceil(U/o.pageSize),[U,o.pageSize]),E=c.useCallback(P=>{a(ie=>{if(ie.field===P){if(ie.direction==="asc")return{field:P,direction:"desc"};if(ie.direction==="desc")return{field:null,direction:null}}return{field:P,direction:"asc"}})},[]),p=c.useCallback(()=>{a({field:null,direction:null})},[]),F=c.useCallback((P,ie)=>{a({field:P,direction:ie})},[]),$=c.useCallback(P=>{n({query:P}),i(ie=>({...ie,pageNo:1}))},[]),I=c.useCallback(()=>{n({query:""})},[]),X=o.pageNo<w,W=o.pageNo>1,Z=c.useCallback(()=>{X&&i(P=>({...P,pageNo:P.pageNo+1}))},[X]),se=c.useCallback(()=>{W&&i(P=>({...P,pageNo:P.pageNo-1}))},[W]),B=c.useCallback(P=>{const ie=Math.max(1,Math.min(P,w));i(De=>({...De,pageNo:ie}))},[w]),oe=c.useCallback(P=>{i(ie=>({...ie,pageSize:P,pageNo:1}))},[]),A=c.useCallback(async()=>{const[P]=await Promise.all([b(),K()]);return P.data||{Data:[]}},[b,K]);return{rows:z,totalItems:U,isLoading:k||H,isFetching:_||S,error:V||O,search:{query:t.query,setQuery:$,clear:I},sort:{field:r.field,direction:r.direction,toggle:E,clear:p,set:F},filter:u,pagination:{currentPage:o.pageNo,pageSize:o.pageSize,totalPages:w,totalItems:U,canGoNext:X,canGoPrevious:W,goToNext:Z,goToPrevious:se,goToPage:B,setPageSize:oe},refetch:A}}function oa(){const e=new Date;return{NOW:e,TODAY:new Date(e.getFullYear(),e.getMonth(),e.getDate()),CURRENT_USER:{EmpId:1,Email:"user@example.com",FirstName:"John",LastName:"Doe",Role:"User"},CURRENT_USER_ID:1}}const ia={CONCAT:(...e)=>e.map(t=>String(t||"")).join(""),TRIM:e=>String(e||"").trim(),LENGTH:e=>String(e||"").length,UPPER:e=>String(e||"").toUpperCase(),LOWER:e=>String(e||"").toLowerCase(),SUBSTRING:(e,t,n)=>{const r=String(e||"");return n!==void 0?r.substring(t,t+n):r.substring(t)},CONTAINS:(e,t)=>String(e||"").includes(String(t||"")),YEAR:e=>new Date(e).getFullYear(),MONTH:e=>new Date(e).getMonth()+1,DAY:e=>new Date(e).getDate(),DATE_DIFF:(e,t)=>{const n=new Date(e),r=new Date(t),a=Math.abs(n.getTime()-r.getTime());return Math.ceil(a/(1e3*60*60*24))},ADD_DAYS:(e,t)=>{const n=new Date(e);return n.setDate(n.getDate()+t),n},ADD_MONTHS:(e,t)=>{const n=new Date(e);return n.setMonth(n.getMonth()+t),n},SUM:(...e)=>e.reduce((t,n)=>t+(Number(n)||0),0),AVG:(...e)=>{const t=e.filter(n=>!isNaN(Number(n)));return t.length>0?t.reduce((n,r)=>n+Number(r),0)/t.length:0},MIN:(...e)=>Math.min(...e.map(t=>Number(t)||0)),MAX:(...e)=>Math.max(...e.map(t=>Number(t)||0)),ROUND:e=>Math.round(Number(e)||0),FLOOR:e=>Math.floor(Number(e)||0),CEIL:e=>Math.ceil(Number(e)||0),ABS:e=>Math.abs(Number(e)||0),IF:(e,t,n)=>e?t:n,IS_NULL:e=>e==null,IS_EMPTY:e=>!e||String(e).trim()==="",IS_NUMBER:e=>!isNaN(Number(e))&&e!==""&&e!==null&&e!==void 0,IS_DATE:e=>{const t=new Date(e);return!isNaN(t.getTime())},AUTO_NUMBER:()=>Math.floor(Math.random()*1e4)+1e3,UUID:()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)}),ARRAY_LENGTH:e=>Array.isArray(e)?e.length:0,ARRAY_CONTAINS:(e,t)=>Array.isArray(e)?e.includes(t):!1,ARRAY_JOIN:(e,t=",")=>Array.isArray(e)?e.join(t):""};function Me(e,t){var n;switch(e.Type){case"Literal":return e.Value;case"SystemIdentifier":if(e.Property){const m=t.systemValues[e.Name];return Ct(m,e.Property.Name)}return t.systemValues[e.Name];case"Identifier":if(e.Property){const m=Mt(e,t);return Ct(m,e.Property.Name)}return Mt(e,t);case"MemberExpression":if(!e.Arguments||e.Arguments.length===0)throw new Error("MemberExpression requires Arguments array");const r=Me(e.Arguments[0],t),a=(n=e.Arguments[0].Property)==null?void 0:n.Name;return a?Ct(r,a):r;case"BinaryExpression":if(!e.Arguments||e.Arguments.length!==2)throw new Error("BinaryExpression requires exactly 2 arguments");const o=Me(e.Arguments[0],t),i=Me(e.Arguments[1],t);return ca(e.Operator,o,i);case"LogicalExpression":if(!e.Arguments||e.Arguments.length<2)throw new Error("LogicalExpression requires at least 2 arguments");return la(e.Operator,e.Arguments,t);case"CallExpression":if(!e.Callee)throw new Error("CallExpression requires Callee");const u=ia[e.Callee];if(!u)throw new Error(`Unknown function: ${e.Callee}`);const l=(e.Arguments||[]).map(m=>Me(m,t));return u(...l);case"AssignmentExpression":if(!e.Arguments||e.Arguments.length!==1)throw new Error("AssignmentExpression requires exactly 1 argument");return Me(e.Arguments[0],t);default:throw new Error(`Unknown expression type: ${e.Type}`)}}function Mt(e,t){const{Name:n,Source:r}=e;if(!n)throw new Error("Identifier requires Name");switch(r){case"Input":default:return t.formValues[n]}}function Ct(e,t){if(!(!e||typeof e!="object"))return e[t]}function ca(e,t,n){const r=a=>a==null?0:typeof a=="number"?a:typeof a=="object"&&a!==null&&"value"in a?Number(a.value)||0:Number(a)||0;switch(e){case"==":return t==n;case"!=":return t!=n;case">":return r(t)>r(n);case"<":return r(t)<r(n);case">=":return r(t)>=r(n);case"<=":return r(t)<=r(n);case"+":return r(t)+r(n);case"-":return r(t)-r(n);case"*":return r(t)*r(n);case"/":const a=r(n);return a!==0?r(t)/a:0;default:throw new Error(`Unknown binary operator: ${e}`)}}function la(e,t,n){switch(e){case"AND":return t.every(r=>!!Me(r,n));case"OR":return t.some(r=>!!Me(r,n));default:throw new Error(`Unknown logical operator: ${e}`)}}function Tr(e,t,n={}){const r={formValues:t,systemValues:oa(),referenceData:n};try{return Me(e,r)}catch(a){return console.warn("Expression evaluation failed:",a),!1}}function zt(e,t,n={}){const r=[];for(const a of e)try{Tr(a.Condition.ExpressionTree,t,n)||r.push({isValid:!1,message:a.Message,fieldName:a.Id})}catch(o){console.warn(`Cross-field validation rule ${a.Id} failed:`,o)}return r}function ua(e,t={},n={}){try{return Tr(e,t,n)}catch(r){return console.warn("Default value calculation failed:",r),null}}function Kt(e,t){var u,l,m;const n=((u=e.Expression)==null?void 0:u.toLowerCase())||"",r=((l=e.Name)==null?void 0:l.toLowerCase())||"",a=((m=e.Id)==null?void 0:m.toLowerCase())||"",o=t.toLowerCase();return r.includes("required")||a.includes("required")?!0:[`${o} != null`,`${o} != ''`,`trim(${o}) != ''`,`${o}!=null`,`${o}!=''`].some(h=>n.includes(h))}function da(e){const t={...e};t.Rules||(t.Rules={Validation:{},Computation:{},BusinessLogic:{}}),t.Rules.Validation||(t.Rules.Validation={}),t.Rules.Computation||(t.Rules.Computation={}),t.Rules.BusinessLogic||(t.Rules.BusinessLogic={});const n={...t.Fields};return Object.entries(n).forEach(([r,a])=>{let o=a.Required||!1;if(a.Validation&&Array.isArray(a.Validation))if(a.Validation.length>0&&typeof a.Validation[0]=="object"){const i=[];a.Validation.forEach(u=>{t.Rules.Validation[u.Id]=u,i.push(u.Id),Kt(u,r)&&(o=!0)}),n[r]={...a,Validation:i,Required:o}}else a.Validation.forEach(u=>{var m;const l=(m=t.Rules.Validation)==null?void 0:m[u];l&&Kt(l,r)&&(o=!0)}),o&&!a.Required&&(n[r]={...a,Required:!0});if(a.Formula){const i=`RULE_COMPUTE_${r.toUpperCase()}`;t.Rules.Computation[i]={Id:i,Name:a.Formula.Id||`Compute ${r}`,Description:a.Formula.Description||`Computes value for ${r}`,Expression:a.Formula.Expression,ExpressionTree:a.Formula.ExpressionTree,ResultType:a.Type}}}),t.Fields=n,t}function fa(e){var n,r,a;const t={validation:{},computation:{},businessLogic:{}};return(n=e.Rules)!=null&&n.Validation&&(t.validation={...e.Rules.Validation}),(r=e.Rules)!=null&&r.Computation&&(t.computation={...e.Rules.Computation}),(a=e.Rules)!=null&&a.BusinessLogic&&(t.businessLogic={...e.Rules.BusinessLogic}),t}function ma(e){var r;const t={};if(!((r=e.Rules)!=null&&r.Computation))return t;const n=Object.entries(e.Fields).filter(([a,o])=>o.Computed).map(([a])=>a);return n.sort((a,o)=>o.length-a.length),Object.entries(e.Rules.Computation).forEach(([a,o])=>{const i=a.toUpperCase().replace(/[_-]/g,"");for(const l of n){const m=l.toUpperCase().replace(/[_-]/g,"");if(i.includes(m)){t[a]=l;return}}const u=`${o.Name||""} ${o.Description||""}`.toLowerCase();for(const l of n)if(u.includes(l.toLowerCase())){t[a]=l;return}}),t}function pa(e,t){const n={};Object.keys(e.Fields).forEach(a=>{n[a]={validation:[],computation:[],businessLogic:[]}}),Object.entries(e.Fields).forEach(([a,o])=>{o.Validation&&Array.isArray(o.Validation)&&o.Validation.forEach(u=>{t.validation[u]?n[a].validation.push(u):t.computation[u]?n[a].computation.push(u):t.businessLogic[u]&&n[a].businessLogic.push(u)}),o.Formula&&Object.entries(t.computation).forEach(([i,u])=>{var l;u.Expression===((l=o.Formula)==null?void 0:l.Expression)&&(n[a].computation.includes(i)||n[a].computation.push(i))})});const r=ma(e);return Object.entries(r).forEach(([a,o])=>{n[o]&&!n[o].computation.includes(a)&&n[o].computation.push(a)}),n}function ga(e,t){const n={},r={editable:!0,readable:!0,hidden:!1};return Object.keys(e.Fields).forEach(a=>{var l,m,h,k,_,V;if(!t||!((l=e.RolePermission)!=null&&l[t])){n[a]=r;return}const o=e.RolePermission[t],i=((m=o.Editable)==null?void 0:m.includes(a))||((h=o.Editable)==null?void 0:h.includes("*"))||!1,u=((k=o.ReadOnly)==null?void 0:k.includes(a))||((_=o.ReadOnly)==null?void 0:_.includes("*"))||i;n[a]={editable:i&&!((V=o.ReadOnly)!=null&&V.includes(a)),readable:u,hidden:!u}}),n}function ha(e,t){switch(e){case"String":return t.toLowerCase().includes("email")?"email":t.toLowerCase().includes("password")?"password":"text";case"Number":return"number";case"Boolean":return"checkbox";case"Date":return"date";case"DateTime":return"datetime-local";case"Reference":return"reference";case"Array":case"Object":return"textarea";default:return"text"}}function Or(e){return e.replace(/([A-Z])/g," $1").replace(/^./,t=>t.toUpperCase()).replace(/_/g," ").trim()}function ba(e,t,n){const r={};switch(t.Required&&(r.required={value:!0,message:`${Or(e)} is required`}),t.Type){case"Number":r.valueAsNumber=!0;break;case"Date":case"DateTime":r.valueAsDate=!0;break}return t.Validation&&t.Validation.length>0&&(r.validate=()=>!0),r}function ya(e){return e.Values?e.Values.Mode==="Static"&&e.Values.Items?e.Values.Items.map(t=>({value:t.Value,label:t.Label})):e.Values.Mode==="Dynamic"&&e.Values.Reference?[]:[]:[]}function wa(e,t={}){if(!e.DefaultValue)switch(e.Type){case"Boolean":return!1;case"Number":return 0;case"String":return"";case"Array":return[];case"Object":return{};default:return}return ua(e.DefaultValue.ExpressionTree,t)}function va(e,t,n,r={},a,o){const i={editable:!0,readable:!0,hidden:!1},l=o||{validation:[],computation:[],businessLogic:[]},m=t.Computed||!!t.Formula||l.computation.length>0,h=ba(e,t);return m&&(h.disabled=!0),{name:e,type:ha(t.Type,e),label:t.Name||Or(e),required:t.Required||!1,computed:m,defaultValue:wa(t,r),options:ya(t),validation:h,description:t.Description,_bdoField:t,permission:a||i,rules:l}}function Ca(e,t={},n){let r=e;r=da(r);const a={},o=[],i=[],u=[],l=[],m=fa(r),h=pa(r,m),k=ga(r,n);for(const[_,V]of Object.entries(r.Fields)){if(_.startsWith("_")&&!["_id"].includes(_))continue;const b=k[_];if(b.hidden)continue;const Y=va(_,V,r.Fields,t,b,h[_]||{validation:[],computation:[],businessLogic:[]});a[_]=Y,o.push(_),Y.computed&&i.push(_),Y.required&&u.push(_)}return{fields:a,fieldOrder:o,computedFields:i,requiredFields:u,crossFieldValidation:l,rules:m,fieldRules:h,rolePermissions:r.RolePermission}}function Sa(e){var n;if(e.type!=="reference"||!((n=e._bdoField.Values)!=null&&n.Reference))return null;const t=e._bdoField.Values.Reference;return{businessObject:t.BusinessObject,fields:t.Fields||["_id"],filters:t.Filters,sort:t.Sort}}function Ea(e){const t={};for(const[n,r]of Object.entries(e.fields))if(r.type==="reference"){const a=Sa(r);a&&(t[n]=a)}return t}async function ka(e){try{const n=(await er(e)).BOBlob;if(!n||typeof n!="object"||!n.Fields)throw new Error(`Invalid BDO schema response for ${e}`);return n}catch(t){throw console.error(`Schema fetch error for ${e}:`,t),new Error(`Failed to load form schema: ${t instanceof Error?t.message:"Unknown error"}`)}}async function xa(e,t=3){let n;for(let r=1;r<=t;r++)try{return await ka(e)}catch(a){if(n=a,r<t){const o=Math.min(1e3*Math.pow(2,r-1),5e3);await new Promise(i=>setTimeout(i,o));continue}}throw n}async function Ra(e,t){try{return await he(e).get(t)}catch(n){throw console.error(`Record fetch error for ${e}/${t}:`,n),new Error(`Failed to load record: ${n instanceof Error?n.message:"Unknown error"}`)}}async function Ta(e,t,n,r){try{let a;if(t==="create")return a=await he(e).create(n),{success:!0,data:a,recordId:a._id||r};if(t==="update"){if(!r)throw new Error("Record ID is required for update operations");return a=await he(e).update(r,n),{success:!0,data:a,recordId:a._id||r}}else throw new Error(`Unsupported operation: ${t}`)}catch(a){return console.error("Form submission error:",a),{success:!1,error:new Error(`Failed to ${t} record: ${a instanceof Error?a.message:"Unknown error"}`)}}}async function Oa(e,t=["_id"],n,r){try{const a={};return n&&(a.Filter=n),r&&(a.Sort=r),t.length>0&&(a.Field=t),(await he(e).list(a)).Data||[]}catch(a){return console.error(`Reference data fetch error for ${e}:`,a),[]}}async function Da(e){const t={},n=Object.entries(e).map(async([a,o])=>{try{const i=await Oa(o.businessObject,o.fields,o.filters,o.sort);return[a,i]}catch(i){return console.warn(`Failed to fetch reference data for ${a}:`,i),[a,[]]}});return(await Promise.allSettled(n)).forEach(a=>{if(a.status==="fulfilled"){const[o,i]=a.value;t[o]=Array.isArray(i)?i:[]}}),t}function Aa(e,t,n="create",r){const a={};return Object.keys(e).forEach(o=>{const i=o,u=e[i];if(!t.includes(o)&&u!==void 0){if(n==="create"){a[i]=u;return}if(n==="update"){if(!r){a[i]=u;return}const l=r[i];JSON.stringify(u)!==JSON.stringify(l)&&(a[i]=u)}}}),a}function Fa(e){var t,n,r,a;return typeof e=="string"?e:e!=null&&e.message?e.message:(n=(t=e==null?void 0:e.response)==null?void 0:t.data)!=null&&n.message?e.response.data.message:(a=(r=e==null?void 0:e.response)==null?void 0:r.data)!=null&&a.error?e.response.data.error:"An unexpected error occurred"}function _a(e){var t,n;return!navigator.onLine||(e==null?void 0:e.code)==="NETWORK_ERROR"||((t=e==null?void 0:e.message)==null?void 0:t.toLowerCase().includes("network"))||((n=e==null?void 0:e.message)==null?void 0:n.toLowerCase().includes("fetch"))}function Na(e){var t,n,r;return(e==null?void 0:e.status)===400||((t=e==null?void 0:e.response)==null?void 0:t.status)===400||((n=e==null?void 0:e.message)==null?void 0:n.toLowerCase().includes("validation"))||((r=e==null?void 0:e.message)==null?void 0:r.toLowerCase().includes("invalid"))}const Xe=new Map;function Pa(e,t,n=10){Xe.set(e,{data:t,timestamp:Date.now(),ttl:n*60*1e3})}function $a(e){const t=Xe.get(e);return t?Date.now()-t.timestamp>t.ttl?(Xe.delete(e),null):t.data:null}function Ia(e){e?Array.from(Xe.keys()).filter(n=>n.startsWith(e)).forEach(n=>Xe.delete(n)):Xe.clear()}async function ja(e){const t=`schema:${e}`,n=$a(t);if(n)return n;const r=await xa(e);return Pa(t,r,30),r}class Bt{constructor(t=1e3){Be(this,"cache",new Map);Be(this,"maxSize");this.maxSize=t}get(t){const n=this.cache.get(t);return n!==void 0&&(this.cache.delete(t),this.cache.set(t,n)),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){const r=this.cache.keys().next().value;this.cache.delete(r)}this.cache.set(t,n)}clear(){this.cache.clear()}}function Va(e){const t=new Set;function n(r){switch(r.Type){case"Identifier":r.Name&&!r.Name.startsWith("$")&&t.add(r.Name);break;case"MemberExpression":r.Arguments&&r.Arguments.forEach(n);break;case"CallExpression":case"BinaryExpression":case"LogicalExpression":r.Arguments&&r.Arguments.forEach(n);break}}return n(e),t}class La{constructor(){Be(this,"resultCache",new Bt(500));Be(this,"dependencyCache",new Bt(200));Be(this,"compiledExpressions",new Map)}createCacheKey(t,n){const r=JSON.stringify(t),a=JSON.stringify(n);return`${r}:${a}`}getDependencies(t){const n=JSON.stringify(t);let r=this.dependencyCache.get(n);return r||(r=Va(t),this.dependencyCache.set(n,r)),r}getCachedResult(t,n,r){if(!r)return;const a=this.getDependencies(t);for(const i of a)if(n[i]!==r[i])return;const o=this.createCacheKey(t,n);return this.resultCache.get(o)}evaluate(t,n,r){const a=this.getCachedResult(t,n,r);if(a!==void 0)return a;const o=this.evaluateNode(t,n),i=this.createCacheKey(t,n);return this.resultCache.set(i,o),o}evaluateNode(t,n){switch(t.Type){case"Literal":return t.Value;case"Identifier":return this.getIdentifierValue(t,n);case"BinaryExpression":return this.evaluateBinaryExpression(t,n);case"LogicalExpression":return this.evaluateLogicalExpression(t,n);case"CallExpression":return this.evaluateCallExpression(t,n);case"MemberExpression":return this.evaluateMemberExpression(t,n);default:throw new Error(`Unsupported expression type: ${t.Type}`)}}getIdentifierValue(t,n){if(t.Name){if(t.Name==="NOW")return new Date;if(t.Name==="TODAY"){const r=new Date;return new Date(r.getFullYear(),r.getMonth(),r.getDate())}return t.Name==="CURRENT_USER_ID"?1:t.Name==="CURRENT_USER"?{EmpId:1,Email:"user@example.com",FirstName:"John",LastName:"Doe",Role:"User"}:n[t.Name]}}evaluateBinaryExpression(t,n){if(!t.Arguments||t.Arguments.length!==2)throw new Error("Binary expression requires exactly 2 arguments");const r=this.evaluateNode(t.Arguments[0],n),a=this.evaluateNode(t.Arguments[1],n);switch(t.Operator){case"==":return r==a;case"!=":return r!=a;case"===":return r===a;case"!==":return r!==a;case"<":return Number(r)<Number(a);case"<=":return Number(r)<=Number(a);case">":return Number(r)>Number(a);case">=":return Number(r)>=Number(a);case"+":return Number(r)+Number(a);case"-":return Number(r)-Number(a);case"*":return Number(r)*Number(a);case"/":return Number(r)/Number(a);case"%":return Number(r)%Number(a);default:throw new Error(`Unsupported binary operator: ${t.Operator}`)}}evaluateLogicalExpression(t,n){if(!t.Arguments||t.Arguments.length<2)throw new Error("Logical expression requires at least 2 arguments");switch(t.Operator){case"AND":for(const r of t.Arguments)if(!this.evaluateNode(r,n))return!1;return!0;case"OR":for(const r of t.Arguments)if(this.evaluateNode(r,n))return!0;return!1;default:throw new Error(`Unsupported logical operator: ${t.Operator}`)}}evaluateCallExpression(t,n){var a;if(!t.Callee)throw new Error("Call expression requires a function name");const r=((a=t.Arguments)==null?void 0:a.map(o=>this.evaluateNode(o,n)))||[];switch(t.Callee){case"CONCAT":return r.map(m=>String(m||"")).join("");case"TRIM":return String(r[0]||"").trim();case"LENGTH":return String(r[0]||"").length;case"UPPER":return String(r[0]||"").toUpperCase();case"LOWER":return String(r[0]||"").toLowerCase();case"CONTAINS":return String(r[0]||"").includes(String(r[1]||""));case"MATCHES":return new RegExp(String(r[1])).test(String(r[0]||""));case"SUM":return r.reduce((m,h)=>m+(Number(h)||0),0);case"AVG":const o=r.filter(m=>!isNaN(Number(m)));return o.length>0?o.reduce((m,h)=>m+Number(h),0)/o.length:0;case"MIN":return Math.min(...r.map(m=>Number(m)||0));case"MAX":return Math.max(...r.map(m=>Number(m)||0));case"ROUND":return Math.round(Number(r[0])||0);case"FLOOR":return Math.floor(Number(r[0])||0);case"CEIL":return Math.ceil(Number(r[0])||0);case"ABS":return Math.abs(Number(r[0])||0);case"YEAR":return new Date(r[0]).getFullYear();case"MONTH":return new Date(r[0]).getMonth()+1;case"DAY":return new Date(r[0]).getDate();case"DATE_DIFF":const i=new Date(r[0]),u=new Date(r[1]),l=Math.abs(i.getTime()-u.getTime());return Math.ceil(l/(1e3*60*60*24));case"IF":return r[0]?r[1]:r[2];case"AUTO_NUMBER":return Math.floor(Math.random()*1e4);default:throw new Error(`Unknown function: ${t.Callee}`)}}evaluateMemberExpression(t,n){var o;if(!t.Arguments||t.Arguments.length===0)throw new Error("Member expression requires arguments");const r=this.evaluateNode(t.Arguments[0],n),a=(o=t.Arguments[0].Property)==null?void 0:o.Name;return a&&r&&typeof r=="object"?r[a]:r}clearCache(){this.resultCache.clear(),this.dependencyCache.clear(),this.compiledExpressions.clear()}}const Dr=new La;function Ua(e,t,n,r,a){if(!n||n.length===0)return{isValid:!0};const o={...r,[e]:t};for(const i of n)try{if(!Dr.evaluate(i.ExpressionTree,o,a))return{isValid:!1,message:i.Message||`Validation failed for ${i.Name}`,fieldName:e}}catch(u){console.warn(`Validation rule ${i.Id} failed to evaluate:`,u)}return{isValid:!0}}function Gt(e){return Array.from(Dr.getDependencies(e))}function qa(e){const{source:t,operation:n,recordId:r,defaultValues:a={},mode:o="onBlur",enabled:i=!0,userRole:u,onSchemaError:l,skipSchemaFetch:m=!1,schema:h,draftOnEveryChange:k=!1,interactionMode:_="interactive"}=e,V=_==="interactive",[b,Y]=c.useState(null),[H,S]=c.useState({}),[O,K]=c.useState(!1),[z]=c.useState({}),[U,w]=c.useState(null),[E,p]=c.useState(!1),[F,$]=c.useState(null),I=c.useRef(!1),X=c.useRef(null),W=c.useRef(null),Z=c.useRef(l);c.useEffect(()=>{Z.current=l},[l]);const{data:se,isLoading:B,error:oe,refetch:A}=Ce.useQuery({queryKey:["form-schema",t],queryFn:()=>m?Promise.resolve(h||{}):ja(t),enabled:i&&(!m||!!h),retry:3,staleTime:30*60*1e3,gcTime:60*60*1e3,throwOnError:!1}),{data:ue,isLoading:ye,error:be}=Ce.useQuery({queryKey:["form-record",t,r],queryFn:()=>Ra(t,r),enabled:i&&n==="update"&&!!r,retry:3,staleTime:5*60*1e3,gcTime:15*60*1e3,throwOnError:!1}),we=c.useMemo(()=>{const f={...a};if(n==="update"&&ue&&Object.assign(f,ue),b)for(const[C,N]of Object.entries(b.fields))N.defaultValue!==void 0&&!(C in f)&&(f[C]=N.defaultValue);return f},[a,ue,n,b]),D=Zr.useForm({mode:o,defaultValues:a,values:n==="update"&&ue?we:void 0});c.useEffect(()=>{var f;if(se)try{const C=Ca(se,{},u);Y(C);const N=Ea(C);Object.keys(N).length>0&&Da(N).then(S).catch(console.warn)}catch(C){console.error("Schema processing failed:",C),(f=Z.current)==null||f.call(Z,C)}},[se,u]),c.useEffect(()=>{var f;oe&&((f=Z.current)==null||f.call(Z,oe))},[oe]),c.useEffect(()=>{if(!V||n!=="create"||!b||!i||U)return;(async()=>{p(!0),$(null);try{const N=await he(t).draftInteraction({});w(N._id),N&&typeof N=="object"&&Object.entries(N).forEach(([L,q])=>{if(L==="_id")return;D.getValues(L)!==q&&D.setValue(L,q,{shouldDirty:!1,shouldValidate:!1})})}catch(C){console.error("Failed to create initial draft:",C),$(C)}finally{p(!1)}})()},[V,n,b,i,U,t,D]);const ne=c.useMemo(()=>{if(!b)return[];const f=new Set,C=new Set(b.computedFields);return Object.entries(b.fieldRules).forEach(([N,L])=>{L.computation.forEach(q=>{const Q=b.rules.computation[q];Q!=null&&Q.ExpressionTree&&Gt(Q.ExpressionTree).forEach(ce=>{b.fields[ce]&&ce!==N&&!C.has(ce)&&f.add(ce)})})}),b.computedFields.forEach(N=>{const L=b.fields[N];L._bdoField.Formula&&Gt(L._bdoField.Formula.ExpressionTree).forEach(Q=>{b.fields[Q]&&Q!==N&&!C.has(Q)&&f.add(Q)})}),Array.from(f)},[b]),ee=c.useCallback(async f=>{if(!(!b||!(V||ne.length>0&&(k||ne.includes(f))))){if(V&&n==="create"&&!U){console.warn("Interactive create mode: waiting for draft ID");return}I.current||(X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{if(!b||I.current)return;const N=D.getValues();(async()=>{I.current=!0;try{const q=he(t),Q={};n==="update"&&r&&"_id"in N&&(Q._id=N._id),V&&n==="create"&&U&&(Q._id=U);const de=W.current??(n==="update"?ue:null)??{},ce=new Set(b.computedFields||[]);Object.keys(N).forEach(fe=>{if(fe==="_id"||ce.has(fe))return;const Ee=N[fe],it=de[fe];JSON.stringify(Ee)!==JSON.stringify(it)&&(Ee!==""&&Ee!==null&&Ee!==void 0)&&(Q[fe]=Ee)});const le=Q,Te={...W.current};Object.keys(N).forEach(fe=>{ce.has(fe)||(Te[fe]=N[fe])}),W.current=Te;let Fe;n==="update"&&r?Fe=await q.draftPatch(r,le):V&&U?Fe=await q.draftInteraction(le):Fe=await q.draft(le),Fe&&typeof Fe=="object"&&(Object.entries(Fe).forEach(([fe,Ee])=>{N[fe]!==Ee&&D.setValue(fe,Ee,{shouldDirty:!1,shouldValidate:!1})}),Object.entries(Fe).forEach(([fe,Ee])=>{ce.has(fe)&&(W.current[fe]=Ee)}))}catch(q){console.warn("Failed to compute fields via API:",q)}finally{I.current=!1}})()},300))}},[b,n,r,ue,t,D,ne,k,V,U]),Re=c.useCallback(async()=>{if(!b)return!1;const f=D.getValues();if(!await D.trigger())return!1;const N=b.crossFieldValidation.map(q=>({Id:q.Id,Condition:{ExpressionTree:q.ExpressionTree},Message:q.Message||`Validation failed for ${q.Name}`})),L=zt(N,f,H);return L.length>0?(L.forEach((q,Q)=>{D.setError(`root.crossField${Q}`,{type:"validate",message:q.message})}),!1):!0},[b,D.getValues,D.trigger,D.setError,H]),re=c.useCallback((f,C)=>D.handleSubmit(async(N,L)=>{if(!b){const q=new Error("Schema not loaded");C==null||C(q,L);return}K(!0);try{const q=b.crossFieldValidation.map(le=>({Id:le.Id,Condition:{ExpressionTree:le.ExpressionTree},Message:le.Message||`Validation failed for ${le.Name}`})),Q=zt(q,N,H);if(Q.length>0){Q.forEach((le,Te)=>{D.setError(`root.crossField${Te}`,{type:"validate",message:le.message})}),C==null||C(D.formState.errors,L);return}const de=Aa(N,b.computedFields,n,ue);let ce;if(V){const le=he(t);if(n==="create"){if(!U)throw new Error("Interactive create mode requires a draft ID. Draft creation may have failed.");ce={success:!0,data:await le.draft({...de,_id:U})}}else ce={success:!0,data:await le.draftUpdate(r,de)}}else if(ce=await Ta(t,n,de,r),!ce.success)throw ce.error||new Error("Submission failed");n==="create"&&(D.reset(),V&&w(null)),await(f==null?void 0:f(ce.data||N,L))}catch(q){C==null||C(q,L)}finally{K(!1)}},(N,L)=>{C==null||C(N,L)}),[D,b,H,t,n,r,ue,V,U]),Se=c.useCallback(f=>(b==null?void 0:b.fields[f])||null,[b]),P=c.useCallback(()=>{if(!b)return{};const f={};return Object.entries(b.fields).forEach(([C,N])=>{f[C]=N}),f},[b]),ie=c.useCallback(f=>!!(b!=null&&b.fields[f]),[b]),De=c.useCallback(f=>(b==null?void 0:b.requiredFields.includes(f))||!1,[b]),Ae=c.useCallback(f=>(b==null?void 0:b.computedFields.includes(f))||!1,[b]),tt=c.useCallback(async()=>{await A()},[A]),Le=c.useCallback(()=>{D.clearErrors()},[D]),Pe=B||n==="update"&&ye||V&&n==="create"&&E,$e=Pe||O,Ue=oe||be||F,ze=!!Ue,Ie=c.useMemo(()=>(b==null?void 0:b.computedFields)||[],[b]),d=c.useMemo(()=>(b==null?void 0:b.requiredFields)||[],[b]),v=c.useMemo(()=>{if(!b)return{};const f={};return Object.entries(b.fields).forEach(([C,N])=>{const L={};switch(N.required&&(L.required=`${N.label} is required`),N.permission.editable||(L.disabled=!0),N.type){case"number":L.valueAsNumber=!0;break;case"date":case"datetime-local":L.valueAsDate=!0;break}const q=N.rules.validation;q.length>0&&(L.validate={expressionValidation:Q=>{const de=D.getValues();for(const ce of q){const le=b.rules.validation[ce];if(le){const Te=Ua(C,Q,[le],de,z);if(!Te.isValid)return Te.message||le.Message||"Invalid value"}}return!0}}),f[C]=L}),f},[b,D,H]);return{register:c.useCallback((f,C)=>{const N=v[f],L=C==null?void 0:C.onBlur,q=async Q=>{L&&await L(Q);let de=!0;o==="onBlur"||o==="onTouched"||o==="all"?de=await D.trigger(f):de=!D.getFieldState(f,D.formState).error,de&&await ee(f)};return D.register(f,{...N,...C,onBlur:q})},[D,v,ee,o]),handleSubmit:re,watch:D.watch,setValue:D.setValue,reset:D.reset,errors:D.formState.errors,isValid:D.formState.isValid,isDirty:D.formState.isDirty,isSubmitting:D.formState.isSubmitting||O,isSubmitSuccessful:D.formState.isSubmitSuccessful,formState:D.formState,isLoadingInitialData:Pe,isLoadingRecord:ye,isLoading:$e,draftId:U,isCreatingDraft:E,loadError:Ue,hasError:ze,schema:se,schemaConfig:b,computedFields:Ie,requiredFields:d,getField:Se,getFields:P,hasField:ie,isFieldRequired:De,isFieldComputed:Ae,refreshSchema:tt,validateForm:Re,clearErrors:Le}}const Yt=50,Wt=5,Qt=5;function Ma({onCardMove:e,onError:t,columns:n,announceMove:r}){const[a,o]=c.useState({isDragging:!1,draggedCard:null,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:null}),i=c.useRef(null),u=c.useRef(null),l=c.useRef(null),m=c.useCallback(()=>{o({isDragging:!1,draggedCard:null,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:null}),u.current&&(clearTimeout(u.current),u.current=null)},[]),h=c.useCallback(w=>n.find(E=>E._id===w)||null,[n]),k=c.useCallback(w=>{for(const E of n){const p=E.cards.find(F=>F._id===w);if(p)return{card:p,column:E}}return null},[n]),_=c.useCallback((w,E)=>{var p,F;try{const $=w.target,I=h(E.columnId);if(!I)throw new Error("Source column not found");(p=w.dataTransfer)==null||p.setData("text/plain",E._id),(F=w.dataTransfer)==null||F.setData("application/json",JSON.stringify(E));const X=$.cloneNode(!0);X.style.cssText=`
|
|
5
5
|
position: fixed;
|
|
6
6
|
top: -1000px;
|
|
7
7
|
left: -1000px;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
max-width: 300px;
|
|
14
14
|
background: white;
|
|
15
15
|
border-radius: 8px;
|
|
16
|
-
`,document.body.appendChild(J),i.current=J,y.dataTransfer&&y.dataTransfer.setDragImage(J,y.offsetX||50,y.offsetY||20),o({isDragging:!0,draggedCard:S,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:_._id}),r==null||r(S,_.title,"being moved")}catch(N){t==null||t(N instanceof Error?N:new Error("Drag start failed")),f()}},[b,t,f,r]),Y=l.useCallback((y,S)=>{if(y.preventDefault(),!a.isDragging||!a.draggedCard)return;const h=S?b(S):null;o(O=>({...O,dragOverColumn:(h==null?void 0:h._id)||null,dragOverPosition:null})),Z(y)},[a.isDragging,a.draggedCard,b]),z=l.useCallback((y,S)=>{if(y.preventDefault(),!(!a.isDragging||!a.draggedCard))try{const h=a.draggedCard,O=a.dragSourceColumn,N=b(S),_=b(O);if(!N||!_)throw new Error("Target or source column not found");if(O===S){f();return}if(N.limit&&N.cards.length>=N.limit)throw new Error(`Column "${N.title}" has reached its limit of ${N.limit} cards`);e==null||e(h,O,S),r==null||r(h,_.title,N.title)}catch(h){t==null||t(h instanceof Error?h:new Error("Drop failed"))}finally{f()}},[a,b,e,t,f,r]),B=l.useCallback(()=>{i.current&&(document.body.removeChild(i.current),i.current=null),f()},[f]),Z=l.useCallback(y=>{const S=y.target.closest(".kanban-container");if(!S)return;const h=S.getBoundingClientRect(),O=y.clientX-h.left,N=h.width;let _=0;if(O<Bt?_=-Gt:O>N-Bt&&(_=Gt),_!==0){d.current&&clearTimeout(d.current);const J=()=>{S.scrollLeft+=_,d.current=setTimeout(J,16)};d.current=setTimeout(J,100)}else d.current&&(clearTimeout(d.current),d.current=null)},[]),C=l.useCallback((y,S)=>{if(!["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter","Space","Escape"].includes(y.key))return;y.preventDefault();const h=k(S._id);if(!h)return;const{column:O}=h,N=n.findIndex(_=>_._id===O._id);try{switch(y.key){case"ArrowLeft":if(N>0){const _=n[N-1];e==null||e(S,O._id,_._id),r==null||r(S,O.title,_.title)}break;case"ArrowRight":if(N<n.length-1){const _=n[N+1];e==null||e(S,O._id,_._id),r==null||r(S,O.title,_.title)}break;case"ArrowUp":r==null||r(S,"current position","position above");break;case"ArrowDown":r==null||r(S,"current position","position below");break;case"Enter":case"Space":r==null||r(S,O.title,"drag mode");break;case"Escape":r==null||r(S,"drag mode","cancelled");break}}catch(_){t==null||t(_ instanceof Error?_:new Error("Keyboard navigation failed"))}},[k,n,e,t,r]),T=l.useCallback((y,S)=>{const h=y.touches[0];u.current={x:h.clientX,y:h.clientY,card:S}},[]),U=l.useCallback(y=>{if(!u.current)return;const S=y.touches[0],h=Math.abs(S.clientX-u.current.x),O=Math.abs(S.clientY-u.current.y);if(h>Yt||O>Yt){const N=u.current.card,_=b(N.columnId);if(!_)return;o({isDragging:!0,draggedCard:N,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:_._id}),r==null||r(N,_.title,"being moved")}},[b,r]),L=l.useCallback(y=>{if(!a.isDragging||!a.draggedCard||!u.current){u.current=null;return}try{const S=y.changedTouches[0],h=document.elementFromPoint(S.clientX,S.clientY),O=h==null?void 0:h.closest("[data-column-id]");if(O){const N=O.dataset.columnId,_=a.draggedCard,J=a.dragSourceColumn,H=b(N),ce=b(J);if(H&&ce&&J!==N){if(H.limit&&H.cards.length>=H.limit)throw new Error(`Column "${H.title}" has reached its limit of ${H.limit} cards`);e==null||e(_,J,N),r==null||r(_,ce.title,H.title)}}}catch(S){t==null||t(S instanceof Error?S:new Error("Touch drop failed"))}finally{u.current=null,f()}},[a,b,e,t,f,r]),Q=l.useCallback((y,S,h)=>{const O=`Moved "${y.title}" from ${S} to ${h}`,N=document.createElement("div");N.setAttribute("aria-live","polite"),N.setAttribute("aria-atomic","true"),N.className="sr-only",N.textContent=O,document.body.appendChild(N),setTimeout(()=>{document.body.removeChild(N)},1e3),console.log(`Kanban: ${O}`)},[]);return l.useEffect(()=>()=>{d.current&&clearTimeout(d.current),i.current&&document.body.contains(i.current)&&document.body.removeChild(i.current)},[]),{isDragging:a.isDragging,draggedCard:a.draggedCard,dragOverColumn:a.dragOverColumn,dragOverPosition:a.dragOverPosition,dragSourceColumn:a.dragSourceColumn,handleDragStart:m,handleDragOver:Y,handleDrop:z,handleDragEnd:B,handleKeyDown:C,handleTouchStart:T,handleTouchMove:U,handleTouchEnd:L,announceMove:r||Q,reset:f}}function za(e){var I,X,W;const{columns:t,cardSource:n,source:r,enableDragDrop:a=!0,initialState:o,onCardMove:i,onCardCreate:d,onCardUpdate:u,onCardDelete:f,onError:b}=e,k=r||n;if(!k)throw new Error('useKanban requires either "source" or "cardSource" parameter');const[m,Y]=l.useState({query:(o==null?void 0:o.search)||""}),[z]=l.useState({field:((I=o==null?void 0:o.sorting)==null?void 0:I.field)||null,direction:((X=o==null?void 0:o.sorting)==null?void 0:X.direction)||null}),[B,Z]=l.useState(()=>{const c={};return t.forEach(w=>{c[w.id]=10}),c}),C=l.useRef(b),T=l.useRef(i),U=l.useRef(d),L=l.useRef(u),Q=l.useRef(f);l.useEffect(()=>{C.current=b,T.current=i,U.current=d,L.current=u,Q.current=f},[b,i,d,u,f]);const y=be.useQueryClient(),S=Rt({initialConditions:o==null?void 0:o.filters,initialOperator:(o==null?void 0:o.filterOperator)||"And"}),h=l.useCallback(c=>{const w={LHSField:"columnId",Operator:"EQ",RHSValue:c,RHSType:"Constant"},p=S.payload;let v;p?p.Operator==="And"?v={...p,Condition:[...p.Condition||[],w]}:v={Operator:"And",Condition:[p,w]}:v={Operator:"And",Condition:[w]};const V={Page:1,PageSize:B[c]||10,Filter:v};return z.field&&z.direction?V.Sort=[{[String(z.field)]:z.direction==="asc"?"ASC":"DESC"},{position:"ASC"}]:V.Sort=[{columnId:"ASC"},{position:"ASC"}],m.query&&(V.Search=m.query),V},[S.payload,B,z,m.query]),O=be.useQueries({queries:t.map(c=>{const w=h(c.id);return{queryKey:["kanban-cards",k,c.id,w],queryFn:async()=>{try{return await ye(k).list(w)}catch(p){throw p}},placeholderData:be.keepPreviousData,staleTime:30*1e3}})}),N=O.some(c=>c.isLoading),_=O.some(c=>c.isFetching),J=((W=O.find(c=>c.error))==null?void 0:W.error)||null,H=async()=>{await Promise.all(O.map(c=>c.refetch()))},ce=l.useMemo(()=>{const c={};return m.query&&(c.Search=m.query),S.payload&&(c.Filter=S.payload),c},[m.query,S.payload]),{data:D,isLoading:q,error:le}=be.useQuery({queryKey:["kanban-count",k,ce],queryFn:async()=>{try{return await ye(k).count(ce)}catch(c){throw C.current&&C.current(c),c}},staleTime:30*1e3,gcTime:60*1e3}),A=be.useMutation({mutationFn:async c=>{const w=c.position??999999;return(await ye(k).create({...c,position:w}))._id},onMutate:async c=>{const w=c.columnId,p=h(w),v=["kanban-cards",k,w,p];await y.cancelQueries({queryKey:v});const V=y.getQueryData(v);if(V){const Se=V.Data,ne=c.position??Se.length,de=`temp-${Date.now()}`,Re={...c,_id:de,position:ne,_created_at:new Date,_modified_at:new Date};y.setQueryData(v,{...V,Data:[...V.Data,Re]})}return{previousCards:V,queryKey:v}},onSuccess:async(c,w,p)=>{var v;p!=null&&p.queryKey&&await y.invalidateQueries({queryKey:p.queryKey}),(v=U.current)==null||v.call(U,{_id:c,...w})},onError:(c,w,p)=>{var v;p!=null&&p.previousCards&&(p!=null&&p.queryKey)&&y.setQueryData(p.queryKey,p.previousCards),(v=C.current)==null||v.call(C,c)},onSettled:(c,w,p)=>{const v=p.columnId,V=h(v);y.invalidateQueries({queryKey:["kanban-cards",k,v,V]})}}),we=be.useMutation({mutationFn:async({id:c,updates:w})=>(await ye(k).update(c,w),{id:c,updates:w}),onMutate:async()=>(await y.cancelQueries({queryKey:["kanban-cards",k]}),{}),onSuccess:async c=>{var w;(w=L.current)==null||w.call(L,{_id:c.id,...c.updates})},onError:(c,w,p)=>{var v;(v=C.current)==null||v.call(C,c)},onSettled:()=>{y.invalidateQueries({queryKey:["kanban-cards",k]})}}),ve=be.useMutation({mutationFn:async c=>(await ye(k).delete(c),c),onMutate:async()=>(await y.cancelQueries({queryKey:["kanban-cards",k]}),{}),onSuccess:async c=>{var w;(w=Q.current)==null||w.call(Q,c)},onError:(c,w,p)=>{var v;(v=C.current)==null||v.call(C,c)},onSettled:()=>{y.invalidateQueries({queryKey:["kanban-cards",k]})}}),pe=be.useMutation({mutationFn:async({cardId:c,fromColumnId:w,toColumnId:p,position:v})=>{const V={columnId:p,...v!==void 0&&{position:v}};return await ye(k).update(c,V),{cardId:c,fromColumnId:w,toColumnId:p,position:v}},onMutate:async({cardId:c,fromColumnId:w,toColumnId:p,position:v})=>{const V=h(w),Se=h(p),ne=["kanban-cards",k,w,V],de=["kanban-cards",k,p,Se];await y.cancelQueries({queryKey:ne}),await y.cancelQueries({queryKey:de});const Re=y.getQueryData(ne),_e=y.getQueryData(de);if(Re&&_e){const Ke=Re.Data.find(He=>He._id===c);if(Ke){const He={...Re,Data:Re.Data.filter(Xe=>Xe._id!==c)},dt={...Ke,columnId:p,position:v??_e.Data.length,_modified_at:new Date},ft={..._e,Data:[..._e.Data,dt].sort((Xe,mt)=>Xe.position-mt.position)};y.setQueryData(ne,He),y.setQueryData(de,ft)}}return{previousFromData:Re,previousToData:_e,fromQueryKey:ne,toQueryKey:de,fromColumnId:w,toColumnId:p}},onSuccess:async c=>{var w;(w=T.current)==null||w.call(T,{_id:c.cardId},c.fromColumnId,c.toColumnId)},onError:(c,w,p)=>{var v;p!=null&&p.previousFromData&&(p!=null&&p.fromQueryKey)&&y.setQueryData(p.fromQueryKey,p.previousFromData),p!=null&&p.previousToData&&(p!=null&&p.toQueryKey)&&y.setQueryData(p.toQueryKey,p.previousToData),(v=C.current)==null||v.call(C,c)},onSettled:(c,w,p)=>{const v=h(p.fromColumnId),V=h(p.toColumnId);y.invalidateQueries({queryKey:["kanban-cards",k,p.fromColumnId,v]}),y.invalidateQueries({queryKey:["kanban-cards",k,p.toColumnId,V]})}}),ge=be.useMutation({mutationFn:async({cardIds:c,columnId:w})=>{const p=c.map((v,V)=>({id:v,position:V,columnId:w}));await Promise.all(p.map(v=>ye(k).update(v.id,{position:v.position,columnId:v.columnId})))},onMutate:async({columnId:c})=>{const w=h(c),p=["kanban-cards",k,c,w];return await y.cancelQueries({queryKey:p}),{}},onSuccess:()=>{},onError:(c,w,p)=>{var v;(v=C.current)==null||v.call(C,c)},onSettled:(c,w,p)=>{const v=h(p.columnId);y.invalidateQueries({queryKey:["kanban-cards",k,p.columnId,v]})}}),se=l.useCallback(async(c,w,p)=>{try{await pe.mutateAsync({cardId:c._id,fromColumnId:w,toColumnId:p,position:void 0})}catch{}},[pe]),oe=l.useMemo(()=>t.sort((c,w)=>c.position-w.position).map((c,w)=>{var V;const v=((V=O[w].data)==null?void 0:V.Data)||[];return{_id:c.id,title:c.title,position:c.position,color:c.color,limit:c.limit,cards:v.sort((Se,ne)=>Se.position-ne.position),_created_at:new Date,_modified_at:new Date}}),[t,O]),re=Ma({onCardMove:se,onError:C.current,columns:oe,announceMove:(c,w,p)=>{console.log(`Kanban: Moved "${c.title}" from ${w} to ${p}`)}}),xe=l.useCallback(c=>{var w,p;return{draggable:!0,role:"option","aria-selected":a&&((w=re.draggedCard)==null?void 0:w._id)===c._id,"aria-grabbed":a&&((p=re.draggedCard)==null?void 0:p._id)===c._id,onDragStart:v=>{if(!a)return;v.dataTransfer.setData("text/plain",JSON.stringify(c));const V=v.nativeEvent||v;re.handleDragStart(V,c)},onDragEnd:re.handleDragEnd,onKeyDown:v=>{if(!a)return;const V=v.nativeEvent||v;re.handleKeyDown(V,c)}}},[a,re]),ee=l.useCallback(c=>({"data-column-id":c,role:"listbox",onDragOver:w=>{if(!a)return;const p=w.nativeEvent||w;re.handleDragOver(p,c)},onDrop:w=>{if(!a)return;const p=w.nativeEvent||w;re.handleDrop(p,c)}}),[a,re]),Ce=l.useCallback(c=>{Y({query:c})},[]),F=l.useCallback(()=>{Y({query:""})},[]),ie=(D==null?void 0:D.Count)||0,Oe=N||q,Ae=_,ze=A.isPending||we.isPending||ve.isPending||pe.isPending||ge.isPending,Ie=J||le,P=l.useCallback(async()=>{await H()},[H]),j=l.useCallback(async()=>{await y.invalidateQueries({predicate:c=>c.queryKey[0]==="kanban-cards"||c.queryKey[0]==="kanban-count"})},[y]);return l.useEffect(()=>{Ie&&C.current&&C.current(Ie)},[Ie]),{columns:oe,totalCards:ie,isLoading:Oe,isFetching:Ae,isUpdating:ze,error:Ie,createCard:A.mutateAsync,updateCard:l.useCallback(async(c,w)=>{await we.mutateAsync({id:c,updates:w})},[we]),deleteCard:l.useCallback(async c=>{await ve.mutateAsync(c)},[ve]),moveCard:l.useCallback(async(c,w,p,v)=>{if(!v){for(const V of oe)if(V.cards.find(ne=>ne._id===c)){v=V._id;break}if(!v)throw new Error(`Card ${c} not found in any column`)}await pe.mutateAsync({cardId:c,fromColumnId:v,toColumnId:w,position:p})},[pe,oe]),reorderCards:l.useCallback(async(c,w)=>{await ge.mutateAsync({cardIds:c,columnId:w})},[ge]),searchQuery:m.query,setSearchQuery:Ce,clearSearch:F,filter:S,isDragging:a?re.isDragging:!1,draggedCard:a?re.draggedCard:null,dragOverColumn:a?re.dragOverColumn:null,handleDragStart:a?re.handleDragStart:()=>{},handleDragOver:a?re.handleDragOver:()=>{},handleDrop:a?re.handleDrop:()=>{},handleDragEnd:a?re.handleDragEnd:()=>{},handleKeyDown:a?re.handleKeyDown:()=>{},getCardProps:a?xe:c=>({}),getColumnProps:a?ee:c=>({}),loadMore:l.useCallback(c=>{Z(w=>({...w,[c]:(w[c]||10)+10}))},[]),refetch:P,refresh:j}}l.createContext(null);var Et={exports:{}},et={};/**
|
|
16
|
+
`,document.body.appendChild(X),i.current=X,w.dataTransfer&&w.dataTransfer.setDragImage(X,w.offsetX||50,w.offsetY||20),o({isDragging:!0,draggedCard:E,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:I._id}),r==null||r(E,I.title,"being moved")}catch($){t==null||t($ instanceof Error?$:new Error("Drag start failed")),m()}},[h,t,m,r]),V=c.useCallback((w,E)=>{if(w.preventDefault(),!a.isDragging||!a.draggedCard)return;const p=E?h(E):null;o(F=>({...F,dragOverColumn:(p==null?void 0:p._id)||null,dragOverPosition:null})),H(w)},[a.isDragging,a.draggedCard,h]),b=c.useCallback((w,E)=>{if(w.preventDefault(),!(!a.isDragging||!a.draggedCard))try{const p=a.draggedCard,F=a.dragSourceColumn,$=h(E),I=h(F);if(!$||!I)throw new Error("Target or source column not found");if(F===E){m();return}if($.limit&&$.cards.length>=$.limit)throw new Error(`Column "${$.title}" has reached its limit of ${$.limit} cards`);e==null||e(p,F,E),r==null||r(p,I.title,$.title)}catch(p){t==null||t(p instanceof Error?p:new Error("Drop failed"))}finally{m()}},[a,h,e,t,m,r]),Y=c.useCallback(()=>{i.current&&(document.body.removeChild(i.current),i.current=null),m()},[m]),H=c.useCallback(w=>{const E=w.target.closest(".kanban-container");if(!E)return;const p=E.getBoundingClientRect(),F=w.clientX-p.left,$=p.width;let I=0;if(F<Yt?I=-Wt:F>$-Yt&&(I=Wt),I!==0){u.current&&clearTimeout(u.current);const X=()=>{E.scrollLeft+=I,u.current=setTimeout(X,16)};u.current=setTimeout(X,100)}else u.current&&(clearTimeout(u.current),u.current=null)},[]),S=c.useCallback((w,E)=>{if(!["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter","Space","Escape"].includes(w.key))return;w.preventDefault();const p=k(E._id);if(!p)return;const{column:F}=p,$=n.findIndex(I=>I._id===F._id);try{switch(w.key){case"ArrowLeft":if($>0){const I=n[$-1];e==null||e(E,F._id,I._id),r==null||r(E,F.title,I.title)}break;case"ArrowRight":if($<n.length-1){const I=n[$+1];e==null||e(E,F._id,I._id),r==null||r(E,F.title,I.title)}break;case"ArrowUp":r==null||r(E,"current position","position above");break;case"ArrowDown":r==null||r(E,"current position","position below");break;case"Enter":case"Space":r==null||r(E,F.title,"drag mode");break;case"Escape":r==null||r(E,"drag mode","cancelled");break}}catch(I){t==null||t(I instanceof Error?I:new Error("Keyboard navigation failed"))}},[k,n,e,t,r]),O=c.useCallback((w,E)=>{const p=w.touches[0];l.current={x:p.clientX,y:p.clientY,card:E}},[]),K=c.useCallback(w=>{if(!l.current)return;const E=w.touches[0],p=Math.abs(E.clientX-l.current.x),F=Math.abs(E.clientY-l.current.y);if(p>Qt||F>Qt){const $=l.current.card,I=h($.columnId);if(!I)return;o({isDragging:!0,draggedCard:$,dragOverColumn:null,dragOverPosition:null,dragSourceColumn:I._id}),r==null||r($,I.title,"being moved")}},[h,r]),z=c.useCallback(w=>{if(!a.isDragging||!a.draggedCard||!l.current){l.current=null;return}try{const E=w.changedTouches[0],p=document.elementFromPoint(E.clientX,E.clientY),F=p==null?void 0:p.closest("[data-column-id]");if(F){const $=F.dataset.columnId,I=a.draggedCard,X=a.dragSourceColumn,W=h($),Z=h(X);if(W&&Z&&X!==$){if(W.limit&&W.cards.length>=W.limit)throw new Error(`Column "${W.title}" has reached its limit of ${W.limit} cards`);e==null||e(I,X,$),r==null||r(I,Z.title,W.title)}}}catch(E){t==null||t(E instanceof Error?E:new Error("Touch drop failed"))}finally{l.current=null,m()}},[a,h,e,t,m,r]),U=c.useCallback((w,E,p)=>{const F=`Moved "${w.title}" from ${E} to ${p}`,$=document.createElement("div");$.setAttribute("aria-live","polite"),$.setAttribute("aria-atomic","true"),$.className="sr-only",$.textContent=F,document.body.appendChild($),setTimeout(()=>{document.body.removeChild($)},1e3),console.log(`Kanban: ${F}`)},[]);return c.useEffect(()=>()=>{u.current&&clearTimeout(u.current),i.current&&document.body.contains(i.current)&&document.body.removeChild(i.current)},[]),{isDragging:a.isDragging,draggedCard:a.draggedCard,dragOverColumn:a.dragOverColumn,dragOverPosition:a.dragOverPosition,dragSourceColumn:a.dragSourceColumn,handleDragStart:_,handleDragOver:V,handleDrop:b,handleDragEnd:Y,handleKeyDown:S,handleTouchStart:O,handleTouchMove:K,handleTouchEnd:z,announceMove:r||U,reset:m}}function za(e){var Ue,ze,Ie;const{columns:t,cardSource:n,source:r,enableDragDrop:a=!0,initialState:o,onCardMove:i,onCardCreate:u,onCardUpdate:l,onCardDelete:m,onError:h}=e,k=r||n;if(!k)throw new Error('useKanban requires either "source" or "cardSource" parameter');const[_,V]=c.useState({query:(o==null?void 0:o.search)||""}),[b]=c.useState({field:((Ue=o==null?void 0:o.sorting)==null?void 0:Ue.field)||null,direction:((ze=o==null?void 0:o.sorting)==null?void 0:ze.direction)||null}),[Y,H]=c.useState(()=>{const d={};return t.forEach(v=>{d[v.id]=10}),d}),S=c.useRef(h),O=c.useRef(i),K=c.useRef(u),z=c.useRef(l),U=c.useRef(m);c.useEffect(()=>{S.current=h,O.current=i,K.current=u,z.current=l,U.current=m},[h,i,u,l,m]);const w=Ce.useQueryClient(),E=Tt({initialConditions:o==null?void 0:o.filters,initialOperator:(o==null?void 0:o.filterOperator)||"And"}),p=c.useCallback(d=>{const v={LHSField:"columnId",Operator:"EQ",RHSValue:d,RHSType:"Constant"},y=E.payload;let f;y?y.Operator==="And"?f={...y,Condition:[...y.Condition||[],v]}:f={Operator:"And",Condition:[y,v]}:f={Operator:"And",Condition:[v]};const C={Page:1,PageSize:Y[d]||10,Filter:f};return b.field&&b.direction?C.Sort=[{[String(b.field)]:b.direction==="asc"?"ASC":"DESC"},{position:"ASC"}]:C.Sort=[{columnId:"ASC"},{position:"ASC"}],_.query&&(C.Search=_.query),C},[E.payload,Y,b,_.query]),F=Ce.useQueries({queries:t.map(d=>{const v=p(d.id);return{queryKey:["kanban-cards",k,d.id,v],queryFn:async()=>{try{return await he(k).list(v)}catch(y){throw y}},placeholderData:Ce.keepPreviousData,staleTime:30*1e3}})}),$=F.some(d=>d.isLoading),I=F.some(d=>d.isFetching),X=((Ie=F.find(d=>d.error))==null?void 0:Ie.error)||null,W=async()=>{await Promise.all(F.map(d=>d.refetch()))},Z=c.useMemo(()=>{const d={};return _.query&&(d.Search=_.query),E.payload&&(d.Filter=E.payload),d},[_.query,E.payload]),{data:se,isLoading:B,error:oe}=Ce.useQuery({queryKey:["kanban-count",k,Z],queryFn:async()=>{try{return await he(k).count(Z)}catch(d){throw S.current&&S.current(d),d}},staleTime:30*1e3,gcTime:60*1e3}),A=Ce.useMutation({mutationFn:async d=>{const v=d.position??999999;return(await he(k).create({...d,position:v}))._id},onMutate:async d=>{const v=d.columnId,y=p(v),f=["kanban-cards",k,v,y];await w.cancelQueries({queryKey:f});const C=w.getQueryData(f);if(C){const N=C.Data,L=d.position??N.length,q=`temp-${Date.now()}`,Q={...d,_id:q,position:L,_created_at:new Date,_modified_at:new Date};w.setQueryData(f,{...C,Data:[...C.Data,Q]})}return{previousCards:C,queryKey:f}},onSuccess:async(d,v,y)=>{var f;y!=null&&y.queryKey&&await w.invalidateQueries({queryKey:y.queryKey}),(f=K.current)==null||f.call(K,{_id:d,...v})},onError:(d,v,y)=>{var f;y!=null&&y.previousCards&&(y!=null&&y.queryKey)&&w.setQueryData(y.queryKey,y.previousCards),(f=S.current)==null||f.call(S,d)},onSettled:(d,v,y)=>{const f=y.columnId,C=p(f);w.invalidateQueries({queryKey:["kanban-cards",k,f,C]})}}),ue=Ce.useMutation({mutationFn:async({id:d,updates:v})=>(await he(k).update(d,v),{id:d,updates:v}),onMutate:async()=>(await w.cancelQueries({queryKey:["kanban-cards",k]}),{}),onSuccess:async d=>{var v;(v=z.current)==null||v.call(z,{_id:d.id,...d.updates})},onError:(d,v,y)=>{var f;(f=S.current)==null||f.call(S,d)},onSettled:()=>{w.invalidateQueries({queryKey:["kanban-cards",k]})}}),ye=Ce.useMutation({mutationFn:async d=>(await he(k).delete(d),d),onMutate:async()=>(await w.cancelQueries({queryKey:["kanban-cards",k]}),{}),onSuccess:async d=>{var v;(v=U.current)==null||v.call(U,d)},onError:(d,v,y)=>{var f;(f=S.current)==null||f.call(S,d)},onSettled:()=>{w.invalidateQueries({queryKey:["kanban-cards",k]})}}),be=Ce.useMutation({mutationFn:async({cardId:d,fromColumnId:v,toColumnId:y,position:f})=>{const C={columnId:y,...f!==void 0&&{position:f}};return await he(k).update(d,C),{cardId:d,fromColumnId:v,toColumnId:y,position:f}},onMutate:async({cardId:d,fromColumnId:v,toColumnId:y,position:f})=>{const C=p(v),N=p(y),L=["kanban-cards",k,v,C],q=["kanban-cards",k,y,N];await w.cancelQueries({queryKey:L}),await w.cancelQueries({queryKey:q});const Q=w.getQueryData(L),de=w.getQueryData(q);if(Q&&de){const ce=Q.Data.find(le=>le._id===d);if(ce){const le={...Q,Data:Q.Data.filter(fe=>fe._id!==d)},Te={...ce,columnId:y,position:f??de.Data.length,_modified_at:new Date},Fe={...de,Data:[...de.Data,Te].sort((fe,Ee)=>fe.position-Ee.position)};w.setQueryData(L,le),w.setQueryData(q,Fe)}}return{previousFromData:Q,previousToData:de,fromQueryKey:L,toQueryKey:q,fromColumnId:v,toColumnId:y}},onSuccess:async d=>{var v;(v=O.current)==null||v.call(O,{_id:d.cardId},d.fromColumnId,d.toColumnId)},onError:(d,v,y)=>{var f;y!=null&&y.previousFromData&&(y!=null&&y.fromQueryKey)&&w.setQueryData(y.fromQueryKey,y.previousFromData),y!=null&&y.previousToData&&(y!=null&&y.toQueryKey)&&w.setQueryData(y.toQueryKey,y.previousToData),(f=S.current)==null||f.call(S,d)},onSettled:(d,v,y)=>{const f=p(y.fromColumnId),C=p(y.toColumnId);w.invalidateQueries({queryKey:["kanban-cards",k,y.fromColumnId,f]}),w.invalidateQueries({queryKey:["kanban-cards",k,y.toColumnId,C]})}}),we=Ce.useMutation({mutationFn:async({cardIds:d,columnId:v})=>{const y=d.map((f,C)=>({id:f,position:C,columnId:v}));await Promise.all(y.map(f=>he(k).update(f.id,{position:f.position,columnId:f.columnId})))},onMutate:async({columnId:d})=>{const v=p(d),y=["kanban-cards",k,d,v];return await w.cancelQueries({queryKey:y}),{}},onSuccess:()=>{},onError:(d,v,y)=>{var f;(f=S.current)==null||f.call(S,d)},onSettled:(d,v,y)=>{const f=p(y.columnId);w.invalidateQueries({queryKey:["kanban-cards",k,y.columnId,f]})}}),D=c.useCallback(async(d,v,y)=>{try{await be.mutateAsync({cardId:d._id,fromColumnId:v,toColumnId:y,position:void 0})}catch{}},[be]),ne=c.useMemo(()=>t.sort((d,v)=>d.position-v.position).map((d,v)=>{var C;const f=((C=F[v].data)==null?void 0:C.Data)||[];return{_id:d.id,title:d.title,position:d.position,color:d.color,limit:d.limit,cards:f.sort((N,L)=>N.position-L.position),_created_at:new Date,_modified_at:new Date}}),[t,F]),ee=Ma({onCardMove:D,onError:S.current,columns:ne,announceMove:(d,v,y)=>{console.log(`Kanban: Moved "${d.title}" from ${v} to ${y}`)}}),Re=c.useCallback(d=>{var v,y;return{draggable:!0,role:"option","aria-selected":a&&((v=ee.draggedCard)==null?void 0:v._id)===d._id,"aria-grabbed":a&&((y=ee.draggedCard)==null?void 0:y._id)===d._id,onDragStart:f=>{if(!a)return;f.dataTransfer.setData("text/plain",JSON.stringify(d));const C=f.nativeEvent||f;ee.handleDragStart(C,d)},onDragEnd:ee.handleDragEnd,onKeyDown:f=>{if(!a)return;const C=f.nativeEvent||f;ee.handleKeyDown(C,d)}}},[a,ee]),re=c.useCallback(d=>({"data-column-id":d,role:"listbox",onDragOver:v=>{if(!a)return;const y=v.nativeEvent||v;ee.handleDragOver(y,d)},onDrop:v=>{if(!a)return;const y=v.nativeEvent||v;ee.handleDrop(y,d)}}),[a,ee]),Se=c.useCallback(d=>{V({query:d})},[]),P=c.useCallback(()=>{V({query:""})},[]),ie=(se==null?void 0:se.Count)||0,De=$||B,Ae=I,tt=A.isPending||ue.isPending||ye.isPending||be.isPending||we.isPending,Le=X||oe,Pe=c.useCallback(async()=>{await W()},[W]),$e=c.useCallback(async()=>{await w.invalidateQueries({predicate:d=>d.queryKey[0]==="kanban-cards"||d.queryKey[0]==="kanban-count"})},[w]);return c.useEffect(()=>{Le&&S.current&&S.current(Le)},[Le]),{columns:ne,totalCards:ie,isLoading:De,isFetching:Ae,isUpdating:tt,error:Le,createCard:A.mutateAsync,updateCard:c.useCallback(async(d,v)=>{await ue.mutateAsync({id:d,updates:v})},[ue]),deleteCard:c.useCallback(async d=>{await ye.mutateAsync(d)},[ye]),moveCard:c.useCallback(async(d,v,y,f)=>{if(!f){for(const C of ne)if(C.cards.find(L=>L._id===d)){f=C._id;break}if(!f)throw new Error(`Card ${d} not found in any column`)}await be.mutateAsync({cardId:d,fromColumnId:f,toColumnId:v,position:y})},[be,ne]),reorderCards:c.useCallback(async(d,v)=>{await we.mutateAsync({cardIds:d,columnId:v})},[we]),searchQuery:_.query,setSearchQuery:Se,clearSearch:P,filter:E,isDragging:a?ee.isDragging:!1,draggedCard:a?ee.draggedCard:null,dragOverColumn:a?ee.dragOverColumn:null,handleDragStart:a?ee.handleDragStart:()=>{},handleDragOver:a?ee.handleDragOver:()=>{},handleDrop:a?ee.handleDrop:()=>{},handleDragEnd:a?ee.handleDragEnd:()=>{},handleKeyDown:a?ee.handleKeyDown:()=>{},getCardProps:a?Re:d=>({}),getColumnProps:a?re:d=>({}),loadMore:c.useCallback(d=>{H(v=>({...v,[d]:(v[d]||10)+10}))},[]),refetch:Pe,refresh:$e}}c.createContext(null);var xt={exports:{}},nt={};/**
|
|
17
17
|
* @license React
|
|
18
18
|
* react-jsx-runtime.production.min.js
|
|
19
19
|
*
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
*
|
|
22
22
|
* This source code is licensed under the MIT license found in the
|
|
23
23
|
* LICENSE file in the root directory of this source tree.
|
|
24
|
-
*/var
|
|
24
|
+
*/var Jt;function Ka(){if(Jt)return nt;Jt=1;var e=c,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function i(u,l,m){var h,k={},_=null,V=null;m!==void 0&&(_=""+m),l.key!==void 0&&(_=""+l.key),l.ref!==void 0&&(V=l.ref);for(h in l)r.call(l,h)&&!o.hasOwnProperty(h)&&(k[h]=l[h]);if(u&&u.defaultProps)for(h in l=u.defaultProps,l)k[h]===void 0&&(k[h]=l[h]);return{$$typeof:t,type:u,key:_,ref:V,props:k,_owner:a.current}}return nt.Fragment=n,nt.jsx=i,nt.jsxs=i,nt}var at={};/**
|
|
25
25
|
* @license React
|
|
26
26
|
* react-jsx-runtime.development.js
|
|
27
27
|
*
|
|
@@ -29,17 +29,17 @@
|
|
|
29
29
|
*
|
|
30
30
|
* This source code is licensed under the MIT license found in the
|
|
31
31
|
* LICENSE file in the root directory of this source tree.
|
|
32
|
-
*/var
|
|
33
|
-
`+
|
|
34
|
-
`),
|
|
35
|
-
`),
|
|
36
|
-
`+
|
|
32
|
+
*/var Ht;function Ba(){return Ht||(Ht=1,process.env.NODE_ENV!=="production"&&function(){var e=c,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),u=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),V=Symbol.for("react.offscreen"),b=Symbol.iterator,Y="@@iterator";function H(s){if(s===null||typeof s!="object")return null;var g=b&&s[b]||s[Y];return typeof g=="function"?g:null}var S=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function O(s){{for(var g=arguments.length,x=new Array(g>1?g-1:0),j=1;j<g;j++)x[j-1]=arguments[j];K("error",s,x)}}function K(s,g,x){{var j=S.ReactDebugCurrentFrame,te=j.getStackAddendum();te!==""&&(g+="%s",x=x.concat([te]));var ae=x.map(function(J){return String(J)});ae.unshift("Warning: "+g),Function.prototype.apply.call(console[s],console,ae)}}var z=!1,U=!1,w=!1,E=!1,p=!1,F;F=Symbol.for("react.module.reference");function $(s){return!!(typeof s=="string"||typeof s=="function"||s===r||s===o||p||s===a||s===m||s===h||E||s===V||z||U||w||typeof s=="object"&&s!==null&&(s.$$typeof===_||s.$$typeof===k||s.$$typeof===i||s.$$typeof===u||s.$$typeof===l||s.$$typeof===F||s.getModuleId!==void 0))}function I(s,g,x){var j=s.displayName;if(j)return j;var te=g.displayName||g.name||"";return te!==""?x+"("+te+")":x}function X(s){return s.displayName||"Context"}function W(s){if(s==null)return null;if(typeof s.tag=="number"&&O("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case r:return"Fragment";case n:return"Portal";case o:return"Profiler";case a:return"StrictMode";case m:return"Suspense";case h:return"SuspenseList"}if(typeof s=="object")switch(s.$$typeof){case u:var g=s;return X(g)+".Consumer";case i:var x=s;return X(x._context)+".Provider";case l:return I(s,s.render,"ForwardRef");case k:var j=s.displayName||null;return j!==null?j:W(s.type)||"Memo";case _:{var te=s,ae=te._payload,J=te._init;try{return W(J(ae))}catch{return null}}}return null}var Z=Object.assign,se=0,B,oe,A,ue,ye,be,we;function D(){}D.__reactDisabledLog=!0;function ne(){{if(se===0){B=console.log,oe=console.info,A=console.warn,ue=console.error,ye=console.group,be=console.groupCollapsed,we=console.groupEnd;var s={configurable:!0,enumerable:!0,value:D,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}se++}}function ee(){{if(se--,se===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Z({},s,{value:B}),info:Z({},s,{value:oe}),warn:Z({},s,{value:A}),error:Z({},s,{value:ue}),group:Z({},s,{value:ye}),groupCollapsed:Z({},s,{value:be}),groupEnd:Z({},s,{value:we})})}se<0&&O("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Re=S.ReactCurrentDispatcher,re;function Se(s,g,x){{if(re===void 0)try{throw Error()}catch(te){var j=te.stack.trim().match(/\n( *(at )?)/);re=j&&j[1]||""}return`
|
|
33
|
+
`+re+s}}var P=!1,ie;{var De=typeof WeakMap=="function"?WeakMap:Map;ie=new De}function Ae(s,g){if(!s||P)return"";{var x=ie.get(s);if(x!==void 0)return x}var j;P=!0;var te=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ae;ae=Re.current,Re.current=null,ne();try{if(g){var J=function(){throw Error()};if(Object.defineProperty(J.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(J,[])}catch(ke){j=ke}Reflect.construct(s,[],J)}else{try{J.call()}catch(ke){j=ke}s.call(J.prototype)}}else{try{throw Error()}catch(ke){j=ke}s()}}catch(ke){if(ke&&j&&typeof ke.stack=="string"){for(var G=ke.stack.split(`
|
|
34
|
+
`),ve=j.stack.split(`
|
|
35
|
+
`),me=G.length-1,pe=ve.length-1;me>=1&&pe>=0&&G[me]!==ve[pe];)pe--;for(;me>=1&&pe>=0;me--,pe--)if(G[me]!==ve[pe]){if(me!==1||pe!==1)do if(me--,pe--,pe<0||G[me]!==ve[pe]){var Oe=`
|
|
36
|
+
`+G[me].replace(" at new "," at ");return s.displayName&&Oe.includes("<anonymous>")&&(Oe=Oe.replace("<anonymous>",s.displayName)),typeof s=="function"&&ie.set(s,Oe),Oe}while(me>=1&&pe>=0);break}}}finally{P=!1,Re.current=ae,ee(),Error.prepareStackTrace=te}var Je=s?s.displayName||s.name:"",Ke=Je?Se(Je):"";return typeof s=="function"&&ie.set(s,Ke),Ke}function tt(s,g,x){return Ae(s,!1)}function Le(s){var g=s.prototype;return!!(g&&g.isReactComponent)}function Pe(s,g,x){if(s==null)return"";if(typeof s=="function")return Ae(s,Le(s));if(typeof s=="string")return Se(s);switch(s){case m:return Se("Suspense");case h:return Se("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case l:return tt(s.render);case k:return Pe(s.type,g,x);case _:{var j=s,te=j._payload,ae=j._init;try{return Pe(ae(te),g,x)}catch{}}}return""}var $e=Object.prototype.hasOwnProperty,Ue={},ze=S.ReactDebugCurrentFrame;function Ie(s){if(s){var g=s._owner,x=Pe(s.type,s._source,g?g.type:null);ze.setExtraStackFrame(x)}else ze.setExtraStackFrame(null)}function d(s,g,x,j,te){{var ae=Function.call.bind($e);for(var J in s)if(ae(s,J)){var G=void 0;try{if(typeof s[J]!="function"){var ve=Error((j||"React class")+": "+x+" type `"+J+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[J]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ve.name="Invariant Violation",ve}G=s[J](g,J,j,x,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(me){G=me}G&&!(G instanceof Error)&&(Ie(te),O("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",j||"React class",x,J,typeof G),Ie(null)),G instanceof Error&&!(G.message in Ue)&&(Ue[G.message]=!0,Ie(te),O("Failed %s type: %s",x,G.message),Ie(null))}}}var v=Array.isArray;function y(s){return v(s)}function f(s){{var g=typeof Symbol=="function"&&Symbol.toStringTag,x=g&&s[Symbol.toStringTag]||s.constructor.name||"Object";return x}}function C(s){try{return N(s),!1}catch{return!0}}function N(s){return""+s}function L(s){if(C(s))return O("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",f(s)),N(s)}var q=S.ReactCurrentOwner,Q={key:!0,ref:!0,__self:!0,__source:!0},de,ce;function le(s){if($e.call(s,"ref")){var g=Object.getOwnPropertyDescriptor(s,"ref").get;if(g&&g.isReactWarning)return!1}return s.ref!==void 0}function Te(s){if($e.call(s,"key")){var g=Object.getOwnPropertyDescriptor(s,"key").get;if(g&&g.isReactWarning)return!1}return s.key!==void 0}function Fe(s,g){typeof s.ref=="string"&&q.current}function fe(s,g){{var x=function(){de||(de=!0,O("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};x.isReactWarning=!0,Object.defineProperty(s,"key",{get:x,configurable:!0})}}function Ee(s,g){{var x=function(){ce||(ce=!0,O("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};x.isReactWarning=!0,Object.defineProperty(s,"ref",{get:x,configurable:!0})}}var it=function(s,g,x,j,te,ae,J){var G={$$typeof:t,type:s,key:g,ref:x,props:J,_owner:ae};return G._store={},Object.defineProperty(G._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(G,"_self",{configurable:!1,enumerable:!1,writable:!1,value:j}),Object.defineProperty(G,"_source",{configurable:!1,enumerable:!1,writable:!1,value:te}),Object.freeze&&(Object.freeze(G.props),Object.freeze(G)),G};function Dt(s,g,x,j,te){{var ae,J={},G=null,ve=null;x!==void 0&&(L(x),G=""+x),Te(g)&&(L(g.key),G=""+g.key),le(g)&&(ve=g.ref,Fe(g,te));for(ae in g)$e.call(g,ae)&&!Q.hasOwnProperty(ae)&&(J[ae]=g[ae]);if(s&&s.defaultProps){var me=s.defaultProps;for(ae in me)J[ae]===void 0&&(J[ae]=me[ae])}if(G||ve){var pe=typeof s=="function"?s.displayName||s.name||"Unknown":s;G&&fe(J,pe),ve&&Ee(J,pe)}return it(s,G,ve,te,j,q.current,J)}}var ct=S.ReactCurrentOwner,At=S.ReactDebugCurrentFrame;function Qe(s){if(s){var g=s._owner,x=Pe(s.type,s._source,g?g.type:null);At.setExtraStackFrame(x)}else At.setExtraStackFrame(null)}var ht;ht=!1;function bt(s){return typeof s=="object"&&s!==null&&s.$$typeof===t}function Ft(){{if(ct.current){var s=W(ct.current.type);if(s)return`
|
|
37
37
|
|
|
38
|
-
Check the render method of \``+s+"`."}return""}}function qr(s){return""}var
|
|
38
|
+
Check the render method of \``+s+"`."}return""}}function qr(s){return""}var _t={};function Mr(s){{var g=Ft();if(!g){var x=typeof s=="string"?s:s.displayName||s.name;x&&(g=`
|
|
39
39
|
|
|
40
|
-
Check the top-level render call using <`+
|
|
40
|
+
Check the top-level render call using <`+x+">.")}return g}}function Nt(s,g){{if(!s._store||s._store.validated||s.key!=null)return;s._store.validated=!0;var x=Mr(g);if(_t[x])return;_t[x]=!0;var j="";s&&s._owner&&s._owner!==ct.current&&(j=" It was passed a child from "+W(s._owner.type)+"."),Qe(s),O('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',x,j),Qe(null)}}function Pt(s,g){{if(typeof s!="object")return;if(y(s))for(var x=0;x<s.length;x++){var j=s[x];bt(j)&&Nt(j,g)}else if(bt(s))s._store&&(s._store.validated=!0);else if(s){var te=H(s);if(typeof te=="function"&&te!==s.entries)for(var ae=te.call(s),J;!(J=ae.next()).done;)bt(J.value)&&Nt(J.value,g)}}}function zr(s){{var g=s.type;if(g==null||typeof g=="string")return;var x;if(typeof g=="function")x=g.propTypes;else if(typeof g=="object"&&(g.$$typeof===l||g.$$typeof===k))x=g.propTypes;else return;if(x){var j=W(g);d(x,s.props,"prop",j,s)}else if(g.PropTypes!==void 0&&!ht){ht=!0;var te=W(g);O("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",te||"Unknown")}typeof g.getDefaultProps=="function"&&!g.getDefaultProps.isReactClassApproved&&O("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Kr(s){{for(var g=Object.keys(s.props),x=0;x<g.length;x++){var j=g[x];if(j!=="children"&&j!=="key"){Qe(s),O("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",j),Qe(null);break}}s.ref!==null&&(Qe(s),O("Invalid attribute `ref` supplied to `React.Fragment`."),Qe(null))}}var $t={};function It(s,g,x,j,te,ae){{var J=$(s);if(!J){var G="";(s===void 0||typeof s=="object"&&s!==null&&Object.keys(s).length===0)&&(G+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var ve=qr();ve?G+=ve:G+=Ft();var me;s===null?me="null":y(s)?me="array":s!==void 0&&s.$$typeof===t?(me="<"+(W(s.type)||"Unknown")+" />",G=" Did you accidentally export a JSX literal instead of a component?"):me=typeof s,O("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",me,G)}var pe=Dt(s,g,x,te,ae);if(pe==null)return pe;if(J){var Oe=g.children;if(Oe!==void 0)if(j)if(y(Oe)){for(var Je=0;Je<Oe.length;Je++)Pt(Oe[Je],s);Object.freeze&&Object.freeze(Oe)}else O("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Pt(Oe,s)}if($e.call(g,"key")){var Ke=W(s),ke=Object.keys(g).filter(function(Jr){return Jr!=="key"}),yt=ke.length>0?"{key: someKey, "+ke.join(": ..., ")+": ...}":"{key: someKey}";if(!$t[Ke+yt]){var Qr=ke.length>0?"{"+ke.join(": ..., ")+": ...}":"{}";O(`A props object containing a "key" prop is being spread into JSX:
|
|
41
41
|
let props = %s;
|
|
42
42
|
<%s {...props} />
|
|
43
43
|
React keys must be passed directly to JSX without using spread:
|
|
44
44
|
let props = %s;
|
|
45
|
-
<%s key={someKey} {...props} />`,
|
|
45
|
+
<%s key={someKey} {...props} />`,yt,Ke,Qr,Ke),$t[Ke+yt]=!0}}return s===r?Kr(pe):zr(pe),pe}}function Br(s,g,x){return It(s,g,x,!0)}function Gr(s,g,x){return It(s,g,x,!1)}var Yr=Gr,Wr=Br;at.Fragment=r,at.jsx=Yr,at.jsxs=Wr}()),at}process.env.NODE_ENV==="production"?xt.exports=Ka():xt.exports=Ba();var xe=xt.exports;const Ar=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("flex h-full flex-grow items-start gap-x-4 overflow-x-auto py-2",e),...t}));Ar.displayName="Kanban";const Fr=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("flex h-full min-w-[300px] flex-col rounded-lg border bg-gray-50 p-3",e),...t}));Fr.displayName="KanbanColumn";const _r=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("mb-3 flex items-center justify-between",e),...t}));_r.displayName="KanbanColumnHeader";const Nr=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("h3",{ref:n,className:Ne("text-sm font-semibold text-gray-700",e),...t}));Nr.displayName="KanbanColumnTitle";const Pr=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("flex-1 space-y-2 overflow-y-auto",e),...t}));Pr.displayName="KanbanColumnContent";const $r=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("rounded-lg border border-gray-200 bg-white p-3 shadow-sm hover:shadow-md transition-shadow cursor-move",e),...t}));$r.displayName="KanbanCard";const Ir=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("font-medium text-gray-900 mb-1",e),...t}));Ir.displayName="KanbanCardTitle";const jr=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("text-sm text-gray-600",e),...t}));jr.displayName="KanbanCardDescription";const Vr=Ve.forwardRef(({className:e,...t},n)=>xe.jsx("div",{ref:n,className:Ne("mt-3 pt-3 border-t border-gray-200",e),...t}));Vr.displayName="KanbanColumnFooter";const Ga={sessionEndpoint:"/api/id",providers:{google:{loginPath:"/api/auth/google/login",logoutPath:"/api/auth/logout"}},defaultProvider:"google",autoRedirect:!1,sessionCheckInterval:0,retry:{count:3,delay:1e3},staleTime:5*60*1e3,refetchOnWindowFocus:!1,refetchOnReconnect:!0};let Ye={...Ga};function Ya(e){Ye={...Ye,...e,providers:{...Ye.providers,...e.providers},retry:{...Ye.retry,...e.retry}}}function gt(){return{...Ye}}function Ot(){return Ye.baseUrl||pt()||(typeof window<"u"?window.location.origin:"")}function Lr(e){return Ye.providers[e]}class mt extends Error{constructor(n,r){super(n);Be(this,"statusCode");this.name="AuthenticationError",this.statusCode=r}}async function Wa(){const e=gt(),t=Ot(),n=ot(),r=await fetch(`${t}${e.sessionEndpoint}`,{method:"GET",headers:n,credentials:"include"});if(!r.ok)throw r.status===401||r.status===403?new mt("Not authenticated",r.status):new mt(`Session check failed: ${r.statusText}`,r.status);return await r.json()}function Xt(e,t){return new Promise(()=>{const n=gt(),r=Ot();if(!r)throw new Error('Auth base URL is not configured. Call setApiBaseUrl("https://...") or configureAuth({ baseUrl: "https://..." }) first.');const a=e||n.defaultProvider,o=Lr(a);if(!o){const u=Object.keys(n.providers||{}).join(", ")||"none";throw new Error(`Auth provider "${a}" is not configured. Available providers: ${u}`)}if(!o.loginPath)throw new Error(`Login path not configured for provider "${a}". Configure it with: configureAuth({ providers: { ${a}: { loginPath: '/api/auth/...' } } })`);let i;try{i=new URL(`${r}${o.loginPath}`)}catch{throw new Error(`Failed to construct login URL. Base URL: "${r}", Login path: "${o.loginPath}". Ensure baseUrl is a valid URL (e.g., "https://example.com").`)}(t!=null&&t.callbackUrl||n.callbackUrl)&&i.searchParams.set("callbackUrl",(t==null?void 0:t.callbackUrl)||n.callbackUrl||window.location.href),t!=null&&t.params&&Object.entries(t.params).forEach(([u,l])=>{i.searchParams.set(u,l)}),window.location.href=i.toString()})}async function Qa(e){const t=gt(),n=Ot(),r=ot(),a=Lr(t.defaultProvider),o=a==null?void 0:a.logoutPath;if(o&&(e==null?void 0:e.callLogoutEndpoint)!==!1)try{await fetch(`${n}${o}`,{method:"POST",headers:r,credentials:"include"})}catch(i){console.warn("Logout endpoint call failed:",i)}e!=null&&e.redirectUrl?window.location.href=e.redirectUrl:t.loginRedirectUrl&&(window.location.href=t.loginRedirectUrl)}const Ur=c.createContext(null),Zt=["auth","session"];function Ja({children:e,config:t,onAuthChange:n,onError:r,loadingComponent:a,unauthenticatedComponent:o,skipInitialCheck:i=!1}){const u=c.useRef(!1);t&&!u.current&&(Ya(t),u.current=!0);const l=Ce.useQueryClient(),m=gt(),{data:h,isLoading:k,error:_,refetch:V,isFetching:b}=Ce.useQuery({queryKey:Zt,queryFn:Wa,enabled:!i,retry:(B,oe)=>oe instanceof mt&&(oe.statusCode===401||oe.statusCode===403)?!1:B<m.retry.count,retryDelay:m.retry.delay,staleTime:m.staleTime,gcTime:m.staleTime*2,refetchOnWindowFocus:m.refetchOnWindowFocus??!0,refetchOnReconnect:m.refetchOnReconnect??!0,refetchInterval:m.sessionCheckInterval||!1}),[Y,H]=c.useState(null),S=c.useMemo(()=>k||b?"loading":h!=null&&h.userDetails?"authenticated":"unauthenticated",[k,b,h]),O=(h==null?void 0:h.userDetails)||null,K=(h==null?void 0:h.staticBaseUrl)||null,z=(h==null?void 0:h.buildId)||null,U=S==="authenticated",w=c.useRef(n);w.current=n;const E=c.useRef(r);E.current=r,c.useEffect(()=>{var B;k||(B=w.current)==null||B.call(w,S,O)},[S,O,k]),c.useEffect(()=>{var B;_&&(H(_),(B=E.current)==null||B.call(E,_))},[_]),c.useEffect(()=>{S==="unauthenticated"&&m.autoRedirect&&!k&&Xt()},[S,k,m.autoRedirect]);const p=c.useCallback((B,oe)=>{Xt(B,oe)},[]),F=c.useCallback(async B=>{l.removeQueries({queryKey:Zt}),await Qa(B)},[l]),$=c.useCallback(async()=>{if(b)return h||null;try{return(await V()).data||null}catch(B){return H(B),null}},[V,b,h]),I=c.useCallback(B=>(O==null?void 0:O.Role)===B,[O]),X=c.useCallback(B=>B.includes((O==null?void 0:O.Role)||""),[O]),W=c.useCallback(()=>{H(null)},[]),Z=c.useCallback(()=>{V()},[V]),se=c.useMemo(()=>({user:O,staticBaseUrl:K,buildId:z,status:S,isAuthenticated:U,isLoading:k,login:p,logout:F,refreshSession:$,hasRole:I,hasAnyRole:X,error:Y,clearError:W,_forceCheck:Z}),[O,K,z,S,U,k,p,F,$,I,X,Y,W,Z]);return S==="loading"&&a?xe.jsx(xe.Fragment,{children:a}):S==="unauthenticated"&&!m.autoRedirect&&o?xe.jsx(xe.Fragment,{children:o}):xe.jsx(Ur.Provider,{value:se,children:e})}function Ha(){const e=c.useContext(Ur);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e}function Xa(){const e=Ha();return c.useMemo(()=>({user:e.user,staticBaseUrl:e.staticBaseUrl,buildId:e.buildId,status:e.status,isAuthenticated:e.isAuthenticated,isLoading:e.isLoading,login:e.login,logout:e.logout,refreshSession:e.refreshSession,hasRole:e.hasRole,hasAnyRole:e.hasAnyRole,error:e.error,clearError:e.clearError}),[e.user,e.staticBaseUrl,e.buildId,e.status,e.isAuthenticated,e.isLoading,e.login,e.logout,e.refreshSession,e.hasRole,e.hasAnyRole,e.error,e.clearError])}exports.AuthProvider=Ja;exports.AuthenticationError=mt;exports.Kanban=Ar;exports.KanbanCard=$r;exports.KanbanCardDescription=jr;exports.KanbanCardTitle=Ir;exports.KanbanColumn=Fr;exports.KanbanColumnContent=Pr;exports.KanbanColumnFooter=Vr;exports.KanbanColumnHeader=_r;exports.KanbanColumnTitle=Nr;exports.api=he;exports.clearFormCache=Ia;exports.cn=Ne;exports.decodeDate=on;exports.decodeDatetime=an;exports.encodeDate=sn;exports.encodeDatetime=nn;exports.formatArray=or;exports.formatBoolean=ir;exports.formatCurrency=tr;exports.formatDate=rr;exports.formatDateTime=nr;exports.formatFieldValue=dn;exports.formatJSON=sr;exports.formatNumber=ar;exports.formatTextArea=cr;exports.getApiBaseUrl=pt;exports.getBdoSchema=er;exports.getDefaultHeaders=ot;exports.isCondition=Sr;exports.isConditionGroup=_e;exports.isFilterCondition=ra;exports.isFilterLogical=ta;exports.isNetworkError=_a;exports.isValidationError=Na;exports.listMetadata=cn;exports.parseApiError=Fa;exports.parseCurrency=ln;exports.setApiBaseUrl=tn;exports.setDefaultHeaders=rn;exports.truncateString=un;exports.useAuth=Xa;exports.useFilter=Tt;exports.useForm=qa;exports.useKanban=za;exports.useTable=sa;
|