ezux 1.1.11 → 1.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{EzContextMenu-C3eDRS7E.cjs → EzContextMenu-B6HBUjWv.cjs} +1 -1
- package/dist/{EzContextMenu-BsHdOgtL.js → EzContextMenu-BSA_B6Pr.js} +1 -1
- package/dist/{EzEventModal-FP2rs1pp.js → EzEventModal-BUMp_BFi.js} +6 -6
- package/dist/{EzEventModal-DkowH9rh.cjs → EzEventModal-xzHfzi0O.cjs} +1 -1
- package/dist/{EzGroupingPanel-DuKrZuqq.js → EzGroupingPanel-BUsIYDRi.js} +5 -5
- package/dist/EzGroupingPanel-D0HdSomF.cjs +1 -0
- package/dist/{EzSchedulerQuickAdd-s2jtG8vH.js → EzSchedulerQuickAdd-C653LTGh.js} +5 -5
- package/dist/{EzSchedulerQuickAdd-BLF22CDh.cjs → EzSchedulerQuickAdd-UnOWCpJd.cjs} +1 -1
- package/dist/{EzSchedulerToolbar-CaVVmnjt.cjs → EzSchedulerToolbar-C-5OdRY6.cjs} +1 -1
- package/dist/{EzSchedulerToolbar-tz6h80GC.js → EzSchedulerToolbar-CO5jjDQg.js} +15 -15
- package/dist/{EzSignature-CPoQLAyS.cjs → EzSignature-BaNesxwC.cjs} +1 -1
- package/dist/{EzSignature-D7134EQo.js → EzSignature-D4EYwo9W.js} +2 -2
- package/dist/{EzTableEditDialog-3eU6i9cv.js → EzTableEditDialog-Cd948V1C.js} +3 -3
- package/dist/{EzTableEditDialog-ftpeOKI_.cjs → EzTableEditDialog-NiOubaMT.cjs} +1 -1
- package/dist/{EzTableFooter-BiyI1m1O.cjs → EzTableFooter-CWjfGCjL.cjs} +1 -1
- package/dist/{EzTableFooter-DuAaOcLd.js → EzTableFooter-DveD12RC.js} +1 -1
- package/dist/{EzTableToolbar-DmAb94U-.js → EzTableToolbar-Bz8UWv6j.js} +50 -54
- package/dist/EzTableToolbar-DHE7Bb1R.cjs +1 -0
- package/dist/{HighlightText-C0sUEoCH.js → HighlightText-8D6KEyBw.js} +9 -11
- package/dist/HighlightText-LtZmzCle.cjs +1 -0
- package/dist/{NotificationPanel-xjIHKnlE.js → NotificationPanel-D2Y-_ahk.js} +3 -3
- package/dist/NotificationPanel-zLxrtTGf.cjs +1 -0
- package/dist/{TooltipWrapper-Bv7F-Gk4.js → TooltipWrapper-BrRTi5EJ.js} +1 -1
- package/dist/{TooltipWrapper-CgYlx0Jq.cjs → TooltipWrapper-DWts4bAI.cjs} +1 -1
- package/dist/{avatar-BkA_3sri.js → avatar-BeK0E4mn.js} +1 -1
- package/dist/{avatar-CJH7L2Or.cjs → avatar-DZAaTK2f.cjs} +1 -1
- package/dist/bell-DAz8P0BR.js +14 -0
- package/dist/bell-DOX2y38e.cjs +1 -0
- package/dist/{calendar-ChRJyGvt.cjs → calendar-BMZ8ddOf.cjs} +1 -1
- package/dist/{calendar-CCxXqG5a.js → calendar-Dy3rVMW2.js} +4 -4
- package/dist/{checkbox-_Uxyw6xN.cjs → checkbox-B0lGHUyy.cjs} +1 -1
- package/dist/{checkbox-DTLp-Oqj.js → checkbox-boJRxICT.js} +1 -1
- package/dist/circle-x-Cv7bfIC_.js +9 -0
- package/dist/circle-x-DwVXxhXr.cjs +1 -0
- package/dist/{date-time-picker-BPwpIWxg.cjs → date-time-picker-DTxHdPgQ.cjs} +1 -1
- package/dist/{date-time-picker-B9QBboUX.js → date-time-picker-Dj2eftJI.js} +6 -6
- package/dist/ezux.css +1 -1
- package/dist/grip-vertical-CSyDKBul.js +12 -0
- package/dist/grip-vertical-DZNBW1Dn.cjs +1 -0
- package/dist/{index-BmjgUrNF.cjs → index-B3ipEEhH.cjs} +2 -2
- package/dist/index-BPPb7bcs.js +3220 -0
- package/dist/{index-pr_yrvsV.js → index-BQKw_Vho.js} +4026 -1904
- package/dist/{index-B7foCkRR.js → index-C5STgBSy.js} +678 -677
- package/dist/{index-CpEN0z3t.js → index-C6NfgycP.js} +357 -357
- package/dist/index-D4f2ZdrG.cjs +2 -0
- package/dist/index-DUY1SqMo.cjs +1 -0
- package/dist/index-c1Zg--dt.cjs +7 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +67 -14
- package/dist/index.es.js +136 -135
- package/dist/{input-D1zXv4Kl.cjs → input-BgM_la4k.cjs} +1 -1
- package/dist/{input-DG8ycH6m.js → input-jYQ5VKNR.js} +1 -1
- package/dist/{isBefore-DdLSsf0_.js → isBefore-C3Y_wbk3.js} +1 -1
- package/dist/{isBefore-BAixcVtb.cjs → isBefore-Cp1ttk6q.cjs} +1 -1
- package/dist/kanban.cjs +1 -1
- package/dist/kanban.es.js +4 -4
- package/dist/{label-Ch1wkGGP.js → label-ClOW9UCt.js} +2 -2
- package/dist/{label-DrUloKDN.cjs → label-Dx6oDB-X.cjs} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.ts +29 -1
- package/dist/layout.es.js +3 -3
- package/dist/{popover-4Ng-GmwM.cjs → popover-BJq1CKmi.cjs} +1 -1
- package/dist/{popover-DstiJFa3.js → popover-Cmlb7w3R.js} +1 -1
- package/dist/scheduler.cjs +1 -1
- package/dist/scheduler.es.js +5 -5
- package/dist/{scroll-area-mGPAChYm.js → scroll-area-9fwpVNxT.js} +1 -1
- package/dist/{scroll-area-B_yufXtG.cjs → scroll-area-CwwZSSA4.cjs} +1 -1
- package/dist/select-GxA46anr.cjs +1 -0
- package/dist/select-mDCun_IR.js +35 -0
- package/dist/{settings-HCrwja-A.js → settings-CvyjK75A.js} +14 -14
- package/dist/settings-DKPknrt8.cjs +1 -0
- package/dist/signature.cjs +1 -1
- package/dist/signature.es.js +1 -1
- package/dist/{sortable.esm-DDmDbyCC.cjs → sortable.esm-CsRPuXyD.cjs} +1 -1
- package/dist/{sortable.esm-eBjUK76c.js → sortable.esm-CzMCDPet.js} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.d.ts +18 -0
- package/dist/table.es.js +10 -9
- package/dist/theme-vars.css +2 -2
- package/dist/{tooltip-CDLAzCi8.cjs → tooltip-B41iztKT.cjs} +1 -1
- package/dist/{tooltip-C216fkmP.js → tooltip-BCtrEe0z.js} +1 -1
- package/dist/treeview.cjs +1 -2
- package/dist/treeview.es.js +558 -543
- package/dist/{useInitCoreServices-DSudhSFo.cjs → useInitCoreServices-CwXv2p4S.cjs} +1 -1
- package/dist/{useInitCoreServices-BC7QMeLn.js → useInitCoreServices-D1WaWlaI.js} +4 -3
- package/dist/{useService-DBnjCLOu.cjs → useService-8OoezWr8.cjs} +1 -1
- package/dist/{useService-BKWyN7jJ.js → useService-BUi3uAqE.js} +1 -1
- package/dist/{useServiceState-MlrHzngO.cjs → useServiceState-BjpCjUn2.cjs} +1 -1
- package/dist/{useServiceState-DWb3cncq.js → useServiceState-VE-viK8b.js} +1 -1
- package/package.json +21 -20
- package/dist/EzGroupingPanel-Dw4bbefz.cjs +0 -1
- package/dist/EzTableToolbar-qlNVxvsL.cjs +0 -1
- package/dist/HighlightText-BDclEh_K.cjs +0 -1
- package/dist/NotificationPanel-juBrjjOY.cjs +0 -1
- package/dist/index-BKsqtcvu.cjs +0 -2
- package/dist/index-D2HX-sbl.js +0 -3092
- package/dist/index-DEIRrhVY.cjs +0 -1
- package/dist/index-DGhcUfqi.cjs +0 -7
- package/dist/info-BY2cfl1l.cjs +0 -1
- package/dist/info-BuURqzhx.js +0 -14
- package/dist/select-BxcAKVaB.cjs +0 -1
- package/dist/select-BxiFqo8j.js +0 -35
- package/dist/settings-BuS8Pqjb.cjs +0 -1
package/dist/index-DGhcUfqi.cjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";const t=require("react/jsx-runtime"),m=require("react"),me=require("./TooltipWrapper-CgYlx0Jq.cjs"),T=require("./useInitCoreServices-DSudhSFo.cjs"),de=require("@tanstack/react-table"),gr=require("./useComponentState-DDgGbBXv.cjs"),ke=require("./HighlightText-BDclEh_K.cjs"),B=require("./select-BxcAKVaB.cjs"),N=require("./EzErrorBoundary-CEdz_hDo.cjs"),De=require("./label-DrUloKDN.cjs"),Fe=require("./checkbox-_Uxyw6xN.cjs"),$t=require("@tanstack/react-virtual"),U=require("./tooltip-CDLAzCi8.cjs"),Ce=require("./popover-4Ng-GmwM.cjs"),Re=require("./input-D1zXv4Kl.cjs"),te=require("./EzContextMenu-C3eDRS7E.cjs"),fr=require("./useServiceState-MlrHzngO.cjs"),Gt=require("./chevron-down-DZVL7VHW.cjs"),Bt=require("./chevron-left-HWhRo6IH.cjs"),hr=require("@tanstack/react-store"),pr=require("@tanstack/store"),xr=require("./useImperativeAPI-DbZ3owSV.cjs");function br(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const v=br(m);const vr=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],wr=N.createLucideIcon("arrow-down",vr);const yr=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Cr=N.createLucideIcon("arrow-up",yr);const Sr=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],jr=N.createLucideIcon("chevrons-left",Sr);const Nr=[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]],Rr=N.createLucideIcon("chevrons-right",Nr);const kr=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],Er=N.createLucideIcon("chevrons-up-down",kr);const Dr=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Pr=N.createLucideIcon("copy",Dr);const Ir=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],St=N.createLucideIcon("grip-vertical",Ir);const Fr=[["path",{d:"M3 7V5c0-1.1.9-2 2-2h2",key:"adw53z"}],["path",{d:"M17 3h2c1.1 0 2 .9 2 2v2",key:"an4l38"}],["path",{d:"M21 17v2c0 1.1-.9 2-2 2h-2",key:"144t0e"}],["path",{d:"M7 21H5c-1.1 0-2-.9-2-2v-2",key:"rtnfgi"}],["rect",{width:"7",height:"5",x:"7",y:"7",rx:"1",key:"1eyiv7"}],["rect",{width:"7",height:"5",x:"10",y:"12",rx:"1",key:"1qlmkx"}]],Mr=N.createLucideIcon("group",Fr);const Tr=[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]],Ar=N.createLucideIcon("list-filter",Tr);const zr=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Or=N.createLucideIcon("maximize-2",zr);const _r=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]],qt=N.createLucideIcon("pin-off",_r);const Lr=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]],mt=N.createLucideIcon("pin",Lr);const Vr=[["rect",{width:"8",height:"6",x:"5",y:"4",rx:"1",key:"nzclkv"}],["rect",{width:"8",height:"6",x:"11",y:"14",rx:"1",key:"4tytwb"}]],$r=N.createLucideIcon("ungroup",Vr),Gr=e=>{const n=m.useRef(!1);m.useLayoutEffect(()=>{e.onRenderStart&&e.onRenderStart()}),m.useEffect(()=>{!n.current&&e.onRenderComplete&&(e.onRenderComplete(),n.current=!0)},[e.onRenderComplete]),m.useEffect(()=>()=>{n.current=!1},[])};function Br(e){const n=m.useCallback(x=>{e.onDragStart?.(x)},[e.onDragStart]),r=m.useCallback(x=>{e.onDragOver?.(x)},[e.onDragOver]),s=m.useCallback(x=>{e.onDragEnd?.(x)},[e.onDragEnd]),o=m.useCallback(x=>{e.onKeyPress?.(x)},[e.onKeyPress]),a=m.useCallback(x=>{e.onKeyDown?.(x)},[e.onKeyDown]),l=m.useCallback(x=>{e.onKeyUp?.(x)},[e.onKeyUp]),c=m.useCallback(x=>{e.onClick?.(x)},[e.onClick]),i=m.useCallback(x=>{e.onDoubleClick?.(x)},[e.onDoubleClick]),d=m.useCallback(x=>{e.onPointerDown?.(x)},[e.onPointerDown]),f=m.useCallback(x=>{e.onPointerMove?.(x)},[e.onPointerMove]),g=m.useCallback(x=>{e.onPointerUp?.(x)},[e.onPointerUp]),p=m.useCallback(x=>{e.onPointerLeave?.(x)},[e.onPointerLeave]),y=m.useCallback(x=>{e.onPointerEnter?.(x)},[e.onPointerEnter]),u=m.useCallback(()=>{e.onFocusChange?.(!0)},[e.onFocusChange]),S=m.useCallback(()=>{e.onFocusChange?.(!1)},[e.onFocusChange]);return{handleDragStart:n,handleDragOver:r,handleDragEnd:s,handleKeyPress:o,handleKeyDown:a,handleKeyUp:l,handleClick:c,handleDoubleClick:i,handlePointerDown:d,handlePointerMove:f,handlePointerUp:g,handlePointerLeave:p,handlePointerEnter:y,handleFocus:u,handleBlur:S}}const qr=e=>({sensors:te.useSensors(te.useSensor(te.PointerSensor,{activationConstraint:{distance:e.distance??5}})),onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,collisionDetection:e.collisionDetection}),Hr=e=>{const{validateField:n,editSettings:r}=e,s=m.useCallback((a,l,c)=>{if(r?.requiredFields?.includes(a)&&(l==null||l===""))return{isValid:!1,error:"Field is required"};const i=r?.validationRules?.[a];if(i){const d=i(l,c);if(d!==!0&&d!=="")return{isValid:!1,error:typeof d=="string"?d:`Invalid value for ${a}`}}if(n){const d=n({fieldName:a,value:l,data:c});if(d!==!0&&d!=="")return{isValid:!1,error:typeof d=="string"?d:`Validation failed for ${a}`}}return{isValid:!0}},[n,r]),o=m.useCallback((a,l)=>{const c={};let i=!0;return l.forEach(d=>{const f=s(d,a[d],a);c[d]=f,f.isValid||(i=!1)}),c.__form={isValid:i},c},[s]);return{validate:s,validateForm:o}};function Ht(e={}){const[n,r]=m.useState(!1),[s,o]=m.useState(e.initialMode||"view"),[a,l]=m.useState(e.initialData||{}),[c,i]=m.useState({}),d=m.useCallback((p,y,u)=>{o(p),y!==void 0?l(y):e.defaultData&&l(e.defaultData),u!==void 0&&i(u),r(!0)},[e.defaultData]),f=m.useCallback(()=>{r(!1)},[]),g=m.useCallback(()=>{r(p=>!p)},[]);return{isOpen:n,mode:s,data:a,meta:c,open:d,close:f,toggle:g,setData:l,setMode:o}}const Wr=(e,n="id")=>{const r=m.useMemo(()=>{const k=new Map;return e.forEach(E=>{const R=E[n];R!==void 0&&k.set(R,E)}),k},[e,n]),[s,o]=m.useState({data:e,history:{past:[],future:[]}}),a=m.useRef(new Set),l=m.useRef(e);l.current!==e&&(l.current=e,o({data:e,history:{past:[],future:[]}}),a.current.clear());const c=m.useCallback(k=>{o(E=>({...E,data:typeof k=="function"?k(E.data):k}))},[]),i=m.useCallback((k,E,R)=>{o(h=>{const C=h.data[k];if(!C)return h;const j=C[E];if(j===R)return h;const F=C[n];F!==void 0&&a.current.add(F);const O={type:"EDIT_CELL",payload:{rowIndex:k,rowId:F,columnId:E,oldValue:j,newValue:R},timestamp:Date.now()},L=[...h.data];return L[k]={...C,[E]:R},{data:L,history:{past:[...h.history.past,O],future:[]}}})},[n]),d=m.useCallback((k,E=0)=>{o(R=>{let h={...k};if(h[n]===void 0){const O=`_temp_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;h[n]=O}const C=h[n];C!==void 0&&a.current.add(C);const j={type:"ADD_ROW",payload:{rowIndex:E,rowId:C,row:h},timestamp:Date.now()},F=[...R.data];return F.splice(E,0,h),{data:F,history:{past:[...R.history.past,j],future:[]}}})},[n]),f=m.useCallback(k=>{o(E=>{const R=[...k].sort((j,F)=>F-j),h=[...E.history.past],C=[...E.data];return R.forEach(j=>{const F=E.data[j];if(!F)return;const O=F[n];O!==void 0&&a.current.add(O),h.push({type:"DELETE_ROW",payload:{rowIndex:j,rowId:O,row:F},timestamp:Date.now()}),C.splice(j,1)}),{data:C,history:{past:h,future:[]}}})},[n]),g=m.useCallback(()=>{o(k=>{if(k.history.past.length===0)return k;const E=k.history.past[k.history.past.length-1],R=k.history.past.slice(0,-1),h=[...k.data];if(E.type==="EDIT_CELL"){const{rowId:C,columnId:j,oldValue:F}=E.payload,O=h.findIndex(L=>L[n]===C);O!==-1&&j&&(h[O]={...h[O],[j]:F})}else if(E.type==="ADD_ROW"){const{rowId:C}=E.payload,j=h.findIndex(F=>F[n]===C);j!==-1&&h.splice(j,1)}else if(E.type==="DELETE_ROW"){const{rowIndex:C,row:j}=E.payload;j&&C!==void 0&&h.splice(C,0,j)}return{data:h,history:{past:R,future:[E,...k.history.future]}}})},[n]),p=m.useCallback(()=>{o(k=>{if(k.history.future.length===0)return k;const E=k.history.future[0],R=k.history.future.slice(1),h=[...k.data];if(E.type==="EDIT_CELL"){const{rowId:C,columnId:j,newValue:F}=E.payload,O=h.findIndex(L=>L[n]===C);O!==-1&&j&&(h[O]={...h[O],[j]:F})}else if(E.type==="ADD_ROW"){const{rowIndex:C,row:j}=E.payload;j&&C!==void 0&&h.splice(C,0,j)}else if(E.type==="DELETE_ROW"){const{rowId:C}=E.payload,j=h.findIndex(F=>F[n]===C);j!==-1&&h.splice(j,1)}return{data:h,history:{past:[...k.history.past,E],future:R}}})},[n]),{data:y}=s,u=s.history.past.length>0,S=s.history.future.length>0,x=m.useMemo(()=>{if(y===e)return{added:0,edited:0,deleted:0};const k=new Map;y.forEach(C=>{const j=C[n];j!==void 0&&k.set(j,C)});let E=0,R=0,h=0;return y.forEach(C=>{const j=C[n];if(j===void 0||!r.has(j))E++;else{const F=r.get(j);if(C===F)return;Object.keys(C).some(L=>L.startsWith("_")?!1:C[L]!==F[L])&&R++}}),r.forEach((C,j)=>{k.has(j)||h++}),{added:E,edited:R,deleted:h}},[y,e,r,n]),P=m.useMemo(()=>{if(y===e)return{addedRecords:[],changedRecords:[],deletedRecords:[]};const k=new Map;y.forEach(C=>{const j=C[n];j!==void 0&&k.set(j,C)});const E=[],R=[],h=[];return y.forEach(C=>{const j=C[n];if(j===void 0||!r.has(j))E.push(C);else{const F=r.get(j);if(C===F)return;Object.keys(C).some(L=>L.startsWith("_")?!1:C[L]!==F[L])&&R.push(C)}}),r.forEach((C,j)=>{k.has(j)||h.push(C)}),{addedRecords:E,changedRecords:R,deletedRecords:h}},[y,e,r,n]),A=m.useCallback(()=>{a.current.clear(),o({data:e,history:{past:[],future:[]}})},[e]);return{data:y,setData:c,performEdit:i,addRow:d,deleteRows:f,undo:g,redo:p,canUndo:u,canRedo:S,changes:x,batchChanges:P,resetData:A}},lt=(e,n="14px Inter, sans-serif")=>{if(typeof document>"u")return 0;const s=document.createElement("canvas").getContext("2d");return s?(s.font=n,s.measureText(e).width):0},Ur=e=>({autoFitColumn:m.useCallback(r=>{const s=e.getColumn(r);if(!s)return;const a=e.getRowModel().rows.slice(0,50),l="14px Inter, sans-serif",c="600 14px Inter, sans-serif",i=s.columnDef.meta;let d=0;const f=typeof s.columnDef.header=="string"?s.columnDef.header:r;d=Math.max(d,lt(f,c)),a.forEach(p=>{let y=p.getValue(r);i?.columnType==="number"?y=T.formatNumber(y,i.numberOptions):i?.columnType==="date"?y=T.formatDate(y,i.dateOptions):i?.columnType==="datetime"&&(y=T.formatDate(y,i.dateTimeOptions));const u=y!=null?String(y):"";if(i?.columnType==="longtext"&&i?.longTextOptions?.previewLength){const S=u.length>i.longTextOptions.previewLength?u.substring(0,i.longTextOptions.previewLength)+"...":u;d=Math.max(d,lt(S,l))}else d=Math.max(d,lt(u,l))});const g=Math.ceil(d+100);e.setColumnSizing(p=>({...p,[r]:g}))},[e])}),Kr=e=>e?.kind==="group",Yr=(e,n,r)=>{if(typeof r=="string"){if(!r)return!0;const a=r.toLowerCase();return e.getAllCells().some(l=>{const c=l.getValue();return String(c??"").toLowerCase().includes(a)})}const{quickSearch:s,advanced:o}=r;if(s){const a=s.toLowerCase();if(!e.getAllCells().some(c=>{const i=c.getValue();return String(i??"").toLowerCase().includes(a)}))return!1}return!(o&&!ke.checkGroup(o,a=>e.getValue(a)))},Qr=(e,n,r)=>{try{if(Array.isArray(r)){if(r.length===0)return!0;const l=e.getValue(n);return r.includes(l)}if(typeof r=="object"&&r!==null){if(Kr(r))return ke.checkGroup(r,l=>e.getValue(l||n));if("operator"in r){const l={kind:"rule",id:n,field:n,operator:r.operator,value:r.value};return ke.checkRule(l,c=>e.getValue(c))}}const s=e.getValue(n),o=String(s??"").toLowerCase(),a=String(r??"").toLowerCase();return o.includes(a)}catch(s){return console.error(`Error in smartColumnFilterFn for column ${n}:`,s),!0}},gt=({value:e,className:n,title:r,children:s,fallback:o=t.jsx("span",{className:"text-muted-foreground text-xs italic",children:"—"}),align:a="left"})=>e==null?t.jsx(t.Fragment,{children:o}):t.jsx("div",{className:T.cn("text-sm",a==="center"&&"text-center",a==="right"&&"text-right",n),title:r||(typeof e=="string"?e:String(e)),children:s||String(e)}),Me=({value:e,columnType:n,meta:r,className:s,align:o,table:a})=>{let l=e;if(e==null)return t.jsx(gt,{value:e,align:o,className:s});switch(n){case"number":l=T.formatNumber(e,{...r?.numberOptions});break;case"date":case"datetime":l=T.formatDate(e,n==="datetime"?r?.dateTimeOptions:r?.dateOptions);break;case"longtext":const i=String(e);l=t.jsxs("div",{className:"flex items-start gap-1 group/longtext w-full overflow-hidden py-1.5",children:[t.jsxs(U.Tooltip,{children:[t.jsx(U.TooltipTrigger,{asChild:!0,children:t.jsx("div",{className:"flex-1 min-w-0 cursor-help",children:t.jsx("span",{className:"block !whitespace-normal break-words text-xs leading-normal",style:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:i})})}),t.jsx(U.TooltipContent,{className:"max-w-[300px] p-3 break-words text-xs leading-relaxed",children:i})]}),i.length>20&&t.jsxs(Ce.Popover,{children:[t.jsx(Ce.PopoverTrigger,{asChild:!0,children:t.jsx(U.Button,{variant:"ghost",size:"icon",className:"h-5 w-5 opacity-0 group-hover/longtext:opacity-100 transition-opacity shrink-0",onClick:d=>d.stopPropagation(),children:t.jsx(Or,{className:"h-3 w-3 text-muted-foreground hover:text-primary"})})}),t.jsx(Ce.PopoverContent,{className:"w-[400px] p-4 shadow-xl border-border bg-popover",align:"end",onClick:d=>d.stopPropagation(),children:t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex items-center justify-between border-b pb-2",children:[t.jsx("h4",{className:"text-xs font-bold uppercase tracking-widest text-muted-foreground",children:"Detailed Description"}),t.jsxs(U.Button,{variant:"outline",size:"sm",className:"h-7 px-2 gap-1.5 text-[10px] font-bold",onClick:d=>{d.stopPropagation(),navigator.clipboard.writeText(i)},children:[t.jsx(Pr,{className:"h-3 w-3"}),"Copy"]})]}),t.jsx("div",{className:"text-sm leading-relaxed text-foreground max-h-[300px] overflow-auto pr-2 custom-scrollbar whitespace-pre-wrap",children:i})]})})]})]});break}if(a?.options.meta?.enableSearchHighlighting){const i=a.getState().globalFilter,d=typeof i=="string"?i:i?.quickSearch;d&&(l=t.jsx(ke.HighlightText,{text:l,highlight:d}))}const c=o||(n==="number"?"right":"left");return t.jsx(gt,{value:e,align:c,title:n==="longtext"?"":void 0,className:T.cn(n==="number"&&"font-mono tabular-nums",n==="number"&&e<0&&"text-rose-600 dark:text-rose-400","px-3 min-h-full flex",n==="longtext"?"items-start py-2 overflow-hidden":r?.wrapText?"items-start":"items-center",c==="right"&&"justify-end",c==="center"&&"justify-center",s),children:l})},Te=({value:e,onChange:n,onBlur:r,columnType:s,autoFocus:o=!0,isFocused:a,className:l,placeholder:c,meta:i})=>{const d=m.useRef(null);m.useEffect(()=>{a&&d.current&&d.current.focus()},[a]);const[f,g]=m.useState(()=>e==null?"":s==="number"?new Intl.NumberFormat("en-US",{minimumFractionDigits:0,maximumFractionDigits:20}).format(e):String(e)),p=S=>{let x=S.target.value;if(g(x),s==="number")if(x==="")n(null);else{const P=x.replace(/,/g,""),A=parseFloat(P);isNaN(A)||n(A)}else n(x)},y=()=>{if(s==="number"&&f!==""){const S=f.replace(/,/g,""),x=parseFloat(S);isNaN(x)||g(new Intl.NumberFormat("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}).format(x))}r?.()},u=i?.align||(s==="number"?"right":"left");return t.jsx(Re.Input,{ref:d,type:s==="date"?"date":"text",value:f,onChange:p,onBlur:y,autoFocus:o,className:T.cn("h-7 px-2 w-full border-0 shadow-none bg-transparent focus:ring-0 focus-visible:ring-0 focus-visible:ring-offset-0",u==="right"&&"text-right",u==="center"&&"text-center",s==="number"&&"font-mono tabular-nums",l),placeholder:c,onClick:S=>S.stopPropagation()})},zt={text:[{label:"Contains",value:"contains"},{label:"Does not contain",value:"doesNotContain"},{label:"Equals",value:"equals"},{label:"Does not equal",value:"notEquals"},{label:"Starts with",value:"startsWith"},{label:"Ends with",value:"endsWith"}],number:[{label:"Equals",value:"equals"},{label:"Greater than",value:"gt"},{label:"Greater or equal",value:"gte"},{label:"Less than",value:"lt"},{label:"Less or equal",value:"lte"},{label:"Between",value:"between"}],date:[{label:"Equals",value:"equals"},{label:"After",value:"gt"},{label:"On or after",value:"gte"},{label:"Before",value:"lt"},{label:"On or before",value:"lte"},{label:"Between",value:"between"}]},Xr=({columnType:e,value:n,valueTo:r,operator:s,onChange:o})=>{const l=zt[e==="datetime"||e==="date"?"date":e==="number"?"number":"text"]||zt.text,c=e==="number"?"number":e==="date"||e==="datetime"?"date":"text";return t.jsxs("div",{className:"p-3 space-y-3",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-xs font-medium text-muted-foreground ml-1",children:"Condition"}),t.jsxs(B.Select,{value:s,onValueChange:i=>o(n,i,r),children:[t.jsx(B.SelectTrigger,{className:"h-8",children:t.jsx(B.SelectValue,{})}),t.jsx(B.SelectContent,{children:l.map(i=>t.jsx(B.SelectItem,{value:i.value,children:i.label},i.value))})]})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("label",{className:"text-xs font-medium text-muted-foreground ml-1",children:"Value"}),t.jsx(Re.Input,{type:c,value:n??"",onChange:i=>o(i.target.value,s,r),className:"h-8 antialiased",placeholder:"Enter value...",onClick:i=>i.stopPropagation()}),s==="between"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-2 px-1",children:[t.jsx("div",{className:"h-[1px] flex-1 bg-border"}),t.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-bold",children:"and"}),t.jsx("div",{className:"h-[1px] flex-1 bg-border"})]}),t.jsx(Re.Input,{type:c,value:r??"",onChange:i=>o(n,s,i.target.value),className:"h-8 antialiased",placeholder:"To value...",onClick:i=>i.stopPropagation()})]})]})]})};function Wt(e){const n=v.useRef({value:e,previous:e});return v.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}var Je="Switch",[Zr]=N.createContextScope(Je),[Jr,es]=Zr(Je),Ut=v.forwardRef((e,n)=>{const{__scopeSwitch:r,name:s,checked:o,defaultChecked:a,required:l,disabled:c,value:i="on",onCheckedChange:d,form:f,...g}=e,[p,y]=v.useState(null),u=N.useComposedRefs(n,k=>y(k)),S=v.useRef(!1),x=p?f||!!p.closest("form"):!0,[P,A]=N.useControllableState({prop:o,defaultProp:a??!1,onChange:d,caller:Je});return t.jsxs(Jr,{scope:r,checked:P,disabled:c,children:[t.jsx(N.Primitive.button,{type:"button",role:"switch","aria-checked":P,"aria-required":l,"data-state":Xt(P),"data-disabled":c?"":void 0,disabled:c,value:i,...g,ref:u,onClick:N.composeEventHandlers(e.onClick,k=>{A(E=>!E),x&&(S.current=k.isPropagationStopped(),S.current||k.stopPropagation())})}),x&&t.jsx(Qt,{control:p,bubbles:!S.current,name:s,value:i,checked:P,required:l,disabled:c,form:f,style:{transform:"translateX(-100%)"}})]})});Ut.displayName=Je;var Kt="SwitchThumb",Yt=v.forwardRef((e,n)=>{const{__scopeSwitch:r,...s}=e,o=es(Kt,r);return t.jsx(N.Primitive.span,{"data-state":Xt(o.checked),"data-disabled":o.disabled?"":void 0,...s,ref:n})});Yt.displayName=Kt;var ts="SwitchBubbleInput",Qt=v.forwardRef(({__scopeSwitch:e,control:n,checked:r,bubbles:s=!0,...o},a)=>{const l=v.useRef(null),c=N.useComposedRefs(l,a),i=Wt(r),d=N.useSize(n);return v.useEffect(()=>{const f=l.current;if(!f)return;const g=window.HTMLInputElement.prototype,y=Object.getOwnPropertyDescriptor(g,"checked").set;if(i!==r&&y){const u=new Event("click",{bubbles:s});y.call(f,r),f.dispatchEvent(u)}},[i,r,s]),t.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:c,style:{...o.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Qt.displayName=ts;function Xt(e){return e?"checked":"unchecked"}var Zt=Ut,ns=Yt;const et=v.forwardRef(({className:e,...n},r)=>t.jsx(Zt,{className:T.cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...n,ref:r,children:t.jsx(ns,{className:T.cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));et.displayName=Zt.displayName;const Jt=({value:e,trueLabel:n="Yes",falseLabel:r="No",nullLabel:s="N/A",showIcon:o=!0,showLabel:a=!1,variant:l="checkbox",className:c,disabled:i=!0,onChange:d})=>{const f=e===!0,g=e===!1,p=e==null;return l==="switch"?t.jsxs("div",{className:T.cn("flex items-center gap-2",c),children:[t.jsx(et,{checked:f,onCheckedChange:d,disabled:i,className:"scale-90"}),a&&t.jsx("span",{className:"text-xs font-medium",children:f?n:g?r:s})]}):t.jsxs("div",{className:T.cn("inline-flex items-center gap-1.5 px-2 py-0.5 rounded-md transition-colors text-xs font-medium",f&&"bg-emerald-50/50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-400",g&&"bg-rose-50/50 text-rose-700 dark:bg-rose-900/20 dark:text-rose-400",p&&"bg-muted/60 text-muted-foreground",c),children:[o&&t.jsxs(t.Fragment,{children:[f&&t.jsx(N.Check,{className:"w-3.5 h-3.5"}),g&&t.jsx(U.X,{className:"w-3.5 h-3.5"}),p&&t.jsx(ke.Minus,{className:"w-3.5 h-3.5"})]}),a&&t.jsx("span",{className:"text-xs font-medium",children:f?n:g?r:s})]})},en=({value:e,onChange:n,trueLabel:r="Yes",falseLabel:s="No",variant:o="checkbox",disabled:a=!1,className:l})=>{const c=e===!0;return o==="switch"?t.jsxs("div",{className:T.cn("flex items-center gap-2 p-2",l),children:[t.jsx(et,{id:"boolean-switch",checked:c,onCheckedChange:i=>{n(i)},disabled:a}),t.jsx(De.Label,{htmlFor:"boolean-switch",className:"text-sm font-medium cursor-pointer",children:c?r:s})]}):t.jsxs("div",{className:T.cn("flex items-center gap-2 p-2",l),children:[t.jsx(Fe.Checkbox,{id:"boolean-editor",checked:c,onCheckedChange:i=>{n(i===!0)},disabled:a,className:"data-[state=checked]:bg-primary data-[state=checked]:border-primary"}),t.jsx(De.Label,{htmlFor:"boolean-editor",className:"text-sm font-medium cursor-pointer",children:c?r:s})]})},tn=({value:e,onChange:n,trueLabel:r="Yes",falseLabel:s="No",nullLabel:o="N/A",allLabel:a="All",className:l})=>t.jsxs(B.Select,{value:e,onValueChange:n,children:[t.jsx(B.SelectTrigger,{className:T.cn("w-full h-8",l),children:t.jsx(B.SelectValue,{placeholder:"Filter..."})}),t.jsxs(B.SelectContent,{children:[t.jsx(B.SelectItem,{value:"all",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(ke.Minus,{className:"w-4 h-4 text-muted-foreground"}),t.jsx("span",{children:a})]})}),t.jsx(B.SelectItem,{value:"true",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(N.Check,{className:"w-4 h-4 text-emerald-600"}),t.jsx("span",{children:r})]})}),t.jsx(B.SelectItem,{value:"false",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(U.X,{className:"w-4 h-4 text-rose-600"}),t.jsx("span",{children:s})]})}),t.jsx(B.SelectItem,{value:"null",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(ke.Minus,{className:"w-4 h-4 text-muted-foreground"}),t.jsx("span",{children:o})]})})]})]});var jt="Radio",[rs,nn]=N.createContextScope(jt),[ss,os]=rs(jt),rn=v.forwardRef((e,n)=>{const{__scopeRadio:r,name:s,checked:o=!1,required:a,disabled:l,value:c="on",onCheck:i,form:d,...f}=e,[g,p]=v.useState(null),y=N.useComposedRefs(n,x=>p(x)),u=v.useRef(!1),S=g?d||!!g.closest("form"):!0;return t.jsxs(ss,{scope:r,checked:o,disabled:l,children:[t.jsx(N.Primitive.button,{type:"button",role:"radio","aria-checked":o,"data-state":ln(o),"data-disabled":l?"":void 0,disabled:l,value:c,...f,ref:y,onClick:N.composeEventHandlers(e.onClick,x=>{o||i?.(),S&&(u.current=x.isPropagationStopped(),u.current||x.stopPropagation())})}),S&&t.jsx(an,{control:g,bubbles:!u.current,name:s,value:c,checked:o,required:a,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});rn.displayName=jt;var sn="RadioIndicator",on=v.forwardRef((e,n)=>{const{__scopeRadio:r,forceMount:s,...o}=e,a=os(sn,r);return t.jsx(N.Presence,{present:s||a.checked,children:t.jsx(N.Primitive.span,{"data-state":ln(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:n})})});on.displayName=sn;var as="RadioBubbleInput",an=v.forwardRef(({__scopeRadio:e,control:n,checked:r,bubbles:s=!0,...o},a)=>{const l=v.useRef(null),c=N.useComposedRefs(l,a),i=Wt(r),d=N.useSize(n);return v.useEffect(()=>{const f=l.current;if(!f)return;const g=window.HTMLInputElement.prototype,y=Object.getOwnPropertyDescriptor(g,"checked").set;if(i!==r&&y){const u=new Event("click",{bubbles:s});y.call(f,r),f.dispatchEvent(u)}},[i,r,s]),t.jsx(N.Primitive.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:c,style:{...o.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});an.displayName=as;function ln(e){return e?"checked":"unchecked"}var is=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],tt="RadioGroup",[ls]=N.createContextScope(tt,[N.createRovingFocusGroupScope,nn]),cn=N.createRovingFocusGroupScope(),dn=nn(),[cs,ds]=ls(tt),un=v.forwardRef((e,n)=>{const{__scopeRadioGroup:r,name:s,defaultValue:o,value:a,required:l=!1,disabled:c=!1,orientation:i,dir:d,loop:f=!0,onValueChange:g,...p}=e,y=cn(r),u=N.useDirection(d),[S,x]=N.useControllableState({prop:a,defaultProp:o??null,onChange:g,caller:tt});return t.jsx(cs,{scope:r,name:s,required:l,disabled:c,value:S,onValueChange:x,children:t.jsx(N.Root,{asChild:!0,...y,orientation:i,dir:u,loop:f,children:t.jsx(N.Primitive.div,{role:"radiogroup","aria-required":l,"aria-orientation":i,"data-disabled":c?"":void 0,dir:u,...p,ref:n})})})});un.displayName=tt;var mn="RadioGroupItem",gn=v.forwardRef((e,n)=>{const{__scopeRadioGroup:r,disabled:s,...o}=e,a=ds(mn,r),l=a.disabled||s,c=cn(r),i=dn(r),d=v.useRef(null),f=N.useComposedRefs(n,d),g=a.value===o.value,p=v.useRef(!1);return v.useEffect(()=>{const y=S=>{is.includes(S.key)&&(p.current=!0)},u=()=>p.current=!1;return document.addEventListener("keydown",y),document.addEventListener("keyup",u),()=>{document.removeEventListener("keydown",y),document.removeEventListener("keyup",u)}},[]),t.jsx(N.Item,{asChild:!0,...c,focusable:!l,active:g,children:t.jsx(rn,{disabled:l,required:a.required,checked:g,...i,...o,name:a.name,ref:f,onCheck:()=>a.onValueChange(o.value),onKeyDown:N.composeEventHandlers(y=>{y.key==="Enter"&&y.preventDefault()}),onFocus:N.composeEventHandlers(o.onFocus,()=>{p.current&&d.current?.click()})})})});gn.displayName=mn;var us="RadioGroupIndicator",fn=v.forwardRef((e,n)=>{const{__scopeRadioGroup:r,...s}=e,o=dn(r);return t.jsx(on,{...o,...s,ref:n})});fn.displayName=us;var hn=un,pn=gn,ms=fn;const nt=v.forwardRef(({className:e,...n},r)=>t.jsx(hn,{className:T.cn("grid gap-2",e),...n,ref:r}));nt.displayName=hn.displayName;const qe=v.forwardRef(({className:e,...n},r)=>t.jsx(pn,{ref:r,className:T.cn("aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary",e),...n,children:t.jsx(ms,{className:"flex items-center justify-center",children:t.jsx(N.Circle,{className:"h-1.5 w-1.5 fill-white text-white"})})}));qe.displayName=pn.displayName;var Ot=1,gs=.9,fs=.8,hs=.17,ct=.1,dt=.999,ps=.9999,xs=.99,bs=/[\\\/_+.#"@\[\(\{&]/,vs=/[\\\/_+.#"@\[\(\{&]/g,ws=/[\s-]/,xn=/[\s-]/g;function ft(e,n,r,s,o,a,l){if(a===n.length)return o===e.length?Ot:xs;var c=`${o},${a}`;if(l[c]!==void 0)return l[c];for(var i=s.charAt(a),d=r.indexOf(i,o),f=0,g,p,y,u;d>=0;)g=ft(e,n,r,s,d+1,a+1,l),g>f&&(d===o?g*=Ot:bs.test(e.charAt(d-1))?(g*=fs,y=e.slice(o,d-1).match(vs),y&&o>0&&(g*=Math.pow(dt,y.length))):ws.test(e.charAt(d-1))?(g*=gs,u=e.slice(o,d-1).match(xn),u&&o>0&&(g*=Math.pow(dt,u.length))):(g*=hs,o>0&&(g*=Math.pow(dt,d-o))),e.charAt(d)!==n.charAt(a)&&(g*=ps)),(g<ct&&r.charAt(d-1)===s.charAt(a+1)||s.charAt(a+1)===s.charAt(a)&&r.charAt(d-1)!==s.charAt(a))&&(p=ft(e,n,r,s,d+1,a+2,l),p*ct>g&&(g=p*ct)),g>f&&(f=g),d=r.indexOf(i,d+1);return l[c]=f,f}function _t(e){return e.toLowerCase().replace(xn," ")}function ys(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,ft(e,n,_t(e),_t(n),0,0,{})}function Cs(e){const n=Ss(e),r=v.forwardRef((s,o)=>{const{children:a,...l}=s,c=v.Children.toArray(a),i=c.find(Ns);if(i){const d=i.props.children,f=c.map(g=>g===i?v.Children.count(d)>1?v.Children.only(null):v.isValidElement(d)?d.props.children:null:g);return t.jsx(n,{...l,ref:o,children:v.isValidElement(d)?v.cloneElement(d,void 0,f):null})}return t.jsx(n,{...l,ref:o,children:a})});return r.displayName=`${e}.Slot`,r}function Ss(e){const n=v.forwardRef((r,s)=>{const{children:o,...a}=r;if(v.isValidElement(o)){const l=ks(o),c=Rs(a,o.props);return o.type!==v.Fragment&&(c.ref=s?N.composeRefs(s,l):l),v.cloneElement(o,c)}return v.Children.count(o)>1?v.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var js=Symbol("radix.slottable");function Ns(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===js}function Rs(e,n){const r={...n};for(const s in n){const o=e[s],a=n[s];/^on[A-Z]/.test(s)?o&&a?r[s]=(...c)=>{const i=a(...c);return o(...c),i}:o&&(r[s]=o):s==="style"?r[s]={...o,...a}:s==="className"&&(r[s]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}function ks(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var rt="Dialog",[bn]=N.createContextScope(rt),[Es,ve]=bn(rt),vn=e=>{const{__scopeDialog:n,children:r,open:s,defaultOpen:o,onOpenChange:a,modal:l=!0}=e,c=v.useRef(null),i=v.useRef(null),[d,f]=N.useControllableState({prop:s,defaultProp:o??!1,onChange:a,caller:rt});return t.jsx(Es,{scope:n,triggerRef:c,contentRef:i,contentId:N.useId(),titleId:N.useId(),descriptionId:N.useId(),open:d,onOpenChange:f,onOpenToggle:v.useCallback(()=>f(g=>!g),[f]),modal:l,children:r})};vn.displayName=rt;var wn="DialogTrigger",Ds=v.forwardRef((e,n)=>{const{__scopeDialog:r,...s}=e,o=ve(wn,r),a=N.useComposedRefs(n,o.triggerRef);return t.jsx(N.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":kt(o.open),...s,ref:a,onClick:N.composeEventHandlers(e.onClick,o.onOpenToggle)})});Ds.displayName=wn;var Nt="DialogPortal",[Ps,yn]=bn(Nt,{forceMount:void 0}),Cn=e=>{const{__scopeDialog:n,forceMount:r,children:s,container:o}=e,a=ve(Nt,n);return t.jsx(Ps,{scope:n,forceMount:r,children:v.Children.map(s,l=>t.jsx(N.Presence,{present:r||a.open,children:t.jsx(N.Portal$1,{asChild:!0,container:o,children:l})}))})};Cn.displayName=Nt;var Ze="DialogOverlay",Sn=v.forwardRef((e,n)=>{const r=yn(Ze,e.__scopeDialog),{forceMount:s=r.forceMount,...o}=e,a=ve(Ze,e.__scopeDialog);return a.modal?t.jsx(N.Presence,{present:s||a.open,children:t.jsx(Fs,{...o,ref:n})}):null});Sn.displayName=Ze;var Is=Cs("DialogOverlay.RemoveScroll"),Fs=v.forwardRef((e,n)=>{const{__scopeDialog:r,...s}=e,o=ve(Ze,r);return t.jsx(N.ReactRemoveScroll,{as:Is,allowPinchZoom:!0,shards:[o.contentRef],children:t.jsx(N.Primitive.div,{"data-state":kt(o.open),...s,ref:n,style:{pointerEvents:"auto",...s.style}})})}),Pe="DialogContent",jn=v.forwardRef((e,n)=>{const r=yn(Pe,e.__scopeDialog),{forceMount:s=r.forceMount,...o}=e,a=ve(Pe,e.__scopeDialog);return t.jsx(N.Presence,{present:s||a.open,children:a.modal?t.jsx(Ms,{...o,ref:n}):t.jsx(Ts,{...o,ref:n})})});jn.displayName=Pe;var Ms=v.forwardRef((e,n)=>{const r=ve(Pe,e.__scopeDialog),s=v.useRef(null),o=N.useComposedRefs(n,r.contentRef,s);return v.useEffect(()=>{const a=s.current;if(a)return N.hideOthers(a)},[]),t.jsx(Nn,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:N.composeEventHandlers(e.onCloseAutoFocus,a=>{a.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:N.composeEventHandlers(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0;(l.button===2||c)&&a.preventDefault()}),onFocusOutside:N.composeEventHandlers(e.onFocusOutside,a=>a.preventDefault())})}),Ts=v.forwardRef((e,n)=>{const r=ve(Pe,e.__scopeDialog),s=v.useRef(!1),o=v.useRef(!1);return t.jsx(Nn,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(s.current||r.triggerRef.current?.focus(),a.preventDefault()),s.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(s.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const l=a.target;r.triggerRef.current?.contains(l)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),Nn=v.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:s,onOpenAutoFocus:o,onCloseAutoFocus:a,...l}=e,c=ve(Pe,r),i=v.useRef(null),d=N.useComposedRefs(n,i);return N.useFocusGuards(),t.jsxs(t.Fragment,{children:[t.jsx(N.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:o,onUnmountAutoFocus:a,children:t.jsx(N.DismissableLayer,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":kt(c.open),...l,ref:d,onDismiss:()=>c.onOpenChange(!1)})}),t.jsxs(t.Fragment,{children:[t.jsx(_s,{titleId:c.titleId}),t.jsx(Vs,{contentRef:i,descriptionId:c.descriptionId})]})]})}),Rt="DialogTitle",As=v.forwardRef((e,n)=>{const{__scopeDialog:r,...s}=e,o=ve(Rt,r);return t.jsx(N.Primitive.h2,{id:o.titleId,...s,ref:n})});As.displayName=Rt;var Rn="DialogDescription",zs=v.forwardRef((e,n)=>{const{__scopeDialog:r,...s}=e,o=ve(Rn,r);return t.jsx(N.Primitive.p,{id:o.descriptionId,...s,ref:n})});zs.displayName=Rn;var kn="DialogClose",Os=v.forwardRef((e,n)=>{const{__scopeDialog:r,...s}=e,o=ve(kn,r);return t.jsx(N.Primitive.button,{type:"button",...s,ref:n,onClick:N.composeEventHandlers(e.onClick,()=>o.onOpenChange(!1))})});Os.displayName=kn;function kt(e){return e?"open":"closed"}var En="DialogTitleWarning",[ra,Dn]=N.createContext2(En,{contentName:Pe,titleName:Rt,docsSlug:"dialog"}),_s=({titleId:e})=>{const n=Dn(En),r=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
|
-
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return v.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Ls="DialogDescriptionWarning",Vs=({contentRef:e,descriptionId:n})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Dn(Ls).contentName}}.`;return v.useEffect(()=>{const o=e.current?.getAttribute("aria-describedby");n&&o&&(document.getElementById(n)||console.warn(s))},[s,e,n]),null},$s=vn,Gs=Cn,Bs=Sn,qs=jn,Be='[cmdk-group=""]',ut='[cmdk-group-items=""]',Hs='[cmdk-group-heading=""]',Pn='[cmdk-item=""]',Lt=`${Pn}:not([aria-disabled="true"])`,ht="cmdk-item-select",Ae="data-value",Ws=(e,n,r)=>ys(e,n,r),In=v.createContext(void 0),He=()=>v.useContext(In),Fn=v.createContext(void 0),Et=()=>v.useContext(Fn),Mn=v.createContext(void 0),Tn=v.forwardRef((e,n)=>{let r=ze(()=>{var b,w;return{search:"",value:(w=(b=e.value)!=null?b:e.defaultValue)!=null?w:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),s=ze(()=>new Set),o=ze(()=>new Map),a=ze(()=>new Map),l=ze(()=>new Set),c=An(e),{label:i,children:d,value:f,onValueChange:g,filter:p,shouldFilter:y,loop:u,disablePointerSelection:S=!1,vimBindings:x=!0,...P}=e,A=N.useId(),k=N.useId(),E=N.useId(),R=v.useRef(null),h=ro();Ie(()=>{if(f!==void 0){let b=f.trim();r.current.value=b,C.emit()}},[f]),Ie(()=>{h(6,ae)},[]);let C=v.useMemo(()=>({subscribe:b=>(l.current.add(b),()=>l.current.delete(b)),snapshot:()=>r.current,setState:(b,w,M)=>{var D,z,$,K;if(!Object.is(r.current[b],w)){if(r.current[b]=w,b==="search")ne(),O(),h(1,L);else if(b==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let Y=document.getElementById(E);Y?Y.focus():(D=document.getElementById(A))==null||D.focus()}if(h(7,()=>{var Y;r.current.selectedItemId=(Y=W())==null?void 0:Y.id,C.emit()}),M||h(5,ae),((z=c.current)==null?void 0:z.value)!==void 0){let Y=w??"";(K=($=c.current).onValueChange)==null||K.call($,Y);return}}C.emit()}},emit:()=>{l.current.forEach(b=>b())}}),[]),j=v.useMemo(()=>({value:(b,w,M)=>{var D;w!==((D=a.current.get(b))==null?void 0:D.value)&&(a.current.set(b,{value:w,keywords:M}),r.current.filtered.items.set(b,F(w,M)),h(2,()=>{O(),C.emit()}))},item:(b,w)=>(s.current.add(b),w&&(o.current.has(w)?o.current.get(w).add(b):o.current.set(w,new Set([b]))),h(3,()=>{ne(),O(),r.current.value||L(),C.emit()}),()=>{a.current.delete(b),s.current.delete(b),r.current.filtered.items.delete(b);let M=W();h(4,()=>{ne(),M?.getAttribute("id")===b&&L(),C.emit()})}),group:b=>(o.current.has(b)||o.current.set(b,new Set),()=>{a.current.delete(b),o.current.delete(b)}),filter:()=>c.current.shouldFilter,label:i||e["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:A,inputId:E,labelId:k,listInnerRef:R}),[]);function F(b,w){var M,D;let z=(D=(M=c.current)==null?void 0:M.filter)!=null?D:Ws;return b?z(b,r.current.search,w):0}function O(){if(!r.current.search||c.current.shouldFilter===!1)return;let b=r.current.filtered.items,w=[];r.current.filtered.groups.forEach(D=>{let z=o.current.get(D),$=0;z.forEach(K=>{let Y=b.get(K);$=Math.max(Y,$)}),w.push([D,$])});let M=R.current;re().sort((D,z)=>{var $,K;let Y=D.getAttribute("id"),ee=z.getAttribute("id");return(($=b.get(ee))!=null?$:0)-((K=b.get(Y))!=null?K:0)}).forEach(D=>{let z=D.closest(ut);z?z.appendChild(D.parentElement===z?D:D.closest(`${ut} > *`)):M.appendChild(D.parentElement===M?D:D.closest(`${ut} > *`))}),w.sort((D,z)=>z[1]-D[1]).forEach(D=>{var z;let $=(z=R.current)==null?void 0:z.querySelector(`${Be}[${Ae}="${encodeURIComponent(D[0])}"]`);$?.parentElement.appendChild($)})}function L(){let b=re().find(M=>M.getAttribute("aria-disabled")!=="true"),w=b?.getAttribute(Ae);C.setState("value",w||void 0)}function ne(){var b,w,M,D;if(!r.current.search||c.current.shouldFilter===!1){r.current.filtered.count=s.current.size;return}r.current.filtered.groups=new Set;let z=0;for(let $ of s.current){let K=(w=(b=a.current.get($))==null?void 0:b.value)!=null?w:"",Y=(D=(M=a.current.get($))==null?void 0:M.keywords)!=null?D:[],ee=F(K,Y);r.current.filtered.items.set($,ee),ee>0&&z++}for(let[$,K]of o.current)for(let Y of K)if(r.current.filtered.items.get(Y)>0){r.current.filtered.groups.add($);break}r.current.filtered.count=z}function ae(){var b,w,M;let D=W();D&&(((b=D.parentElement)==null?void 0:b.firstChild)===D&&((M=(w=D.closest(Be))==null?void 0:w.querySelector(Hs))==null||M.scrollIntoView({block:"nearest"})),D.scrollIntoView({block:"nearest"}))}function W(){var b;return(b=R.current)==null?void 0:b.querySelector(`${Pn}[aria-selected="true"]`)}function re(){var b;return Array.from(((b=R.current)==null?void 0:b.querySelectorAll(Lt))||[])}function ie(b){let w=re()[b];w&&C.setState("value",w.getAttribute(Ae))}function oe(b){var w;let M=W(),D=re(),z=D.findIndex(K=>K===M),$=D[z+b];(w=c.current)!=null&&w.loop&&($=z+b<0?D[D.length-1]:z+b===D.length?D[0]:D[z+b]),$&&C.setState("value",$.getAttribute(Ae))}function le(b){let w=W(),M=w?.closest(Be),D;for(;M&&!D;)M=b>0?to(M,Be):no(M,Be),D=M?.querySelector(Lt);D?C.setState("value",D.getAttribute(Ae)):oe(b)}let J=()=>ie(re().length-1),I=b=>{b.preventDefault(),b.metaKey?J():b.altKey?le(1):oe(1)},ge=b=>{b.preventDefault(),b.metaKey?ie(0):b.altKey?le(-1):oe(-1)};return v.createElement(N.Primitive.div,{ref:n,tabIndex:-1,...P,"cmdk-root":"",onKeyDown:b=>{var w;(w=P.onKeyDown)==null||w.call(P,b);let M=b.nativeEvent.isComposing||b.keyCode===229;if(!(b.defaultPrevented||M))switch(b.key){case"n":case"j":{x&&b.ctrlKey&&I(b);break}case"ArrowDown":{I(b);break}case"p":case"k":{x&&b.ctrlKey&&ge(b);break}case"ArrowUp":{ge(b);break}case"Home":{b.preventDefault(),ie(0);break}case"End":{b.preventDefault(),J();break}case"Enter":{b.preventDefault();let D=W();if(D){let z=new Event(ht);D.dispatchEvent(z)}}}}},v.createElement("label",{"cmdk-label":"",htmlFor:j.inputId,id:j.labelId,style:oo},i),st(e,b=>v.createElement(Fn.Provider,{value:C},v.createElement(In.Provider,{value:j},b))))}),Us=v.forwardRef((e,n)=>{var r,s;let o=N.useId(),a=v.useRef(null),l=v.useContext(Mn),c=He(),i=An(e),d=(s=(r=i.current)==null?void 0:r.forceMount)!=null?s:l?.forceMount;Ie(()=>{if(!d)return c.item(o,l?.id)},[d]);let f=zn(o,a,[e.value,e.children,a],e.keywords),g=Et(),p=Ee(h=>h.value&&h.value===f.current),y=Ee(h=>d||c.filter()===!1?!0:h.search?h.filtered.items.get(o)>0:!0);v.useEffect(()=>{let h=a.current;if(!(!h||e.disabled))return h.addEventListener(ht,u),()=>h.removeEventListener(ht,u)},[y,e.onSelect,e.disabled]);function u(){var h,C;S(),(C=(h=i.current).onSelect)==null||C.call(h,f.current)}function S(){g.setState("value",f.current,!0)}if(!y)return null;let{disabled:x,value:P,onSelect:A,forceMount:k,keywords:E,...R}=e;return v.createElement(N.Primitive.div,{ref:N.composeRefs(a,n),...R,id:o,"cmdk-item":"",role:"option","aria-disabled":!!x,"aria-selected":!!p,"data-disabled":!!x,"data-selected":!!p,onPointerMove:x||c.getDisablePointerSelection()?void 0:S,onClick:x?void 0:u},e.children)}),Ks=v.forwardRef((e,n)=>{let{heading:r,children:s,forceMount:o,...a}=e,l=N.useId(),c=v.useRef(null),i=v.useRef(null),d=N.useId(),f=He(),g=Ee(y=>o||f.filter()===!1?!0:y.search?y.filtered.groups.has(l):!0);Ie(()=>f.group(l),[]),zn(l,c,[e.value,e.heading,i]);let p=v.useMemo(()=>({id:l,forceMount:o}),[o]);return v.createElement(N.Primitive.div,{ref:N.composeRefs(c,n),...a,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},r&&v.createElement("div",{ref:i,"cmdk-group-heading":"","aria-hidden":!0,id:d},r),st(e,y=>v.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?d:void 0},v.createElement(Mn.Provider,{value:p},y))))}),Ys=v.forwardRef((e,n)=>{let{alwaysRender:r,...s}=e,o=v.useRef(null),a=Ee(l=>!l.search);return!r&&!a?null:v.createElement(N.Primitive.div,{ref:N.composeRefs(o,n),...s,"cmdk-separator":"",role:"separator"})}),Qs=v.forwardRef((e,n)=>{let{onValueChange:r,...s}=e,o=e.value!=null,a=Et(),l=Ee(d=>d.search),c=Ee(d=>d.selectedItemId),i=He();return v.useEffect(()=>{e.value!=null&&a.setState("search",e.value)},[e.value]),v.createElement(N.Primitive.input,{ref:n,...s,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":i.listId,"aria-labelledby":i.labelId,"aria-activedescendant":c,id:i.inputId,type:"text",value:o?e.value:l,onChange:d=>{o||a.setState("search",d.target.value),r?.(d.target.value)}})}),Xs=v.forwardRef((e,n)=>{let{children:r,label:s="Suggestions",...o}=e,a=v.useRef(null),l=v.useRef(null),c=Ee(d=>d.selectedItemId),i=He();return v.useEffect(()=>{if(l.current&&a.current){let d=l.current,f=a.current,g,p=new ResizeObserver(()=>{g=requestAnimationFrame(()=>{let y=d.offsetHeight;f.style.setProperty("--cmdk-list-height",y.toFixed(1)+"px")})});return p.observe(d),()=>{cancelAnimationFrame(g),p.unobserve(d)}}},[]),v.createElement(N.Primitive.div,{ref:N.composeRefs(a,n),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":s,id:i.listId},st(e,d=>v.createElement("div",{ref:N.composeRefs(l,i.listInnerRef),"cmdk-list-sizer":""},d)))}),Zs=v.forwardRef((e,n)=>{let{open:r,onOpenChange:s,overlayClassName:o,contentClassName:a,container:l,...c}=e;return v.createElement($s,{open:r,onOpenChange:s},v.createElement(Gs,{container:l},v.createElement(Bs,{"cmdk-overlay":"",className:o}),v.createElement(qs,{"aria-label":e.label,"cmdk-dialog":"",className:a},v.createElement(Tn,{ref:n,...c}))))}),Js=v.forwardRef((e,n)=>Ee(r=>r.filtered.count===0)?v.createElement(N.Primitive.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),eo=v.forwardRef((e,n)=>{let{progress:r,children:s,label:o="Loading...",...a}=e;return v.createElement(N.Primitive.div,{ref:n,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},st(e,l=>v.createElement("div",{"aria-hidden":!0},l)))}),ue=Object.assign(Tn,{List:Xs,Item:Us,Input:Qs,Group:Ks,Separator:Ys,Dialog:Zs,Empty:Js,Loading:eo});function to(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function no(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function An(e){let n=v.useRef(e);return Ie(()=>{n.current=e}),n}var Ie=typeof window>"u"?v.useEffect:v.useLayoutEffect;function ze(e){let n=v.useRef();return n.current===void 0&&(n.current=e()),n}function Ee(e){let n=Et(),r=()=>e(n.snapshot());return v.useSyncExternalStore(n.subscribe,r,r)}function zn(e,n,r,s=[]){let o=v.useRef(),a=He();return Ie(()=>{var l;let c=(()=>{var d;for(let f of r){if(typeof f=="string")return f.trim();if(typeof f=="object"&&"current"in f)return f.current?(d=f.current.textContent)==null?void 0:d.trim():o.current}})(),i=s.map(d=>d.trim());a.value(e,c,i),(l=n.current)==null||l.setAttribute(Ae,c),o.current=c}),o}var ro=()=>{let[e,n]=v.useState(),r=ze(()=>new Map);return Ie(()=>{r.current.forEach(s=>s()),r.current=new Map},[e]),(s,o)=>{r.current.set(s,o),n({})}};function so(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function st({asChild:e,children:n},r){return e&&v.isValidElement(n)?v.cloneElement(so(n),{ref:n.ref},r(n.props.children)):r(n)}var oo={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Dt=v.forwardRef(({className:e,...n},r)=>t.jsx(ue,{ref:r,className:T.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n}));Dt.displayName=ue.displayName;const On=v.forwardRef(({className:e,...n},r)=>t.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[t.jsx(B.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),t.jsx(ue.Input,{ref:r,className:T.cn("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]}));On.displayName=ue.Input.displayName;const Pt=v.forwardRef(({className:e,...n},r)=>t.jsx(ue.List,{ref:r,className:T.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...n}));Pt.displayName=ue.List.displayName;const It=v.forwardRef((e,n)=>t.jsx(ue.Empty,{ref:n,className:"py-6 text-center text-sm text-muted-foreground",...e}));It.displayName=ue.Empty.displayName;const _n=v.forwardRef(({className:e,...n},r)=>t.jsx(ue.Group,{ref:r,className:T.cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...n}));_n.displayName=ue.Group.displayName;const Ln=v.forwardRef(({className:e,...n},r)=>t.jsx(ue.Separator,{ref:r,className:T.cn("-mx-1 h-px bg-border",e),...n}));Ln.displayName=ue.Separator.displayName;const Ft=v.forwardRef(({className:e,...n},r)=>t.jsx(ue.Item,{ref:r,className:T.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-[selected='true']:bg-accent aria-[selected='true']:text-accent-foreground data-[disabled='true']:pointer-events-none data-[disabled='true']:opacity-50",e),...n}));Ft.displayName=ue.Item.displayName;const Vn=({className:e,...n})=>t.jsx("span",{className:T.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...n});Vn.displayName="CommandShortcut";const $n=({value:e,onChange:n,options:r=[],placeholder:s="Select option...",className:o,onBlur:a})=>{const[l,c]=m.useState(!1),[i,d]=m.useState(""),f=m.useMemo(()=>{if(!i)return r;const u=i.toLowerCase();return r.filter(S=>S.label.toLowerCase().includes(u)||S.value.toLowerCase().includes(u))},[r,i]),[g,p]=m.useState(null),y=$t.useVirtualizer({count:f.length,getScrollElement:()=>g,estimateSize:()=>35,overscan:5});return t.jsxs(Ce.Popover,{open:l,onOpenChange:c,children:[t.jsx(Ce.PopoverTrigger,{asChild:!0,children:t.jsxs(U.Button,{variant:"outline",role:"combobox","aria-expanded":l,className:T.cn("w-full justify-between h-8 px-2 font-normal text-xs",o),children:[t.jsx("span",{className:"truncate",children:e?r.find(u=>u.value===e)?.label||e:s}),t.jsx(Er,{className:"ml-2 h-3 w-3 shrink-0 opacity-50"})]})}),t.jsx(Ce.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0 max-h-[400px] overflow-hidden",align:"start",side:"bottom",collisionPadding:10,children:t.jsxs(Dt,{shouldFilter:!1,className:"h-full",children:[t.jsxs("div",{className:"flex items-center border-b px-3",children:[t.jsx(B.Search,{className:"mr-2 h-3.5 w-3.5 shrink-0 opacity-50"}),t.jsx("input",{className:"flex h-9 w-full rounded-md bg-transparent py-3 text-xs outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 text-zinc-950 dark:text-zinc-50",placeholder:"Type to search...",value:i,onChange:u=>d(u.target.value)})]}),t.jsxs(Pt,{ref:p,className:"max-h-[300px] overflow-y-auto",style:{maxHeight:"300px"},children:[f.length===0&&t.jsx(It,{children:"No option found."}),t.jsx("div",{style:{height:`${y.getTotalSize()}px`,width:"100%",position:"relative"},children:y.getVirtualItems().map(u=>{const S=f[u.index];return t.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:`${u.size}px`,transform:`translateY(${u.start}px)`},children:t.jsxs(Ft,{value:S.value,onSelect:x=>{n(x===e?"":x),c(!1),d("")},className:"flex items-center justify-between text-xs py-1.5",children:[t.jsx("span",{className:"truncate",children:S.label}),t.jsx(N.Check,{className:T.cn("h-3 w-3",e===S.value?"opacity-100":"opacity-0")})]})},u.key)})})]})]})})]})},pt=({value:e,options:n=[],className:r,table:s})=>{if(e==null)return t.jsx("span",{className:"text-muted-foreground text-xs italic",children:"—"});const o=Array.isArray(e)?e:[e];if(o.length===0)return t.jsx("span",{className:"text-muted-foreground text-xs italic",children:"—"});const a=o.map(c=>n.find(d=>d.value===c)||{value:c,label:c,color:"default"}),l=c=>{const i=c==="success"?"success":c==="danger"||c==="destructive"?"error":c==="warning"?"warning":c==="primary"||c==="info"?"info":"neutral",d=i==="neutral";return{container:{backgroundColor:d?"transparent":`var(--ez-status-${i}-bg)`,color:d?`var(--ez-status-${i}-bg)`:`var(--ez-status-${i}-text)`,borderColor:`var(--ez-status-${i}-border)`},dot:{backgroundColor:`var(--ez-status-${i}-dot)`},isColored:!d}};return t.jsx("div",{className:T.cn("inline-flex items-center gap-1.5 flex-wrap py-1",r),children:a.map((c,i)=>{const d=l(c.color);return t.jsxs("div",{className:"inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full text-[11px] font-bold border transition-all duration-300 shadow-sm",style:d.container,children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:d.dot}),s?.options.meta?.enableSearchHighlighting?t.jsx(ke.HighlightText,{text:c.label,highlight:typeof s.getState().globalFilter=="string"?s.getState().globalFilter:s.getState().globalFilter?.quickSearch}):c.label]},`${c.value}-${i}`)})})},xt=({value:e,onChange:n,options:r=[],variant:s="dropdown",onBlur:o,className:a,placeholder:l="Select...",isFocused:c})=>{const[i,d]=m.useState(!1),f=m.useRef(!1);m.useEffect(()=>{c&&s==="dropdown"?f.current||(d(!0),f.current=!0):(d(!1),f.current=!1)},[c,s]);const g=p=>{["Enter"," ","ArrowUp","ArrowDown"].includes(p.key)&&p.stopPropagation()};return s==="combobox"?t.jsx("div",{className:T.cn("w-full",a),children:t.jsx($n,{value:e,onChange:n,options:r,placeholder:l,onBlur:o})}):s==="radio"?t.jsx("div",{className:T.cn("w-full px-2 py-1",a),onBlur:o,children:t.jsx(nt,{value:e||"",onValueChange:n,children:r.map(p=>t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx(qe,{value:p.value,id:`radio-${p.value}`}),t.jsx(De.Label,{htmlFor:`radio-${p.value}`,className:"text-xs font-medium cursor-pointer",children:p.label})]},p.value))})}):t.jsx("div",{className:T.cn("w-full -m-1 p-0.5",a),onBlur:o,onKeyDown:g,children:t.jsxs(B.Select,{value:e,onValueChange:n,open:i,onOpenChange:d,children:[t.jsx(B.SelectTrigger,{className:"h-7 py-0 border-0 shadow-none bg-transparent focus:ring-0 focus:ring-offset-0 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none",children:t.jsx(B.SelectValue,{placeholder:l})}),t.jsx(B.SelectContent,{children:r.map(p=>t.jsx(B.SelectItem,{value:p.value,children:p.label},p.value))})]})})},Gn=({options:e=[],selectedValues:n=[],onChange:r,className:s})=>{const o=l=>{n.includes(l)?r(n.filter(c=>c!==l)):r([...n,l])},a=()=>{n.length===e.length?r([]):r(e.map(l=>l.value))};return t.jsxs("div",{className:T.cn("flex flex-col gap-2 p-2 min-w-[180px]",s),children:[t.jsxs("div",{className:"flex items-center justify-between border-b pb-2 mb-1",children:[t.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider",children:"Filter Options"}),t.jsx("button",{onClick:a,className:"text-[10px] font-medium text-primary hover:underline",children:n.length===e.length?"Clear All":"Select All"})]}),t.jsx("div",{className:"max-h-[180px] overflow-y-auto",children:t.jsx("div",{className:"flex flex-col gap-2 pr-2",children:e.map(l=>t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(Fe.Checkbox,{id:`filter-${l.value}`,checked:n.includes(l.value),onCheckedChange:()=>o(l.value)}),t.jsx(De.Label,{htmlFor:`filter-${l.value}`,className:"text-sm font-normal cursor-pointer flex-1",children:l.label})]},l.value))})})]})},bt=({value:e,showLabel:n=!0,color:r="default",size:s="md",className:o})=>{const a=Math.max(0,Math.min(100,e)),l=()=>{switch(r){case"success":return"bg-emerald-500 dark:bg-emerald-600";case"warning":return"bg-amber-500 dark:bg-amber-600";case"danger":return"bg-rose-500 dark:bg-rose-600";case"info":return"bg-blue-500 dark:bg-blue-600";default:return"bg-primary"}},c=()=>{switch(s){case"sm":return"h-1.5";case"lg":return"h-3";default:return"h-2"}};return t.jsxs("div",{className:T.cn("flex items-center gap-2 w-full",o),children:[t.jsx("div",{className:"flex-1 bg-muted rounded-full overflow-hidden min-w-[60px]",children:t.jsx("div",{className:T.cn("transition-all duration-300 rounded-full",c(),l()),style:{width:`${a}%`}})}),n&&t.jsxs("span",{className:"text-xs font-medium text-muted-foreground tabular-nums min-w-[42px] text-right",children:[a.toFixed(0),"%"]})]})},vt=({value:e,values:n,color:r="default",height:s=32,width:o=100,showDots:a=!1,className:l})=>{const c=e||n||[],i=m.useMemo(()=>{if(!c||c.length===0)return"";const p=Math.max(...c),y=Math.min(...c),u=p-y||1;return`M ${c.map((x,P)=>{const A=P/(c.length-1)*o,k=s-(x-y)/u*s;return`${A},${k}`}).join(" L ")}`},[c,s,o]),d=m.useMemo(()=>{if(!c||c.length===0||!a)return[];const p=Math.max(...c),y=Math.min(...c),u=p-y||1;return c.map((S,x)=>({x:x/(c.length-1)*o,y:s-(S-y)/u*s}))},[c,s,o,a]),f=()=>{switch(r){case"success":return"stroke-emerald-500 dark:stroke-emerald-400";case"warning":return"stroke-amber-500 dark:stroke-amber-400";case"danger":return"stroke-rose-500 dark:stroke-rose-400";case"info":return"stroke-blue-500 dark:stroke-blue-400";default:return"stroke-primary"}},g=()=>{switch(r){case"success":return"fill-emerald-500 dark:fill-emerald-400";case"warning":return"fill-amber-500 dark:fill-amber-400";case"danger":return"fill-rose-500 dark:fill-rose-400";case"info":return"fill-blue-500 dark:fill-blue-400";default:return"fill-primary"}};return!c||c.length===0?t.jsx("div",{className:"text-muted-foreground text-xs italic",children:"No data"}):t.jsxs("svg",{width:o,height:s,className:T.cn("inline-block",l),viewBox:`0 0 ${o} ${s}`,children:[t.jsx("path",{d:i,fill:"none",className:T.cn("transition-colors",f()),strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a&&d.map((p,y)=>t.jsx("circle",{cx:p.x,cy:p.y,r:"2",className:T.cn("transition-colors",g())},y))]})},ao={renderers:{text:{Cell:Me,Editor:Te},number:{Cell:Me,Editor:Te},date:{Cell:Me,Editor:Te},datetime:{Cell:Me,Editor:Te},longtext:{Cell:Me,Editor:Te},boolean:{Cell:Jt,Editor:en},select:{Cell:pt,Editor:xt},multiselect:{Cell:pt,Editor:xt},progress:{Cell:bt},sparkline:{Cell:vt},chart:{Cell:e=>{const n=e.value;return Array.isArray(n)?m.createElement(vt,{values:n,...e}):m.createElement(bt,{value:n,...e})}}}},io=m.createContext(ao),lo=()=>m.useContext(io),co=({getValue:e,row:n,column:r,table:s})=>{const{renderers:o}=lo(),a=e(),[l,c]=m.useState(a),i=r.columnDef.meta,d=i?.columnType||"text",f=s.options.meta?.isRowEditable?s.options.meta.isRowEditable(n.original):!0,g=s.options.meta?.isCellEditable?s.options.meta.isCellEditable(n.original,r.id):!0,p=r.columnDef.enableEditing!==!1,y=s.options.meta?.enableEditing||!1,u=s.options.meta?.editingRows?.[n.index]||!1,S=y&&u&&f&&g&&p;m.useEffect(()=>{c(a)},[a]);const x=()=>{s.options.meta?.updateData(n.index,r.id,l)},P=h=>{c(h),(d==="boolean"||d==="select")&&s.options.meta?.updateData(n.index,r.id,h)},A=m.useMemo(()=>({getValue:e,row:n,column:r,enableEditing:s.options.meta?.enableEditing,isCellEditable:s.options.meta?.isCellEditable,value:l,onChange:P,onBlur:x,columnType:d,meta:i,isFocused:s.options.meta?.focusedCell?.r===n.index&&s.options.meta?.focusedCell?.c===s.getVisibleLeafColumns().findIndex(h=>h.id===r.id)}),[e,n,r,l,d,i,P,x,s.options.meta?.focusedCell,s.getVisibleLeafColumns]);if(S){if(i?.Editor){const C=i.Editor;return t.jsx(C,{...A})}const h=o[d];if(h?.Editor){const C=h.Editor,j={...d==="boolean"?i?.booleanOptions:{},...d==="select"?i?.selectOptions:{}};return t.jsx(C,{...A,...j})}}if(i?.Cell){const h=i.Cell;return t.jsx(h,{...A})}const E=(o[d]||o.text).Cell,R={...d==="boolean"?i?.booleanOptions:{},...d==="longtext"?i?.longTextOptions:{},...d==="number"?i?.numberOptions:{},...d==="date"?i?.dateOptions:{},...d==="datetime"?i?.dateTimeOptions:{},...d==="select"?i?.selectOptions:{},...d==="progress"||d==="chart"||d==="sparkline"?i?.chartOptions:{}};return t.jsx(E,{...A,...R})},xe=(e,n)=>typeof e=="function"?e(n):e,uo=(e,n)=>{const{columns:r,rowCount:s,pageCount:o,pagination:a,pageSize:l=10,enableRowSelection:c,selectionSettings:i,enableGrouping:d,enableRowPinning:f,enableColumnPinning:g,enableTreeData:p,getSubRows:y,manualPagination:u,manualSorting:S,manualFiltering:x,enablePersistence:P,persistenceKey:A,defaultGrouping:k=[],getRowId:E}=e,R=!!e.service||!!e.serviceName,{state:h,setState:C}=gr.useComponentState({initialState:{sorting:[],columnFilters:[],globalFilter:"",columnSizing:{},rowSelection:{},grouping:k,expanded:{},rowPinning:{top:[],bottom:[]},pagination:{pageIndex:0,pageSize:l},columnPinning:{left:[],right:[]},columnVisibility:{},columnOrder:[]},persistenceKey:P?A:void 0}),j=m.useRef({}),F=b=>{C(w=>{const M=xe(b,w.sorting);return setTimeout(()=>{e.onSortingChange?.(M),e.onSort?.({columns:M.map(D=>({direction:D.desc?"Descending":"Ascending",name:D.id}))})},0),{...w,sorting:M}})},O=b=>{C(w=>{const M=xe(b,w.pagination);return setTimeout(()=>{e.onPaginationChange?.(M),e.onPageChange?.({action:"page",currentPage:M.pageIndex+1})},0),{...w,pagination:M}})},L=b=>{C(w=>{const M=xe(b,w.rowSelection),D=j.current,z=Object.keys(D).filter(ee=>D[ee]),$=Object.keys(M).filter(ee=>M[ee]),K=$.filter(ee=>!z.includes(ee)),Y=z.filter(ee=>!$.includes(ee));return setTimeout(()=>{e.onRowSelectionChange?.(M),K.forEach(ee=>{const ce=parseInt(ee);!isNaN(ce)&&n[ce]&&e.onRowSelect?.({data:n[ce],rowIndex:ce})}),Y.forEach(ee=>{const ce=parseInt(ee);!isNaN(ce)&&n[ce]&&e.onRowDeselect?.({data:n[ce],rowIndex:ce})})},0),j.current=M,{...w,rowSelection:M}})},ne=b=>C(w=>({...w,columnFilters:xe(b,w.columnFilters)})),ae=b=>C(w=>({...w,globalFilter:xe(b,w.globalFilter)})),W=b=>C(w=>({...w,columnSizing:xe(b,w.columnSizing)})),re=b=>C(w=>({...w,grouping:xe(b,w.grouping)})),ie=b=>C(w=>({...w,expanded:xe(b,w.expanded)})),oe=b=>C(w=>({...w,rowPinning:xe(b,w.rowPinning)})),le=b=>C(w=>({...w,columnPinning:xe(b,w.columnPinning)})),J=b=>C(w=>({...w,columnVisibility:xe(b,w.columnVisibility)})),I=b=>{C(w=>{const M=xe(b,w.columnOrder);return setTimeout(()=>e.onColumnOrderChange?.(M),0),{...w,columnOrder:M}})};return{table:de.useReactTable({data:n,columns:r,getRowId:E,rowCount:s,pageCount:o,state:m.useMemo(()=>({sorting:h.sorting,columnFilters:h.columnFilters,globalFilter:h.globalFilter,columnSizing:h.columnSizing,rowSelection:h.rowSelection,pagination:h.pagination,grouping:h.grouping,expanded:h.expanded,rowPinning:h.rowPinning,columnPinning:h.columnPinning,columnVisibility:h.columnVisibility,columnOrder:h.columnOrder,...e.state}),[h,e.state]),onSortingChange:F,onColumnFiltersChange:ne,onGlobalFilterChange:ae,onColumnSizingChange:W,onRowSelectionChange:L,onPaginationChange:O,onGroupingChange:re,onExpandedChange:ie,onRowPinningChange:oe,onColumnPinningChange:le,onColumnVisibilityChange:J,onColumnOrderChange:I,globalFilterFn:Yr,defaultColumn:{cell:co,filterFn:Qr},manualPagination:R||u,manualSorting:R||S,manualFiltering:R||x,enableRowSelection:i?!0:c,enableMultiRowSelection:i?i.type==="Multiple":!0,enableGrouping:d,enableSorting:!0,enableRowPinning:f,enableColumnPinning:g,columnResizeMode:"onChange",enableColumnResizing:!0,aggregationFns:{uniqueCount:(b,w)=>new Set(w.map(M=>M.getValue(b))).size},getSubRows:p?y:void 0,getCoreRowModel:de.getCoreRowModel(),getSortedRowModel:de.getSortedRowModel(),getFilteredRowModel:de.getFilteredRowModel(),getPaginationRowModel:a?de.getPaginationRowModel():void 0,getGroupedRowModel:d?de.getGroupedRowModel():void 0,getExpandedRowModel:d||p?de.getExpandedRowModel():void 0,getFacetedUniqueValues:de.getFacetedUniqueValues(),getFacetedMinMaxValues:de.getFacetedMinMaxValues(),meta:{}}),states:{sorting:h.sorting,setSorting:F,columnFilters:h.columnFilters,setColumnFilters:ne,globalFilter:h.globalFilter,setGlobalFilter:ae,rowSelection:h.rowSelection,setRowSelection:L,paginationState:h.pagination,setPaginationState:O,grouping:h.grouping,setGrouping:re,expanded:h.expanded,setExpanded:ie,rowPinning:h.rowPinning,setRowPinning:oe,columnPinning:h.columnPinning,setColumnPinning:le,columnVisibility:h.columnVisibility,setColumnVisibility:J,columnOrder:h.columnOrder,setColumnOrder:I}}},mo=(e,n,r="ltr")=>{const{density:s="standard",rowHeight:o,estimatedRowHeight:a,enableColumnVirtualization:l=!1}=e,{rows:c}=n.getRowModel(),i=m.useMemo(()=>{if(o)return o;if(a)return a;switch(s){case"compact":return 41;case"comfortable":return 89;default:return 65}},[o,a,s]),d=m.useMemo(()=>{switch(s){case"compact":return 40;case"comfortable":return 56;default:return 48}},[s]),f=te.useVirtualization({rowCount:c.length,rowHeight:i,overscanCount:e.overscanCount??30,columnCount:l?n.getVisibleLeafColumns().length:0,columnWidth:P=>n.getVisibleLeafColumns()[P].getSize(),enableColumnVirtualization:l,progressiveRendering:e.progressiveRendering??!1,prefetchDistance:e.prefetchDistance??10,adaptiveSizing:e.adaptiveSizing,id:e.id,debug:!1,languageDirection:r,scrollPaddingStart:e.enableStickyHeader?e.scrollPaddingStart??d:e.scrollPaddingStart??0,scrollMargin:0}),{parentRef:g,rowVirtualizer:p,columnVirtualizer:y,scrollToIndex:u,scrollToRow:S,scrollToColumn:x}=f;return{parentRef:g,rowVirtualizer:p,columnVirtualizer:y,scrollToIndex:u,scrollToRow:S,scrollToColumn:x,effectiveRowHeight:i}},go=(e,n)=>{const{enableRangeSelection:r=!1}=e,{rows:s}=n.getRowModel(),[o,a]=m.useState(null),[l,c]=m.useState(!1),i=m.useCallback((g,p)=>{r&&(c(!0),a({start:{r:g,c:p},end:{r:g,c:p}}))},[r]),d=m.useCallback((g,p)=>{!r||!l||a(y=>y?{...y,end:{r:g,c:p}}:null)},[r,l]);m.useEffect(()=>{if(!r)return;const g=()=>c(!1);return window.addEventListener("mouseup",g),()=>window.removeEventListener("mouseup",g)},[r]);const f=m.useCallback((g,p)=>{const y={},[u,S]=[Math.min(g,p),Math.max(g,p)];for(let x=u;x<=S;x++){const P=s[x];P&&(y[P.id]=!0)}n.setRowSelection(x=>({...x,...y}))},[s,n]);return{rangeSelection:o,onCellMouseDown:i,onCellMouseEnter:d,selectRowByRange:f,isSelecting:l}},fo=(e,n)=>{const[r,s]=m.useTransition(),o=m.useCallback(l=>{s(()=>{n.setColumnFilters(c=>{const i=typeof l=="function"?l(c):l;return setTimeout(()=>{e.onColumnFiltersChange?.(i);const d=i.map(f=>({id:f.id,field:f.id,operator:"contains",value:f.value}));e.onFilter?.({columns:d})},0),i})})},[n,e.onColumnFiltersChange,e.onFilter]),a=m.useCallback(l=>{s(()=>{n.setGlobalFilter(c=>{const i=typeof l=="function"?l(c):l;return setTimeout(()=>{e.onGlobalFilterChange?.(i),typeof i=="string"&&e.onSearch?.(i)},0),i})})},[n,e.onGlobalFilterChange,e.onSearch]);return{isFiltering:r,handleColumnFiltersChange:o,handleGlobalFilterChange:a,setFilterModel:n.setColumnFilters,setGlobalFilter:n.setGlobalFilter}},ho=(e,n,r,s,o,a={})=>{const l=T.useEzServiceRegistry(),{rows:c}=n.getRowModel(),i=m.useMemo(()=>{const d=me.createRefreshMethods(s.refresh,s.forceUpdate),f=me.createSpinnerMethods(s.showSpinner,s.hideSpinner),g=me.createSelectionMethods(u=>{const S=typeof u=="string"?parseInt(u):u,x=c[S];x?.getCanSelect()&&x.toggleSelected(!0)},u=>{const S={};u.forEach(x=>{const P=typeof x=="string"?parseInt(x):x,A=c[P];A&&(S[A.id]=!0)}),n.setRowSelection(S)},()=>n.resetRowSelection(),()=>n.toggleAllRowsSelected(!0),()=>n.getSelectedRowModel().rows.map(u=>u.original),(u,S)=>{const x=typeof u=="string"?parseInt(u):u;s.scrollToIndex(x)}),p=me.createNavigationMethods(s.scrollToIndex,u=>n.setPageIndex(u)),y=me.createExportMethods(()=>e.onExportCSV?.(n),()=>e.onExportExcel?.(n),()=>{window.print()});return{...d,...f,getData:()=>r,setCellValue:(u,S,x)=>{const P=parseInt(u);isNaN(P)||s.performEdit(P,S,x)},setRowData:(u,S)=>{const x=parseInt(u);isNaN(x)||s.setData(P=>{const A=[...P];return A[x]={...A[x],...S},A})},addRecord:async u=>{const S=u||{},x=e.editSettings?.primaryKey,P=x?Array.isArray(x)?x[0]:x:"id";let A=S[P];if(A===void 0&&(A=`_temp_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,S[P]=A),s.service)try{const E=await s.addMutation.mutateAsync(S);l.get("NotificationService")?.show({type:"success",message:"Row Added Successfully!",duration:3e3}),setTimeout(()=>{const h=E[P]||A;n.setRowSelection({[h]:!0});const C=r.findIndex(j=>j[P]===h);C!==-1&&(s.toggleRowEditing(C,!0),s.scrollToIndex(C))},100);return}catch(E){throw l.get("NotificationService")?.show({type:"error",message:"Failed to Add Row",duration:3e3}),E}e.onDataChangeStart?.({action:"add",data:S}),e.onRowAddStart?.({data:S}),s.addRow(S,0),e.onDataChangeComplete?.({action:"add",data:S}),l.get("NotificationService")?.show({type:"success",message:"Row Added Successfully!",duration:3e3}),setTimeout(()=>{n.resetRowSelection(),n.setRowSelection({[A]:!0}),s.toggleRowEditing(0,!0),s.scrollToIndex(0)},50)},updateRecord:async(u,S)=>{const x=typeof u=="number"?u:parseInt(u),P=e.editSettings?.primaryKey,A=P?Array.isArray(P)?P[0]:P:"id",k=r[x]?.[A];if(s.service&&k)try{await s.updateMutation.mutateAsync({id:k,updates:S}),l.get("NotificationService")?.show({type:"success",message:"Row Updated Successfully!",duration:3e3});return}catch(E){throw l.get("NotificationService")?.show({type:"error",message:"Failed to Update Row",duration:3e3}),E}e.onDataChangeStart?.({action:"edit",data:S}),s.setData(E=>{const R=[...E];return R[x]={...R[x],...S},l.get("NotificationService")?.show({type:"success",message:"Row Updated Successfully!",duration:3e3}),R})},deleteRecord:async u=>{const S=typeof u=="number"?u:parseInt(u),x=r[S],P=e.editSettings?.primaryKey,A=P?Array.isArray(P)?P[0]:P:"id",k=x?.[A];if(s.service&&k)try{await s.deleteMutation.mutateAsync(k),l.get("NotificationService")?.show({type:"success",message:"Row Deleted Successfully!",duration:3e3});return}catch(R){throw l.get("NotificationService")?.show({type:"error",message:"Failed to Delete Row",duration:3e3}),R}e.onDataChangeStart?.({action:"delete",data:x}),s.deleteRows([S]),l.get("NotificationService")?.show({type:"success",message:"Row Deleted Successfully!",duration:3e3})},deleteRecords:async u=>{if(s.service){const x=e.editSettings?.primaryKey,P=x?Array.isArray(x)?x[0]:x:"id";try{for(const k of u){const E=r[k]?.[P];E&&await s.deleteMutation.mutateAsync(E)}l.get("NotificationService")?.show({type:"success",message:`${u.length} Rows Deleted Successfully!`,duration:3e3});return}catch(A){throw l.get("NotificationService")?.show({type:"error",message:"Failed to Delete Rows",duration:3e3}),A}}e.onDataChangeStart?.({action:"delete",data:u.map(x=>r[x])}),s.deleteRows(u),l.get("NotificationService")?.show({type:"success",message:`${u.length} Rows Deleted Successfully!`,duration:3e3})},getRowInfo:u=>{const S=typeof u=="number"?u:parseInt(u);return c[S]},editRecord:u=>{const S=typeof u=="number"?u:parseInt(u);s.toggleRowEditing(S,!0)},saveDataChanges:()=>{e.onDataChangeComplete?.({action:"edit",data:s.batchChanges.changedRecords}),l.get("NotificationService")?.show({type:"success",message:"Changes Saved Successfully!",duration:3e3})},cancelDataChanges:()=>{s.resetData(),e.onDataChangeCancel?.({action:"edit"}),l.get("NotificationService")?.show({type:"info",message:"Changes Discarded",duration:3e3})},getBatchChanges:()=>s.batchChanges,getChanges:()=>s.batchChanges,history:{changes:s.changes,batchChanges:s.batchChanges},...g,getSelectedRowIndexes:()=>Object.keys(n.getState().rowSelection).map(Number),clearRowSelection:()=>n.resetRowSelection(),...p,search:u=>n.setGlobalFilter(u),filterByColumn:(u,S,x)=>n.getColumn(u)?.setFilterValue({operator:S,value:x}),clearFilter:u=>u?n.getColumn(u)?.setFilterValue(void 0):n.resetColumnFilters(),sortByColumn:(u,S)=>n.setSorting([{id:u,desc:S==="desc"}]),clearSort:()=>n.resetSorting(),removeSortColumn:u=>n.setSorting(S=>S.filter(x=>x.id!==u)),getVisibleColumns:()=>n.getVisibleLeafColumns().map(u=>u.columnDef),getHiddenColumns:()=>n.getAllLeafColumns().filter(u=>!u.getIsVisible()).map(u=>u.columnDef),getColumnByField:u=>n.getColumn(u)?.columnDef||null,getColumns:()=>n.getAllLeafColumns().map(u=>u.columnDef),setColumnVisibility:u=>n.setColumnVisibility(u),copyToClipboard:async(u=!0)=>{if(!navigator?.clipboard)return;const S=n.getVisibleLeafColumns(),x=n.getRowModel().rows,P=u?S.map(k=>k.id).join(" ")+`
|
|
6
|
-
`:"",A=x.map(k=>S.map(E=>{const R=k.getValue(E.id);return R==null?"":String(R)}).join(" ")).join(`
|
|
7
|
-
`);try{await navigator.clipboard.writeText(P+A),l.get("NotificationService")?.show({type:"success",message:"Copied to Clipboard!",duration:2e3})}catch(k){console.error("Failed to copy",k),l.get("NotificationService")?.show({type:"error",message:"Failed to Copy",duration:3e3})}},autoFitColumns:()=>{n.getVisibleLeafColumns().forEach(u=>{s.autoFitColumn(u.id)})},expandAllGroups:()=>n.toggleAllRowsExpanded(!0),collapseAllGroups:()=>n.toggleAllRowsExpanded(!1),isRemote:()=>!!(e.manualPagination||e.onDataRequest),getDataModule:()=>({table:n,data:r}),setPagerMessage:u=>s.setPagerMessage(u),validateEditForm:()=>!0,getPrimaryKeyFieldNames:()=>{const u=e.editSettings?.primaryKey;return u?Array.isArray(u)?u:[u]:[]},...y,...a}},[e,n,r,c,s,a]);return N.useComponentImperativeAPI(o,i),i},po=[],Bn=(e,n,r={})=>{const s=T.useBaseComponent(e),{api:o,serviceRegistry:a}=s,l=me.useQueryClient(),{dataSource:c,data:i,onRefresh:d,onDataRequest:f,onDataLoad:g,onError:p,enableEditing:y,isRowEditable:u,isCellEditable:S,pagination:x=!1,enableExport:P=!1,enableStickyHeader:A=!1,enableStickyPagination:k=!1,enableChangeTracking:E=!1,density:R="standard",dir:h}=e,C=fr.useServiceState("I18nService"),j=h==="auto"||!h?C?.dir||"ltr":h,F=c||i||po,O=m.useMemo(()=>{const V=e.editSettings?.primaryKey;return V?Array.isArray(V)?V[0]:V:"id"},[e.editSettings?.primaryKey]),{data:L,setData:ne,performEdit:ae,addRow:W,deleteRows:re,undo:ie,redo:oe,canUndo:le,canRedo:J,changes:I,batchChanges:ge,resetData:b}=Wr(F,O),[w,M]=m.useState(void 0),D=m.useMemo(()=>e.service?e.service:e.serviceName?a.get(e.serviceName):null,[e.service,e.serviceName]),{table:z,states:$}=uo(e,L),K=z.getState().pagination,Y=z.getState().sorting,ee=z.getState().columnFilters,ce=z.getState().globalFilter,Se=m.useMemo(()=>["table-data",e.serviceName||"local",K.pageIndex,K.pageSize,Y,ee,ce],[e.serviceName,K,Y,ee,ce]),{data:Q,isLoading:ot,error:Oe}=me.useQuery({queryKey:Se,queryFn:async()=>D?await D.getData({...e,state:z.getState(),data:[],columns:[]}):{data:F,totalCount:F.length},enabled:!!D,placeholderData:{data:F,totalCount:F.length}}),_e=Q?.data||F,Le=Q?.totalCount??F.length;m.useEffect(()=>{D&&_e&&!I.added&&!I.edited&&!I.deleted&&ne(_e)},[_e,D,ne,I.added,I.edited,I.deleted]);const at=me.useMutation({mutationFn:V=>D.createRow(V),onSuccess:()=>l.invalidateQueries({queryKey:Se})}),Ve=me.useMutation({mutationFn:({id:V,updates:be})=>D.updateRow(V,be),onSuccess:()=>l.invalidateQueries({queryKey:Se})}),We=me.useMutation({mutationFn:V=>D.deleteRow(V),onSuccess:()=>l.invalidateQueries({queryKey:Se})}),[$e,je]=m.useState(!1),it=ot||$e,{isFiltering:Ue,handleColumnFiltersChange:Ke,handleGlobalFilterChange:Ye,setFilterModel:Qe,setGlobalFilter:_}=fo(e,z),{parentRef:G,rowVirtualizer:H,columnVirtualizer:q,effectiveRowHeight:X}=mo(e,z,j),{rangeSelection:se,onCellMouseDown:Z,onCellMouseEnter:fe}=go(e,z),[he,pe]=m.useState(null),ir=m.useCallback((V,be)=>{pe(we=>{if(!we)return{r:0,c:0};const ye=z.getRowModel().rows.length,ur=Math.max(0,Math.min(ye-1,we.r+V)),mr=Math.max(0,Math.min(z.getVisibleLeafColumns().length-1,we.c+be));return{r:ur,c:mr}})},[z]),[Xe,lr]=m.useState({}),Ge=m.useCallback((V,be)=>{const we=be===!0||be===void 0&&!Xe[V];we&&L[V]&&e.onRowEditStart?.({row:z.getRowModel().rows[V],data:L[V]}),lr(ye=>we&&(e.editSettings?.mode==="Normal"||!e.editSettings?.mode)?{[String(V)]:!0}:{...ye,[V]:be!==void 0?be:!ye[V]}),we&&pe(ye=>({r:V,c:ye?.c??0}))},[L,Xe,e.onRowEditStart,e.editSettings?.mode,z]),Tt=m.useCallback((V,be,we)=>{if(!y)return;const ye=L[V];u&&!u(ye)||S&&!S(ye,be)||ae(V,be,we)},[y,ae,L,u,S]),{autoFitColumn:At}=Ur(z),cr=m.useCallback(async()=>{if(D)await l.invalidateQueries({queryKey:Se});else if(f){je(!0);try{f(z.getState())}catch(V){p&&p(V)}finally{je(!1)}}z.reset(),d?.()},[f,z,d,p,D,l,Se]);m.useEffect(()=>{Oe&&p&&p(Oe)},[Oe,p]),m.useEffect(()=>{D&&Le!==void 0&&z.setOptions(V=>({...V,rowCount:Le}))},[Le,z,D]);const Ne=ho(e,z,L,{refresh:cr,setData:ne,performEdit:ae,showSpinner:()=>je(!0),hideSpinner:()=>je(!1),scrollToIndex:V=>H.scrollToIndex(V,{align:"center"}),toggleRowEditing:Ge,forceUpdate:()=>{je(V=>!V),setTimeout(()=>je(V=>!V),0)},resetData:b,setPagerMessage:M,batchChanges:ge,changes:I,addRow:W,deleteRows:re,setFocusedCell:pe,autoFitColumn:At,addMutation:at,updateMutation:Ve,deleteMutation:We,service:D},n,r),dr=m.useMemo(()=>({updateData:Tt,editingRows:Xe,toggleRowEditing:Ge,focusedCell:he,setFocusedCell:pe,navigateFocus:ir,addRecord:Ne.addRecord,deleteRecord:Ne.deleteRecord,deleteRecords:Ne.deleteRecords,enableEditing:e.enableEditing&&(e.editSettings?.allowEditing??!0),isRowEditable:u,isCellEditable:S,enableSearchHighlighting:e.enableSearchHighlighting,selectionSettings:e.selectionSettings,editSettings:e.editSettings,classNames:e.classNames,icons:e.icons,slots:e.slots,slotProps:e.slotProps,localization:e.localization,dir:j,containerRef:G}),[Tt,Xe,Ge,he,Ne.addRecord,Ne.deleteRecord,Ne.deleteRecords,e.enableEditing,e.editSettings,u,S,e.enableSearchHighlighting,e.selectionSettings,e.editSettings,e.classNames,e.icons,e.slots,e.slotProps,e.localization,G]);return z.options.meta=dr,m.useEffect(()=>{g&&g(L)},[L,g]),Gr({onRenderStart:e.onGridRenderStart,onRenderComplete:e.onGridRenderComplete}),m.useMemo(()=>({state:{...$,rows:z.getRowModel().rows,rangeSelection:se,canUndo:le,canRedo:J,changes:I,batchChanges:ge,density:R,isPending:Ue||e.isLoading||it,focusedCell:he,globalFilter:$.globalFilter,pagerMessage:w,internalLoading:$e},actions:{undo:ie,redo:oe,resetData:b,addRow:W,deleteRows:re,toggleRowEditing:Ge,autoFitColumn:At,onCellMouseDown:Z,onCellMouseEnter:fe,onRowClick:e.onRowClick,onRowDoubleClick:e.onRowDoubleClick,onCellFocus:e.onCellFocus,onToolbarItemClick:e.onToolbarItemClick,setFocusedCell:pe,setGlobalFilter:_,handleColumnFiltersChange:Ke,handleGlobalFilterChange:Ye,setFilterModel:Qe,getData:()=>L,getPrimaryKeyFieldNames:()=>{const V=e.editSettings?.primaryKey;return V?Array.isArray(V)?V:[V]:[]}},refs:{parentRef:G,rowVirtualizer:H,columnVirtualizer:q},config:{paginationEnabled:x,exportEnabled:P,enableStickyHeader:A,enableStickyPagination:k,enableChangeTracking:E,enableEditing:y,gridLines:e.gridLines,enableAltRow:e.enableAltRow,enableHover:e.enableHover,rowHeight:X,selectionSettings:e.selectionSettings,filterSettings:e.filterSettings,searchSettings:e.searchSettings,sortSettings:e.sortSettings,editSettings:e.editSettings},services:{},table:z,dir:j,baseApi:o,imperativeAPI:Ne}),[o,Ne,$,G,H,q,z,j,x,P,se,Z,fe,A,k,E,ie,oe,le,J,I,ge,b,W,re,Ge,R,Ue,e,L,Ke,Ye,Qe,_,w,he,pe,$e])},xo=({containerRef:e,containerSizeRef:n,resizeTimeoutRef:r,onResize:s},o)=>{m.useEffect(()=>{if(!e.current)return;const a=e.current;a.style.height="100%",a.style.minHeight="0",a.style.height="";const l=new ResizeObserver(c=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{for(const i of c){const{width:d,height:f}=i.contentRect;(Math.abs(d-n.current.width)>1||Math.abs(f-n.current.height)>1)&&(n.current={width:d,height:f},s())}},100)});return l.observe(a),()=>{l.disconnect(),r.current&&clearTimeout(r.current)}},o)},bo=({table:e,editSettings:n,toggleRowEditing:r,onRowClickProp:s,onRowDoubleClickProp:o,onCellClickProp:a,onCellDoubleClickProp:l})=>{const c=m.useCallback((i,d)=>{const f=e.options.meta;if(f?.setFocusedCell){const p=i.colIndex??e.getVisibleLeafColumns().findIndex(y=>y.id===i.columnId);p!==-1&&f.setFocusedCell({r:i.rowIndex,c:p})}d==="dblclick"&&n?.allowEditing&&n?.allowEditOnDblClick!==!1&&r(i.rowIndex,!0),(d==="click"?a??s:l??o)?.(i)},[e,n,r,s,o]);return{onRowClick:i=>c(i,"click"),onRowDoubleClick:i=>c(i,"dblclick"),onCellClick:i=>c(i,"click"),onCellDoubleClick:i=>c(i,"dblclick")}},vo=({dialogState:e,isDialogMode:n,rows:r,table:s})=>{m.useEffect(()=>{if(!n)return;const o=Object.keys(s.options.meta?.editingRows||{}).find(a=>s.options.meta?.editingRows?.[a]);if(o!==void 0){const a=parseInt(o);!isNaN(a)&&r[a]&&e.open("edit",r[a].original,{index:a})}},[n,e,r,s])},wo=()=>t.jsx("div",{className:"flex flex-col items-center justify-center min-h-screen p-4",children:t.jsxs("div",{className:"flex flex-col items-center gap-4 max-w-md w-full",children:[t.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10",children:t.jsx(N.TriangleAlert,{className:"w-8 h-8 text-destructive"})}),t.jsxs("div",{className:"flex flex-col items-center gap-2 text-center",children:[t.jsx("h2",{className:"text-lg font-semibold",children:"Table Error"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Something went wrong with the table. Please refresh the page or try again."})]}),t.jsxs("button",{onClick:()=>window.location.reload(),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-primary hover:bg-primary/10 rounded-md transition-colors",children:[t.jsx(N.RefreshCw,{className:"w-4 h-4"}),"Refresh Page"]})]})}),yo={compact:"py-1 text-xs",standard:"py-2 text-sm",comfortable:"py-4 text-base"},qn=(e="standard")=>yo[e],Hn="flex flex-col",wt={default:"border border-border",bottom:"border-b border-border"},Co=({header:e,density:n})=>{const r=e.column.columnDef.meta?.align||"left";return t.jsx("div",{className:T.cn("relative h-full font-semibold text-foreground flex items-center select-none px-4","bg-background/90 border border-border/50 shadow-lg rounded-md opacity-90 cursor-grabbing","ring-2 ring-primary/20",qn(n),r==="center"&&"justify-center text-center",r==="right"&&"justify-end text-right"),style:{width:e.getSize(),maxWidth:e.column.columnDef.maxSize,minWidth:e.column.columnDef.minSize},children:t.jsxs("div",{className:T.cn("flex items-center w-full gap-2",r==="center"&&"justify-center relative",r==="right"&&"justify-end"),children:[t.jsx("div",{className:"p-1 text-zinc-400",children:t.jsx(St,{className:"w-3.5 h-3.5"})}),t.jsx("span",{className:"truncate",children:de.flexRender(e.column.columnDef.header,e.getContext())})]})})},Wn=m.memo(({table:e,totalRows:n,selectionInfo:r,rowSelection:s})=>{const o=n??(e.getPrePaginationRowModel().rows.length||e.options.rowCount||e.getRowModel().rows.length),a=typeof o=="number"?o:0,l=Object.keys(s||{}).length;return t.jsxs("div",{className:T.cn("flex border-t border-border p-2 text-xs text-muted-foreground justify-between bg-muted/30","rounded-b-md"),children:[t.jsxs("div",{className:"flex gap-4 items-center",children:[t.jsxs("span",{children:["Total: ",a," rows"]}),l>0&&t.jsxs("span",{className:"text-primary font-medium",children:[l," selected"]}),typeof r=="string"&&t.jsxs("span",{children:["| ",r]})]}),t.jsx("div",{className:"flex gap-2"})]})});Wn.displayName="EzTableStatusBar";const So=e=>{switch(e){case"compact":return"min-h-[40px]";case"comfortable":return"min-h-[56px]";default:return"min-h-[48px]"}},jo=e=>{switch(e){case"compact":return"py-0 px-2";case"comfortable":return"py-4 px-4";default:return"py-2 px-4"}},No=e=>{switch(e){case"compact":return"text-xs";case"comfortable":return"text-base";default:return"text-sm"}},Un=e=>T.cn(So(e),jo(e),No(e)),Kn=(e,n,r="ltr")=>e?{position:"sticky",[r==="rtl"?e==="left"?"right":"left":e==="left"?"left":"right"]:`${n}px`,zIndex:30}:{},Yn=(e,n="ltr")=>{if(!e)return"";const r="bg-background",s=e==="left",o=n==="rtl",l=s&&!o||!s&&o?"shadow-[2px_0_5px_-2px_rgba(0,0,0,0.1)] dark:shadow-[2px_0_5px_-2px_rgba(0,0,0,0.3)]":"shadow-[-2px_0_5px_-2px_rgba(0,0,0,0.1)] dark:shadow-[-2px_0_5px_-2px_rgba(0,0,0,0.3)]";return T.cn(r,l)},Ro=(e,n="ltr")=>{switch(e){case"center":return"justify-center text-center";case"right":return"justify-end text-right";case"left":return"justify-start text-left";default:return n==="rtl"?"justify-end text-right":"justify-start text-left"}},ko=(e,n)=>T.cn(e&&"bg-primary/10 ring-1 ring-inset ring-primary/30 z-[1]",n&&"bg-primary/10 z-[10]"),Eo=(e,n)=>{switch(e){case"wrap":return"whitespace-normal break-words";case"ellipsis":return n?"overflow-hidden":"truncate";default:return"truncate"}},Do=(e,n,r="ltr")=>!e||e==="None"||e==="Horizontal"?"":r==="rtl"?"border-l border-border/50":"border-r border-border/50";function Po(e){if(!e||e.length===0)return"text";const r=e.slice(0,100).filter(i=>i!=null&&i!=="");if(r.length===0)return"text";if(r.every(i=>typeof i=="boolean"||i==="true"||i==="false"))return"boolean";if(r.every(i=>typeof i=="number"||!isNaN(parseFloat(i))&&isFinite(i)))return"number";if(r.every(i=>{if(i instanceof Date)return!0;if(typeof i=="string"){const d=Date.parse(i);return!isNaN(d)&&i.length>5&&(i.includes("-")||i.includes("/")||i.includes(":"))}return!1}))return r.some(d=>String(d).includes(":")||d instanceof Date&&(d.getHours()!==0||d.getMinutes()!==0))?"datetime":"date";const l=new Set(r.map(i=>String(i)));return l.size>0&&l.size<=Math.min(r.length*.2,10)?"select":r.some(i=>typeof i=="string"&&i.length>100)?"longtext":"text"}function Io(e,n){const[r,s]=m.useState(()=>Array.isArray(e)?new Set(e):null),o=r===null,a=m.useCallback(d=>{s(d?null:new Set)},[]),l=m.useCallback((d,f)=>{s(g=>{if(g===null){if(f)return null;const y=new Set(n);return y.delete(d),y}const p=new Set(g);if(f){if(p.add(d),p.size===n.length)return null}else p.delete(d);return p})},[n]),c=m.useCallback((d,f)=>{s(g=>{const p=g||new Set(n),y=new Set(p);if(f){if(d.forEach(u=>y.add(u)),y.size===n.length)return null}else d.forEach(u=>y.delete(u));return y})},[n]),i=m.useCallback(()=>{s(null)},[]);return{selectedValues:r,isAllSelected:o,handleSelectAll:a,handleSelect:l,handleBulkSelect:c,clearSelection:i}}const Qn=m.memo(({checked:e,indeterminate:n,onSelectAll:r,showSearchResults:s=!1})=>t.jsxs("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-muted rounded text-sm cursor-pointer",onClick:()=>r(!e),children:[t.jsx(Fe.Checkbox,{checked:e?!0:n?"indeterminate":!1,onCheckedChange:o=>r(o===!0)}),t.jsx("label",{className:"flex-1 cursor-pointer",children:s?"(Select All Search Results)":"(Select All)"})]}));Qn.displayName="SelectAllCheckbox";const Xn=m.memo(({column:e})=>{const n=e.columnDef.meta;return t.jsxs("div",{className:"p-3 space-y-3",children:[t.jsx("div",{className:"text-sm font-medium",children:"Filter by value:"}),t.jsx(tn,{value:e.getFilterValue()||"all",onChange:r=>{e.setFilterValue(r)},trueLabel:n?.booleanOptions?.trueLabel,falseLabel:n?.booleanOptions?.falseLabel,nullLabel:n?.booleanOptions?.nullLabel})]})});Xn.displayName="BooleanFilterSection";const Zn=m.memo(({column:e,allAvailableValues:n})=>t.jsx("div",{className:"p-1",children:t.jsx(Gn,{options:n.map(r=>({value:String(r),label:String(r)})),selectedValues:Array.isArray(e.getFilterValue())?e.getFilterValue():[],onChange:r=>{e.setFilterValue(r.length>0?r:void 0)}})}));Zn.displayName="SelectFilterSection";const Jn=m.memo(({sortedUniqueValues:e,selectedValues:n,handleSelect:r,formatter:s})=>{const o=m.useRef(null),a=$t.useVirtualizer({count:e.length,getScrollElement:()=>o.current,estimateSize:()=>32,overscan:5});return t.jsx("div",{ref:o,className:"flex-1 overflow-y-auto px-2 pb-2 min-h-0 pt-2",children:t.jsx("div",{style:{height:`${a.getTotalSize()}px`,width:"100%",position:"relative"},children:a.getVirtualItems().map(l=>{const c=e[l.index],i=n===null||n.has(c),d=s?s(c):String(c)||"(Empty)";return t.jsxs("div",{className:"absolute top-0 left-0 w-full flex items-center space-x-2 px-2 py-1 hover:bg-muted rounded text-sm cursor-pointer",style:{height:`${l.size}px`,transform:`translateY(${l.start}px)`},onClick:()=>r(c,!i),children:[t.jsx(Fe.Checkbox,{checked:i,onCheckedChange:f=>r(c,f===!0)}),t.jsx("span",{className:"flex-1 truncate",children:d})]},l.key)})})})});Jn.displayName="VirtualizedFilterList";const yt=m.memo(({onClear:e,onApply:n,onAddRule:r,onAddGroup:s,onRemove:o,showClear:a=!0,showApply:l=!0,showAddRule:c=!1,showAddGroup:i=!1,showRemove:d=!1,className:f})=>t.jsxs("div",{className:`p-2 border-t flex justify-between bg-popover text-popover-foreground flex-shrink-0 sticky bottom-0 z-20 ${f||""}`,children:[t.jsxs("div",{className:"flex gap-2",children:[a&&e&&t.jsx(U.Button,{variant:"ghost",size:"sm",onClick:e,className:"h-8 text-xs",children:"Clear"}),c&&r&&t.jsx(U.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:r,title:"Add Rule",children:t.jsx(Fe.Plus,{className:"w-4 h-4"})}),i&&s&&t.jsx(U.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:s,title:"Add Group",children:t.jsx("span",{className:"font-bold text-xs",children:"( )"})})]}),t.jsxs("div",{className:"flex gap-2",children:[d&&o&&t.jsx(U.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 text-red-500 hover:text-red-600",onClick:o,children:t.jsx(U.X,{className:"w-4 h-4"})}),l&&n&&t.jsx(U.Button,{size:"sm",onClick:n,className:"min-w-[70px] h-8 text-xs font-semibold",children:"OK"})]})]}));yt.displayName="FilterActionButtons";function er({node:e,selectedValues:n,onBulkSelect:r}){const[s,o]=m.useState(!1);let a=!1;if(n===null)a=!0;else{const c=e.fullValues.filter(i=>n.has(i)).length;c===e.fullValues.length&&e.fullValues.length>0?a=!0:c>0?a="indeterminate":a=!1}const l=c=>{r(e.fullValues,c)};return t.jsxs("div",{className:"pl-4",children:[t.jsxs("div",{className:"flex items-center space-x-2 py-1 hover:bg-muted/50 rounded",children:[e.children&&e.children.length>0?t.jsx("button",{onClick:c=>{c.stopPropagation(),o(!s)},className:"p-0.5 hover:bg-muted rounded mr-1 text-muted-foreground",children:s?t.jsx(Gt.ChevronDown,{className:"w-4 h-4"}):t.jsx(N.ChevronRight,{className:"w-4 h-4"})}):t.jsx("span",{className:"w-5 mr-1"}),t.jsx(Fe.Checkbox,{checked:a==="indeterminate"?"indeterminate":a,onCheckedChange:c=>l(c===!0),id:`node-${e.key}`}),t.jsxs("label",{htmlFor:`node-${e.key}`,className:"text-sm flex-1 cursor-pointer select-none text-foreground",children:[e.label,t.jsxs("span",{className:"ml-2 text-xs text-muted-foreground",children:["(",e.fullValues.length,")"]})]})]}),e.children&&s&&t.jsx("div",{className:"border-l border-border ml-2",children:e.children.map(c=>t.jsx(er,{node:c,selectedValues:n,onBulkSelect:r},c.key))})]})}function Fo({uniqueValues:e,selectedValues:n,onBulkSelect:r}){const s=m.useMemo(()=>{const o=[],a=Array.from(e.keys()).map(c=>{const i=c instanceof Date?c:new Date(c);return{date:i,original:c,valid:!isNaN(i.getTime())}}).filter(c=>c.valid);a.sort((c,i)=>c.date.getTime()-i.date.getTime());const l=new Map;return a.forEach(c=>{const i=c.date.getFullYear();l.has(i)||l.set(i,[]),l.get(i).push(c)}),l.forEach((c,i)=>{const d={key:String(i),label:String(i),level:0,fullValues:c.map(g=>g.original),children:[]},f=new Map;c.forEach(g=>{const p=g.date.getMonth();f.has(p)||f.set(p,[]),f.get(p).push(g)}),f.forEach((g,p)=>{const y=new Date(i,p).toLocaleString("default",{month:"long"}),u={key:`${i}-${p}`,label:y,level:1,fullValues:g.map(x=>x.original),children:[]},S=new Map;g.forEach(x=>{const P=x.date.getDate();S.has(P)||S.set(P,[]),S.get(P).push(x)}),S.forEach((x,P)=>{const A={key:`${i}-${p}-${P}`,label:String(P),level:2,fullValues:x.map(k=>k.original),children:[]};u.children.push(A)}),d.children.push(u)}),o.push(d)}),o},[e]);return t.jsxs("div",{className:"space-y-1",children:[s.length===0&&t.jsx("div",{className:"p-2 text-sm text-muted-foreground",children:"No dates found"}),s.map(o=>t.jsx(er,{node:o,selectedValues:n,onBulkSelect:r},o.key))]})}const Ct=m.memo(({value:e,onChange:n,options:r,placeholder:s,className:o})=>t.jsxs(B.Select,{value:e,onValueChange:a=>n(a),children:[t.jsx(B.SelectTrigger,{className:o,children:t.jsx(B.SelectValue,{placeholder:s})}),t.jsx(B.SelectContent,{children:r.map(a=>t.jsx(B.SelectItem,{value:a.value,children:a.label},a.value))})]}));Ct.displayName="FilterRuleSelect";const Vt={text:[{label:"Contains",value:"contains"},{label:"Does not contain",value:"doesNotContain"},{label:"Equals",value:"equals"},{label:"Does not equal",value:"notEquals"},{label:"Starts with",value:"startsWith"},{label:"Ends with",value:"endsWith"}],number:[{label:"Equals",value:"equals"},{label:"Greater than",value:"gt"},{label:"Greater or equal",value:"gte"},{label:"Less than",value:"lt"},{label:"Less or equal",value:"lte"},{label:"Between",value:"between"}],date:[{label:"Equals",value:"equals"},{label:"After",value:"gt"},{label:"On or after",value:"gte"},{label:"Before",value:"lt"},{label:"On or before",value:"lte"},{label:"Between",value:"between"}]},Mo=({columnType:e,columnId:n,value:r,onChange:s})=>{const a=Vt[e==="datetime"||e==="date"?"date":e==="number"?"number":"text"]||Vt.text,l=e==="number"?"number":e==="date"||e==="datetime"?"date":"text",c=r?.kind==="group",i=c?r.filters[0]:r?.operator?r:{operator:a[0].value,value:""},d=c?r.filters[1]:{operator:a[0].value,value:""},f=c?r.logic:"OR",g=c,[p,y]=m.useState(i),[u,S]=m.useState(d),[x,P]=m.useState(f),[A,k]=m.useState(g);m.useEffect(()=>{const h=r?.kind==="group",C=h?r.filters[0]:r?.operator?r:{operator:a[0].value,value:""},j=h?r.filters[1]:{operator:a[0].value,value:""},F=h?r.logic:"OR";y(C),S(j),P(F),k(h)},[r,a]);const E=(h,C,j,F)=>{if(!F){s({kind:"rule",operator:h.operator,value:h.value,field:h.field||n,id:h.id||n});return}s({kind:"group",logic:j,filters:[{kind:"rule",operator:h.operator,value:h.value,field:h.field||n,id:h.id||`${n}_1`},{kind:"rule",operator:C.operator,value:C.value,field:C.field||n,id:C.id||`${n}_2`}]})},R=(h,C,j)=>{const F=O=>{const L={...h,value:O};C(L);const ne=A||j;j&&!A&&k(!0),E(j?p:L,j?L:u,x,ne)};if(h.operator==="between"){const O=Array.isArray(h.value)?h.value:[h.value??"",""];return t.jsxs("div",{className:"flex gap-2",children:[t.jsx(Re.Input,{type:l,value:O[0],onChange:L=>F([L.target.value,O[1]]),className:"h-8 shadow-none flex-1",placeholder:"From..."}),t.jsx(Re.Input,{type:l,value:O[1],onChange:L=>F([O[0],L.target.value]),className:"h-8 shadow-none flex-1",placeholder:"To..."})]})}return t.jsx(Re.Input,{type:l,value:h.value??"",onChange:O=>F(O.target.value),className:"h-8 shadow-none",placeholder:"Enter value..."})};return t.jsxs("div",{className:"p-3 space-y-4",children:[t.jsxs("div",{className:"space-y-2",children:[t.jsx(De.Label,{className:"text-xs font-medium text-muted-foreground uppercase",children:"Show rows where:"}),t.jsxs("div",{className:"space-y-2",children:[t.jsx(Ct,{value:p.operator,options:a,onChange:h=>{const C=h,j={...p,operator:C,value:C==="between"?["",""]:p.value};y(j),E(j,u,x,A)},placeholder:"Select operator",className:"h-8 shadow-none"}),R(p,y,!1)]})]}),t.jsx("div",{className:"flex justify-center",children:t.jsxs(nt,{value:x,onValueChange:h=>{P(h),A||k(!0),E(p,u,h,!0)},className:"flex gap-4",children:[t.jsxs("div",{className:"flex items-center space-x-1.5 focus-within:bg-muted/50 px-2 py-0.5 rounded transition",children:[t.jsx(qe,{value:"AND",id:"and",className:"h-3.5 w-3.5"}),t.jsx(De.Label,{htmlFor:"and",className:"text-xs cursor-pointer font-semibold uppercase tracking-wider",children:"And"})]}),t.jsxs("div",{className:"flex items-center space-x-1.5 focus-within:bg-muted/50 px-2 py-0.5 rounded transition",children:[t.jsx(qe,{value:"OR",id:"or",className:"h-3.5 w-3.5"}),t.jsx(De.Label,{htmlFor:"or",className:"text-xs cursor-pointer font-semibold uppercase tracking-wider",children:"Or"})]})]})}),t.jsx("div",{className:`space-y-2 transition-opacity duration-200 ${A?"":"opacity-50"}`,children:t.jsxs("div",{className:"space-y-2",children:[t.jsx(Ct,{value:u.operator,options:a,onChange:h=>{const C=h,j={...u,operator:C,value:C==="between"?["",""]:u.value};S(j),A||k(!0),E(p,j,x,!0)},placeholder:"Select operator",className:"h-8 shadow-none"}),R(u,S,!0)]})}),!A&&t.jsx("div",{className:"text-[10px] text-muted-foreground italic text-center",children:"Select AND/OR or enter a second value to combine filters"})]})};function To({column:e,table:n}){const[r,s]=m.useState(!1),a=n.options.meta?.containerRef;return t.jsxs(Ce.Popover,{open:r,onOpenChange:s,children:[t.jsx(Ce.PopoverTrigger,{asChild:!0,children:t.jsx("div",{className:T.cn("ml-1 cursor-pointer p-1 rounded hover:bg-muted transition focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",e.getIsFiltered()?"bg-primary/10":""),onClick:l=>{l.stopPropagation()},children:t.jsx(Ar,{className:T.cn("w-4 h-4",e.getIsFiltered()?"text-primary fill-primary":"text-muted-foreground")})})}),t.jsx(Ce.PopoverContent,{className:"w-[280px] p-0",align:"start",container:a?.current,collisionBoundary:a?.current,children:r&&t.jsx(tr,{column:e,table:n,setIsOpen:s,filterValue:e.getFilterValue()})})]})}const Ao=["date","datetime"],zo=["boolean"],Oo=["select"],tr=m.memo(({column:e,table:n,setIsOpen:r,filterValue:s})=>{const[o,a]=m.useState("list"),[l,c]=m.useState(""),[i,d]=m.useState(""),[f,g]=m.useState(!0),[p,y]=m.useState(new Map),[u,S]=m.useState([]),k=(n.options.meta?.containerRef?.current||(typeof document<"u"?document.getElementById("ez-table-default"):null))?.clientHeight??500,E=Math.min(500,k>100?k-40:500);m.useEffect(()=>{const w=setTimeout(()=>d(l),200),M=setTimeout(()=>{const D=e.getFacetedUniqueValues();y(D),S(Array.from(D.keys())),g(!1)},50);return()=>{clearTimeout(w),clearTimeout(M)}},[l,e]);const{selectedValues:R,handleSelectAll:h,handleSelect:C,handleBulkSelect:j,clearSelection:F}=Io(s,u),O=m.useMemo(()=>{const w=e.columnDef.meta;return w?.columnType?w.columnType:u.length===0?"text":Po(u)},[e.columnDef.meta,u]),L=Ao.includes(O),ne=zo.includes(O),ae=Oo.includes(O),W=m.useMemo(()=>{const w=[...u].sort((D,z)=>{if(D===z)return 0;if(D==null)return-1;if(z==null)return 1;const $=String(D),K=String(z);return $.localeCompare(K,void 0,{numeric:!0,sensitivity:"base"})});if(!i)return w;const M=i.toLowerCase();return w.filter(D=>String(D).toLowerCase().includes(M))},[u,i]),re=()=>{if(o==="filters"){r(!1);return}let w;R===null?w=i?W:void 0:w=Array.from(R),e.setFilterValue(w?.length===0?void 0:w),r(!1)},ie=()=>{if(o==="filters"){e.setFilterValue(void 0),r(!1);return}F(),c("")},oe=s,le=oe&&typeof oe=="object"&&!Array.isArray(oe),J=w=>{e.setFilterValue(w)},I=m.useMemo(()=>R===null?!0:W.length>0&&W.every(w=>R.has(w)),[R,W]),ge=m.useMemo(()=>R===null?W.length>0:W.some(w=>R.has(w)),[R,W]),b=w=>{i?j(W,w):h(w)};return f?t.jsxs("div",{className:"h-[300px] flex flex-col items-center justify-center space-y-3 bg-popover text-popover-foreground",children:[t.jsx(N.LoaderCircle,{className:"h-8 w-8 animate-spin text-primary"}),t.jsx("span",{className:"text-sm text-muted-foreground animate-pulse font-medium",children:"Calculating filter values..."})]}):t.jsx("div",{className:"flex flex-col min-h-0 overflow-hidden",style:{maxHeight:`${E}px`},children:o==="filters"?t.jsxs("div",{className:"flex flex-col animate-in fade-in slide-in-from-right-2 duration-200",children:[t.jsxs("div",{className:"p-3 border-b flex items-center space-x-2 bg-muted/30",children:[t.jsx(U.Button,{variant:"ghost",size:"sm",onClick:()=>a("list"),className:"h-6 w-6 p-0",children:t.jsx(Bt.ChevronLeft,{className:"h-4 w-4"})}),t.jsxs("span",{className:"font-semibold text-sm capitalize",children:[O," Filters"]})]}),t.jsx("div",{className:"flex-1 overflow-y-auto min-h-0",children:t.jsx(Mo,{columnType:O,columnId:e.id,value:le?oe:void 0,onChange:J})}),t.jsx(yt,{onClear:ie,onApply:re,className:"border-t mt-auto"})]}):t.jsxs("div",{className:"flex flex-col animate-in fade-in slide-in-from-left-2 duration-200 flex-1 min-h-0",children:[e.getCanPin()&&t.jsxs("div",{className:"p-1 border-b border-border space-y-0.5",children:[["left","right"].map(w=>e.getIsPinned()!==w&&t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 text-xs font-medium cursor-pointer hover:bg-muted rounded",onClick:()=>{e.pin(w),r(!1)},children:[t.jsx(mt,{className:T.cn("w-3.5 h-3.5",w==="left"?"rotate-[-45deg]":"rotate-[45deg]")})," Pin to ",w.charAt(0).toUpperCase()+w.slice(1)]},w)),e.getIsPinned()&&t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 text-xs font-medium text-red-500 cursor-pointer hover:bg-red-50 dark:hover:bg-red-900/20 rounded",onClick:()=>{e.pin(!1),r(!1)},children:[t.jsx(qt,{className:"w-3.5 h-3.5"})," Unpin Column"]})]}),!ne&&!ae&&t.jsxs("div",{className:"p-2 border-b border-border flex justify-between items-center cursor-pointer hover:bg-muted/50 transition group",onClick:()=>a("filters"),children:[t.jsxs("span",{className:"text-sm font-medium capitalize",children:[O," Filters"]}),t.jsx(N.ChevronRight,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground"})]}),t.jsx("div",{className:"flex flex-col flex-1 overflow-hidden min-h-0",children:ne?t.jsx(Xn,{column:e}):ae?t.jsx(Zn,{column:e,allAvailableValues:u}):t.jsxs("div",{className:"flex flex-col flex-1 min-h-0 pointer-events-auto",children:[t.jsxs("div",{className:"sticky top-0 bg-popover text-popover-foreground border-b z-20",children:[t.jsx("div",{className:"p-2",children:t.jsxs("div",{className:"relative",children:[t.jsx(B.Search,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),t.jsx(Re.Input,{placeholder:"Search...",value:l,onChange:w=>c(w.target.value),className:"pl-9 h-9",autoFocus:!0})]})}),t.jsx(Qn,{checked:I,indeterminate:ge&&!I,onSelectAll:b,showSearchResults:!!i})]}),L?t.jsx("div",{className:"flex-1 overflow-y-auto px-2 pb-2 min-h-0 pt-2",children:t.jsx(Fo,{uniqueValues:p,selectedValues:R,onBulkSelect:j})}):t.jsx(Jn,{sortedUniqueValues:W,selectedValues:R,handleSelect:C,formatter:w=>{const M=e.columnDef.meta;if(M?.columnType==="number"){if(M?.numberOptions?.format==="currency")return T.formatNumber(w,{format:"currency",...M.numberOptions});if(M?.numberOptions?.format==="percentage")return T.formatNumber(w,{format:"percentage",...M.numberOptions});if(M?.numberOptions?.format==="float"||M?.numberOptions?.format==="integer")return T.formatNumber(w,{format:M.numberOptions.format,...M.numberOptions})}return String(w)}})]})}),t.jsx(yt,{onClear:ie,onApply:re})]})})});tr.displayName="FilterContent";function _o({header:e,children:n}){const r=e.column,s=r.getIsPinned(),o=r.getCanGroup(),a=r.getIsGrouped();return t.jsxs(te.ContextMenu,{children:[t.jsx(te.ContextMenuTrigger,{asChild:!0,children:n}),t.jsxs(te.ContextMenuContent,{className:"w-48",children:[o&&t.jsxs(t.Fragment,{children:[t.jsx(te.ContextMenuItem,{onClick:()=>r.toggleGrouping(),className:"gap-2",children:a?t.jsxs(t.Fragment,{children:[t.jsx($r,{className:"w-3.5 h-3.5"}),"Ungroup ",r.id]}):t.jsxs(t.Fragment,{children:[t.jsx(Mr,{className:"w-3.5 h-3.5 text-zinc-500/70"}),"Group by column"]})}),t.jsx(te.ContextMenuSeparator,{})]}),t.jsxs(te.ContextMenuItem,{onClick:()=>r.pin("left"),disabled:s==="left",className:"gap-2",children:[t.jsx(mt,{className:"w-3.5 h-3.5 rotate-[-45deg]"}),"Pin to Left"]}),t.jsxs(te.ContextMenuItem,{onClick:()=>r.pin("right"),disabled:s==="right",className:"gap-2",children:[t.jsx(mt,{className:"w-3.5 h-3.5 rotate-[45deg]"}),"Pin to Right"]}),s&&t.jsxs(t.Fragment,{children:[t.jsx(te.ContextMenuSeparator,{}),t.jsxs(te.ContextMenuItem,{onClick:()=>r.pin(!1),className:"text-red-600 focus:text-red-700 focus:bg-red-50 dark:focus:bg-red-900/20 gap-2",children:[t.jsx(qt,{className:"w-3.5 h-3.5"}),"Unpin Column"]})]})]})]})}const nr=m.memo(({header:e,density:n,onAutoFit:r,columnPinning:s})=>{const o=e.getContext().table.options.meta,a=e.id==="select"||e.id==="actions",l=e.column.columnDef.meta,c=e.column.columnDef,i=o?.enableColumnReorder!==!1&&!a&&l?.allowReordering!==!1&&c?.allowReordering!==!1,f=!(e.column.getCanGroup()&&!a)&&!i||e.isPlaceholder,{attributes:g,listeners:p,setNodeRef:y,isDragging:u}=te.useDraggable({id:e.column.id,disabled:f,data:{type:"column",columnId:e.column.id}}),{setNodeRef:S,isOver:x}=te.useDroppable({id:`header-${e.column.id}`,disabled:f,data:{type:"header",columnId:e.column.id}}),P=e.column.getIsPinned(),A=m.useMemo(()=>{if(!P)return{};const F=P==="right"?e.column.getAfter("right"):e.column.getStart("left"),O=e.getContext().table.options.meta;return Kn(P,F,O?.dir)},[P,e.column,s]),k=m.useRef(0),E=m.useCallback(F=>{const O=Date.now();O-k.current<300&&r?.(e.column.id),k.current=O,e.getResizeHandler()(F)},[e,r]),R=e.column.columnDef.meta?.align||"left",h=e.column.columnDef.meta?.gridLines||e.getContext().table.options.meta?.gridLines,C=o?.focusedCell?.c===e.index,j=t.jsxs("div",{ref:F=>{y(F),S(F)},className:T.cn("relative h-full font-semibold text-foreground flex items-center select-none group/header transition-all flex-shrink-0 px-4",o?.dir==="rtl"?"border-l border-border/50":"border-r border-border/50",qn(n),u&&"opacity-50 bg-muted pointer-events-none",x&&"ring-2 ring-inset ring-primary bg-accent/50",e.column.getIsGrouped()&&"bg-accent/30",C&&"bg-primary/5 text-primary border-b-2 border-primary",R==="center"&&"justify-center text-center",R==="right"&&"justify-end text-right",Yn(P),(h==="Both"||h==="Vertical")&&(o?.dir==="rtl"?"border-l border-border":"border-r border-border")),style:{width:`calc(var(--header-${e.id}-size) * 1px)`,minWidth:(e.column.columnDef.minSize??0)>0?e.column.columnDef.minSize:void 0,maxWidth:(e.column.columnDef.maxSize??0)>0&&e.column.columnDef.maxSize!==Number.MAX_SAFE_INTEGER?e.column.columnDef.maxSize:void 0,...A},role:"columnheader","aria-colindex":e.index+1,"aria-sort":e.column.getIsSorted()==="asc"?"ascending":e.column.getIsSorted()==="desc"?"descending":"none",children:[t.jsxs("div",{className:T.cn("flex items-center w-full h-full gap-2",R==="center"&&"justify-center relative",R==="right"&&"justify-end"),children:[!f&&t.jsx("div",{...g,...p,className:T.cn("cursor-grab active:cursor-grabbing p-1 text-muted-foreground hover:text-foreground transition-colors z-50",R==="center"?o?.dir==="rtl"?"absolute right-1 top-1/2 -translate-y-1/2":"absolute left-1 top-1/2 -translate-y-1/2":o?.dir==="rtl"?"-mr-2 ml-1":"-ml-2 mr-1"),children:t.jsx(St,{className:"w-3.5 h-3.5"})}),t.jsxs("div",{className:T.cn("flex items-center min-w-0 gap-2 cursor-pointer group h-full select-none",R==="center"&&"justify-center",R==="right"&&"justify-end",e.column.getCanSort()?"hover:text-foreground/80":"",R!=="center"&&R!=="right"&&"flex-1"),onClick:e.column.getToggleSortingHandler(),tabIndex:e.column.getCanSort()?0:-1,role:"button","aria-label":`Sort by ${e.column.columnDef.header}`,children:[R==="center"&&e.column.getIsSorted()&&t.jsx("div",{className:"w-4 h-4 flex-shrink-0","aria-hidden":"true"}),t.jsx("span",{className:"truncate min-w-0",children:!e.isPlaceholder&&de.flexRender(e.column.columnDef.header,e.getContext())}),e.column.getIsSorted()==="asc"&&t.jsx(Cr,{className:"w-4 h-4 text-foreground flex-shrink-0"}),e.column.getIsSorted()==="desc"&&t.jsx(wr,{className:"w-4 h-4 text-foreground flex-shrink-0"})]}),!e.isPlaceholder&&e.column.getCanFilter()&&t.jsx("div",{className:T.cn(o?.dir==="rtl"?"ml-2":"mr-2",R==="center"&&(o?.dir==="rtl"?"absolute left-1 top-1/2 -translate-y-1/2 ml-0":"absolute right-1 top-1/2 -translate-y-1/2 mr-0")),children:t.jsx(To,{column:e.column,table:e.getContext().table})})]}),e.column.getCanResize()&&t.jsx("div",{onMouseDown:E,onTouchStart:e.getResizeHandler(),className:T.cn("absolute top-0 h-full w-4 cursor-col-resize hover:bg-primary/10 touch-none select-none z-30 transition-colors",o?.dir==="rtl"?"left-0":"right-0",e.column.getIsResizing()?"bg-primary w-1":""),role:"separator"})]});return e.column.getCanPin()||e.column.getCanGroup()?t.jsx(_o,{header:e,children:j}):j});nr.displayName="EzDraggableHeader";const Lo=m.memo(Vo);function Vo({table:e,enableStickyHeader:n,classNames:r,density:s,autoFitColumn:o,slots:a}){return t.jsx("div",{className:T.cn(Hn,"w-full bg-background shadow-sm",wt.bottom,n&&"sticky top-0 z-20",r?.header),role:"rowgroup",children:e.getHeaderGroups().map(l=>t.jsx("div",{className:T.cn("flex w-full border-border/50 last:border-0 h-full",wt.bottom),role:"row",children:a?.header?t.jsx("div",{className:"contents",children:(()=>{const c=a.header;return l.headers.map(i=>t.jsx(c,{header:i,table:e},i.id))})()}):l.headers.map(c=>t.jsx(nr,{header:c,density:s,onAutoFit:o,columnPinning:e.getState().columnPinning},c.id))},l.id))})}const rr=m.memo(({isLoading:e,rowCount:n,renderNoRowsOverlay:r,slots:s,localization:o})=>{if(e){const a=s?.loading||s?.loadingOverlay;return a?t.jsx(a,{}):t.jsx("div",{className:"absolute inset-x-0 top-0 z-50 flex flex-col items-center justify-center bg-white/50 dark:bg-black/50 backdrop-blur-[1px] min-h-[200px]",children:t.jsxs("div",{className:"flex flex-col items-center gap-3 py-10",children:[t.jsx("div",{className:"w-8 h-8 border-4 border-blue-500 border-t-transparent rounded-full animate-spin"}),t.jsx("span",{className:"text-sm font-medium text-zinc-600 dark:text-zinc-400",children:o?.loadingLabel||"Loading data..."})]})})}if(n===0){const a=s?.emptyRecord||s?.noRowsOverlay;return a?t.jsx(a,{}):t.jsx("div",{className:"absolute inset-0 flex flex-col items-center justify-center p-10 text-center",children:r?r():t.jsxs("div",{className:"flex flex-col items-center gap-2 text-zinc-400",children:[t.jsx(Fe.Funnel,{className:"w-12 h-12 opacity-10 mb-2"}),t.jsx("span",{className:"text-sm font-medium",children:o?.noRowsLabel||"No results found"}),t.jsx("p",{className:"text-xs",children:"Adjust your filters or search to see more results"})]})})}return null});rr.displayName="EzTableOverlays";const $o=({children:e,text:n})=>{const r=m.useRef(null),[s,o]=m.useState(!1),a=()=>r.current?r.current.scrollWidth>r.current.clientWidth+1:!1;m.useEffect(()=>{if(a(),r.current){const i=new ResizeObserver(a);return i.observe(r.current),()=>i.disconnect()}},[e,n]);const l=()=>{a()&&o(!0)},c=()=>{o(!1)};return t.jsx(U.TooltipProvider,{children:t.jsxs(U.Tooltip,{delayDuration:300,open:s,children:[t.jsx(U.TooltipTrigger,{asChild:!0,children:t.jsx("div",{ref:r,className:"truncate w-full cursor-default min-w-0",onMouseEnter:l,onMouseLeave:c,children:e})}),t.jsx(U.TooltipContent,{children:t.jsx("p",{className:"max-w-sm break-words",children:n||e})})]})})},sr=m.memo(({cell:e,virtualRowIndex:n,cellIndex:r,isPinned:s,isSelected:o,isFocused:a,density:l,onCellMouseDown:c,onCellMouseEnter:i,onCellClick:d,onCellDoubleClick:f,tableMeta:g,rowDepth:p,renderDetailPanel:y,isFirstColumn:u,columnPinning:S})=>{const x=m.useMemo(()=>({width:`calc(var(--col-${e.column.id}-size) * 1px)`,minWidth:(e.column.columnDef.minSize??0)>0?e.column.columnDef.minSize:void 0,maxWidth:(e.column.columnDef.maxSize??0)>0&&e.column.columnDef.maxSize!==Number.MAX_SAFE_INTEGER?e.column.columnDef.maxSize:void 0,...Kn(s,s==="right"?e.column.getAfter("right"):e.column.getStart("left"),g?.dir),paddingLeft:g?.dir!=="rtl"&&(e.column.id==="firstName"||e.column.id==="name"||e.column.id==="id")?`${p*20+16}px`:void 0,paddingRight:g?.dir==="rtl"&&(e.column.id==="firstName"||e.column.id==="name"||e.column.id==="id")?`${p*20+16}px`:void 0}),[e.column.id,s,p,S]),P=t.jsx(t.Fragment,{children:e.getIsGrouped()?t.jsxs("span",{className:"font-semibold",children:[de.flexRender(e.column.columnDef.cell,e.getContext()),t.jsxs("span",{className:"text-muted-foreground font-normal ml-1",children:["(",e.row.subRows.length,")"]})]}):e.getIsAggregated()?t.jsx("span",{className:T.cn("font-medium tabular-nums",g?.enableGroupFooters&&"text-primary/80 bg-primary/5 px-2 py-0.5 rounded"),children:de.flexRender(e.column.columnDef.aggregatedCell??e.column.columnDef.cell,e.getContext())}):e.getIsPlaceholder()?null:de.flexRender(e.column.columnDef.cell,e.getContext())}),A=e.column.columnDef.meta?.clipMode,k=m.useMemo(()=>{if(!g?.validate||!g?.validationAttempted)return{isValid:!0};const R=e.column.id,h=e.getValue(),C=e.row.original;return g.validate(R,h,C)},[g,e,n,e.getValue()]),E=a?{boxShadow:k.isValid?"inset 0 0 0 2px hsl(var(--primary))":"inset 0 0 0 2px hsl(var(--destructive))",zIndex:20,position:"relative"}:{};return t.jsxs("div",{onMouseDown:R=>{R.button===0&&(c(n,r,R),g?.setFocusedCell?.({r:n,c:r}))},onMouseEnter:()=>i(n,r),onClick:R=>{d?.({row:e.row.original,columnId:e.column.id,cellValue:e.getValue(),event:R,rowIndex:n,colIndex:r}),a&&g?.toggleRowEditing&&!g?.editingRows?.[n]&&g.toggleRowEditing(n,!0)},onDoubleClick:R=>f?.({row:e.row.original,columnId:e.column.id,cellValue:e.getValue(),event:R,rowIndex:n,colIndex:r}),className:T.cn("px-4 text-sm text-foreground flex select-none min-h-full min-w-0 flex-shrink-0 relative",a&&"z-20",a&&k.isValid&&"bg-primary/5",a&&!k.isValid&&"bg-destructive/5",!k.isValid&&"ring-1 ring-inset ring-destructive",!a&&(g?.dir==="rtl"?"border-l border-border/50":"border-r border-border/50"),e.column.columnDef.meta?.wrapText?"items-start pt-3":"items-center",Un(l),ko(o,a),Ro(e.column.columnDef.meta?.align,g?.dir),Eo(e.column.columnDef.meta?.wrapText?"wrap":A==="ellipsis-tooltip"?"ellipsis":"truncate",A==="ellipsis-tooltip"),Yn(s,g?.dir),!a&&Do(e.column.columnDef.meta?.gridLines||g?.gridLines,void 0,g?.dir),typeof g?.classNames?.cell=="function"?g.classNames.cell(e):g?.classNames?.cell),style:{...x,...E},role:"cell","data-column-id":e.column.id,children:[e.getIsGrouped()||e.row.getCanExpand()&&u||y&&u?t.jsx("button",{className:T.cn(g?.dir==="rtl"?"ml-2":"mr-2","p-1 hover:bg-muted rounded transition-transform",!e.row.getCanExpand()&&!y&&"invisible"),onClick:R=>{R.stopPropagation(),e.row.getToggleExpandedHandler()()},children:e.row.getIsExpanded()?t.jsx(Gt.ChevronDown,{className:"w-4 h-4"}):t.jsx(N.ChevronRight,{className:"w-4 h-4"})}):null,k.isValid?A==="ellipsis-tooltip"?t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx($o,{text:typeof e.getValue()=="string"?e.getValue():void 0,children:P})}):P:t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx(me.TooltipWrapper,{enabled:!0,side:g?.dir==="rtl"?"left":"right",className:"bg-destructive text-destructive-foreground border-destructive/20 shadow-xl z-50",content:t.jsxs(t.Fragment,{children:[t.jsx("p",{className:"text-[10px] font-bold uppercase tracking-wider mb-0.5 opacity-80",children:"Validation Error"}),t.jsx("p",{className:"text-xs font-medium",children:k.error})]}),children:t.jsx("div",{className:"w-full h-full flex items-center",children:P})})})]})});sr.displayName="EzTableCell";const or=m.memo(({virtualRow:e,row:n,table:r,density:s,enableContextMenu:o,onContextMenuItemClick:a,isCellSelected:l,onCellMouseDown:c,onCellMouseEnter:i,onCellClick:d,onCellDoubleClick:f,focusedCell:g,renderDetailPanel:p,measureElement:y,columnVirtualizer:u,onRowClick:S,onRowDoubleClick:x,onRowMouseEnter:P,onRowMouseLeave:A,columnPinning:k})=>{const E=u?.getVirtualItems()||n.getVisibleCells().map((j,F)=>({index:F})),R=n.getVisibleCells(),{paddingLeft:h,paddingRight:C}=m.useMemo(()=>!u||E.length===0?{paddingLeft:0,paddingRight:0}:{paddingLeft:E[0]?.start||0,paddingRight:u.getTotalSize()-(E[E.length-1]?.end||0)},[u,E]);return t.jsx(te.EzContextMenu,{row:n,enabled:o,onAction:(j,F)=>{j==="pin-top"?n.pin("top"):j==="pin-bottom"?n.pin("bottom"):j==="unpin"?n.pin(!1):a?.(j,F)},children:t.jsxs("div",{"data-index":e.index,ref:y,className:"absolute top-0 left-0 w-full flex flex-col group border-b border-border",role:"row","aria-rowindex":e.index+1,style:{transform:`translateY(${e.start}px)`,...n.getIsExpanded()||R.some(j=>j.column.columnDef.meta?.wrapText)?{minHeight:`${e.size}px`}:{height:`${e.size}px`}},onClick:j=>S?.({row:n.original,data:n.original,rowIndex:n.index,originalEvent:j}),onDoubleClick:j=>x?.({row:n.original,data:n.original,rowIndex:n.index,originalEvent:j}),onMouseEnter:j=>P?.(n.index,j),onMouseLeave:j=>A?.(n.index,j),children:[t.jsxs("div",{className:T.cn("flex items-stretch w-full min-w-max hover:bg-muted/50 transition-[background-color] duration-200",n.getIsSelected()&&"bg-muted",Un(s),typeof r.options.meta?.classNames?.row=="function"?r.options.meta.classNames.row(n):r.options.meta?.classNames?.row),children:[h>0&&t.jsx("div",{style:{flex:`0 0 ${h}px`}}),E.map(j=>{const F=R[j.index];return F?t.jsx(sr,{cell:F,virtualRowIndex:e.index,cellIndex:j.index,density:s,isPinned:F.column.getIsPinned(),isSelected:l(e.index,j.index),isFocused:g?.r===e.index&&g?.c===j.index,onCellMouseDown:(O,L,ne)=>c(O,L,ne),onCellMouseEnter:i,onCellClick:d,onCellDoubleClick:f,tableMeta:r.options.meta,rowDepth:n.depth,renderDetailPanel:p,isFirstColumn:j.index===0,table:r,columnPinning:k},F.id):null}),C>0&&t.jsx("div",{style:{flex:`0 0 ${C}px`}})]}),n.getIsExpanded()&&p&&t.jsx("div",{className:"w-full bg-muted/30 border-t border-border",children:p({row:n})})]})})});or.displayName="EzTableRow";function Go({table:e,rows:n,rowVirtualizer:r,columnVirtualizer:s,density:o,classNames:a,isLoading:l,enableInfiniteScroll:c,isPending:i,renderNoRowsOverlay:d,slots:f,localization:g,enableContextMenu:p,onContextMenuItemClick:y,isCellSelected:u,focusedCell:S,onCellMouseDown:x,onCellMouseEnter:P,onCellClick:A,onCellDoubleClick:k,renderDetailPanel:E,onRowClick:R,onRowDoubleClick:h}){const C=!!((l||i)&&!c);return t.jsxs("div",{className:T.cn("relative w-full",a?.body),style:{height:`${r?.getTotalSize()??0}px`,minHeight:"0",flexShrink:"0"},children:[t.jsx(rr,{isLoading:C,rowCount:n.length,renderNoRowsOverlay:d,slots:f,localization:g}),r?.getVirtualItems().map(j=>{const F=n[j.index],O=f?.row||or;return t.jsx(O,{virtualRow:j,row:F,table:e,density:o,enableContextMenu:!!p,onContextMenuItemClick:y,isCellSelected:u,focusedCell:S,onCellMouseDown:x,onCellMouseEnter:P,onCellClick:A,onCellDoubleClick:k,renderDetailPanel:E,measureElement:r.measureElement,columnVirtualizer:s,onRowClick:R,onRowDoubleClick:h,columnPinning:e.getState().columnPinning,tableMeta:e.options.meta},F.id)})]})}const Bo=({pageIndex:e,pageSize:n,pageCount:r,totalRows:s,onPageChange:o,onPageSizeChange:a,canPreviousPage:l,canNextPage:c,localization:i,changes:d})=>t.jsxs("div",{className:"flex items-center justify-between w-full px-4 py-3 border-t border-border bg-background",children:[t.jsxs("div",{className:"flex items-center gap-6",children:[t.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[t.jsx("span",{className:"hidden sm:inline whitespace-nowrap",children:i?.rowsPerPageLabel||"Rows per page"}),t.jsx("span",{className:"sm:hidden",children:i?.rowsLabel||"Rows"}),t.jsxs(B.Select,{value:`${n}`,onValueChange:f=>a(Number(f)),children:[t.jsx(B.SelectTrigger,{className:"h-8 w-[70px] bg-muted/20 border-border",children:t.jsx(B.SelectValue,{placeholder:n.toString()})}),t.jsx(B.SelectContent,{children:[10,20,30,40,50,100].map(f=>t.jsx(B.SelectItem,{value:`${f}`,children:f},f))})]})]}),t.jsx("div",{className:"h-4 w-px bg-border hidden sm:block"}),t.jsxs("div",{className:"hidden md:flex items-center gap-2 text-sm text-muted-foreground font-medium bg-muted/30 px-3 py-1 rounded-full border border-border/50",children:[t.jsxs("div",{children:[i?.totalLabel||"Total"," ",t.jsx("span",{className:"text-foreground font-bold",children:s})," ",i?.recordsLabel||"records"]}),d&&(d.added>0||d.edited>0||d.deleted>0)&&t.jsxs("div",{className:"flex items-center gap-2 border-l border-border/50 pl-2 ml-1",children:[d.added>0&&t.jsxs("span",{className:"text-success dark:text-success/80 font-bold",children:[d.added," added"]}),d.edited>0&&t.jsxs("span",{className:"text-warning dark:text-warning/80 font-bold",children:[d.edited," edited"]}),d.deleted>0&&t.jsxs("span",{className:"text-error dark:text-error/80 font-bold",children:[d.deleted," deleted"]})]})]}),i?.pagerMessage&&t.jsx("div",{className:"hidden lg:block text-sm text-muted-foreground italic",children:i.pagerMessage})]}),t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsxs("div",{className:"flex items-center text-sm font-medium text-foreground whitespace-nowrap bg-muted/20 px-3 py-1 rounded-md border border-border/50 gap-1.5",children:[t.jsx("span",{className:"text-muted-foreground font-normal",children:i?.pageLabel||"Page"}),t.jsx("span",{className:"text-primary font-black px-0.5",children:e+1}),t.jsx("span",{className:"text-muted-foreground font-normal",children:i?.ofLabel||"of"}),t.jsx("span",{className:"font-bold px-0.5",children:r})]}),t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsxs(U.Button,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex bg-background border-border hover:bg-muted",onClick:()=>o(0),disabled:!l,title:i?.firstPage||"First Page",children:[t.jsx(jr,{className:"h-4 w-4"}),t.jsx("span",{className:"sr-only",children:"Go to first page"})]}),t.jsxs(U.Button,{variant:"outline",className:"h-8 w-8 p-0 bg-background border-border hover:bg-muted",onClick:()=>o(e-1),disabled:!l,title:i?.previousPage||"Previous Page",children:[t.jsx(Bt.ChevronLeft,{className:"h-4 w-4"}),t.jsx("span",{className:"sr-only",children:"Go to previous page"})]})]}),t.jsxs("div",{className:"flex items-center gap-2 px-2 h-8 bg-muted/20 rounded-md border border-border/50 hover:border-primary/50 transition-colors",children:[t.jsx("span",{className:"text-[10px] hidden sm:inline text-muted-foreground uppercase font-black tracking-tighter",children:i?.goToLabel||"Go To"}),t.jsx(Re.Input,{type:"number",min:1,max:r,value:e+1,onFocus:f=>f.target.select(),onClick:f=>f.currentTarget.select(),onChange:f=>{const g=f.target.value;if(g==="")return;const p=Number(g)-1;p>=0&&p<r&&o(p)},className:"h-6 w-10 p-0 text-center border-none bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0 text-sm font-bold"})]}),t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsxs(U.Button,{variant:"outline",className:"h-8 w-8 p-0 bg-background border-border hover:bg-muted",onClick:()=>o(e+1),disabled:!c,title:i?.nextPage||"Next Page",children:[t.jsx(N.ChevronRight,{className:"h-4 w-4"}),t.jsx("span",{className:"sr-only",children:"Go to next page"})]}),t.jsxs(U.Button,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex bg-background border-border hover:bg-muted",onClick:()=>o(r-1),disabled:!c,title:i?.lastPage||"Last Page",children:[t.jsx(Rr,{className:"h-4 w-4"}),t.jsx("span",{className:"sr-only",children:"Go to last page"})]})]})]})]})]});function qo({table:e,pagerMessage:n,enableStickyPagination:r,classNames:s,localization:o,changes:a}){return t.jsx("div",{className:T.cn("w-full bg-background border-t border-border z-30",r&&"sticky bottom-0 shadow-[0_-4px_12px_rgba(0,0,0,0.1)] dark:shadow-[0_-4px_12px_rgba(0,0,0,0.3)]",s?.footer),children:t.jsx(Bo,{pageIndex:e.getState().pagination.pageIndex,pageSize:e.getState().pagination.pageSize,pageCount:e.getPageCount(),totalRows:e.getPrePaginationRowModel().rows.length,canNextPage:e.getCanNextPage(),canPreviousPage:e.getCanPreviousPage(),onPageChange:e.setPageIndex,onPageSizeChange:e.setPageSize,localization:{...o,pagerMessage:n},changes:a})})}const Ho=e=>m.useMemo(()=>{const n=e.getFlatHeaders(),r={};for(let s=0;s<n.length;s++){const o=n[s];r[`--header-${o.id}-size`]=o.getSize(),r[`--col-${o.column.id}-size`]=o.column.getSize()}return r},[e.getState().columnSizing,e.getState().columnSizingInfo,e.getState().columnVisibility,e.getFlatHeaders()]),Wo=(e=[])=>new pr.Store({data:e,globalFilter:"",columnFilters:[],sorting:[],pagination:{pageIndex:0,pageSize:10},rowSelection:{},columnVisibility:{},isPending:!1}),ar=m.createContext(null),Uo=m.createContext(null),Ko=({data:e,children:n})=>{const r=m.useMemo(()=>Wo(e),[]);return m.useEffect(()=>{r.setState(s=>({...s,data:e}))},[e,r]),t.jsx(ar.Provider,{value:r,children:n})},Yo=e=>{const n=m.useContext(ar);if(!n)throw new Error("EzTable components must be wrapped in <EzTable.Root>");return hr.useStore(n,e)},Qo=m.lazy(()=>Promise.resolve().then(()=>require("./EzGroupingPanel-Dw4bbefz.cjs")).then(e=>({default:e.EzGroupingPanel}))),Xo=m.lazy(()=>Promise.resolve().then(()=>require("./EzTableEditDialog-ftpeOKI_.cjs")).then(e=>({default:e.EzTableEditDialog}))),Zo=m.lazy(()=>Promise.resolve().then(()=>require("./EzTableToolbar-qlNVxvsL.cjs")).then(e=>({default:e.EzTableToolbar}))),Jo=m.lazy(()=>Promise.resolve().then(()=>require("./EzTableFooter-BiyI1m1O.cjs")).then(e=>({default:e.EzTableFooter}))),Mt=m.forwardRef((e,n)=>{const r=T.useEzServiceRegistry(),s=Bn(e),o=m.useRef(null),a=m.useRef({width:0,height:0}),l=m.useRef(null);xo({containerRef:o,containerSizeRef:a,resizeTimeoutRef:l,onResize:()=>{s.rowVirtualizer&&s.rowVirtualizer.measure()}},[s.rowVirtualizer]);const{state:{rows:c,rangeSelection:i,canUndo:d,canRedo:f,changes:g,batchChanges:p,density:y,isPending:u,focusedCell:S,globalFilter:x,pagerMessage:P},actions:{undo:A,redo:k,resetData:E,toggleRowEditing:R,autoFitColumn:h,onCellMouseDown:C,onCellMouseEnter:j,setGlobalFilter:F,getData:O,onRowClick:L,onRowDoubleClick:ne},refs:{parentRef:ae,rowVirtualizer:W,columnVirtualizer:re},config:{enableStickyHeader:ie,enableChangeTracking:oe,enableEditing:le,editSettings:J},table:I,dir:ge,imperativeAPI:{addRecord:b,updateRecord:w}}=s,{validate:M,validateForm:D}=Hr({validateField:e.validateField,editSettings:J}),[z,$]=m.useState(!1);m.useEffect(()=>{if(g.added+g.edited+g.deleted>0&&le){const G=H=>(H.preventDefault(),H.returnValue="","");return window.addEventListener("beforeunload",G),()=>window.removeEventListener("beforeunload",G)}},[g,le]),m.useEffect(()=>{e.onDataChange&&e.onDataChange(g)},[g,e.onDataChange]);const{onRowClick:K,onRowDoubleClick:Y,onCellClick:ee,onCellDoubleClick:ce}=bo({table:I,editSettings:J,toggleRowEditing:R,onRowClickProp:L,onRowDoubleClickProp:ne}),Se=Ho(I),Q=Ht({initialMode:"view"});vo({dialogState:Q,isDialogMode:J?.mode==="Dialog",rows:c,table:I});const ot=m.useCallback(_=>{Q.mode==="create"?b(_):(w(Q.meta.index,_),R(Q.meta.index,!1)),Q.close()},[Q,b,w,R]),Oe=m.useCallback(()=>{J?.mode==="Dialog"?Q.open("create",{}):b({})},[J?.mode,b]),_e=m.useCallback(()=>{if(e.onBatchSave){const _=[...p.addedRecords,...p.changedRecords],H=I.getVisibleLeafColumns().map(X=>X.id).filter(X=>X!=="select"&&X!=="actions");for(const X of _)if(!D(X,H).__form.isValid){$(!0);return}e.onBatchSave(p);const q=r.get("NotificationService");if(q&&q.add({type:"success",message:`Successfully saved ${p.addedRecords.length+p.changedRecords.length} changes.`,duration:5e3}),E(),$(!1),I.options.meta?.toggleRowEditing){const X=I.options.meta.editingRows||{};Object.keys(X).forEach(se=>{I.options.meta?.toggleRowEditing?.(parseInt(se),!1)})}}},[e.onBatchSave,p,E,I.options.meta,D,I]),Le=m.useCallback(()=>{if(e.onBatchDiscard&&e.onBatchDiscard(),E(),$(!1),I.options.meta?.toggleRowEditing){const _=I.options.meta.editingRows||{};Object.keys(_).forEach(G=>{I.options.meta?.toggleRowEditing?.(parseInt(G),!1)})}},[e.onBatchDiscard,E,I.options.meta]),at=m.useMemo(()=>({...s.imperativeAPI,...s.baseApi,validateField:_=>{let G={};if(J?.mode==="Dialog"&&Q.isOpen)G=Q.data;else{const q=I.options.meta?.editingRows||{},X=Object.keys(q).find(se=>q[se]);if(X){const se=parseInt(X),Z=O();Z&&Z[se]&&(G=Z[se])}}const{isValid:H}=M(_,G[_],G);return H},validateEditForm:()=>{const _=I.getVisibleLeafColumns();let G=!0;return _.forEach(H=>{const q=H.id;let X={};if(J?.mode==="Dialog"&&Q.isOpen)X=Q.data;else{const Z=I.options.meta?.editingRows||{},fe=Object.keys(Z).find(he=>Z[he]);fe&&O()[parseInt(fe)]&&(X=O()[parseInt(fe)])}const{isValid:se}=M(q,X[q],X);se||(G=!1)}),G}}),[s,O,J,Q,I,M]);I.options.meta={...I.options.meta,...e,validate:M,validationAttempted:z},xr.useImperativeAPI(n,at);const[Ve,We]=m.useState(null),{handleDragEnd:$e,handleKeyDown:je,handleDragStart:it}=Br({onDragStart:_=>{We(_.active.id)},onDragEnd:_=>{We(null);const{active:G,over:H}=_;if(!H)return;const q=G.id,X=[...I.getState().grouping];if(H.id==="grouping-panel")!X.includes(q)&&e.enableGrouping&&I.setGrouping([...X,q]);else if(typeof H.id=="string"&&H.id.startsWith("header-")){const se=H.id.replace("header-","");if(q!==se){if(e.enableColumnReorder!==!1){const Z=I.getState().columnOrder.length>0?I.getState().columnOrder:I.getAllLeafColumns().map(pe=>pe.id),fe=Z.indexOf(q),he=Z.indexOf(se);if(fe!==-1&&he!==-1&&fe!==he){const pe=[...Z];pe.splice(fe,1),pe.splice(he,0,q),I.setColumnOrder(pe)}}else if(e.enableGrouping){let Z=[...X];Z.includes(se)||Z.push(se),Z.includes(q)&&(Z=Z.filter(he=>he!==q));const fe=Z.indexOf(se);Z.splice(fe+0,0,q),I.setGrouping(Z)}}}},onKeyDown:_=>{const G=I.options.meta;if(G?.navigateFocus){if(_.target.tagName==="INPUT"){_.key==="Enter"&&(_.preventDefault(),_.target.blur(),G.navigateFocus(1,0)),_.key==="Tab"&&(_.preventDefault(),_.target.blur(),G.navigateFocus(0,_.shiftKey?-1:1));return}switch(_.key){case"ArrowUp":_.preventDefault(),G.navigateFocus(-1,0);break;case"ArrowDown":_.preventDefault(),G.navigateFocus(1,0);break;case"ArrowLeft":_.preventDefault(),G.navigateFocus(0,-1);break;case"ArrowRight":_.preventDefault(),G.navigateFocus(0,1);break;case"Tab":_.preventDefault(),G.navigateFocus(0,_.shiftKey?-1:1);break;case"Enter":_.preventDefault(),G.navigateFocus(1,0);break}}}}),Ue=m.useCallback((_,G)=>{if(!i)return!1;const{start:H,end:q}=i;return _>=Math.min(H.r,q.r)&&_<=Math.max(H.r,q.r)&&G>=Math.min(H.c,q.c)&&G<=Math.max(H.c,q.c)},[i]),{sensors:Ke,onDragEnd:Ye,onDragStart:Qe}=qr({onDragStart:it,onDragEnd:$e,collisionDetection:te.pointerWithin,distance:5});return t.jsx(N.EzErrorBoundary,{fallback:t.jsx(wo,{}),children:t.jsx(U.TooltipProvider,{children:t.jsx(te.DndContext,{sensors:Ke,onDragEnd:Ye,onDragStart:Qe,collisionDetection:te.pointerWithin,children:t.jsxs("div",{className:T.cn(Hn,"w-full min-h-0 gap-3",e.className,e.classNames?.root),dir:ge,children:[e.enableGrouping&&t.jsx(m.Suspense,{fallback:null,children:t.jsx(Qo,{grouping:I.getState().grouping,onGroupingChange:I.setGrouping,columns:I.getAllColumns()})}),e.slots?.toolbar?t.jsx(e.slots.toolbar,{table:I,globalFilter:x,setGlobalFilter:F,isPending:u,columns:I.getAllColumns(),...e.slotProps?.toolbar||{}}):t.jsx(m.Suspense,{fallback:t.jsx("div",{className:"h-10 w-full animate-pulse bg-muted/20 rounded-md"}),children:t.jsx(Zo,{globalFilter:x,setGlobalFilter:F,enableAdvancedFiltering:e.enableAdvancedFiltering,enableExport:e.enableExport,onExportExcel:e.onExportExcel?()=>e.onExportExcel(I):void 0,onExportCSV:e.onExportCSV?()=>e.onExportCSV(I):void 0,onExportPDF:e.onExportPDF?()=>e.onExportPDF(I):void 0,enableChangeTracking:oe,canUndo:d,canRedo:f,undo:A,redo:k,columns:I.getAllColumns(),isPending:u,onAdd:J?.allowAdding?Oe:void 0,onSave:_e,onDiscard:Le,enableEditing:le,changes:g,table:I})}),t.jsx("div",{ref:_=>{ae.current=_,o.current=_},id:e.id?`ez-table-${e.id}`:"ez-table-default",className:T.cn("flex-1 w-full overflow-auto rounded-md bg-background focus:outline-none focus:ring-1 focus:ring-primary/20",wt.default),dir:ge,onScroll:_=>{if(e.enableInfiniteScroll){const{scrollTop:G,scrollHeight:H,clientHeight:q}=_.currentTarget;H-G-q<50&&I.getCanNextPage()&&!e.isLoading&&I.nextPage()}},role:"table",style:{overflowAnchor:"none",scrollBehavior:e.scrollBehavior??"smooth",height:"100%",position:"relative",minHeight:"0"},onKeyDown:je,children:t.jsxs("div",{className:"flex flex-col relative w-full min-w-max flex-1",role:"presentation",style:{...Se,height:"100%"},children:[t.jsx(Lo,{table:I,enableStickyHeader:ie,classNames:e.classNames,density:y,autoFitColumn:h,slots:e.slots,columnPinning:I.getState().columnPinning,columnSizing:I.getState().columnSizing,sorting:I.getState().sorting,grouping:I.getState().grouping,columnVisibility:I.getState().columnVisibility,columnOrder:I.getState().columnOrder}),t.jsx(Go,{table:I,rows:c,rowVirtualizer:W,columnVirtualizer:re,density:y,classNames:e.classNames,isLoading:e.isLoading,enableInfiniteScroll:e.enableInfiniteScroll,isPending:u,renderNoRowsOverlay:e.renderNoRowsOverlay,slots:e.slots,localization:e.localization,enableContextMenu:e.enableContextMenu,onContextMenuItemClick:e.onContextMenuItemClick,isCellSelected:Ue,focusedCell:S,onCellMouseDown:C,onCellMouseEnter:j,onCellClick:ee,onCellDoubleClick:ce,renderDetailPanel:e.renderDetailPanel,onRowClick:K,onRowDoubleClick:Y}),e.slots?.footer?t.jsx(e.slots.footer,{table:I,...e.slotProps?.footer||{}}):t.jsx(m.Suspense,{fallback:null,children:t.jsx(Jo,{table:I,columnVirtualizer:re,density:y})})]})}),e.pagination&&t.jsx(qo,{table:I,pagerMessage:P,enableStickyPagination:e.enableStickyPagination,classNames:e.classNames,localization:e.localization,changes:g}),t.jsx(Wn,{table:I,totalRows:I.getPrePaginationRowModel().rows.length||I.options.rowCount||I.getRowModel().rows.length,selectionInfo:g.added+g.edited+g.deleted>0?`${g.added+g.edited+g.deleted} pending changes`:void 0,rowSelection:I.getState().rowSelection}),J?.mode==="Dialog"&&t.jsx(m.Suspense,{fallback:null,children:t.jsx(Xo,{open:Q.isOpen,onClose:()=>{Q.close(),Q.mode!=="create"&&Q.meta.index!==void 0&&R(Q.meta.index,!1)},onSave:ot,columns:I.getAllColumns(),initialData:Q.data,isNew:Q.mode==="create",onFormRender:e.onFormRender})}),t.jsx(te.DragOverlay,{dropAnimation:null,children:Ve?t.jsx(Co,{header:I.getFlatHeaders().find(_=>_.id===Ve)||I.getLeafHeaders().find(_=>_.id===Ve),density:y}):null})]})})})})});Mt.displayName="EzTableImpl";const ea=Mt,ta=new me.QueryClient,na=m.forwardRef((e,n)=>(T.useInitCoreServices(),t.jsx(me.QueryClientProvider,{client:ta,children:t.jsx(Mt,{...e,ref:n})})));exports.BaseCell=gt;exports.BooleanCell=Jt;exports.BooleanEditor=en;exports.BooleanFilter=tn;exports.Command=Dt;exports.CommandEmpty=It;exports.CommandGroup=_n;exports.CommandInput=On;exports.CommandItem=Ft;exports.CommandList=Pt;exports.CommandSeparator=Ln;exports.CommandShortcut=Vn;exports.EzTable=na;exports.EzTablePrimitive=ea;exports.EzTableRoot=Ko;exports.GripVertical=St;exports.PrimitiveCell=Me;exports.PrimitiveEditor=Te;exports.PrimitiveFilter=Xr;exports.ProgressCell=bt;exports.RadioGroup=nt;exports.RadioGroupItem=qe;exports.SearchableSelect=$n;exports.SelectCell=pt;exports.SelectEditor=xt;exports.SelectFilter=Gn;exports.SparklineCell=vt;exports.Switch=et;exports.TableInstanceContext=Uo;exports.useDialogState=Ht;exports.useEzTable=Bn;exports.useTableStore=Yo;
|
package/dist/info-BY2cfl1l.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const c=require("./EzErrorBoundary-CEdz_hDo.cjs");const e=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],o=c.createLucideIcon("circle-check-big",e);const i=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],t=c.createLucideIcon("info",i);exports.CircleCheckBig=o;exports.Info=t;
|
package/dist/info-BuURqzhx.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { c } from "./EzErrorBoundary-D4NBadES.js";
|
|
2
|
-
const e = [
|
|
3
|
-
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
4
|
-
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
5
|
-
], i = c("circle-check-big", e);
|
|
6
|
-
const o = [
|
|
7
|
-
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
8
|
-
["path", { d: "M12 16v-4", key: "1dtifu" }],
|
|
9
|
-
["path", { d: "M12 8h.01", key: "e9boi3" }]
|
|
10
|
-
], a = c("info", o);
|
|
11
|
-
export {
|
|
12
|
-
i as C,
|
|
13
|
-
a as I
|
|
14
|
-
};
|
package/dist/select-BxcAKVaB.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const x=require("./EzErrorBoundary-CEdz_hDo.cjs"),o=require("react/jsx-runtime"),g=require("react"),c=require("./popover-4Ng-GmwM.cjs"),l=require("./useInitCoreServices-DSudhSFo.cjs");function m(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 s=m(g);const b=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],S=x.createLucideIcon("search",b),a=s.createContext(null),j=({value:e,onValueChange:t,children:n,open:r,onOpenChange:d})=>{const[i,p]=s.useState(!1),f=r!==void 0?r:i,u=d||p;return o.jsx(a.Provider,{value:{value:e,onValueChange:t,setOpen:u},children:o.jsx(c.DropdownMenu,{open:f,onOpenChange:u,children:n})})},h=({className:e,children:t})=>o.jsx(c.DropdownMenuTrigger,{asChild:!0,children:o.jsx("button",{className:l.cn("flex h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),children:t})}),y=({placeholder:e})=>{const t=s.useContext(a);return o.jsx("span",{children:t?.value||e})},C=({children:e})=>o.jsx(c.DropdownMenuContent,{className:"max-h-[200px] overflow-y-auto",children:e}),w=({value:e,children:t})=>{const n=s.useContext(a);return o.jsx(c.DropdownMenuItem,{className:l.cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",n?.value===e&&"font-bold"),onSelect:()=>{n?.onValueChange?.(e),n?.setOpen(!1)},children:t})};exports.Search=S;exports.Select=j;exports.SelectContent=C;exports.SelectItem=w;exports.SelectTrigger=h;exports.SelectValue=y;
|
package/dist/select-BxiFqo8j.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { c as m } from "./EzErrorBoundary-D4NBadES.js";
|
|
2
|
-
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
-
import * as s from "react";
|
|
4
|
-
import { D as f, c as x, d as g, e as h } from "./popover-DstiJFa3.js";
|
|
5
|
-
import { c as l } from "./useInitCoreServices-BC7QMeLn.js";
|
|
6
|
-
const b = [
|
|
7
|
-
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
8
|
-
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
9
|
-
], v = m("search", b), r = s.createContext(null), j = ({ value: e, onValueChange: t, children: o, open: c, onOpenChange: d }) => {
|
|
10
|
-
const [u, i] = s.useState(!1), p = c !== void 0 ? c : u, a = d || i;
|
|
11
|
-
return /* @__PURE__ */ n(r.Provider, { value: { value: e, onValueChange: t, setOpen: a }, children: /* @__PURE__ */ n(f, { open: p, onOpenChange: a, children: o }) });
|
|
12
|
-
}, D = ({ className: e, children: t }) => /* @__PURE__ */ n(x, { asChild: !0, children: /* @__PURE__ */ n("button", { className: l("flex h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50", e), children: t }) }), O = ({ placeholder: e }) => {
|
|
13
|
-
const t = s.useContext(r);
|
|
14
|
-
return /* @__PURE__ */ n("span", { children: t?.value || e });
|
|
15
|
-
}, M = ({ children: e }) => /* @__PURE__ */ n(g, { className: "max-h-[200px] overflow-y-auto", children: e }), N = ({ value: e, children: t }) => {
|
|
16
|
-
const o = s.useContext(r);
|
|
17
|
-
return /* @__PURE__ */ n(
|
|
18
|
-
h,
|
|
19
|
-
{
|
|
20
|
-
className: l("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", o?.value === e && "font-bold"),
|
|
21
|
-
onSelect: () => {
|
|
22
|
-
o?.onValueChange?.(e), o?.setOpen(!1);
|
|
23
|
-
},
|
|
24
|
-
children: t
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
export {
|
|
29
|
-
j as S,
|
|
30
|
-
D as a,
|
|
31
|
-
O as b,
|
|
32
|
-
M as c,
|
|
33
|
-
N as d,
|
|
34
|
-
v as e
|
|
35
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("./EzErrorBoundary-CEdz_hDo.cjs");const c=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],t=e.createLucideIcon("bell",c);const o=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],n=e.createLucideIcon("globe",o);const i=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],a=e.createLucideIcon("settings",i);exports.Bell=t;exports.Globe=n;exports.Settings=a;
|