@ram_28/kf-ai-sdk 1.0.7 → 1.0.9

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