ezux 1.1.20 → 1.1.21

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.
@@ -0,0 +1,3 @@
1
+ const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./input-DOh8O0iX.cjs"),r=require("./label-BGgvoZWD.cjs"),i=require("./EzErrorBoundary-d_2g-_EK.cjs"),a=require("./useComponentState-Wcz6pjd6.cjs"),o=require("./useInitCoreServices-DlALVDNx.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs"),c=require("./useImperativeAPI-VrgLwXEO.cjs"),l=require("./useServiceState-PyYQWxHi.cjs"),u=require("./popover-wZKNvYM5.cjs"),d=require("./tooltip-Qmzrg5u5.cjs"),f=require("./HighlightText-BViuwe03.cjs"),p=require("./select-sVieKbLu.cjs"),m=require("./checkbox-B9yPkCYi.cjs"),h=require("./TooltipWrapper-DfbFAZ1U.cjs");let g=require("react");g=e.y(g,1);let _=require("lucide-react"),v=require("react/jsx-runtime"),y=require("@tanstack/store"),b=require("@tanstack/react-virtual"),x=require("@dnd-kit/core"),S=require("@tanstack/react-store"),C=require("@tanstack/react-query"),w=require("@tanstack/react-table"),T=require("@radix-ui/react-switch");T=e.y(T,1);let E=require("@radix-ui/react-radio-group");E=e.y(E,1);let D=require("cmdk");var O=e=>{let t=(0,g.useRef)(!1);(0,g.useLayoutEffect)(()=>{e.onRenderStart&&e.onRenderStart()}),(0,g.useEffect)(()=>{!t.current&&e.onRenderComplete&&(e.onRenderComplete(),t.current=!0)},[e.onRenderComplete]),(0,g.useEffect)(()=>()=>{t.current=!1},[])};function k(e){return{handleDragStart:(0,g.useCallback)(t=>{e.onDragStart?.(t)},[e.onDragStart]),handleDragOver:(0,g.useCallback)(t=>{e.onDragOver?.(t)},[e.onDragOver]),handleDragEnd:(0,g.useCallback)(t=>{e.onDragEnd?.(t)},[e.onDragEnd]),handleKeyPress:(0,g.useCallback)(t=>{e.onKeyPress?.(t)},[e.onKeyPress]),handleKeyDown:(0,g.useCallback)(t=>{e.onKeyDown?.(t)},[e.onKeyDown]),handleKeyUp:(0,g.useCallback)(t=>{e.onKeyUp?.(t)},[e.onKeyUp]),handleClick:(0,g.useCallback)(t=>{e.onClick?.(t)},[e.onClick]),handleDoubleClick:(0,g.useCallback)(t=>{e.onDoubleClick?.(t)},[e.onDoubleClick]),handlePointerDown:(0,g.useCallback)(t=>{e.onPointerDown?.(t)},[e.onPointerDown]),handlePointerMove:(0,g.useCallback)(t=>{e.onPointerMove?.(t)},[e.onPointerMove]),handlePointerUp:(0,g.useCallback)(t=>{e.onPointerUp?.(t)},[e.onPointerUp]),handlePointerLeave:(0,g.useCallback)(t=>{e.onPointerLeave?.(t)},[e.onPointerLeave]),handlePointerEnter:(0,g.useCallback)(t=>{e.onPointerEnter?.(t)},[e.onPointerEnter]),handleFocus:(0,g.useCallback)(()=>{e.onFocusChange?.(!0)},[e.onFocusChange]),handleBlur:(0,g.useCallback)(()=>{e.onFocusChange?.(!1)},[e.onFocusChange])}}var ee=e=>({sensors:(0,x.useSensors)((0,x.useSensor)(x.PointerSensor,{activationConstraint:{distance:e.distance??5}})),onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,collisionDetection:e.collisionDetection}),A=e=>{let{validateField:t,editSettings:n}=e,r=(0,g.useCallback)((e,r,i)=>{if(n?.requiredFields?.includes(e)&&(r==null||r===``))return{isValid:!1,error:`Field is required`};let a=n?.validationRules?.[e];if(a){let t=a(r,i);if(t!==!0&&t!==``)return{isValid:!1,error:typeof t==`string`?t:`Invalid value for ${e}`}}if(t){let n=t({fieldName:e,value:r,data:i});if(n!==!0&&n!==``)return{isValid:!1,error:typeof n==`string`?n:`Validation failed for ${e}`}}return{isValid:!0}},[t,n]);return{validate:r,validateForm:(0,g.useCallback)((e,t)=>{let n={},i=!0;return t.forEach(t=>{let a=r(t,e[t],e);n[t]=a,a.isValid||(i=!1)}),n.__form={isValid:i},n},[r])}};function j(e={}){let[t,n]=(0,g.useState)(!1),[r,i]=(0,g.useState)(e.initialMode||`view`),[a,o]=(0,g.useState)(e.initialData||{}),[s,c]=(0,g.useState)({});return{isOpen:t,mode:r,data:a,meta:s,open:(0,g.useCallback)((t,r,a)=>{i(t),r===void 0?e.defaultData&&o(e.defaultData):o(r),a!==void 0&&c(a),n(!0)},[e.defaultData]),close:(0,g.useCallback)(()=>{n(!1)},[]),toggle:(0,g.useCallback)(()=>{n(e=>!e)},[]),setData:o,setMode:i}}var M=(e,t=`id`)=>{let n=(0,g.useMemo)(()=>{let n=new Map;return Array.isArray(e)&&e.forEach(e=>{let r=e[t];r!==void 0&&n.set(r,e)}),n},[e,t]),[r,i]=(0,g.useState)({data:Array.isArray(e)?e:[],history:{past:[],future:[]}}),a=(0,g.useRef)(new Set),o=(0,g.useRef)(e);o.current!==e&&(o.current=e,i({data:Array.isArray(e)?e:[],history:{past:[],future:[]}}),a.current.clear());let s=(0,g.useCallback)(e=>{i(t=>({...t,data:typeof e==`function`?e(t.data):e}))},[]),c=(0,g.useCallback)((e,n,r)=>{i(i=>{let o=i.data[e];if(!o)return i;let s=o[n];if(s===r)return i;let c=o[t];c!==void 0&&a.current.add(c);let l={type:`EDIT_CELL`,payload:{rowIndex:e,rowId:c,columnId:n,oldValue:s,newValue:r},timestamp:Date.now()},u=[...i.data];return u[e]={...o,[n]:r},{data:u,history:{past:[...i.history.past,l],future:[]}}})},[t]),l=(0,g.useCallback)((e,n=0)=>{i(r=>{let i={...e};i[t]===void 0&&(i[t]=`_temp_${Date.now()}_${Math.random().toString(36).substr(2,9)}`);let o=i[t];o!==void 0&&a.current.add(o);let s={type:`ADD_ROW`,payload:{rowIndex:n,rowId:o,row:i},timestamp:Date.now()},c=[...r.data];return c.splice(n,0,i),{data:c,history:{past:[...r.history.past,s],future:[]}}})},[t]),u=(0,g.useCallback)(e=>{i(n=>{let r=[...e].sort((e,t)=>t-e),i=[...n.history.past],o=[...n.data];return r.forEach(e=>{let r=n.data[e];if(!r)return;let s=r[t];s!==void 0&&a.current.add(s),i.push({type:`DELETE_ROW`,payload:{rowIndex:e,rowId:s,row:r},timestamp:Date.now()}),o.splice(e,1)}),{data:o,history:{past:i,future:[]}}})},[t]),d=(0,g.useCallback)(()=>{i(e=>{if(e.history.past.length===0)return e;let n=e.history.past[e.history.past.length-1],r=e.history.past.slice(0,-1),i=[...e.data];if(n.type===`EDIT_CELL`){let{rowId:e,columnId:r,oldValue:a}=n.payload,o=i.findIndex(n=>n[t]===e);o!==-1&&r&&(i[o]={...i[o],[r]:a})}else if(n.type===`ADD_ROW`){let{rowId:e}=n.payload,r=i.findIndex(n=>n[t]===e);r!==-1&&i.splice(r,1)}else if(n.type===`DELETE_ROW`){let{rowIndex:e,row:t}=n.payload;t&&e!==void 0&&i.splice(e,0,t)}return{data:i,history:{past:r,future:[n,...e.history.future]}}})},[t]),f=(0,g.useCallback)(()=>{i(e=>{if(e.history.future.length===0)return e;let n=e.history.future[0],r=e.history.future.slice(1),i=[...e.data];if(n.type===`EDIT_CELL`){let{rowId:e,columnId:r,newValue:a}=n.payload,o=i.findIndex(n=>n[t]===e);o!==-1&&r&&(i[o]={...i[o],[r]:a})}else if(n.type===`ADD_ROW`){let{rowIndex:e,row:t}=n.payload;t&&e!==void 0&&i.splice(e,0,t)}else if(n.type===`DELETE_ROW`){let{rowId:e}=n.payload,r=i.findIndex(n=>n[t]===e);r!==-1&&i.splice(r,1)}return{data:i,history:{past:[...e.history.past,n],future:r}}})},[t]),{data:p}=r;return{data:p,setData:s,performEdit:c,addRow:l,deleteRows:u,undo:d,redo:f,canUndo:r.history.past.length>0,canRedo:r.history.future.length>0,changes:(0,g.useMemo)(()=>{if(p===e)return{added:0,edited:0,deleted:0};let r=new Map;Array.isArray(p)&&p.forEach(e=>{let n=e[t];n!==void 0&&r.set(n,e)});let i=0,a=0,o=0;return Array.isArray(p)&&p.forEach(e=>{let r=e[t];if(r===void 0||!n.has(r))i++;else{let t=n.get(r);if(e===t)return;Object.keys(e).some(n=>!n.startsWith(`_`)&&e[n]!==t[n])&&a++}}),n.forEach((e,t)=>{r.has(t)||o++}),{added:i,edited:a,deleted:o}},[p,e,n,t]),batchChanges:(0,g.useMemo)(()=>{if(p===e)return{addedRecords:[],changedRecords:[],deletedRecords:[]};let r=new Map;Array.isArray(p)&&p.forEach(e=>{let n=e[t];n!==void 0&&r.set(n,e)});let i=[],a=[],o=[];return Array.isArray(p)&&p.forEach(e=>{let r=e[t];if(r===void 0||!n.has(r))i.push(e);else{let t=n.get(r);if(e===t)return;Object.keys(e).some(n=>!n.startsWith(`_`)&&e[n]!==t[n])&&a.push(e)}}),n.forEach((e,t)=>{r.has(t)||o.push(e)}),{addedRecords:i,changedRecords:a,deletedRecords:o}},[p,e,n,t]),resetData:(0,g.useCallback)(()=>{a.current.clear(),i({data:e,history:{past:[],future:[]}})},[e])}},N=(e,t=`14px Inter, sans-serif`)=>{if(typeof document>`u`)return 0;let n=document.createElement(`canvas`).getContext(`2d`);return n?(n.font=t,n.measureText(e).width):0},P=(e,t={})=>{let{fontSize:n=`14px`,fontWeight:r=`600`,fontFamily:i=`Inter, sans-serif`,padding:a=32,hasIcons:o=!0}=t,s=N(e,`${r} ${n} ${i}`),c=o?70:0;return Math.ceil(s+a+c)},F=t=>({autoFitColumn:(0,g.useCallback)(n=>{let r=t.getColumn(n);if(!r)return;let i=t.getRowModel().rows.slice(0,50),a={fontSize:`14px`,fontWeight:`400`,fontFamily:`Inter, sans-serif`},o={fontSize:`14px`,fontWeight:`600`,fontFamily:`Inter, sans-serif`},s=r.columnDef.meta,c=0,l=typeof r.columnDef.header==`string`?r.columnDef.header:n;c=Math.max(c,P(l,{...o})),i.forEach(t=>{let r=t.getValue(n);s?.columnType===`number`?r=e.f(r,s.numberOptions):s?.columnType===`date`?r=e.u(r,s.dateOptions):s?.columnType===`datetime`&&(r=e.u(r,s.dateTimeOptions));let i=r==null?``:String(r),o=i;s?.columnType===`longtext`&&s?.longTextOptions?.previewLength&&(o=i.length>s.longTextOptions.previewLength?i.substring(0,s.longTextOptions.previewLength)+`...`:i);let l=N(o,`${a.fontWeight} ${a.fontSize} ${a.fontFamily}`);c=Math.max(c,l+32)}),t.setColumnSizing(e=>({...e,[n]:c}))},[t])}),I=e=>e?.kind===`group`,te=(e,t,n)=>{if(typeof n==`string`){if(!n)return!0;let t=n.toLowerCase();return e.getAllCells().some(e=>{let n=e.getValue();return String(n??``).toLowerCase().includes(t)})}let{quickSearch:r,advanced:i}=n;if(r){let t=r.toLowerCase();if(!e.getAllCells().some(e=>{let n=e.getValue();return String(n??``).toLowerCase().includes(t)}))return!1}return!(i&&!f.n(i,t=>e.getValue(t)))},ne=(e,t,n)=>{try{if(Array.isArray(n)){if(n.length===0)return!0;let r=e.getValue(t);return n.includes(r)}if(typeof n==`object`&&n){if(I(n))return f.n(n,n=>e.getValue(n||t));if(`operator`in n)return f.r({kind:`rule`,id:t,field:t,operator:n.operator,value:n.value},t=>e.getValue(t))}let r=e.getValue(t),i=String(r??``).toLowerCase(),a=String(n??``).toLowerCase();return i.includes(a)}catch(e){return console.error(`Error in smartColumnFilterFn for column ${t}:`,e),!0}},L=({value:t,className:n,title:r,children:i,fallback:a=(0,v.jsx)(`span`,{className:`text-muted-foreground text-sm italic`,children:`—`}),align:o=`left`})=>t==null?(0,v.jsx)(v.Fragment,{children:a}):(0,v.jsx)(`div`,{className:e._(`text-sm`,o===`center`&&`text-center`,o===`right`&&`text-right`,n),title:r===void 0?typeof t==`string`?t:String(t):r,children:i||String(t)}),R=({value:n,columnType:r,meta:i,className:a,align:o,table:s})=>{let c=n;if(n==null)return(0,v.jsx)(L,{value:n,align:o,className:a});switch(r){case`number`:c=e.f(n,{minimumFractionDigits:2,maximumFractionDigits:2,...i?.numberOptions});break;case`date`:case`datetime`:c=e.u(n,r===`datetime`?i?.dateTimeOptions:i?.dateOptions);break;case`longtext`:let a=String(n);c=(0,v.jsxs)(`div`,{className:`flex items-start gap-1 group/longtext w-full overflow-hidden py-1.5`,children:[(0,v.jsxs)(d.t,{children:[(0,v.jsx)(d.i,{asChild:!0,children:(0,v.jsx)(`div`,{className:`flex-1 min-w-0 cursor-help`,children:(0,v.jsx)(`span`,{className:`block !whitespace-normal break-words text-sm leading-normal`,style:{display:`-webkit-box`,WebkitLineClamp:2,WebkitBoxOrient:`vertical`,overflow:`hidden`},children:a})})}),(0,v.jsx)(d.n,{className:`max-w-[300px] p-3 break-words text-sm leading-relaxed`,children:a})]}),a.length>20&&(0,v.jsxs)(u.t,{children:[(0,v.jsx)(u.r,{asChild:!0,children:(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-5 w-5 opacity-0 group-hover/longtext:opacity-100 transition-opacity shrink-0`,onClick:e=>e.stopPropagation(),children:(0,v.jsx)(_.Maximize2,{className:`h-3 w-3 text-muted-foreground hover:text-primary`})})}),(0,v.jsx)(u.n,{className:`w-[400px] p-4 shadow-xl border-border bg-popover`,align:`end`,onClick:e=>e.stopPropagation(),children:(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-2`,children:[(0,v.jsx)(`h4`,{className:`text-xs font-bold uppercase tracking-widest text-muted-foreground`,children:`Detailed Description`}),(0,v.jsxs)(t.t,{variant:`outline`,size:`sm`,className:`h-7 px-2 gap-1.5 text-[10px] font-bold`,onClick:e=>{e.stopPropagation(),navigator.clipboard.writeText(a)},children:[(0,v.jsx)(_.Copy,{className:`h-3 w-3`}),`Copy`]})]}),(0,v.jsx)(`div`,{className:`text-sm leading-relaxed text-foreground max-h-[300px] overflow-auto pr-2 custom-scrollbar whitespace-pre-wrap`,children:a})]})})]})]});break;default:break}if(s?.options.meta?.enableSearchHighlighting){let e=s.getState().globalFilter,t=typeof e==`string`?e:e?.quickSearch;t&&(c=(0,v.jsx)(f.t,{text:c,highlight:t}))}let l=o||(r===`number`?`right`:`left`);return(0,v.jsx)(L,{value:n,align:l,title:r===`longtext`||i?.clipMode===`ellipsis-tooltip`?``:void 0,className:e._(r===`number`&&`font-mono tabular-nums`,r===`number`&&n<0&&`text-rose-600 dark:text-rose-400`,`px-3 min-h-full flex`,r===`longtext`?`items-start py-2 overflow-hidden`:i?.wrapText?`items-start`:`items-center`,l===`right`&&`justify-end`,l===`center`&&`justify-center`,a),children:c})},z=({value:t,onChange:r,onBlur:i,columnType:a,autoFocus:o=!0,isFocused:s,className:c,placeholder:l,meta:u})=>{let d=g.default.useRef(null);g.default.useEffect(()=>{s&&d.current&&d.current.focus()},[s]);let[f,p]=g.default.useState(()=>t==null?``:a===`number`?new Intl.NumberFormat(`en-US`,{minimumFractionDigits:0,maximumFractionDigits:20}).format(t):String(t)),m=e=>{let t=e.target.value;if(p(t),a===`number`)if(t===``)r(null);else{let e=t.replace(/,/g,``),n=parseFloat(e);isNaN(n)||r(n)}else r(t)},h=()=>{if(a===`number`&&f!==``){let e=f.replace(/,/g,``),t=parseFloat(e);isNaN(t)||p(new Intl.NumberFormat(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2}).format(t))}i?.()},_=u?.align||(a===`number`?`right`:`left`);return(0,v.jsx)(n.t,{ref:d,type:a===`date`?`date`:`text`,value:f,onChange:m,onBlur:h,autoFocus:o,className:e._(`h-7 px-2 w-full border-0 shadow-none bg-transparent focus:ring-0 focus-visible:ring-0 focus-visible:ring-offset-0`,_===`right`&&`text-right`,_===`center`&&`text-center`,a===`number`&&`font-mono tabular-nums`,c),placeholder:l,onClick:e=>e.stopPropagation()})},B={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`}]},V=({columnType:e,value:t,valueTo:r,operator:i,onChange:a})=>{let o=B[e===`datetime`||e===`date`?`date`:e===`number`?`number`:`text`]||B.text,s=e===`number`?`number`:e===`date`||e===`datetime`?`date`:`text`;return(0,v.jsxs)(`div`,{className:`p-3 space-y-3`,children:[(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground ml-1`,children:`Condition`}),(0,v.jsxs)(p.t,{value:i,onValueChange:e=>a(t,e,r),children:[(0,v.jsx)(p.i,{className:`h-8`,children:(0,v.jsx)(p.a,{})}),(0,v.jsx)(p.n,{children:o.map(e=>(0,v.jsx)(p.r,{value:e.value,children:e.label},e.value))})]})]}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground ml-1`,children:`Value`}),(0,v.jsx)(n.t,{type:s,value:t??``,onChange:e=>a(e.target.value,i,r),className:`h-8 antialiased`,placeholder:`Enter value...`,onClick:e=>e.stopPropagation()}),i===`between`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 px-1`,children:[(0,v.jsx)(`div`,{className:`h-[1px] flex-1 bg-border`}),(0,v.jsx)(`span`,{className:`text-[10px] text-muted-foreground uppercase font-bold`,children:`and`}),(0,v.jsx)(`div`,{className:`h-[1px] flex-1 bg-border`})]}),(0,v.jsx)(n.t,{type:s,value:r??``,onChange:e=>a(t,i,e.target.value),className:`h-8 antialiased`,placeholder:`To value...`,onClick:e=>e.stopPropagation()})]})]})]})};function H({className:t,ref:n,...r}){return(0,v.jsx)(T.Root,{className:e._(`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`,t),...r,ref:n,children:(0,v.jsx)(T.Thumb,{className:e._(`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`)})})}var re=({value:t,trueLabel:n=`Yes`,falseLabel:r=`No`,nullLabel:i=`N/A`,showIcon:a=!0,showLabel:o=!1,variant:s=`checkbox`,className:c,disabled:l=!0,onChange:u})=>{let d=t===!0,f=t===!1,p=t==null;return s===`switch`?(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2`,c),children:[(0,v.jsx)(H,{checked:d,onCheckedChange:u,disabled:l,className:`scale-90`}),o&&(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:d?n:f?r:i})]}):(0,v.jsxs)(`div`,{className:e._(`inline-flex items-center gap-1.5 px-2 py-0.5 rounded-md transition-colors text-sm font-medium`,d&&`bg-emerald-50/50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-400`,f&&`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:[a&&(0,v.jsxs)(v.Fragment,{children:[d&&(0,v.jsx)(_.Check,{className:`w-3.5 h-3.5`}),f&&(0,v.jsx)(_.X,{className:`w-3.5 h-3.5`}),p&&(0,v.jsx)(_.Minus,{className:`w-3.5 h-3.5`})]}),o&&(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:d?n:f?r:i})]})},U=({value:t,onChange:n,trueLabel:i=`Yes`,falseLabel:a=`No`,variant:o=`checkbox`,disabled:s=!1,className:c})=>{let l=t===!0;return o===`switch`?(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2 p-2`,c),children:[(0,v.jsx)(H,{id:`boolean-switch`,checked:l,onCheckedChange:e=>{n(e)},disabled:s}),(0,v.jsx)(r.t,{htmlFor:`boolean-switch`,className:`text-sm font-medium cursor-pointer`,children:l?i:a})]}):(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2 p-2`,c),children:[(0,v.jsx)(m.t,{id:`boolean-editor`,checked:l,onCheckedChange:e=>{n(e===!0)},disabled:s,className:`data-[state=checked]:bg-primary data-[state=checked]:border-primary`}),(0,v.jsx)(r.t,{htmlFor:`boolean-editor`,className:`text-sm font-medium cursor-pointer`,children:l?i:a})]})},W=({value:t,onChange:n,trueLabel:r=`Yes`,falseLabel:i=`No`,nullLabel:a=`N/A`,allLabel:o=`All`,className:s})=>(0,v.jsxs)(p.t,{value:t,onValueChange:n,children:[(0,v.jsx)(p.i,{className:e._(`w-full h-8`,s),children:(0,v.jsx)(p.a,{placeholder:`Filter...`})}),(0,v.jsxs)(p.n,{children:[(0,v.jsx)(p.r,{value:`all`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.Minus,{className:`w-4 h-4 text-muted-foreground`}),(0,v.jsx)(`span`,{children:o})]})}),(0,v.jsx)(p.r,{value:`true`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.Check,{className:`w-4 h-4 text-emerald-600`}),(0,v.jsx)(`span`,{children:r})]})}),(0,v.jsx)(p.r,{value:`false`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.X,{className:`w-4 h-4 text-rose-600`}),(0,v.jsx)(`span`,{children:i})]})}),(0,v.jsx)(p.r,{value:`null`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.Minus,{className:`w-4 h-4 text-muted-foreground`}),(0,v.jsx)(`span`,{children:a})]})})]})]}),G=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(E.Root,{className:e._(`grid gap-2`,t),...n,ref:r}));G.displayName=E.Root.displayName;var K=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(E.Item,{ref:r,className:e._(`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`,t),...n,children:(0,v.jsx)(E.Indicator,{className:`flex items-center justify-center`,children:(0,v.jsx)(_.Circle,{className:`h-1.5 w-1.5 fill-white text-white`})})}));K.displayName=E.Item.displayName;var q=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command,{ref:r,className:e._(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,t),...n}));q.displayName=D.Command.displayName;var ie=g.forwardRef(({className:t,...n},r)=>(0,v.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[(0,v.jsx)(_.Search,{className:`me-2 h-4 w-4 shrink-0 opacity-50`}),(0,v.jsx)(D.Command.Input,{ref:r,className:e._(`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`,t),...n})]}));ie.displayName=D.Command.Input.displayName;var ae=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.List,{ref:r,className:e._(`max-h-[300px] overflow-y-auto overflow-x-hidden`,t),...n}));ae.displayName=D.Command.List.displayName;var J=g.forwardRef((e,t)=>(0,v.jsx)(D.Command.Empty,{ref:t,className:`py-6 text-center text-sm text-muted-foreground`,...e}));J.displayName=D.Command.Empty.displayName;var Y=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.Group,{ref:r,className:e._(`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`,t),...n}));Y.displayName=D.Command.Group.displayName;var oe=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.Separator,{ref:r,className:e._(`-mx-1 h-px bg-border`,t),...n}));oe.displayName=D.Command.Separator.displayName;var se=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.Item,{ref:r,className:e._(`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 text-start`,t),...n}));se.displayName=D.Command.Item.displayName;var ce=({className:t,...n})=>(0,v.jsx)(`span`,{className:e._(`ms-auto text-xs tracking-widest text-muted-foreground`,t),...n});ce.displayName=`CommandShortcut`;var le=({value:n,onChange:r,options:i=[],placeholder:a=`Select option...`,className:o,onBlur:s})=>{let[c,l]=(0,g.useState)(!1),[d,f]=(0,g.useState)(``),p=(0,g.useMemo)(()=>{if(!d)return i;let e=d.toLowerCase();return i.filter(t=>t.label.toLowerCase().includes(e)||t.value.toLowerCase().includes(e))},[i,d]),[m,h]=(0,g.useState)(null),y=(0,b.useVirtualizer)({count:p.length,getScrollElement:()=>m,estimateSize:()=>35,overscan:5});return(0,v.jsxs)(u.t,{open:c,onOpenChange:l,children:[(0,v.jsx)(u.r,{asChild:!0,children:(0,v.jsxs)(t.t,{variant:`outline`,role:`combobox`,"aria-expanded":c,className:e._(`w-full justify-between h-8 px-2 font-normal text-xs`,o),children:[(0,v.jsx)(`span`,{className:`truncate`,children:n?i.find(e=>e.value===n)?.label||n:a}),(0,v.jsx)(_.ChevronsUpDown,{className:`ml-2 h-3 w-3 shrink-0 opacity-50`})]})}),(0,v.jsx)(u.n,{className:`w-[var(--radix-popover-trigger-width)] p-0 max-h-[400px] overflow-hidden`,align:`start`,side:`bottom`,collisionPadding:10,children:(0,v.jsxs)(q,{shouldFilter:!1,className:`h-full`,children:[(0,v.jsxs)(`div`,{className:`flex items-center border-b px-3`,children:[(0,v.jsx)(_.Search,{className:`mr-2 h-3.5 w-3.5 shrink-0 opacity-50`}),(0,v.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:d,onChange:e=>f(e.target.value)})]}),(0,v.jsxs)(ae,{ref:h,className:`max-h-[300px] overflow-y-auto`,style:{maxHeight:`300px`},children:[p.length===0&&(0,v.jsx)(J,{children:`No option found.`}),(0,v.jsx)(`div`,{style:{height:`${y.getTotalSize()}px`,width:`100%`,position:`relative`},children:y.getVirtualItems().map(t=>{let i=p[t.index];return(0,v.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,height:`${t.size}px`,transform:`translateY(${t.start}px)`},children:(0,v.jsxs)(se,{value:i.value,onSelect:e=>{r(e===n?``:e),l(!1),f(``)},className:`flex items-center justify-between text-xs py-1.5`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:i.label}),(0,v.jsx)(_.Check,{className:e._(`h-3 w-3`,n===i.value?`opacity-100`:`opacity-0`)})]})},t.key)})})]})]})})]})},X=({value:t,options:n=[],className:r,table:i})=>{if(t==null)return(0,v.jsx)(`span`,{className:`text-muted-foreground text-sm italic`,children:`—`});let a=Array.isArray(t)?t:[t];if(a.length===0)return(0,v.jsx)(`span`,{className:`text-muted-foreground text-sm italic`,children:`—`});let o=a.map(e=>n.find(t=>t.value===e)||{value:e,label:e,color:`default`}),s=e=>{let t=e===`success`?`success`:e===`danger`||e===`destructive`?`error`:e===`warning`?`warning`:e===`primary`||e===`info`?`info`:`neutral`,n=t===`neutral`;return{container:{backgroundColor:n?`transparent`:`var(--ez-status-${t}-bg)`,color:n?`var(--ez-status-${t}-bg)`:`var(--ez-status-${t}-text)`,borderColor:`var(--ez-status-${t}-border)`},dot:{backgroundColor:`var(--ez-status-${t}-dot)`},isColored:!n}};return(0,v.jsx)(`div`,{className:e._(`inline-flex items-center gap-1.5 flex-wrap py-1`,r),children:o.map((e,t)=>{let n=s(e.color);return(0,v.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full text-[13px] font-bold border transition-all duration-300 shadow-sm`,style:n.container,children:[(0,v.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full`,style:n.dot}),i?.options.meta?.enableSearchHighlighting?(0,v.jsx)(f.t,{text:e.label,highlight:typeof i.getState().globalFilter==`string`?i.getState().globalFilter:i.getState().globalFilter?.quickSearch}):e.label]},`${e.value}-${t}`)})})},ue=({value:t,onChange:n,options:i=[],variant:a=`dropdown`,onBlur:o,className:s,placeholder:c=`Select...`,isFocused:l})=>{let[u,d]=g.default.useState(!1),f=g.default.useRef(!1);return g.default.useEffect(()=>{l&&a===`dropdown`?f.current||=(d(!0),!0):(d(!1),f.current=!1)},[l,a]),a===`combobox`?(0,v.jsx)(`div`,{className:e._(`w-full`,s),children:(0,v.jsx)(le,{value:t,onChange:n,options:i,placeholder:c,onBlur:o})}):a===`radio`?(0,v.jsx)(`div`,{className:e._(`w-full px-2 py-1`,s),onBlur:o,children:(0,v.jsx)(G,{value:t||``,onValueChange:n,children:i.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(K,{value:e.value,id:`radio-${e.value}`}),(0,v.jsx)(r.t,{htmlFor:`radio-${e.value}`,className:`text-xs font-medium cursor-pointer`,children:e.label})]},e.value))})}):(0,v.jsx)(`div`,{className:e._(`w-full -m-1 p-0.5`,s),onBlur:o,onKeyDown:e=>{[`Enter`,` `,`ArrowUp`,`ArrowDown`].includes(e.key)&&e.stopPropagation()},children:(0,v.jsxs)(p.t,{value:t,onValueChange:n,open:u,onOpenChange:d,children:[(0,v.jsx)(p.i,{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:(0,v.jsx)(p.a,{placeholder:c})}),(0,v.jsx)(p.n,{children:i.map(e=>(0,v.jsx)(p.r,{value:e.value,children:e.label},e.value))})]})})},de=({options:t=[],selectedValues:n=[],onChange:i,className:a})=>{let o=e=>{n.includes(e)?i(n.filter(t=>t!==e)):i([...n,e])};return(0,v.jsxs)(`div`,{className:e._(`flex flex-col gap-2 p-2 min-w-[180px]`,a),children:[(0,v.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-2 mb-1`,children:[(0,v.jsx)(`span`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Filter Options`}),(0,v.jsx)(`button`,{onClick:()=>{n.length===t.length?i([]):i(t.map(e=>e.value))},className:`text-[10px] font-medium text-primary hover:underline`,children:n.length===t.length?`Clear All`:`Select All`})]}),(0,v.jsx)(`div`,{className:`max-h-[180px] overflow-y-auto`,children:(0,v.jsx)(`div`,{className:`flex flex-col gap-2 pr-2`,children:t.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(m.t,{id:`filter-${e.value}`,checked:n.includes(e.value),onCheckedChange:()=>o(e.value)}),(0,v.jsx)(r.t,{htmlFor:`filter-${e.value}`,className:`text-sm font-normal cursor-pointer flex-1`,children:e.label})]},e.value))})})]})},fe=({value:t,showLabel:n=!0,color:r=`default`,size:i=`md`,className:a})=>{let o=Math.max(0,Math.min(100,t));return(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2 w-full`,a),children:[(0,v.jsx)(`div`,{className:`flex-1 bg-muted rounded-full overflow-hidden min-w-[60px]`,children:(0,v.jsx)(`div`,{className:e._(`transition-all duration-300 rounded-full`,(()=>{switch(i){case`sm`:return`h-1.5`;case`lg`:return`h-3`;default:return`h-2`}})(),(()=>{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`}})()),style:{width:`${o}%`}})}),n&&(0,v.jsxs)(`span`,{className:`text-xs font-medium text-muted-foreground tabular-nums min-w-[42px] text-right`,children:[o.toFixed(0),`%`]})]})},pe=({value:t,values:n,color:r=`default`,height:i=32,width:a=100,showDots:o=!1,className:s})=>{let c=t||n||[],l=(0,g.useMemo)(()=>{if(!c||c.length===0)return``;let e=Math.max(...c),t=Math.min(...c),n=e-t||1;return`M ${c.map((e,r)=>`${r/(c.length-1)*a},${i-(e-t)/n*i}`).join(` L `)}`},[c,i,a]),u=(0,g.useMemo)(()=>{if(!c||c.length===0||!o)return[];let e=Math.max(...c),t=Math.min(...c),n=e-t||1;return c.map((e,r)=>({x:r/(c.length-1)*a,y:i-(e-t)/n*i}))},[c,i,a,o]),d=()=>{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`}},f=()=>{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?(0,v.jsx)(`div`,{className:`text-muted-foreground text-xs italic`,children:`No data`}):(0,v.jsxs)(`svg`,{width:a,height:i,className:e._(`inline-block`,s),viewBox:`0 0 ${a} ${i}`,children:[(0,v.jsx)(`path`,{d:l,fill:`none`,className:e._(`transition-colors`,d()),strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`}),o&&u.map((t,n)=>(0,v.jsx)(`circle`,{cx:t.x,cy:t.y,r:`2`,className:e._(`transition-colors`,f())},n))]})},Z={renderers:{text:{Cell:R,Editor:z},number:{Cell:R,Editor:z},date:{Cell:R,Editor:z},datetime:{Cell:R,Editor:z},longtext:{Cell:R,Editor:z},boolean:{Cell:re,Editor:U},select:{Cell:X,Editor:ue},multiselect:{Cell:X,Editor:ue},progress:{Cell:fe},sparkline:{Cell:pe},chart:{Cell:e=>{let t=e.value;return Array.isArray(t)?g.default.createElement(pe,{values:t,...e}):g.default.createElement(fe,{value:t,...e})}}}},me=(0,g.createContext)(Z),he=()=>(0,g.useContext)(me),ge=({getValue:e,row:t,column:n,table:r})=>{let{renderers:i}=he(),a=e(),[o,s]=(0,g.useState)(a),c=n.columnDef.meta,l=c?.columnType||`text`,u=!r.options.meta?.isRowEditable||r.options.meta.isRowEditable(t.original),d=!r.options.meta?.isCellEditable||r.options.meta.isCellEditable(t.original,n.id),f=n.columnDef.enableEditing!==!1,p=r.options.meta?.enableEditing||!1,m=r.options.meta?.editingRows?.[t.index]||!1,h=p&&m&&u&&d&&f;(0,g.useEffect)(()=>{s(a)},[a]);let _=()=>{r.options.meta?.updateData(t.index,n.id,o)},y=e=>{s(e),(l===`boolean`||l===`select`)&&r.options.meta?.updateData(t.index,n.id,e)},b=(0,g.useMemo)(()=>({getValue:e,row:t,column:n,enableEditing:r.options.meta?.enableEditing,isCellEditable:r.options.meta?.isCellEditable,value:o,onChange:y,onBlur:_,columnType:l,meta:c,isFocused:r.options.meta?.focusedCell?.r===t.index&&r.options.meta?.focusedCell?.c===r.getVisibleLeafColumns().findIndex(e=>e.id===n.id)}),[e,t,n,o,l,c,y,_,r.options.meta?.focusedCell,r.getVisibleLeafColumns]);if(h){if(c?.Editor){let e=c.Editor;return(0,v.jsx)(e,{...b})}let e=i[l];if(e?.Editor){let t=e.Editor,n={...l===`boolean`?c?.booleanOptions:{},...l===`select`?c?.selectOptions:{}};return(0,v.jsx)(t,{...b,...n})}}if(c?.Cell){let e=c.Cell;return(0,v.jsx)(e,{...b})}let x=(i[l]||i.text).Cell,S={...l===`boolean`?c?.booleanOptions:{},...l===`longtext`?c?.longTextOptions:{},...l===`number`?c?.numberOptions:{},...l===`date`?c?.dateOptions:{},...l===`datetime`?c?.dateTimeOptions:{},...l===`select`?c?.selectOptions:{},...l===`progress`||l===`chart`||l===`sparkline`?c?.chartOptions:{}};return(0,v.jsx)(x,{...b,...S})},Q=(e,t)=>typeof e==`function`?e(t):e,_e=(e,t)=>{let{columns:n,rowCount:r,pageCount:i,pagination:o,pageSize:s=10,enableRowSelection:c,selectionSettings:l,enableGrouping:u,enableRowPinning:d,enableColumnPinning:f,enableTreeData:p,getSubRows:m,manualPagination:h,manualSorting:_,manualFiltering:v,enablePersistence:y,persistenceKey:b,defaultGrouping:x=[],getRowId:S}=e,C=!!e.service||!!e.serviceName,{state:T,setState:E}=a.t({initialState:{sorting:[],columnFilters:[],globalFilter:``,columnSizing:{},rowSelection:{},grouping:x,expanded:{},rowPinning:{top:[],bottom:[]},pagination:{pageIndex:0,pageSize:s},columnPinning:{left:[],right:[]},columnVisibility:{},columnOrder:[]},persistenceKey:y?b:void 0}),D=(0,g.useRef)({}),O=e=>{E(t=>({...t,sorting:Q(e,t.sorting)}))},k=e=>{E(t=>({...t,pagination:Q(e,t.pagination)}))},ee=e=>{E(t=>{let n=Q(e,t.rowSelection);return D.current=n,{...t,rowSelection:n}})},A=e=>E(t=>({...t,columnFilters:Q(e,t.columnFilters)})),j=e=>E(t=>({...t,globalFilter:Q(e,t.globalFilter)})),M=e=>E(t=>({...t,columnSizing:Q(e,t.columnSizing)})),N=e=>E(t=>({...t,grouping:Q(e,t.grouping)})),P=e=>E(t=>({...t,expanded:Q(e,t.expanded)})),F=e=>E(t=>({...t,rowPinning:Q(e,t.rowPinning)})),I=e=>E(t=>({...t,columnPinning:Q(e,t.columnPinning)})),L=e=>E(t=>({...t,columnVisibility:Q(e,t.columnVisibility)})),R=e=>{E(t=>({...t,columnOrder:Q(e,t.columnOrder)}))},z=(0,g.useRef)(!0),B=(0,g.useRef)(T.sorting),V=(0,g.useRef)(T.pagination),H=(0,g.useRef)(T.rowSelection),re=(0,g.useRef)(T.columnOrder);(0,g.useEffect)(()=>{z.current||JSON.stringify(T.sorting)!==JSON.stringify(B.current)&&(e.onSortingChange?.(T.sorting),e.onSort?.({columns:T.sorting.map(e=>({direction:e.desc?`Descending`:`Ascending`,name:e.id}))}),B.current=T.sorting)},[T.sorting,e.onSortingChange,e.onSort]),(0,g.useEffect)(()=>{z.current||JSON.stringify(T.pagination)!==JSON.stringify(V.current)&&(e.onPaginationChange?.(T.pagination),e.onPageChange?.({action:`page`,currentPage:T.pagination.pageIndex+1}),V.current=T.pagination)},[T.pagination,e.onPaginationChange,e.onPageChange]),(0,g.useEffect)(()=>{if(!z.current&&JSON.stringify(T.rowSelection)!==JSON.stringify(H.current)){e.onRowSelectionChange?.(T.rowSelection);let n=Object.keys(H.current).filter(e=>H.current[e]),r=Object.keys(T.rowSelection).filter(e=>T.rowSelection[e]),i=r.filter(e=>!n.includes(e)),a=n.filter(e=>!r.includes(e));i.forEach(n=>{let r=parseInt(n);!isNaN(r)&&t[r]&&e.onRowSelect?.({data:t[r],rowIndex:r})}),a.forEach(n=>{let r=parseInt(n);!isNaN(r)&&t[r]&&e.onRowDeselect?.({data:t[r],rowIndex:r})}),H.current=T.rowSelection}},[T.rowSelection,t,e.onRowSelectionChange,e.onRowSelect,e.onRowDeselect]),(0,g.useEffect)(()=>{z.current||JSON.stringify(T.columnOrder)!==JSON.stringify(re.current)&&(e.onColumnOrderChange?.(T.columnOrder),re.current=T.columnOrder)},[T.columnOrder,e.onColumnOrderChange]),(0,g.useEffect)(()=>{z.current=!1},[]);let U=(0,g.useRef)(e.onColumnFiltersChange),W=(0,g.useRef)(e.onGlobalFilterChange);return(0,g.useEffect)(()=>{U.current=e.onColumnFiltersChange,W.current=e.onGlobalFilterChange}),(0,g.useEffect)(()=>{v&&T.columnFilters.length>=0&&U.current?.(T.columnFilters)},[T.columnFilters,v]),(0,g.useEffect)(()=>{v&&W.current?.(T.globalFilter)},[T.globalFilter,v]),{table:(0,w.useReactTable)({data:t,columns:n,getRowId:S,rowCount:r,pageCount:i,state:(0,g.useMemo)(()=>({sorting:T.sorting,columnFilters:T.columnFilters,globalFilter:T.globalFilter,columnSizing:T.columnSizing,rowSelection:T.rowSelection,pagination:T.pagination,grouping:T.grouping,expanded:T.expanded,rowPinning:T.rowPinning,columnPinning:T.columnPinning,columnVisibility:T.columnVisibility,columnOrder:T.columnOrder,...e.state}),[T,e.state]),onSortingChange:O,onColumnFiltersChange:A,onGlobalFilterChange:j,onColumnSizingChange:M,onRowSelectionChange:ee,onPaginationChange:k,onGroupingChange:N,onExpandedChange:P,onRowPinningChange:F,onColumnPinningChange:I,onColumnVisibilityChange:L,onColumnOrderChange:R,globalFilterFn:te,defaultColumn:{cell:ge,filterFn:ne},manualPagination:C||h,manualSorting:C||_,manualFiltering:C||v,enableRowSelection:l?!0:c,enableMultiRowSelection:!l||l.type===`Multiple`,enableGrouping:u,enableSorting:!0,enableRowPinning:d,enableColumnPinning:f,columnResizeMode:`onChange`,enableColumnResizing:!0,aggregationFns:{uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size},getSubRows:p?m:void 0,getCoreRowModel:(0,w.getCoreRowModel)(),getSortedRowModel:(0,w.getSortedRowModel)(),getFilteredRowModel:(0,w.getFilteredRowModel)(),getPaginationRowModel:o?(0,w.getPaginationRowModel)():void 0,getGroupedRowModel:u?(0,w.getGroupedRowModel)():void 0,getExpandedRowModel:u||p?(0,w.getExpandedRowModel)():void 0,getFacetedUniqueValues:(0,w.getFacetedUniqueValues)(),getFacetedMinMaxValues:(0,w.getFacetedMinMaxValues)(),meta:{}}),states:{sorting:T.sorting,setSorting:O,columnFilters:T.columnFilters,setColumnFilters:A,globalFilter:T.globalFilter,setGlobalFilter:j,rowSelection:T.rowSelection,setRowSelection:ee,paginationState:T.pagination,setPaginationState:k,grouping:T.grouping,setGrouping:N,expanded:T.expanded,setExpanded:P,rowPinning:T.rowPinning,setRowPinning:F,columnPinning:T.columnPinning,setColumnPinning:I,columnVisibility:T.columnVisibility,setColumnVisibility:L,columnOrder:T.columnOrder,setColumnOrder:R}}},ve=(e,t,n=`ltr`)=>{let{density:r=`standard`,rowHeight:i,estimatedRowHeight:a,rowSizingMode:o=`auto`,enableColumnVirtualization:c=!1}=e,{rows:l}=t.getRowModel(),u=(0,g.useMemo)(()=>{if(i)return i;if(a)return a;switch(r){case`compact`:return 41;case`comfortable`:return 89;default:return 65}},[i,a,r]),d=(0,g.useMemo)(()=>{switch(r){case`compact`:return 40;case`comfortable`:return 56;default:return 48}},[r]),f=(0,g.useMemo)(()=>{if(i)return!1;if(o===`dynamic`)return!0;if(o===`fixed`)return!1;let t=e.columns.some(e=>e.meta?.wrapText),n=e.textWrapSettings?.wrapMode===`Both`||e.textWrapSettings?.wrapMode===`Content`;return!!(e.renderDetailPanel||e.enableEditing||t||n||e.adaptiveSizing)},[i,o,e.columns,e.textWrapSettings,e.renderDetailPanel,e.enableEditing,e.adaptiveSizing]),{parentRef:p,rowVirtualizer:m,columnVirtualizer:h,scrollToIndex:_,scrollToRow:v,scrollToColumn:y}=s._({rowCount:l.length,rowHeight:u,overscanCount:e.overscanCount??30,columnCount:c?t.getVisibleLeafColumns().length:0,columnWidth:e=>t.getVisibleLeafColumns()[e].getSize(),enableColumnVirtualization:c,progressiveRendering:e.progressiveRendering??!1,prefetchDistance:e.prefetchDistance??10,adaptiveSizing:f,id:e.id,debug:!1,languageDirection:n,scrollPaddingStart:e.enableStickyHeader?e.scrollPaddingStart??d:e.scrollPaddingStart??0,scrollMargin:0});return{parentRef:p,rowVirtualizer:m,columnVirtualizer:h,scrollToIndex:_,scrollToRow:v,scrollToColumn:y,effectiveRowHeight:u,dynamicRowSizing:f}},ye=(e,t)=>{let{enableRangeSelection:n=!1}=e,{rows:r}=t.getRowModel(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!1),c=(0,g.useCallback)((e,t)=>{n&&(s(!0),a({start:{r:e,c:t},end:{r:e,c:t}}))},[n]),l=(0,g.useCallback)((e,t)=>{!n||!o||a(n=>n?{...n,end:{r:e,c:t}}:null)},[n,o]);return(0,g.useEffect)(()=>{if(!n)return;let e=()=>s(!1);return window.addEventListener(`mouseup`,e),()=>window.removeEventListener(`mouseup`,e)},[n]),{rangeSelection:i,onCellMouseDown:c,onCellMouseEnter:l,selectRowByRange:(0,g.useCallback)((e,n)=>{let i={},[a,o]=[Math.min(e,n),Math.max(e,n)];for(let e=a;e<=o;e++){let t=r[e];t&&(i[t.id]=!0)}t.setRowSelection(e=>({...e,...i}))},[r,t]),isSelecting:o}},be=(e,t)=>{let[n,r]=(0,g.useTransition)(),i=(0,g.useCallback)(e=>{r(()=>{t.setColumnFilters(e)})},[t]),a=(0,g.useCallback)(e=>{r(()=>{t.setGlobalFilter(e)})},[t]),o=t.getState().columnFilters,s=t.getState().globalFilter,c=(0,g.useRef)(!0),l=(0,g.useRef)(o),u=(0,g.useRef)(s);return(0,g.useEffect)(()=>{if(!c.current&&JSON.stringify(o)!==JSON.stringify(l.current)){e.onColumnFiltersChange?.(o);let n=o.map(e=>({id:e.id,field:e.id,operator:`contains`,value:e.value}));e.onFilter?.({columns:n,table:t}),l.current=o}},[o,e.onColumnFiltersChange,e.onFilter,t]),(0,g.useEffect)(()=>{if(c.current){c.current=!1;return}s!==u.current&&(e.onGlobalFilterChange?.(s),typeof s==`string`&&e.onSearch?.(s),u.current=s)},[s,e.onGlobalFilterChange,e.onSearch]),{isFiltering:n,handleColumnFiltersChange:i,handleGlobalFilterChange:a,setFilterModel:t.setColumnFilters,setGlobalFilter:t.setGlobalFilter}},xe=(t,n,r,a,o,s={})=>{let c=e.n(),{rows:l}=n.getRowModel(),u=(0,g.useRef)([]);(0,g.useEffect)(()=>()=>{u.current.forEach(e=>clearTimeout(e))},[]);let d=(0,g.useMemo)(()=>{let e=h.a(a.refresh,a.forceUpdate),i=h.s(a.showSpinner,a.hideSpinner),o=h.o(e=>{let t=l[typeof e==`string`?parseInt(e):e];t?.getCanSelect()&&t.toggleSelected(!0)},e=>{let t={};e.forEach(e=>{let n=l[typeof e==`string`?parseInt(e):e];n&&(t[n.id]=!0)}),n.setRowSelection(t)},()=>n.resetRowSelection(),()=>n.toggleAllRowsSelected(!0),()=>n.getSelectedRowModel().rows.map(e=>e.original),(e,t)=>{let n=typeof e==`string`?parseInt(e):e;a.scrollToIndex(n)}),d=h.i(a.scrollToIndex,e=>n.setPageIndex(e)),f=h.r(()=>t.onExportCSV?.(n),()=>t.onExportExcel?.(n),()=>{window.print()});return{...e,...i,getData:()=>r,getState:()=>n.getState(),getSelectedRows:()=>n.getSelectedRowModel().rows.map(e=>e.original),saveChanges:async()=>{t.onDataChangeComplete?.({action:`edit`,data:a.batchChanges.changedRecords}),c.get(`NotificationService`)?.show({type:`success`,message:`Changes Saved Successfully!`,duration:3e3})},cancelChanges:()=>{a.resetData(),t.onDataChangeCancel?.({action:`edit`}),c.get(`NotificationService`)?.show({type:`info`,message:`Changes Discarded`,duration:3e3})},validateField:e=>!0,setCellValue:(e,t,n)=>{let r=parseInt(e);isNaN(r)||a.performEdit(r,t,n)},setRowData:(e,t)=>{let n=parseInt(e);isNaN(n)||a.setData(e=>{let r=[...e];return r[n]={...r[n],...t},r})},addRecord:async e=>{let i=e||{},o=t.editSettings?.primaryKey,s=o?Array.isArray(o)?o[0]:o:`id`,l=i[s];if(l===void 0&&(l=`_temp_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,i[s]=l),a.service)try{let e=await a.addMutation.mutateAsync(i);c.get(`NotificationService`)?.show({type:`success`,message:`Row Added Successfully!`,duration:3e3});let t=setTimeout(()=>{u.current=u.current.filter(e=>e!==t);let i=e[s]||l;n.setRowSelection({[i]:!0});let o=r.findIndex(e=>e[s]===i);o!==-1&&(a.toggleRowEditing(o,!0),a.scrollToIndex(o))},100);u.current.push(t);return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Add Row`,duration:3e3}),e}t.onDataChangeStart?.({action:`add`,data:i}),t.onRowAddStart?.({data:i}),a.addRow(i,0),t.onDataChangeComplete?.({action:`add`,data:i}),c.get(`NotificationService`)?.show({type:`success`,message:`Row Added Successfully!`,duration:3e3});let d=setTimeout(()=>{u.current=u.current.filter(e=>e!==d),n.resetRowSelection(),n.setRowSelection({[l]:!0}),a.toggleRowEditing(0,!0),a.scrollToIndex(0)},50);u.current.push(d)},updateRecord:async(e,n)=>{let i=typeof e==`number`?e:parseInt(e),o=t.editSettings?.primaryKey,s=o?Array.isArray(o)?o[0]:o:`id`,l=r[i]?.[s];if(a.service&&l)try{await a.updateMutation.mutateAsync({id:l,updates:n}),c.get(`NotificationService`)?.show({type:`success`,message:`Row Updated Successfully!`,duration:3e3});return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Update Row`,duration:3e3}),e}t.onDataChangeStart?.({action:`edit`,data:n}),a.setData(e=>{let t=[...e];return t[i]={...t[i],...n},c.get(`NotificationService`)?.show({type:`success`,message:`Row Updated Successfully!`,duration:3e3}),t})},deleteRecord:async e=>{let n=typeof e==`number`?e:parseInt(e),i=r[n],o=t.editSettings?.primaryKey,s=o?Array.isArray(o)?o[0]:o:`id`,l=i?.[s];if(a.service&&l)try{await a.deleteMutation.mutateAsync(l),c.get(`NotificationService`)?.show({type:`success`,message:`Row Deleted Successfully!`,duration:3e3});return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Delete Row`,duration:3e3}),e}t.onDataChangeStart?.({action:`delete`,data:i}),a.deleteRows([n]),c.get(`NotificationService`)?.show({type:`success`,message:`Row Deleted Successfully!`,duration:3e3})},deleteRecords:async e=>{if(a.service){let n=t.editSettings?.primaryKey,i=n?Array.isArray(n)?n[0]:n:`id`;try{for(let t of e){let e=r[t]?.[i];e&&await a.deleteMutation.mutateAsync(e)}c.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Rows Deleted Successfully!`,duration:3e3});return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Delete Rows`,duration:3e3}),e}}t.onDataChangeStart?.({action:`delete`,data:e.map(e=>r[e])}),a.deleteRows(e),c.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Rows Deleted Successfully!`,duration:3e3})},getRowInfo:e=>l[typeof e==`number`?e:parseInt(e)],editRecord:e=>{let t=typeof e==`number`?e:parseInt(e);a.toggleRowEditing(t,!0)},saveDataChanges:()=>{t.onDataChangeComplete?.({action:`edit`,data:a.batchChanges.changedRecords}),c.get(`NotificationService`)?.show({type:`success`,message:`Changes Saved Successfully!`,duration:3e3})},cancelDataChanges:()=>{a.resetData(),t.onDataChangeCancel?.({action:`edit`}),c.get(`NotificationService`)?.show({type:`info`,message:`Changes Discarded`,duration:3e3})},getBatchChanges:()=>a.batchChanges,getChanges:()=>a.batchChanges,history:{changes:a.changes,batchChanges:a.batchChanges},...o,getSelectedRowIndexes:()=>Object.keys(n.getState().rowSelection).map(Number),clearRowSelection:()=>n.resetRowSelection(),...d,search:e=>n.setGlobalFilter(e),filterByColumn:(e,t,r)=>n.getColumn(e)?.setFilterValue({operator:t,value:r}),clearFilter:e=>e?n.getColumn(e)?.setFilterValue(void 0):n.resetColumnFilters(),sortByColumn:(e,t)=>n.setSorting([{id:e,desc:t===`desc`}]),clearSort:()=>n.resetSorting(),removeSortColumn:e=>n.setSorting(t=>t.filter(t=>t.id!==e)),getVisibleColumns:()=>n.getVisibleLeafColumns().map(e=>e.columnDef),getHiddenColumns:()=>n.getAllLeafColumns().filter(e=>!e.getIsVisible()).map(e=>e.columnDef),getColumnByField:e=>n.getColumn(e)?.columnDef||null,getColumns:()=>n.getAllLeafColumns().map(e=>e.columnDef),setColumnVisibility:e=>n.setColumnVisibility(e),copyToClipboard:async(e=!0)=>{if(!navigator?.clipboard)return;let t=n.getVisibleLeafColumns(),r=n.getRowModel().rows,i=e?t.map(e=>e.id).join(` `)+`
2
+ `:``,a=r.map(e=>t.map(t=>{let n=e.getValue(t.id);return n==null?``:String(n)}).join(` `)).join(`
3
+ `);try{await navigator.clipboard.writeText(i+a),c.get(`NotificationService`)?.show({type:`success`,message:`Copied to Clipboard!`,duration:2e3})}catch(e){console.error(`Failed to copy`,e),c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Copy`,duration:3e3})}},autoFitColumns:()=>{n.getVisibleLeafColumns().forEach(e=>{a.autoFitColumn(e.id)})},expandAllGroups:()=>n.toggleAllRowsExpanded(!0),collapseAllGroups:()=>n.toggleAllRowsExpanded(!1),isRemote:()=>!!(t.manualPagination||t.onDataRequest),getDataModule:()=>({table:n,data:r}),setPagerMessage:e=>a.setPagerMessage(e),validateEditForm:()=>!0,getPrimaryKeyFieldNames:()=>{let e=t.editSettings?.primaryKey;return e?Array.isArray(e)?e:[e]:[]},...f,...s}},[t,n,r,l,a,s]);return i.n(o,d),d},Se=[],Ce=new WeakMap,we=1;function Te(e){let t=Ce.get(e);return t||(t=`inline-service-${we++}`,Ce.set(e,t)),t}var Ee=(e,t,n={})=>{let{api:r,serviceRegistry:i}=o.n(e),a=(0,C.useQueryClient)(),{dataSource:s,data:c,onRefresh:u,onDataRequest:d,onDataLoad:f,onError:p,enableEditing:m,isRowEditable:h,isCellEditable:_,pagination:v=!0,enableExport:y=!1,enableStickyHeader:b=!0,enableStickyPagination:x=!0,enableChangeTracking:S=!0,density:w=`standard`,dir:T}=e,E=l.t(`I18nService`),D=T===`auto`||!T?E?.dir||`ltr`:T,k=s||c||Se,ee=(0,g.useMemo)(()=>{let t=e.editSettings?.primaryKey;return t?Array.isArray(t)?t[0]:t:`id`},[e.editSettings?.primaryKey]),{data:A,setData:j,performEdit:N,addRow:P,deleteRows:I,undo:te,redo:ne,canUndo:L,canRedo:R,changes:z,batchChanges:B,resetData:V}=M(k,ee),[H,re]=(0,g.useState)(void 0),U=(0,g.useMemo)(()=>e.service?e.service:e.serviceName?i.get(e.serviceName):null,[e.service,e.serviceName]),{table:W,states:G}=_e(e,A),K=W.getState().pagination,q=W.getState().sorting,ie=W.getState().columnFilters,ae=W.getState().globalFilter,J=(0,g.useMemo)(()=>{if(e.serviceName)return e.serviceName;if(e.service){let t=e.service;return t.resourceKey||t.serviceKey||t.name||t.id||Te(e.service)}return`local`},[e.serviceName,e.service]),Y=(0,g.useMemo)(()=>[`table-data`,J,K.pageIndex,K.pageSize,q,ie,ae],[J,K,q,ie,ae]),{data:oe,isLoading:se,error:ce}=(0,C.useQuery)({queryKey:Y,queryFn:async()=>{if(!U)return{data:k,totalCount:k.length};let{onDataChange:t,...n}=e,r=await U.getData({...n,state:W.getState(),data:[],columns:[]}),i=r.data;return{data:i,totalCount:(`totalCount`in r?r.totalCount:r.rowCount)??i.length}},enabled:!!U,placeholderData:{data:k,totalCount:k.length}}),le=oe?.data||k,X=oe?.totalCount??k.length;(0,g.useEffect)(()=>{U&&le&&!z.added&&!z.edited&&!z.deleted&&j(le)},[le,U,j,z.added,z.edited,z.deleted]);let ue=(0,C.useMutation)({mutationFn:e=>U.createRow(e),onMutate:async e=>{await a.cancelQueries({queryKey:Y});let t=a.getQueryData(Y);return a.setQueryData(Y,t=>({data:[...t?.data||[],e],totalCount:(t?.totalCount??0)+1})),{previousData:t}},onError:(e,t,n)=>{n?.previousData&&a.setQueryData(Y,n.previousData)},onSuccess:()=>a.invalidateQueries({queryKey:Y})}),de=(0,C.useMutation)({mutationFn:({id:e,updates:t})=>U.updateRow(e,t),onMutate:async({id:t,updates:n})=>{await a.cancelQueries({queryKey:Y});let r=a.getQueryData(Y);return a.setQueryData(Y,r=>{let i=r?.data||[];return{data:i.map(r=>{let i=e.getRowId?e.getRowId(r):r.id||r[ee];return String(i)===String(t)?{...r,...n}:r}),totalCount:r?.totalCount??i.length}}),{previousData:r}},onError:(e,t,n)=>{n?.previousData&&a.setQueryData(Y,n.previousData)},onSuccess:()=>a.invalidateQueries({queryKey:Y})}),fe=(0,C.useMutation)({mutationFn:e=>U.deleteRow(e),onMutate:async t=>{await a.cancelQueries({queryKey:Y});let n=a.getQueryData(Y);return a.setQueryData(Y,n=>{let r=n?.data||[];return{data:r.filter(n=>{let r=e.getRowId?e.getRowId(n):n.id||n[ee];return String(r)!==String(t)}),totalCount:Math.max(0,(n?.totalCount??r.length)-1)}}),{previousData:n}},onError:(e,t,n)=>{n?.previousData&&a.setQueryData(Y,n.previousData)},onSuccess:()=>a.invalidateQueries({queryKey:Y})}),[pe,Z]=(0,g.useState)(!1),me=se||pe,{isFiltering:he,handleColumnFiltersChange:ge,handleGlobalFilterChange:Q,setFilterModel:Ce,setGlobalFilter:we}=be(e,W),{parentRef:Ee,rowVirtualizer:De,columnVirtualizer:Oe,effectiveRowHeight:ke,dynamicRowSizing:Ae}=ve(e,W,D),{rangeSelection:je,onCellMouseDown:Me,onCellMouseEnter:Ne,selectRowByRange:Pe}=ye(e,W),[Fe,Ie]=(0,g.useState)(null),Le=(0,g.useCallback)((e,t)=>{Ie(n=>{if(!n)return{r:0,c:0};let r=W.getRowModel().rows.length;return{r:Math.max(0,Math.min(r-1,n.r+e)),c:Math.max(0,Math.min(W.getVisibleLeafColumns().length-1,n.c+t))}})},[W]),Re=(0,g.useCallback)(e=>{let t=W.getVisibleLeafColumns(),n=A[e];return Math.max(0,t.findIndex(e=>e.id===`select`||e.id===`actions`||e.columnDef?.enableEditing===!1?!1:!_||!n||_(n,e.id)))},[A,_,W]),ze=(0,g.useCallback)(e=>{let t=Re(e);Ie({r:e,c:t});let n=window.setTimeout(()=>{let n=document.querySelector(`[role="cell"][data-row-index="${e}"][data-cell-index="${t}"]`);n?.scrollIntoView({block:`nearest`,inline:`nearest`}),n?.focus({preventScroll:!0}),n?.click();let r=n?.querySelector(`input, textarea, button, [tabindex]:not([tabindex="-1"])`);r?.focus({preventScroll:!0}),r?.click()},0);return()=>window.clearTimeout(n)},[Re]),[Be,Ve]=(0,g.useState)({}),He=(0,g.useCallback)((t,n)=>{let r=n===!0||n===void 0&&!Be[t];r&&A[t]&&e.onRowEditStart?.({row:W.getRowModel().rows[t],data:A[t]}),Ve(i=>r&&(e.editSettings?.mode===`Normal`||!e.editSettings?.mode)?{[String(t)]:!0}:{...i,[t]:n===void 0?!i[t]:n}),r&&ze(t)},[A,Be,ze,e.onRowEditStart,e.editSettings?.mode,W]),Ue=(0,g.useCallback)((e,t,n)=>{if(!m)return;let r=A[e];h&&!h(r)||_&&!_(r,t)||N(e,t,n)},[m,N,A,h,_]),{autoFitColumn:We}=F(W),Ge=(0,g.useCallback)(async()=>{if(U)await a.invalidateQueries({queryKey:Y});else if(d){Z(!0);try{d(W.getState())}catch(e){p&&p(e)}finally{Z(!1)}}W.reset(),u?.()},[d,W,u,p,U,a,Y]);(0,g.useEffect)(()=>{ce&&p&&p(ce)},[ce,p]),(0,g.useEffect)(()=>{U&&X!==void 0&&W.setOptions(e=>({...e,rowCount:X}))},[X,W,U]);let $=xe(e,W,A,{refresh:Ge,setData:j,performEdit:N,showSpinner:()=>Z(!0),hideSpinner:()=>Z(!1),scrollToIndex:e=>De.scrollToIndex(e,{align:`center`}),toggleRowEditing:He,forceUpdate:()=>{Z(e=>!e),setTimeout(()=>Z(e=>!e),0)},resetData:V,setPagerMessage:re,batchChanges:B,changes:z,addRow:P,deleteRows:I,setFocusedCell:Ie,autoFitColumn:We,addMutation:ue,updateMutation:de,deleteMutation:fe,service:U},t,n),Ke=(0,g.useMemo)(()=>({updateData:Ue,editingRows:Be,toggleRowEditing:He,focusedCell:Fe,setFocusedCell:Ie,navigateFocus:Le,addRecord:$.addRecord,deleteRecord:$.deleteRecord,deleteRecords:$.deleteRecords,enableEditing:e.enableEditing&&(e.editSettings?.allowEditing??!0),isRowEditable:h,isCellEditable:_,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:D,containerRef:Ee}),[Ue,Be,He,Fe,$.addRecord,$.deleteRecord,$.deleteRecords,e.enableEditing,e.editSettings,h,_,e.enableSearchHighlighting,e.selectionSettings,e.editSettings,e.classNames,e.icons,e.slots,e.slotProps,e.localization,Ee]);return W.options.meta=Ke,(0,g.useEffect)(()=>{f&&f(A)},[A,f]),O({onRenderStart:e.onGridRenderStart,onRenderComplete:e.onGridRenderComplete}),(0,g.useMemo)(()=>({state:{...G,rows:W.getRowModel().rows,rangeSelection:je,canUndo:L,canRedo:R,changes:z,batchChanges:B,density:w,isPending:he||e.isLoading||me,focusedCell:Fe,globalFilter:G.globalFilter,pagerMessage:H,internalLoading:pe},actions:{undo:te,redo:ne,resetData:V,addRow:P,deleteRows:I,toggleRowEditing:He,autoFitColumn:We,onCellMouseDown:Me,onCellMouseEnter:Ne,onRowClick:e.onRowClick,onRowDoubleClick:e.onRowDoubleClick,onCellFocus:e.onCellFocus,onToolbarItemClick:e.onToolbarItemClick,setFocusedCell:Ie,setGlobalFilter:we,handleColumnFiltersChange:ge,handleGlobalFilterChange:Q,setFilterModel:Ce,getData:()=>A,getPrimaryKeyFieldNames:()=>{let t=e.editSettings?.primaryKey;return t?Array.isArray(t)?t:[t]:[]}},refs:{parentRef:Ee,rowVirtualizer:De,columnVirtualizer:Oe},config:{paginationEnabled:v,exportEnabled:y,enableStickyHeader:b,enableStickyPagination:x,enableChangeTracking:S,enableEditing:m,gridLines:e.gridLines,enableAltRow:e.enableAltRow,enableHover:e.enableHover,rowHeight:ke,dynamicRowSizing:Ae,selectionSettings:e.selectionSettings,filterSettings:e.filterSettings,searchSettings:e.searchSettings,sortSettings:e.sortSettings,editSettings:e.editSettings},services:{},table:W,dir:D,baseApi:r,imperativeAPI:$}),[r,$,G,Ee,De,Oe,W,D,v,y,je,Me,Ne,b,x,S,te,ne,L,R,z,B,V,P,I,He,w,he,e,A,ge,Q,Ce,we,H,Fe,Ie,pe])},De=({containerRef:e,containerSizeRef:t,resizeTimeoutRef:n,onResize:r},i)=>{(0,g.useEffect)(()=>{if(!e.current)return;let i=e.current;i.style.height=`100%`,i.style.minHeight=`0`,i.style.height=``;let a=new ResizeObserver(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{for(let n of e){let{width:e,height:i}=n.contentRect;(Math.abs(e-t.current.width)>1||Math.abs(i-t.current.height)>1)&&(t.current={width:e,height:i},r())}},100)});return a.observe(i),()=>{a.disconnect(),n.current&&clearTimeout(n.current)}},i)},Oe=({table:e,editSettings:t,toggleRowEditing:n,onRowClickProp:r,onRowDoubleClickProp:i,onCellClickProp:a,onCellDoubleClickProp:o})=>{let s=(0,g.useCallback)((s,c)=>{let l=e.options.meta;if(l?.setFocusedCell){let t=s.colIndex??e.getVisibleLeafColumns().findIndex(e=>e.id===s.columnId);t!==-1&&l.setFocusedCell({r:s.rowIndex,c:t})}c===`dblclick`&&t?.allowEditing&&t?.allowEditOnDblClick!==!1&&n(s.rowIndex,!0),(c===`click`?a??r:o??i)?.(s)},[e,t,n,r,i]);return{onRowClick:e=>s(e,`click`),onRowDoubleClick:e=>s(e,`dblclick`),onCellClick:e=>s(e,`click`),onCellDoubleClick:e=>s(e,`dblclick`)}},ke=({dialogState:e,isDialogMode:t,rows:n,table:r})=>{(0,g.useEffect)(()=>{if(!t)return;let i=Object.keys(r.options.meta?.editingRows||{}).find(e=>r.options.meta?.editingRows?.[e]);if(i!==void 0){let t=parseInt(i);!isNaN(t)&&n[t]&&e.open(`edit`,n[t].original,{index:t})}},[t,e,n,r])},Ae=()=>(0,v.jsx)(`div`,{className:`flex flex-col items-center justify-center min-h-screen p-4`,children:(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-4 max-w-md w-full`,children:[(0,v.jsx)(`div`,{className:`flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10`,children:(0,v.jsx)(_.AlertTriangle,{className:`w-8 h-8 text-destructive`})}),(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,v.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Table Error`}),(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Something went wrong with the table. Please refresh the page or try again.`})]}),(0,v.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:[(0,v.jsx)(_.RefreshCw,{className:`w-4 h-4`}),`Refresh Page`]})]})}),je=e=>{switch(e){case`compact`:return`min-h-[40px]`;case`comfortable`:return`min-h-[56px]`;default:return`min-h-[48px]`}},Me=e=>{switch(e){case`compact`:return`py-0 px-2`;case`comfortable`:return`py-4 px-4`;default:return`py-2 px-4`}},Ne=e=>{switch(e){case`compact`:return`text-[13px] leading-5`;case`comfortable`:return`text-base`;default:return`text-sm`}},Pe=t=>e._(je(t),Me(t),Ne(t)),Fe=(e,t,n=`ltr`)=>e?{position:`sticky`,[n===`rtl`?e===`left`?`right`:`left`:e===`left`?`left`:`right`]:`${t}px`,zIndex:30}:{},Ie=(t,n=`ltr`)=>{if(!t)return``;let r=t===`left`,i=n===`rtl`;return e._(`bg-background`,r&&!i||!r&&i?`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)]`)},Le=(e,t=`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 t===`rtl`?`justify-end text-right`:`justify-start text-left`}},Re=(t,n)=>e._(t&&`bg-primary/10 ring-1 ring-inset ring-primary/30 z-[1]`,n&&`bg-primary/10 z-[10]`),ze=(e,t)=>{switch(e){case`wrap`:return`whitespace-normal break-words`;case`ellipsis`:return t?`overflow-hidden`:`truncate`;default:return`truncate`}},Be=(e,t,n=`ltr`)=>t||!e||e===`None`||e===`Horizontal`?``:n===`rtl`?`border-l border-border/50`:`border-r border-border/50`,Ve={compact:`py-1 text-xs`,standard:`py-2 text-sm`,comfortable:`py-4 text-base`},He=(e=`standard`)=>Ve[e],Ue=`flex flex-col`,We={default:`border border-border`,bottom:`border-b border-border`,top:`border-t border-border`,left:`border-l border-border`,right:`border-r border-border`,none:`border-0`},Ge=({header:t,density:n})=>{let r=t.column.columnDef.meta?.align||`left`;return(0,v.jsx)(`div`,{className:e._(`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`,He(n),r===`center`&&`justify-center text-center`,r===`right`&&`justify-end text-right`),style:{width:t.getSize(),maxWidth:t.column.columnDef.maxSize,minWidth:t.column.columnDef.minSize},children:(0,v.jsxs)(`div`,{className:e._(`flex items-center w-full gap-2`,r===`center`&&`justify-center relative`,r===`right`&&`justify-end`),children:[(0,v.jsx)(`div`,{className:`p-1 text-zinc-400`,children:(0,v.jsx)(_.GripVertical,{className:`w-3.5 h-3.5`})}),(0,v.jsx)(`span`,{className:`truncate`,children:(0,w.flexRender)(t.column.columnDef.header,t.getContext())})]})})},$=(0,g.memo)(({table:t,totalRows:n,selectionInfo:r,rowSelection:i})=>{let a=n??(t.getPrePaginationRowModel().rows.length||t.options.rowCount||t.getRowModel().rows.length),o=typeof a==`number`?a:0,s=Object.keys(i||{}).length;return(0,v.jsxs)(`div`,{className:e._(`flex border-t border-border p-2 text-xs text-muted-foreground justify-between bg-muted/30`,`rounded-b-md`),children:[(0,v.jsxs)(`div`,{className:`flex gap-4 items-center`,children:[(0,v.jsxs)(`span`,{children:[`Total: `,o,` rows`]}),s>0&&(0,v.jsxs)(`span`,{className:`text-primary font-medium`,children:[s,` selected`]}),typeof r==`string`&&(0,v.jsxs)(`span`,{children:[`| `,r]})]}),(0,v.jsx)(`div`,{className:`flex gap-2`})]})});$.displayName=`EzTableStatusBar`;function Ke(e){if(!e||e.length===0)return`text`;let t=e.slice(0,100).filter(e=>e!=null&&e!==``);if(t.length===0)return`text`;if(t.every(e=>typeof e==`boolean`||e===`true`||e===`false`))return`boolean`;if(t.every(e=>typeof e==`number`||!isNaN(parseFloat(e))&&isFinite(e)))return`number`;if(t.every(e=>e instanceof Date||typeof e==`string`&&!isNaN(Date.parse(e))&&e.length>5&&(e.includes(`-`)||e.includes(`/`)||e.includes(`:`))))return t.some(e=>String(e).includes(`:`)||e instanceof Date&&(e.getHours()!==0||e.getMinutes()!==0))?`datetime`:`date`;let n=new Set(t.map(e=>String(e)));return n.size>0&&n.size<=Math.min(t.length*.2,10)?`select`:t.some(e=>typeof e==`string`&&e.length>100)?`longtext`:`text`}function qe(e,t){let[n,r]=(0,g.useState)(()=>Array.isArray(e)?new Set(e):null);return{selectedValues:n,isAllSelected:n===null,handleSelectAll:(0,g.useCallback)(e=>{r(e?null:new Set)},[]),handleSelect:(0,g.useCallback)((e,n)=>{r(r=>{if(r===null){if(n)return null;let r=new Set(t);return r.delete(e),r}let i=new Set(r);if(n){if(i.add(e),i.size===t.length)return null}else i.delete(e);return i})},[t]),handleBulkSelect:(0,g.useCallback)((e,n)=>{r(r=>{let i=r||new Set(t),a=new Set(i);if(n){if(e.forEach(e=>a.add(e)),a.size===t.length)return null}else e.forEach(e=>a.delete(e));return a})},[t]),clearSelection:(0,g.useCallback)(()=>{r(null)},[])}}var Je=g.default.memo(({checked:e,indeterminate:t,onSelectAll:n,showSearchResults:r=!1})=>(0,v.jsxs)(`div`,{className:`flex items-center space-x-2 px-2 py-1.5 hover:bg-muted rounded text-sm cursor-pointer`,onClick:()=>n(!e),children:[(0,v.jsx)(m.t,{checked:e?!0:t?`indeterminate`:!1,onCheckedChange:e=>n(e===!0)}),(0,v.jsx)(`label`,{className:`flex-1 cursor-pointer`,children:r?`(Select All Search Results)`:`(Select All)`})]}));Je.displayName=`SelectAllCheckbox`;var Ye=g.default.memo(({column:e})=>{let t=e.columnDef.meta;return(0,v.jsxs)(`div`,{className:`p-3 space-y-3`,children:[(0,v.jsx)(`div`,{className:`text-sm font-medium`,children:`Filter by value:`}),(0,v.jsx)(W,{value:e.getFilterValue()||`all`,onChange:t=>{e.setFilterValue(t)},trueLabel:t?.booleanOptions?.trueLabel,falseLabel:t?.booleanOptions?.falseLabel,nullLabel:t?.booleanOptions?.nullLabel})]})});Ye.displayName=`BooleanFilterSection`;var Xe=g.default.memo(({column:e,allAvailableValues:t})=>(0,v.jsx)(`div`,{className:`p-1`,children:(0,v.jsx)(de,{options:t.map(e=>({value:String(e),label:String(e)})),selectedValues:Array.isArray(e.getFilterValue())?e.getFilterValue():[],onChange:t=>{e.setFilterValue(t.length>0?t:void 0)}})}));Xe.displayName=`SelectFilterSection`;var Ze=g.default.memo(({sortedUniqueValues:e,selectedValues:t,handleSelect:n,formatter:r})=>{let i=(0,g.useRef)(null),a=(0,b.useVirtualizer)({count:e.length,getScrollElement:()=>i.current,estimateSize:()=>32,overscan:5});return(0,v.jsx)(`div`,{ref:i,className:`flex-1 overflow-y-auto px-2 pb-2 min-h-0 pt-2`,children:(0,v.jsx)(`div`,{style:{height:`${a.getTotalSize()}px`,width:`100%`,position:`relative`},children:a.getVirtualItems().map(i=>{let a=e[i.index],o=t===null||t.has(a),s=r?r(a):String(a)||`(Empty)`;return(0,v.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:`${i.size}px`,transform:`translateY(${i.start}px)`},onClick:()=>n(a,!o),children:[(0,v.jsx)(m.t,{checked:o,onCheckedChange:e=>n(a,e===!0)}),(0,v.jsx)(`span`,{className:`flex-1 truncate`,children:s})]},i.key)})})})});Ze.displayName=`VirtualizedFilterList`;var Qe=g.default.memo(({onClear:e,onApply:n,onAddRule:r,onAddGroup:i,onRemove:a,showClear:o=!0,showApply:s=!0,showAddRule:c=!1,showAddGroup:l=!1,showRemove:u=!1,className:d})=>(0,v.jsxs)(`div`,{className:`p-2 border-t flex justify-between bg-popover text-popover-foreground flex-shrink-0 sticky bottom-0 z-20 ${d||``}`,children:[(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[o&&e&&(0,v.jsx)(t.t,{variant:`ghost`,size:`sm`,onClick:e,className:`h-8 text-xs`,children:`Clear`}),c&&r&&(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:r,title:`Add Rule`,children:(0,v.jsx)(_.PlusIcon,{className:`w-4 h-4`})}),l&&i&&(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:i,title:`Add Group`,children:(0,v.jsx)(`span`,{className:`font-bold text-xs`,children:`( )`})})]}),(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[u&&a&&(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-6 w-6 text-red-500 hover:text-red-600`,onClick:a,children:(0,v.jsx)(_.XIcon,{className:`w-4 h-4`})}),s&&n&&(0,v.jsx)(t.t,{size:`sm`,onClick:n,className:`min-w-[70px] h-8 text-xs font-semibold`,children:`OK`})]})]}));Qe.displayName=`FilterActionButtons`;function $e({node:e,selectedValues:t,onBulkSelect:n}){let[r,i]=(0,g.useState)(!1),a=!1;if(t===null)a=!0;else{let n=e.fullValues.filter(e=>t.has(e)).length;a=n===e.fullValues.length&&e.fullValues.length>0||n>0&&`indeterminate`}let o=t=>{n(e.fullValues,t)};return(0,v.jsxs)(`div`,{className:`pl-4`,children:[(0,v.jsxs)(`div`,{className:`flex items-center space-x-2 py-1 hover:bg-muted/50 rounded`,children:[e.children&&e.children.length>0?(0,v.jsx)(`button`,{onClick:e=>{e.stopPropagation(),i(!r)},className:`p-0.5 hover:bg-muted rounded mr-1 text-muted-foreground`,children:r?(0,v.jsx)(_.ChevronDown,{className:`w-4 h-4`}):(0,v.jsx)(_.ChevronRight,{className:`w-4 h-4`})}):(0,v.jsx)(`span`,{className:`w-5 mr-1`}),(0,v.jsx)(m.t,{checked:a===`indeterminate`?`indeterminate`:a,onCheckedChange:e=>o(e===!0),id:`node-${e.key}`}),(0,v.jsxs)(`label`,{htmlFor:`node-${e.key}`,className:`text-sm flex-1 cursor-pointer select-none text-foreground`,children:[e.label,(0,v.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[`(`,e.fullValues.length,`)`]})]})]}),e.children&&r&&(0,v.jsx)(`div`,{className:`border-l border-border ml-2`,children:e.children.map(e=>(0,v.jsx)($e,{node:e,selectedValues:t,onBulkSelect:n},e.key))})]})}function et({uniqueValues:e,selectedValues:t,onBulkSelect:n}){let r=(0,g.useMemo)(()=>{let t=[],n=Array.from(e.keys()).map(e=>{let t=e instanceof Date?e:new Date(e);return{date:t,original:e,valid:!isNaN(t.getTime())}}).filter(e=>e.valid);n.sort((e,t)=>e.date.getTime()-t.date.getTime());let r=new Map;return n.forEach(e=>{let t=e.date.getFullYear();r.has(t)||r.set(t,[]),r.get(t).push(e)}),r.forEach((e,n)=>{let r={key:String(n),label:String(n),level:0,fullValues:e.map(e=>e.original),children:[]},i=new Map;e.forEach(e=>{let t=e.date.getMonth();i.has(t)||i.set(t,[]),i.get(t).push(e)}),i.forEach((e,t)=>{let i=new Date(n,t).toLocaleString(`default`,{month:`long`}),a={key:`${n}-${t}`,label:i,level:1,fullValues:e.map(e=>e.original),children:[]},o=new Map;e.forEach(e=>{let t=e.date.getDate();o.has(t)||o.set(t,[]),o.get(t).push(e)}),o.forEach((e,r)=>{let i={key:`${n}-${t}-${r}`,label:String(r),level:2,fullValues:e.map(e=>e.original),children:[]};a.children.push(i)}),r.children.push(a)}),t.push(r)}),t},[e]);return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[r.length===0&&(0,v.jsx)(`div`,{className:`p-2 text-sm text-muted-foreground`,children:`No dates found`}),r.map(e=>(0,v.jsx)($e,{node:e,selectedValues:t,onBulkSelect:n},e.key))]})}var tt=g.default.memo(({value:e,onChange:t,options:n,placeholder:r,className:i})=>(0,v.jsxs)(p.t,{value:e,onValueChange:e=>t(e),children:[(0,v.jsx)(p.i,{className:i,children:(0,v.jsx)(p.a,{placeholder:r})}),(0,v.jsx)(p.n,{children:n.map(e=>(0,v.jsx)(p.r,{value:e.value,children:e.label},e.value))})]}));tt.displayName=`FilterRuleSelect`;var nt={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`}]},rt=({columnType:e,columnId:t,value:i,onChange:a})=>{let o=nt[e===`datetime`||e===`date`?`date`:e===`number`?`number`:`text`]||nt.text,s=e===`number`?`number`:e===`date`||e===`datetime`?`date`:`text`,c=i?.kind===`group`,l=c?i.filters[0]:i?.operator?i:{operator:o[0].value,value:``},u=c?i.filters[1]:{operator:o[0].value,value:``},d=c?i.logic:`OR`,f=c,[p,m]=(0,g.useState)(l),[h,_]=(0,g.useState)(u),[y,b]=(0,g.useState)(d),[x,S]=(0,g.useState)(f);g.default.useEffect(()=>{let e=i?.kind===`group`,t=e?i.filters[0]:i?.operator?i:{operator:o[0].value,value:``},n=e?i.filters[1]:{operator:o[0].value,value:``},r=e?i.logic:`OR`;m(t),_(n),b(r),S(e)},[i,o]);let C=(e,n,r,i)=>{if(!i){a({kind:`rule`,operator:e.operator,value:e.value,field:e.field||t,id:e.id||t});return}a({kind:`group`,logic:r,filters:[{kind:`rule`,operator:e.operator,value:e.value,field:e.field||t,id:e.id||`${t}_1`},{kind:`rule`,operator:n.operator,value:n.value,field:n.field||t,id:n.id||`${t}_2`}]})},w=(e,t,r)=>{let i=n=>{let i={...e,value:n};t(i);let a=x||r;r&&!x&&S(!0),C(r?p:i,r?i:h,y,a)};if(e.operator===`between`){let t=Array.isArray(e.value)?e.value:[e.value??``,``];return(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[(0,v.jsx)(n.t,{type:s,value:t[0],onChange:e=>i([e.target.value,t[1]]),className:`h-8 shadow-none flex-1`,placeholder:`From...`}),(0,v.jsx)(n.t,{type:s,value:t[1],onChange:e=>i([t[0],e.target.value]),className:`h-8 shadow-none flex-1`,placeholder:`To...`})]})}return(0,v.jsx)(n.t,{type:s,value:e.value??``,onChange:e=>i(e.target.value),className:`h-8 shadow-none`,placeholder:`Enter value...`})};return(0,v.jsxs)(`div`,{className:`p-3 space-y-4`,children:[(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(r.t,{className:`text-xs font-medium text-muted-foreground uppercase`,children:`Show rows where:`}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(tt,{value:p.operator,options:o,onChange:e=>{let t=e,n={...p,operator:t,value:t===`between`?[``,``]:p.value};m(n),C(n,h,y,x)},placeholder:`Select operator`,className:`h-8 shadow-none`}),w(p,m,!1)]})]}),(0,v.jsx)(`div`,{className:`flex justify-center`,children:(0,v.jsxs)(G,{value:y,onValueChange:e=>{b(e),x||S(!0),C(p,h,e,!0)},className:`flex gap-4`,children:[(0,v.jsxs)(`div`,{className:`flex items-center space-x-1.5 focus-within:bg-muted/50 px-2 py-0.5 rounded transition`,children:[(0,v.jsx)(K,{value:`AND`,id:`and`,className:`h-3.5 w-3.5`}),(0,v.jsx)(r.t,{htmlFor:`and`,className:`text-xs cursor-pointer font-semibold uppercase tracking-wider`,children:`And`})]}),(0,v.jsxs)(`div`,{className:`flex items-center space-x-1.5 focus-within:bg-muted/50 px-2 py-0.5 rounded transition`,children:[(0,v.jsx)(K,{value:`OR`,id:`or`,className:`h-3.5 w-3.5`}),(0,v.jsx)(r.t,{htmlFor:`or`,className:`text-xs cursor-pointer font-semibold uppercase tracking-wider`,children:`Or`})]})]})}),(0,v.jsx)(`div`,{className:`space-y-2 transition-opacity duration-200 ${x?``:`opacity-50`}`,children:(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(tt,{value:h.operator,options:o,onChange:e=>{let t=e,n={...h,operator:t,value:t===`between`?[``,``]:h.value};_(n),x||S(!0),C(p,n,y,!0)},placeholder:`Select operator`,className:`h-8 shadow-none`}),w(h,_,!0)]})}),!x&&(0,v.jsx)(`div`,{className:`text-[10px] text-muted-foreground italic text-center`,children:`Select AND/OR or enter a second value to combine filters`})]})};function it({column:t,table:n}){let[r,i]=(0,g.useState)(!1),a=n.options.meta?.containerRef;return(0,v.jsxs)(u.t,{open:r,onOpenChange:i,children:[(0,v.jsx)(u.r,{asChild:!0,children:(0,v.jsx)(`div`,{className:e._(`ml-1 cursor-pointer p-1 rounded hover:bg-muted transition focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,t.getIsFiltered()?`bg-primary/10`:``),onClick:e=>{e.stopPropagation()},children:(0,v.jsx)(_.ListFilter,{className:e._(`w-4 h-4`,t.getIsFiltered()?`text-primary fill-primary`:`text-muted-foreground`)})})}),(0,v.jsx)(u.n,{className:`w-[280px] p-0`,align:`start`,container:a?.current,collisionBoundary:a?.current,children:r&&(0,v.jsx)(ct,{column:t,table:n,setIsOpen:i,filterValue:t.getFilterValue()})})]})}var at=[`date`,`datetime`],ot=[`boolean`],st=[`select`],ct=g.default.memo(({column:r,table:i,setIsOpen:a,filterValue:o})=>{let[s,c]=(0,g.useState)(`list`),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(!0),[h,y]=(0,g.useState)(new Map),[b,x]=(0,g.useState)([]),S=(i.options.meta?.containerRef?.current||(typeof document<`u`?document.getElementById(`ez-table-default`):null))?.clientHeight??500,C=Math.min(500,S>100?S-40:500);(0,g.useEffect)(()=>{let e=setTimeout(()=>f(l),200),t=setTimeout(()=>{let e=r.getFacetedUniqueValues();y(e),x(Array.from(e.keys())),m(!1)},50);return()=>{clearTimeout(e),clearTimeout(t)}},[l,r]);let{selectedValues:w,handleSelectAll:T,handleSelect:E,handleBulkSelect:D,clearSelection:O}=qe(o,b),k=(0,g.useMemo)(()=>{let e=r.columnDef.meta;return e?.columnType?e.columnType:b.length===0?`text`:Ke(b)},[r.columnDef.meta,b]),ee=at.includes(k),A=ot.includes(k),j=st.includes(k),M=(0,g.useMemo)(()=>{let e=[...b].sort((e,t)=>{if(e===t)return 0;if(e==null)return-1;if(t==null)return 1;let n=String(e),r=String(t);return n.localeCompare(r,void 0,{numeric:!0,sensitivity:`base`})});if(!d)return e;let t=d.toLowerCase();return e.filter(e=>String(e).toLowerCase().includes(t))},[b,d]),N=()=>{if(s===`filters`){a(!1);return}let e;e=w===null?d?M:void 0:Array.from(w),r.setFilterValue(e?.length===0?void 0:e),a(!1)},P=()=>{r.setFilterValue(void 0),a(!1),O(),u(``)},F=o,I=F&&typeof F==`object`&&!Array.isArray(F),te=e=>{r.setFilterValue(e)},ne=(0,g.useMemo)(()=>w===null||M.length>0&&M.every(e=>w.has(e)),[w,M]),L=(0,g.useMemo)(()=>w===null?M.length>0:M.some(e=>w.has(e)),[w,M]);return p?(0,v.jsxs)(`div`,{className:`h-[300px] flex flex-col items-center justify-center space-y-3 bg-popover text-popover-foreground`,children:[(0,v.jsx)(_.Loader2,{className:`h-8 w-8 animate-spin text-primary`}),(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground animate-pulse font-medium`,children:`Calculating filter values...`})]}):(0,v.jsx)(`div`,{className:`flex flex-col min-h-0 overflow-hidden`,style:{maxHeight:`${C}px`},children:s===`filters`?(0,v.jsxs)(`div`,{className:`flex flex-col animate-in fade-in slide-in-from-right-2 duration-200`,children:[(0,v.jsxs)(`div`,{className:`p-3 border-b flex items-center space-x-2 bg-muted/30`,children:[(0,v.jsx)(t.t,{variant:`ghost`,size:`sm`,onClick:()=>c(`list`),className:`h-6 w-6 p-0`,children:(0,v.jsx)(_.ChevronLeft,{className:`h-4 w-4`})}),(0,v.jsxs)(`span`,{className:`font-semibold text-sm capitalize`,children:[k,` Filters`]})]}),(0,v.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:(0,v.jsx)(rt,{columnType:k,columnId:r.id,value:I?F:void 0,onChange:te})}),(0,v.jsx)(Qe,{onClear:P,onApply:N,className:`border-t mt-auto`})]}):(0,v.jsxs)(`div`,{className:`flex flex-col animate-in fade-in slide-in-from-left-2 duration-200 flex-1 min-h-0`,children:[r.getCanPin()&&(0,v.jsxs)(`div`,{className:`p-1 border-b border-border space-y-0.5`,children:[[`left`,`right`].map(t=>r.getIsPinned()!==t&&(0,v.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 text-xs font-medium cursor-pointer hover:bg-muted rounded`,onClick:()=>{r.pin(t),a(!1)},children:[(0,v.jsx)(_.Pin,{className:e._(`w-3.5 h-3.5`,t===`left`?`rotate-[-45deg]`:`rotate-[45deg]`)}),` Pin to `,t.charAt(0).toUpperCase()+t.slice(1)]},t)),r.getIsPinned()&&(0,v.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:()=>{r.pin(!1),a(!1)},children:[(0,v.jsx)(_.PinOff,{className:`w-3.5 h-3.5`}),` Unpin Column`]})]}),!A&&!j&&(0,v.jsxs)(`div`,{className:`p-2 border-b border-border flex justify-between items-center cursor-pointer hover:bg-muted/50 transition group`,onClick:()=>c(`filters`),children:[(0,v.jsxs)(`span`,{className:`text-sm font-medium capitalize`,children:[k,` Filters`]}),(0,v.jsx)(_.ChevronRight,{className:`w-4 h-4 text-muted-foreground group-hover:text-foreground`})]}),(0,v.jsx)(`div`,{className:`flex flex-col flex-1 overflow-hidden min-h-0`,children:A?(0,v.jsx)(Ye,{column:r}):j?(0,v.jsx)(Xe,{column:r,allAvailableValues:b}):(0,v.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0 pointer-events-auto`,children:[(0,v.jsxs)(`div`,{className:`sticky top-0 bg-popover text-popover-foreground border-b z-20`,children:[(0,v.jsx)(`div`,{className:`p-2`,children:(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(_.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,v.jsx)(n.t,{placeholder:`Search...`,value:l,onChange:e=>u(e.target.value),className:`pl-9 h-9`,autoFocus:!0})]})}),(0,v.jsx)(Je,{checked:ne,indeterminate:L&&!ne,onSelectAll:e=>{d?D(M,e):T(e)},showSearchResults:!!d})]}),ee?(0,v.jsx)(`div`,{className:`flex-1 overflow-y-auto px-2 pb-2 min-h-0 pt-2`,children:(0,v.jsx)(et,{uniqueValues:h,selectedValues:w,onBulkSelect:D})}):(0,v.jsx)(Ze,{sortedUniqueValues:M,selectedValues:w,handleSelect:E,formatter:t=>{let n=r.columnDef.meta;if(n?.columnType===`number`){if(n?.numberOptions?.format===`currency`)return e.f(t,{format:`currency`,...n.numberOptions});if(n?.numberOptions?.format===`percentage`)return e.f(t,{format:`percentage`,...n.numberOptions});if(n?.numberOptions?.format===`float`||n?.numberOptions?.format===`integer`)return e.f(t,{format:n.numberOptions.format,...n.numberOptions})}return String(t)}})]})}),(0,v.jsx)(Qe,{onClear:P,onApply:N})]})})});ct.displayName=`FilterContent`;function lt({header:e,children:t}){let n=e.column,r=n.getIsPinned(),i=n.getCanGroup(),a=n.getIsGrouped();return(0,v.jsxs)(s.n,{children:[(0,v.jsx)(s.g,{asChild:!0,children:t}),(0,v.jsxs)(s.i,{className:`w-48`,children:[i&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s.o,{onClick:()=>n.toggleGrouping(),className:`gap-2`,children:a?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(_.Ungroup,{className:`w-3.5 h-3.5`}),`Ungroup `,n.id]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(_.Group,{className:`w-3.5 h-3.5 text-zinc-500/70`}),`Group by column`]})}),(0,v.jsx)(s.d,{})]}),(0,v.jsxs)(s.o,{onClick:()=>n.pin(`left`),disabled:r===`left`,className:`gap-2`,children:[(0,v.jsx)(_.Pin,{className:`w-3.5 h-3.5 rotate-[-45deg]`}),`Pin to Left`]}),(0,v.jsxs)(s.o,{onClick:()=>n.pin(`right`),disabled:r===`right`,className:`gap-2`,children:[(0,v.jsx)(_.Pin,{className:`w-3.5 h-3.5 rotate-[45deg]`}),`Pin to Right`]}),r&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s.d,{}),(0,v.jsxs)(s.o,{onClick:()=>n.pin(!1),className:`text-red-600 focus:text-red-700 focus:bg-red-50 dark:focus:bg-red-900/20 gap-2`,children:[(0,v.jsx)(_.PinOff,{className:`w-3.5 h-3.5`}),`Unpin Column`]})]})]})]})}var ut=(0,g.memo)(({header:t,density:n,onAutoFit:r,columnPinning:i})=>{let a=t.getContext().table.options.meta,o=t.id===`select`||t.id===`actions`,s=t.column.columnDef.meta,c=t.column.columnDef,l=a?.enableColumnReorder!==!1&&!o&&s?.allowReordering!==!1&&c?.allowReordering!==!1,u=!(t.column.getCanGroup()&&!o)&&!l||t.isPlaceholder,{attributes:d,listeners:f,setNodeRef:p,isDragging:m}=(0,x.useDraggable)({id:t.column.id,disabled:u,data:{type:`column`,columnId:t.column.id}}),{setNodeRef:h,isOver:y}=(0,x.useDroppable)({id:`header-${t.column.id}`,disabled:u,data:{type:`header`,columnId:t.column.id}}),b=t.column.getIsPinned(),S=(0,g.useMemo)(()=>{if(!b)return{};let e=b===`right`?t.column.getAfter(`right`):t.column.getStart(`left`),n=t.getContext().table.options.meta;return Fe(b,e,n?.dir)},[b,t.column,i]),C=g.default.useRef(0),T=(0,g.useCallback)(e=>{let n=Date.now();n-C.current<300&&r?.(t.column.id),C.current=n,t.getResizeHandler()(e)},[t,r]),E=t.column.columnDef.meta?.align||`left`,D=t.column.columnDef.meta?.gridLines||t.getContext().table.options.meta?.gridLines,O=a?.focusedCell?.c===t.index,k=(0,v.jsxs)(`div`,{ref:e=>{p(e),h(e)},className:e._(`relative h-full font-semibold text-foreground flex items-center select-none group/header transition-all flex-shrink-0 px-4`,a?.dir===`rtl`?`border-l border-border/50`:`border-r border-border/50`,He(n),m&&`opacity-50 bg-muted pointer-events-none`,y&&`ring-2 ring-inset ring-primary bg-accent/50`,t.column.getIsGrouped()&&`bg-accent/30`,O&&`bg-primary/5 text-primary border-b-2 border-primary`,E===`center`&&`justify-center text-center`,E===`right`&&`justify-end text-right`,Ie(b),(D===`Both`||D===`Vertical`)&&(a?.dir===`rtl`?`border-l border-border`:`border-r border-border`)),style:{width:`calc(var(--header-${t.id}-size) * 1px)`,minWidth:(t.column.columnDef.minSize??0)>0?t.column.columnDef.minSize:void 0,maxWidth:(t.column.columnDef.maxSize??0)>0&&t.column.columnDef.maxSize!==2**53-1?t.column.columnDef.maxSize:void 0,...S},role:`columnheader`,"aria-colindex":t.index+1,"aria-sort":t.column.getIsSorted()===`asc`?`ascending`:t.column.getIsSorted()===`desc`?`descending`:`none`,children:[(0,v.jsxs)(`div`,{className:e._(`flex items-center w-full h-full gap-2`,E===`center`&&`justify-center relative`,E===`right`&&`justify-end`),children:[!u&&(0,v.jsx)(`div`,{...d,...f,className:e._(`cursor-grab active:cursor-grabbing p-1 text-muted-foreground hover:text-foreground transition-colors z-50`,E===`center`?a?.dir===`rtl`?`absolute right-1 top-1/2 -translate-y-1/2`:`absolute left-1 top-1/2 -translate-y-1/2`:a?.dir===`rtl`?`-mr-2 ml-1`:`-ml-2 mr-1`),children:(0,v.jsx)(_.GripVertical,{className:`w-3.5 h-3.5`})}),(0,v.jsxs)(`div`,{className:e._(`flex items-center min-w-0 gap-2 cursor-pointer group h-full select-none`,E===`center`&&`justify-center`,E===`right`&&`justify-end`,t.column.getCanSort()?`hover:text-foreground/80`:``,E!==`center`&&E!==`right`&&`flex-1`),onClick:t.column.getToggleSortingHandler(),tabIndex:t.column.getCanSort()?0:-1,role:`button`,"aria-label":`Sort by ${t.column.columnDef.header}`,children:[E===`center`&&t.column.getIsSorted()&&(0,v.jsx)(`div`,{className:`w-4 h-4 flex-shrink-0`,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`truncate min-w-0`,children:!t.isPlaceholder&&(0,w.flexRender)(t.column.columnDef.header,t.getContext())}),t.column.getIsSorted()===`asc`&&(0,v.jsx)(_.ArrowUp,{className:`w-4 h-4 text-foreground flex-shrink-0`}),t.column.getIsSorted()===`desc`&&(0,v.jsx)(_.ArrowDown,{className:`w-4 h-4 text-foreground flex-shrink-0`})]}),!t.isPlaceholder&&t.column.getCanFilter()&&(0,v.jsx)(`div`,{className:e._(a?.dir===`rtl`?`ml-2`:`mr-2`,E===`center`&&(a?.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:(0,v.jsx)(it,{column:t.column,table:t.getContext().table})})]}),t.column.getCanResize()&&(0,v.jsx)(`div`,{onMouseDown:T,onTouchStart:t.getResizeHandler(),className:e._(`absolute top-0 h-full w-4 cursor-col-resize hover:bg-primary/10 touch-none select-none z-30 transition-colors`,a?.dir===`rtl`?`left-0`:`right-0`,t.column.getIsResizing()?`bg-primary w-1`:``),role:`separator`})]});return t.column.getCanPin()||t.column.getCanGroup()?(0,v.jsx)(lt,{header:t,children:k}):k});ut.displayName=`EzDraggableHeader`;var dt=g.default.memo(ft);function ft({table:t,enableStickyHeader:n,classNames:r,density:i,autoFitColumn:a,slots:o}){return(0,v.jsx)(`div`,{className:e._(Ue,`w-full bg-white dark:bg-zinc-900 shadow-sm`,We.bottom,n&&`sticky top-0 z-30`,r?.header),role:`rowgroup`,children:t.getHeaderGroups().map(n=>(0,v.jsx)(`div`,{className:e._(`flex w-full border-border/50 last:border-0 h-full`,We.bottom),role:`row`,children:o?.header?(0,v.jsx)(`div`,{className:`contents`,children:(()=>{let e=o.header;return n.headers.map(n=>(0,v.jsx)(e,{header:n,table:t},n.id))})()}):n.headers.map(e=>(0,v.jsx)(ut,{header:e,density:i,onAutoFit:a,columnPinning:t.getState().columnPinning},e.id))},n.id))})}var pt=(0,g.memo)(({isLoading:e,rowCount:t,renderNoRowsOverlay:n,slots:r,localization:i})=>{if(e){let e=r?.loading||r?.loadingOverlay;return e?(0,v.jsx)(e,{}):(0,v.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:(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,v.jsx)(`div`,{className:`w-8 h-8 border-4 border-blue-500 border-t-transparent rounded-full animate-spin`}),(0,v.jsx)(`span`,{className:`text-sm font-medium text-zinc-600 dark:text-zinc-400`,children:i?.loadingLabel||`Loading data...`})]})})}if(t===0){let e=r?.emptyRecord||r?.noRowsOverlay;return e?(0,v.jsx)(e,{}):(0,v.jsx)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center p-10 text-center`,children:n?n():(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-zinc-400`,children:[(0,v.jsx)(_.FilterIcon,{className:`w-12 h-12 opacity-10 mb-2`}),(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:i?.noRowsLabel||`No results found`}),(0,v.jsx)(`p`,{className:`text-xs`,children:`Adjust your filters or search to see more results`})]})})}return null});pt.displayName=`EzTableOverlays`;var mt=({children:e,text:t})=>{let n=(0,g.useRef)(null),[r,i]=(0,g.useState)(!1),a=()=>n.current?n.current.scrollWidth>n.current.clientWidth+1:!1;return(0,g.useEffect)(()=>{if(a(),n.current){let e=new ResizeObserver(a);return e.observe(n.current),()=>e.disconnect()}},[e,t]),(0,v.jsx)(d.r,{children:(0,v.jsxs)(d.t,{delayDuration:300,open:r,children:[(0,v.jsx)(d.i,{asChild:!0,children:(0,v.jsx)(`div`,{ref:n,className:`truncate w-full cursor-default min-w-0`,onMouseEnter:()=>{a()&&i(!0)},onMouseLeave:()=>{i(!1)},children:e})}),(0,v.jsx)(d.n,{children:(0,v.jsx)(`p`,{className:`max-w-sm break-words`,children:t||e})})]})})},ht=(0,g.memo)(({cell:t,virtualRowIndex:n,cellIndex:r,isPinned:i,isSelected:a,isFocused:o,density:s,onCellMouseDown:c,onCellMouseEnter:l,onCellClick:u,onCellDoubleClick:d,tableMeta:f,rowDepth:p,renderDetailPanel:m,isFirstColumn:y,columnPinning:b})=>{let x=(0,g.useMemo)(()=>({width:`calc(var(--col-${t.column.id}-size) * 1px)`,minWidth:(t.column.columnDef.minSize??0)>0?t.column.columnDef.minSize:void 0,maxWidth:(t.column.columnDef.maxSize??0)>0&&t.column.columnDef.maxSize!==2**53-1?t.column.columnDef.maxSize:void 0,...Fe(i,i===`right`?t.column.getAfter(`right`):t.column.getStart(`left`),f?.dir),paddingLeft:f?.dir!==`rtl`&&(t.column.id===`firstName`||t.column.id===`name`||t.column.id===`id`)?`${p*20+16}px`:void 0,paddingRight:f?.dir===`rtl`&&(t.column.id===`firstName`||t.column.id===`name`||t.column.id===`id`)?`${p*20+16}px`:void 0}),[t.column.id,i,p,b]),S=(0,v.jsx)(v.Fragment,{children:t.getIsGrouped()?(0,v.jsxs)(`span`,{className:`font-semibold`,children:[(0,w.flexRender)(t.column.columnDef.cell,t.getContext()),(0,v.jsxs)(`span`,{className:`text-muted-foreground font-normal ml-1`,children:[`(`,t.row.subRows.length,`)`]})]}):t.getIsAggregated()?(0,v.jsx)(`span`,{className:e._(`font-medium tabular-nums`,f?.enableGroupFooters&&`text-primary/80 bg-primary/5 px-2 py-0.5 rounded`),children:(0,w.flexRender)(t.column.columnDef.aggregatedCell??t.column.columnDef.cell,t.getContext())}):t.getIsPlaceholder()?null:(0,w.flexRender)(t.column.columnDef.cell,t.getContext())}),C=t.column.columnDef.meta?.clipMode,T=(0,g.useMemo)(()=>{if(!f?.validate||!f?.validationAttempted)return{isValid:!0};let e=t.column.id,n=t.getValue(),r=t.row.original;return f.validate(e,n,r)},[f,t,n,t.getValue()]),E=o?{boxShadow:T.isValid?`inset 0 0 0 2px hsl(var(--primary))`:`inset 0 0 0 2px hsl(var(--destructive))`,zIndex:20,position:`relative`}:{};return(0,v.jsxs)(`div`,{onMouseDown:e=>{e.button===0&&(c(n,r,e),f?.setFocusedCell?.({r:n,c:r}))},onMouseEnter:()=>l(n,r),onClick:e=>{u?.({row:t.row.original,columnId:t.column.id,cellValue:t.getValue(),event:e,rowIndex:n,colIndex:r}),o&&f?.toggleRowEditing&&!f?.editingRows?.[n]&&f.toggleRowEditing(n,!0)},onDoubleClick:e=>d?.({row:t.row.original,columnId:t.column.id,cellValue:t.getValue(),event:e,rowIndex:n,colIndex:r}),className:e._(`px-4 text-sm font-medium text-foreground flex select-none min-h-full min-w-0 flex-shrink-0 relative`,o&&`z-20`,o&&T.isValid&&`bg-primary/5`,o&&!T.isValid&&`bg-destructive/5`,!T.isValid&&`ring-1 ring-inset ring-destructive`,!o&&(f?.dir===`rtl`?`border-l border-border/50`:`border-r border-border/50`),t.column.columnDef.meta?.wrapText?`items-start pt-3`:`items-center`,Pe(s),Re(a,o),Le(t.column.columnDef.meta?.align,f?.dir),ze(t.column.columnDef.meta?.wrapText?`wrap`:C===`ellipsis-tooltip`?`ellipsis`:`truncate`,C===`ellipsis-tooltip`),Ie(i,f?.dir),!o&&Be(t.column.columnDef.meta?.gridLines||f?.gridLines,void 0,f?.dir),typeof f?.classNames?.cell==`function`?f.classNames.cell(t):f?.classNames?.cell),style:{...x,...E},role:`cell`,tabIndex:o?0:-1,"data-row-index":n,"data-cell-index":r,"data-column-id":t.column.id,children:[t.getIsGrouped()||t.row.getCanExpand()&&y||m&&y?(0,v.jsx)(`button`,{className:e._(f?.dir===`rtl`?`ml-2`:`mr-2`,`p-1 hover:bg-muted rounded transition-transform`,!t.row.getCanExpand()&&!m&&`invisible`),onClick:e=>{e.stopPropagation(),t.row.getToggleExpandedHandler()()},children:t.row.getIsExpanded()?(0,v.jsx)(_.ChevronDown,{className:`w-4 h-4`}):(0,v.jsx)(_.ChevronRight,{className:`w-4 h-4`})}):null,T.isValid?C===`ellipsis-tooltip`?(0,v.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,v.jsx)(mt,{text:typeof t.getValue()==`string`?t.getValue():void 0,children:S})}):S:(0,v.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,v.jsx)(h.t,{enabled:!0,side:f?.dir===`rtl`?`left`:`right`,className:`bg-destructive text-destructive-foreground border-destructive/20 shadow-xl z-50`,content:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-wider mb-0.5 opacity-80`,children:`Validation Error`}),(0,v.jsx)(`p`,{className:`text-xs font-medium`,children:T.error})]}),children:(0,v.jsx)(`div`,{className:`w-full h-full flex items-center`,children:S})})})]})});ht.displayName=`EzTableCell`;var gt=(0,g.memo)(({virtualRow:t,row:n,table:r,density:i,enableContextMenu:a,onContextMenuItemClick:o,isCellSelected:c,onCellMouseDown:l,onCellMouseEnter:u,onCellClick:d,onCellDoubleClick:f,focusedCell:p,renderDetailPanel:m,measureElement:h,dynamicRowSizing:_,columnVirtualizer:y,onRowClick:b,onRowDoubleClick:x,onRowMouseEnter:S,onRowMouseLeave:C,columnPinning:w})=>{let T=y?.getVirtualItems()||n.getVisibleCells().map((e,t)=>({index:t})),E=n.getVisibleCells(),D=!!_||n.getIsExpanded()||E.some(e=>e.column.columnDef.meta?.wrapText),{paddingLeft:O,paddingRight:k}=(0,g.useMemo)(()=>!y||T.length===0?{paddingLeft:0,paddingRight:0}:{paddingLeft:T[0]?.start||0,paddingRight:y.getTotalSize()-(T[T.length-1]?.end||0)},[y,T]);return(0,v.jsx)(s.t,{row:n,enabled:a,onAction:(e,t)=>{e===`pin-top`?n.pin(`top`):e===`pin-bottom`?n.pin(`bottom`):e===`unpin`?n.pin(!1):o?.(e,t)},children:(0,v.jsxs)(`div`,{"data-index":t.index,ref:h,className:`absolute top-0 left-0 w-full flex flex-col group border-b border-border`,role:`row`,"aria-rowindex":t.index+1,style:{transform:`translateY(${t.start}px)`,...D?{minHeight:`${t.size}px`}:{height:`${t.size}px`}},onClick:e=>b?.({row:n.original,data:n.original,rowIndex:n.index,originalEvent:e}),onDoubleClick:e=>x?.({row:n.original,data:n.original,rowIndex:n.index,originalEvent:e}),onMouseEnter:e=>S?.(n.index,e),onMouseLeave:e=>C?.(n.index,e),children:[(0,v.jsxs)(`div`,{className:e._(`flex items-stretch w-full min-w-max hover:bg-muted/50 transition-[background-color] duration-200`,n.getIsSelected()&&`bg-muted`,Pe(i),typeof r.options.meta?.classNames?.row==`function`?r.options.meta.classNames.row(n):r.options.meta?.classNames?.row),children:[O>0&&(0,v.jsx)(`div`,{style:{flex:`0 0 ${O}px`}}),T.map(e=>{let a=E[e.index];return a?(0,v.jsx)(ht,{cell:a,virtualRowIndex:t.index,cellIndex:e.index,density:i,isPinned:a.column.getIsPinned(),isSelected:c(t.index,e.index),isFocused:p?.r===t.index&&p?.c===e.index,onCellMouseDown:(e,t,n)=>l(e,t,n),onCellMouseEnter:u,onCellClick:d,onCellDoubleClick:f,tableMeta:r.options.meta,rowDepth:n.depth,renderDetailPanel:m,isFirstColumn:e.index===0,table:r,columnPinning:w},a.id):null}),k>0&&(0,v.jsx)(`div`,{style:{flex:`0 0 ${k}px`}})]}),n.getIsExpanded()&&m&&(0,v.jsx)(`div`,{className:`w-full bg-muted/30 border-t border-border`,children:m({row:n})})]})})});gt.displayName=`EzTableRow`;function _t({table:t,rows:n,rowVirtualizer:r,columnVirtualizer:i,density:a,classNames:o,isLoading:s,enableInfiniteScroll:c,isPending:l,renderNoRowsOverlay:u,slots:d,localization:f,enableContextMenu:p,onContextMenuItemClick:m,isCellSelected:h,focusedCell:g,onCellMouseDown:_,onCellMouseEnter:y,onCellClick:b,onCellDoubleClick:x,renderDetailPanel:S,dynamicRowSizing:C,onRowClick:w,onRowDoubleClick:T}){let E=!!((s||l)&&!c);return(0,v.jsxs)(`div`,{className:e._(`relative w-full`,o?.body),style:{height:`${r?.getTotalSize()??0}px`,minHeight:`0`,flexShrink:`0`},children:[(0,v.jsx)(pt,{isLoading:E,rowCount:n.length,renderNoRowsOverlay:u,slots:d,localization:f}),r?.getVirtualItems().map(e=>{let o=n[e.index];return(0,v.jsx)(d?.row||gt,{virtualRow:e,row:o,table:t,density:a,enableContextMenu:!!p,onContextMenuItemClick:m,isCellSelected:h,focusedCell:g,onCellMouseDown:_,onCellMouseEnter:y,onCellClick:b,onCellDoubleClick:x,renderDetailPanel:S,measureElement:C?r.measureElement:void 0,dynamicRowSizing:C,columnVirtualizer:i,onRowClick:w,onRowDoubleClick:T,columnPinning:t.getState().columnPinning,tableMeta:t.options.meta},o.id)})]})}var vt=({pageIndex:e,pageSize:r,pageCount:i,totalRows:a,onPageChange:o,onPageSizeChange:s,canPreviousPage:c,canNextPage:l,localization:u,changes:d})=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between w-full px-4 py-3 border-t border-border bg-background`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-6`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,v.jsx)(`span`,{className:`hidden sm:inline whitespace-nowrap`,children:u?.rowsPerPageLabel||`Rows per page`}),(0,v.jsx)(`span`,{className:`sm:hidden`,children:u?.rowsLabel||`Rows`}),(0,v.jsxs)(p.t,{value:`${r}`,onValueChange:e=>s(Number(e)),children:[(0,v.jsx)(p.i,{className:`h-8 w-[70px] bg-muted/20 border-border`,children:(0,v.jsx)(p.a,{placeholder:r.toString()})}),(0,v.jsx)(p.n,{children:[10,20,30,40,50,100].map(e=>(0,v.jsx)(p.r,{value:`${e}`,children:e},e))})]})]}),(0,v.jsx)(`div`,{className:`h-4 w-px bg-border hidden sm:block`}),(0,v.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:[(0,v.jsxs)(`div`,{children:[u?.totalLabel||`Total`,` `,(0,v.jsx)(`span`,{className:`text-foreground font-bold`,children:a}),` `,u?.recordsLabel||`records`]}),d&&(d.added>0||d.edited>0||d.deleted>0)&&(0,v.jsxs)(`div`,{className:`flex items-center gap-2 border-l border-border/50 pl-2 ml-1`,children:[d.added>0&&(0,v.jsxs)(`span`,{className:`text-success dark:text-success/80 font-bold`,children:[d.added,` added`]}),d.edited>0&&(0,v.jsxs)(`span`,{className:`text-warning dark:text-warning/80 font-bold`,children:[d.edited,` edited`]}),d.deleted>0&&(0,v.jsxs)(`span`,{className:`text-error dark:text-error/80 font-bold`,children:[d.deleted,` deleted`]})]})]}),u?.pagerMessage&&(0,v.jsx)(`div`,{className:`hidden lg:block text-sm text-muted-foreground italic`,children:u.pagerMessage})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,v.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:[(0,v.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:u?.pageLabel||`Page`}),(0,v.jsx)(`span`,{className:`text-primary font-black px-0.5`,children:e+1}),(0,v.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:u?.ofLabel||`of`}),(0,v.jsx)(`span`,{className:`font-bold px-0.5`,children:i})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,v.jsxs)(t.t,{variant:`outline`,className:`hidden h-8 w-8 p-0 lg:flex bg-background border-border hover:bg-muted`,onClick:()=>o(0),disabled:!c,title:u?.firstPage||`First Page`,children:[(0,v.jsx)(_.ChevronsLeft,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to first page`})]}),(0,v.jsxs)(t.t,{variant:`outline`,className:`h-8 w-8 p-0 bg-background border-border hover:bg-muted`,onClick:()=>o(e-1),disabled:!c,title:u?.previousPage||`Previous Page`,children:[(0,v.jsx)(_.ChevronLeft,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to previous page`})]})]}),(0,v.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:[(0,v.jsx)(`span`,{className:`text-[10px] hidden sm:inline text-muted-foreground uppercase font-black tracking-tighter`,children:u?.goToLabel||`Go To`}),(0,v.jsx)(n.t,{type:`number`,min:1,max:i,value:e+1,onFocus:e=>e.target.select(),onClick:e=>e.currentTarget.select(),onChange:e=>{let t=e.target.value;if(t===``)return;let n=Number(t)-1;n>=0&&n<i&&o(n)},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`})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,v.jsxs)(t.t,{variant:`outline`,className:`h-8 w-8 p-0 bg-background border-border hover:bg-muted`,onClick:()=>o(e+1),disabled:!l,title:u?.nextPage||`Next Page`,children:[(0,v.jsx)(_.ChevronRight,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to next page`})]}),(0,v.jsxs)(t.t,{variant:`outline`,className:`hidden h-8 w-8 p-0 lg:flex bg-background border-border hover:bg-muted`,onClick:()=>o(i-1),disabled:!l,title:u?.lastPage||`Last Page`,children:[(0,v.jsx)(_.ChevronsRight,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to last page`})]})]})]})]})]});function yt({table:t,pagerMessage:n,enableStickyPagination:r,classNames:i,localization:a,changes:o}){return(0,v.jsx)(`div`,{className:e._(`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)]`,i?.footer),children:(0,v.jsx)(vt,{pageIndex:t.getState().pagination.pageIndex,pageSize:t.getState().pagination.pageSize,pageCount:t.getPageCount(),totalRows:t.options.rowCount??t.getPrePaginationRowModel().rows.length,canNextPage:t.getCanNextPage(),canPreviousPage:t.getCanPreviousPage(),onPageChange:t.setPageIndex,onPageSizeChange:t.setPageSize,localization:{...a,pagerMessage:n},changes:o})})}var bt=e=>(0,g.useMemo)(()=>{let t=e.getFlatHeaders(),n={};for(let e=0;e<t.length;e++){let r=t[e];n[`--header-${r.id}-size`]=r.getSize(),n[`--col-${r.column.id}-size`]=r.column.getSize()}return n},[e.getState().columnSizing,e.getState().columnSizingInfo,e.getState().columnVisibility,e.getFlatHeaders()]),xt=(e=[])=>new y.Store({data:e,globalFilter:``,columnFilters:[],sorting:[],pagination:{pageIndex:0,pageSize:10},rowSelection:{},columnVisibility:{},isPending:!1}),St=(0,g.createContext)(null),Ct=(0,g.createContext)(null),wt=({data:e,children:t})=>{let n=(0,g.useMemo)(()=>xt(e),[]);return g.default.useEffect(()=>{n.setState(t=>({...t,data:e}))},[e,n]),(0,v.jsx)(St.Provider,{value:n,children:t})},Tt=e=>{let t=(0,g.useContext)(St);if(!t)throw Error(`EzTable components must be wrapped in <EzTable.Root>`);return(0,S.useStore)(t,e)},Et=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzGroupingPanel-BwWDWEuW.cjs")).then(e=>({default:e.EzGroupingPanel}))),Dt=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableEditDialog--8pD39Rp.cjs")).then(e=>({default:e.EzTableEditDialog}))),Ot=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableToolbar-BWjqKfwx.cjs")).then(e=>e.n).then(e=>({default:e.EzTableToolbar}))),kt=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableFooter-CtexeDAC.cjs")).then(e=>e.n).then(e=>({default:e.EzTableFooter}))),At=({ref:t,...n})=>{let r=e.n(),a=Ee(n),o=(0,g.useRef)(null);De({containerRef:o,containerSizeRef:(0,g.useRef)({width:0,height:0}),resizeTimeoutRef:(0,g.useRef)(null),onResize:()=>{a.rowVirtualizer&&a.rowVirtualizer.measure()}},[a.rowVirtualizer]);let{state:{rows:s,rangeSelection:l,canUndo:u,canRedo:f,changes:p,batchChanges:m,density:h,isPending:_,focusedCell:y,globalFilter:b,pagerMessage:S},actions:{undo:C,redo:w,resetData:T,toggleRowEditing:E,autoFitColumn:D,onCellMouseDown:O,onCellMouseEnter:M,setGlobalFilter:N,handleGlobalFilterChange:P,getData:F,onRowClick:I,onRowDoubleClick:te},refs:{parentRef:ne,rowVirtualizer:L,columnVirtualizer:R},config:{enableStickyHeader:z,enableChangeTracking:B,enableEditing:V,editSettings:H,dynamicRowSizing:re},table:U,dir:W,imperativeAPI:{addRecord:G,updateRecord:K}}=a,{validate:q,validateForm:ie}=A({validateField:n.validateField?({fieldName:e,value:t,data:r})=>n.validateField?.({field:e,value:t,row:r,table:U})??!0:void 0,editSettings:H}),[ae,J]=g.default.useState(!1);(0,g.useEffect)(()=>{if(p.added+p.edited+p.deleted>0&&V){let e=e=>(e.preventDefault(),e.returnValue=``,``);return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)}},[p,V]),(0,g.useEffect)(()=>{n.onDataChange&&n.onDataChange(p)},[p,n.onDataChange]);let{onRowClick:Y,onRowDoubleClick:oe,onCellClick:se,onCellDoubleClick:ce}=Oe({table:U,editSettings:H,toggleRowEditing:E,onRowClickProp:I,onRowDoubleClickProp:te}),le=bt(U),X=j({initialMode:`view`});ke({dialogState:X,isDialogMode:H?.mode===`Dialog`,rows:s,table:U});let ue=(0,g.useCallback)(e=>{X.mode===`create`?G(e):(K(X.meta.index,e),E(X.meta.index,!1)),X.close()},[X,G,K,E]),de=(0,g.useCallback)(()=>{H?.mode===`Dialog`?X.open(`create`,{}):G({})},[H?.mode,G]),fe=(0,g.useCallback)(()=>{if(n.onBatchSave){let e=[...m.addedRecords,...m.changedRecords],t=U.getVisibleLeafColumns().map(e=>e.id).filter(e=>e!==`select`&&e!==`actions`);for(let n of e)if(!ie(n,t).__form.isValid){J(!0);return}n.onBatchSave(m);let i=r.get(`NotificationService`);if(i&&i.add({type:`success`,message:`Successfully saved ${m.addedRecords.length+m.changedRecords.length} changes.`,duration:5e3}),T(),J(!1),U.options.meta?.toggleRowEditing){let e=U.options.meta.editingRows||{};Object.keys(e).forEach(e=>{U.options.meta?.toggleRowEditing?.(parseInt(e),!1)})}}},[n.onBatchSave,m,T,U.options.meta,ie,U]),pe=(0,g.useCallback)(()=>{if(n.onBatchDiscard&&n.onBatchDiscard(),T(),J(!1),U.options.meta?.toggleRowEditing){let e=U.options.meta.editingRows||{};Object.keys(e).forEach(e=>{U.options.meta?.toggleRowEditing?.(parseInt(e),!1)})}},[n.onBatchDiscard,T,U.options.meta]),Z=g.default.useMemo(()=>({...a.imperativeAPI,...a.baseApi,validateField:e=>{let t={};if(H?.mode===`Dialog`&&X.isOpen)t=X.data;else{let e=U.options.meta?.editingRows||{},n=Object.keys(e).find(t=>e[t]);if(n){let e=parseInt(n),r=F();r&&r[e]&&(t=r[e])}}let{isValid:n}=q(e,t[e],t);return n},validateEditForm:()=>{let e=U.getVisibleLeafColumns(),t=!0;return e.forEach(e=>{let n=e.id,r={};if(H?.mode===`Dialog`&&X.isOpen)r=X.data;else{let e=U.options.meta?.editingRows||{},t=Object.keys(e).find(t=>e[t]);t&&F()[parseInt(t)]&&(r=F()[parseInt(t)])}let{isValid:i}=q(n,r[n],r);i||(t=!1)}),t}}),[a,F,H,X,U,q]);U.options.meta={...U.options.meta,...n,validate:q,validationAttempted:ae},c.t(t,Z);let[me,he]=g.default.useState(null),{handleDragEnd:ge,handleKeyDown:Q,handleDragStart:_e}=k({onDragStart:e=>{he(e.active.id)},onDragEnd:e=>{he(null);let{active:t,over:r}=e;if(!r)return;let i=t.id,a=[...U.getState().grouping];if(r.id===`grouping-panel`)!a.includes(i)&&n.enableGrouping&&U.setGrouping([...a,i]);else if(typeof r.id==`string`&&r.id.startsWith(`header-`)){let e=r.id.replace(`header-`,``);if(i!==e){if(n.enableColumnReorder!==!1){let t=U.getState().columnOrder.length>0?U.getState().columnOrder:U.getAllLeafColumns().map(e=>e.id),n=t.indexOf(i),r=t.indexOf(e);if(n!==-1&&r!==-1&&n!==r){let e=[...t];e.splice(n,1),e.splice(r,0,i),U.setColumnOrder(e)}}else if(n.enableGrouping){let t=[...a];t.includes(e)||t.push(e),t.includes(i)&&(t=t.filter(e=>e!==i));let n=t.indexOf(e);t.splice(n+0,0,i),U.setGrouping(t)}}}},onKeyDown:e=>{let t=U.options.meta;if(t?.navigateFocus){if(e.target.tagName===`INPUT`){e.key===`Enter`&&(e.preventDefault(),e.target.blur(),t.navigateFocus(1,0)),e.key===`Tab`&&(e.preventDefault(),e.target.blur(),t.navigateFocus(0,e.shiftKey?-1:1));return}switch(e.key){case`ArrowUp`:e.preventDefault(),t.navigateFocus(-1,0);break;case`ArrowDown`:e.preventDefault(),t.navigateFocus(1,0);break;case`ArrowLeft`:e.preventDefault(),t.navigateFocus(0,-1);break;case`ArrowRight`:e.preventDefault(),t.navigateFocus(0,1);break;case`Tab`:e.preventDefault(),t.navigateFocus(0,e.shiftKey?-1:1);break;case`Enter`:e.preventDefault(),t.navigateFocus(1,0);break}}}}),ve=(0,g.useCallback)((e,t)=>{if(!l)return!1;let{start:n,end:r}=l;return e>=Math.min(n.r,r.r)&&e<=Math.max(n.r,r.r)&&t>=Math.min(n.c,r.c)&&t<=Math.max(n.c,r.c)},[l]),{sensors:ye,onDragEnd:be,onDragStart:xe}=ee({onDragStart:_e,onDragEnd:ge,collisionDetection:x.pointerWithin,distance:5});return(0,v.jsx)(i.t,{fallback:(0,v.jsx)(Ae,{}),children:(0,v.jsx)(d.r,{children:(0,v.jsx)(x.DndContext,{sensors:ye,onDragEnd:be,onDragStart:xe,collisionDetection:x.pointerWithin,children:(0,v.jsxs)(`div`,{className:e._(Ue,`w-full min-h-0 gap-3 h-full`,n.className,n.classNames?.root),dir:W,children:[n.enableGrouping&&(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(Et,{grouping:U.getState().grouping,onGroupingChange:U.setGrouping,columns:U.getAllColumns()})}),n.slots?.toolbar?(0,v.jsx)(n.slots.toolbar,{table:U,globalFilter:b,setGlobalFilter:N,isPending:_,columns:U.getAllColumns(),...n.slotProps?.toolbar||{}}):(0,v.jsx)(g.default.Suspense,{fallback:(0,v.jsx)(`div`,{className:`h-10 w-full animate-pulse bg-muted/20 rounded-md`}),children:(0,v.jsx)(Ot,{globalFilter:b,setGlobalFilter:P,enableAdvancedFiltering:n.enableAdvancedFiltering,enableExport:n.enableExport,onExportExcel:n.onExportExcel?()=>n.onExportExcel(U):void 0,onExportCSV:n.onExportCSV?()=>n.onExportCSV(U):void 0,onExportPDF:n.onExportPDF?()=>n.onExportPDF(U):void 0,enableChangeTracking:B,canUndo:u,canRedo:f,undo:C,redo:w,columns:U.getAllColumns(),isPending:_,onAdd:H?.allowAdding?de:void 0,onSave:fe,onDiscard:pe,enableEditing:V,enableHiding:n.enableHiding,changes:p,table:U})}),(0,v.jsx)(`div`,{ref:e=>{ne.current=e,o.current=e},id:n.id?`ez-table-${n.id}`:`ez-table-default`,className:e._(`flex-1 w-full overflow-auto rounded-md bg-background focus:outline-none focus:ring-1 focus:ring-primary/20`,We.default),dir:W,onScroll:e=>{if(n.enableInfiniteScroll){let{scrollTop:t,scrollHeight:r,clientHeight:i}=e.currentTarget;r-t-i<50&&U.getCanNextPage()&&!n.isLoading&&U.nextPage()}},role:`table`,style:{overflowAnchor:`none`,scrollBehavior:n.scrollBehavior??`smooth`,position:`relative`,minHeight:`0`,WebkitOverflowScrolling:`touch`},onKeyDown:Q,children:(0,v.jsxs)(`div`,{className:`flex flex-col w-full min-w-max`,role:`presentation`,style:{...le,minHeight:`100%`},children:[(0,v.jsx)(dt,{table:U,enableStickyHeader:z,classNames:n.classNames,density:h,autoFitColumn:D,slots:n.slots,columnPinning:U.getState().columnPinning,columnSizing:U.getState().columnSizing,sorting:U.getState().sorting,grouping:U.getState().grouping,columnVisibility:U.getState().columnVisibility,columnOrder:U.getState().columnOrder}),(0,v.jsx)(_t,{table:U,rows:s,rowVirtualizer:L,columnVirtualizer:R,density:h,classNames:n.classNames,isLoading:n.isLoading,enableInfiniteScroll:n.enableInfiniteScroll,isPending:_,renderNoRowsOverlay:n.renderNoRowsOverlay,slots:n.slots,localization:n.localization,enableContextMenu:n.enableContextMenu,onContextMenuItemClick:n.onContextMenuItemClick?(e,t)=>n.onContextMenuItemClick?.({action:e,data:t}):void 0,isCellSelected:ve,focusedCell:y,onCellMouseDown:O,onCellMouseEnter:M,onCellClick:se,onCellDoubleClick:ce,renderDetailPanel:n.renderDetailPanel,dynamicRowSizing:re,onRowClick:Y,onRowDoubleClick:oe}),n.slots?.footer?(0,v.jsx)(n.slots.footer,{table:U,...n.slotProps?.footer||{}}):(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(kt,{table:U,columnVirtualizer:R,density:h})})]})}),n.pagination&&(0,v.jsx)(yt,{table:U,pagerMessage:S,enableStickyPagination:n.enableStickyPagination,classNames:n.classNames,localization:n.localization,changes:p}),n.enableStatusBar===!0&&(0,v.jsx)($,{table:U,totalRows:U.options.rowCount??U.getPrePaginationRowModel().rows.length,selectionInfo:p.added+p.edited+p.deleted>0?`${p.added+p.edited+p.deleted} pending changes`:void 0,rowSelection:U.getState().rowSelection}),H?.mode===`Dialog`&&(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(Dt,{open:X.isOpen,onClose:()=>{X.close(),X.mode!==`create`&&X.meta.index!==void 0&&E(X.meta.index,!1)},onSave:ue,columns:U.getAllColumns(),initialData:X.data,isNew:X.mode===`create`,onFormRender:n.onFormRender})}),(0,v.jsx)(x.DragOverlay,{dropAnimation:null,children:me?(0,v.jsx)(Ge,{header:U.getFlatHeaders().find(e=>e.id===me)||U.getLeafHeaders().find(e=>e.id===me),density:h}):null})]})})})})},jt=At,Mt=new C.QueryClient;function Nt({ref:e,...t}){return o.t(),(0,v.jsx)(C.QueryClientProvider,{client:Mt,children:(0,v.jsx)(At,{...t,ref:e})})}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return oe}});
@@ -2120,25 +2120,46 @@ var nn = (e, t, n = {}) => {
2120
2120
  c: Math.max(0, Math.min(B.getVisibleLeafColumns().length - 1, n.c + t))
2121
2121
  };
2122
2122
  });
2123
- }, [B]), [X, Z] = q({}), Ne = U((t, n) => {
2124
- let r = n === !0 || n === void 0 && !X[t];
2123
+ }, [B]), X = U((e) => {
2124
+ let t = B.getVisibleLeafColumns(), n = O[e];
2125
+ return Math.max(0, t.findIndex((e) => e.id === "select" || e.id === "actions" || e.columnDef?.enableEditing === !1 ? !1 : !h || !n || h(n, e.id)));
2126
+ }, [
2127
+ O,
2128
+ h,
2129
+ B
2130
+ ]), Z = U((e) => {
2131
+ let t = X(e);
2132
+ je({
2133
+ r: e,
2134
+ c: t
2135
+ });
2136
+ let n = window.setTimeout(() => {
2137
+ let n = document.querySelector(`[role="cell"][data-row-index="${e}"][data-cell-index="${t}"]`);
2138
+ n?.scrollIntoView({
2139
+ block: "nearest",
2140
+ inline: "nearest"
2141
+ }), n?.focus({ preventScroll: !0 }), n?.click();
2142
+ let r = n?.querySelector("input, textarea, button, [tabindex]:not([tabindex=\"-1\"])");
2143
+ r?.focus({ preventScroll: !0 }), r?.click();
2144
+ }, 0);
2145
+ return () => window.clearTimeout(n);
2146
+ }, [X]), [Ne, Pe] = q({}), Fe = U((t, n) => {
2147
+ let r = n === !0 || n === void 0 && !Ne[t];
2125
2148
  r && O[t] && e.onRowEditStart?.({
2126
2149
  row: B.getRowModel().rows[t],
2127
2150
  data: O[t]
2128
- }), Z((i) => r && (e.editSettings?.mode === "Normal" || !e.editSettings?.mode) ? { [String(t)]: !0 } : {
2151
+ }), Pe((i) => r && (e.editSettings?.mode === "Normal" || !e.editSettings?.mode) ? { [String(t)]: !0 } : {
2129
2152
  ...i,
2130
2153
  [t]: n === void 0 ? !i[t] : n
2131
- }), r && je((e) => ({
2132
- r: t,
2133
- c: e?.c ?? 0
2134
- }));
2154
+ }), r && Z(t);
2135
2155
  }, [
2136
2156
  O,
2137
- X,
2157
+ Ne,
2158
+ Z,
2138
2159
  e.onRowEditStart,
2139
2160
  e.editSettings?.mode,
2140
2161
  B
2141
- ]), Pe = U((e, t, n) => {
2162
+ ]), Ie = U((e, t, n) => {
2142
2163
  if (!p) return;
2143
2164
  let r = O[e];
2144
2165
  m && !m(r) || h && !h(r, t) || k(e, t, n);
@@ -2148,7 +2169,7 @@ var nn = (e, t, n = {}) => {
2148
2169
  O,
2149
2170
  m,
2150
2171
  h
2151
- ]), { autoFitColumn: Fe } = ht(B), Ie = U(async () => {
2172
+ ]), { autoFitColumn: Le } = ht(B), Re = U(async () => {
2152
2173
  if (z) await a.invalidateQueries({ queryKey: J });
2153
2174
  else if (l) {
2154
2175
  me(!0);
@@ -2182,14 +2203,14 @@ var nn = (e, t, n = {}) => {
2182
2203
  B,
2183
2204
  z
2184
2205
  ]);
2185
- let Le = Zt(e, B, O, {
2186
- refresh: Ie,
2206
+ let ze = Zt(e, B, O, {
2207
+ refresh: Re,
2187
2208
  setData: ee,
2188
2209
  performEdit: k,
2189
2210
  showSpinner: () => me(!0),
2190
2211
  hideSpinner: () => me(!1),
2191
2212
  scrollToIndex: (e) => Se.scrollToIndex(e, { align: "center" }),
2192
- toggleRowEditing: Ne,
2213
+ toggleRowEditing: Fe,
2193
2214
  forceUpdate: () => {
2194
2215
  me((e) => !e), setTimeout(() => me((e) => !e), 0);
2195
2216
  },
@@ -2200,21 +2221,21 @@ var nn = (e, t, n = {}) => {
2200
2221
  addRow: A,
2201
2222
  deleteRows: j,
2202
2223
  setFocusedCell: je,
2203
- autoFitColumn: Fe,
2224
+ autoFitColumn: Le,
2204
2225
  addMutation: ue,
2205
2226
  updateMutation: de,
2206
2227
  deleteMutation: fe,
2207
2228
  service: z
2208
- }, t, n), Re = G(() => ({
2209
- updateData: Pe,
2210
- editingRows: X,
2211
- toggleRowEditing: Ne,
2229
+ }, t, n), Be = G(() => ({
2230
+ updateData: Ie,
2231
+ editingRows: Ne,
2232
+ toggleRowEditing: Fe,
2212
2233
  focusedCell: Ae,
2213
2234
  setFocusedCell: je,
2214
2235
  navigateFocus: Me,
2215
- addRecord: Le.addRecord,
2216
- deleteRecord: Le.deleteRecord,
2217
- deleteRecords: Le.deleteRecords,
2236
+ addRecord: ze.addRecord,
2237
+ deleteRecord: ze.deleteRecord,
2238
+ deleteRecords: ze.deleteRecords,
2218
2239
  enableEditing: e.enableEditing && (e.editSettings?.allowEditing ?? !0),
2219
2240
  isRowEditable: m,
2220
2241
  isCellEditable: h,
@@ -2229,13 +2250,13 @@ var nn = (e, t, n = {}) => {
2229
2250
  dir: T,
2230
2251
  containerRef: xe
2231
2252
  }), [
2232
- Pe,
2233
- X,
2253
+ Ie,
2234
2254
  Ne,
2255
+ Fe,
2235
2256
  Ae,
2236
- Le.addRecord,
2237
- Le.deleteRecord,
2238
- Le.deleteRecords,
2257
+ ze.addRecord,
2258
+ ze.deleteRecord,
2259
+ ze.deleteRecords,
2239
2260
  e.enableEditing,
2240
2261
  e.editSettings,
2241
2262
  m,
@@ -2250,7 +2271,7 @@ var nn = (e, t, n = {}) => {
2250
2271
  e.localization,
2251
2272
  xe
2252
2273
  ]);
2253
- return B.options.meta = Re, W(() => {
2274
+ return B.options.meta = Be, W(() => {
2254
2275
  d && d(O);
2255
2276
  }, [O, d]), st({
2256
2277
  onRenderStart: e.onGridRenderStart,
@@ -2277,8 +2298,8 @@ var nn = (e, t, n = {}) => {
2277
2298
  resetData: L,
2278
2299
  addRow: A,
2279
2300
  deleteRows: j,
2280
- toggleRowEditing: Ne,
2281
- autoFitColumn: Fe,
2301
+ toggleRowEditing: Fe,
2302
+ autoFitColumn: Le,
2282
2303
  onCellMouseDown: De,
2283
2304
  onCellMouseEnter: Oe,
2284
2305
  onRowClick: e.onRowClick,
@@ -2323,10 +2344,10 @@ var nn = (e, t, n = {}) => {
2323
2344
  table: B,
2324
2345
  dir: T,
2325
2346
  baseApi: r,
2326
- imperativeAPI: Le
2347
+ imperativeAPI: ze
2327
2348
  }), [
2328
2349
  r,
2329
- Le,
2350
+ ze,
2330
2351
  V,
2331
2352
  xe,
2332
2353
  Se,
@@ -2350,7 +2371,7 @@ var nn = (e, t, n = {}) => {
2350
2371
  L,
2351
2372
  A,
2352
2373
  j,
2353
- Ne,
2374
+ Fe,
2354
2375
  S,
2355
2376
  ge,
2356
2377
  e,
@@ -3620,6 +3641,9 @@ var Kn = ({ children: e, text: t }) => {
3620
3641
  ...x
3621
3642
  },
3622
3643
  role: "cell",
3644
+ tabIndex: o ? 0 : -1,
3645
+ "data-row-index": n,
3646
+ "data-cell-index": r,
3623
3647
  "data-column-id": t.column.id,
3624
3648
  children: [t.getIsGrouped() || t.row.getCanExpand() && h || m && h ? /* @__PURE__ */ X("button", {
3625
3649
  className: e(f?.dir === "rtl" ? "ml-2" : "mr-2", "p-1 hover:bg-muted rounded transition-transform", !t.row.getCanExpand() && !m && "invisible"),
package/dist/advanced.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EzProvider-L2qQMq-v.cjs");;/* empty css */const t=require("./button-BBMwzUtG.cjs"),n=require("./input-DOh8O0iX.cjs"),r=require("./avatar-BSdRHETK.cjs"),i=require("./label-BGgvoZWD.cjs"),a=require("./dropdown-menu-BRP0tyR_.cjs"),o=require("./NotificationPanel-CFME00wq.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs"),c=require("./card-NlCLCGFb.cjs"),l=require("./EzTable-BHyYGv8H.cjs"),u=require("./popover-wZKNvYM5.cjs"),d=require("./tooltip-Qmzrg5u5.cjs"),f=require("./select-sVieKbLu.cjs"),p=require("./checkbox-B9yPkCYi.cjs"),m=require("./KanbanBoard-DdXD-Zjt.cjs"),h=require("./scroll-area-DSkE2KB_.cjs"),g=require("./calendar-DEHX32Cp.cjs"),_=require("./date-time-picker-D0w0sDgq.cjs"),v=require("./EzTableToolbar-BWjqKfwx.cjs"),y=require("./EzTableFooter-CtexeDAC.cjs"),b=require("./EzSchedulerToolbar-Dy62PVnH.cjs"),x=require("./EzEventModal-D1EzXBsQ.cjs"),S=require("./EzSchedulerQuickAdd-BYrV9PQ-.cjs");let C=require("react");C=e.y(C,1);let w=require("@radix-ui/react-slot"),T=require("lucide-react"),E=require("react/jsx-runtime");var D=({resources:e,selectedResourceIds:t,onSelectionChange:r,className:a=``})=>{let[o,s]=C.default.useState(``),c=C.default.useMemo(()=>o?e.filter(e=>e.name.toLowerCase().includes(o.toLowerCase())):e,[e,o]),l=e=>{t.includes(e)?r(t.filter(t=>t!==e)):r([...t,e])};return(0,E.jsxs)(`div`,{className:`p-4 border-r border-border bg-background flex flex-col gap-4 overflow-y-auto ${a}`,children:[(0,E.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,E.jsxs)(`div`,{className:`relative`,children:[(0,E.jsx)(T.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,E.jsx)(n.t,{type:`search`,placeholder:`Search resources...`,className:`pl-9 h-9 text-sm`,value:o,onChange:e=>s(e.target.value)})]}),(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsxs)(`h3`,{className:`font-semibold text-xs uppercase tracking-wider text-muted-foreground`,children:[c.length,` Found`]}),(0,E.jsx)(`button`,{onClick:()=>{if(c.every(e=>t.includes(e.id)))r(t.filter(e=>!c.find(t=>t.id===e)));else{let e=c.map(e=>e.id);r(Array.from(new Set([...t,...e])))}},className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Select All`})]})]}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2 min-h-0 flex-1 overflow-y-auto`,children:[c.map(e=>(0,E.jsxs)(`div`,{className:`flex items-center space-x-2 p-1 hover:bg-muted/50 rounded transition-colors`,children:[(0,E.jsx)(p.t,{id:`res-${e.id}`,checked:t.includes(e.id),onCheckedChange:()=>l(e.id),className:`data-[state=checked]:bg-primary data-[state=checked]:border-primary`}),(0,E.jsxs)(i.t,{htmlFor:`res-${e.id}`,className:`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 flex items-center gap-2 cursor-pointer flex-1 py-1`,children:[(0,E.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color||`#ccc`}}),(0,E.jsx)(`span`,{className:`truncate`,children:e.name})]})]},e.id)),c.length===0&&(0,E.jsx)(`div`,{className:`text-center py-8 text-sm text-muted-foreground`,children:`No resources found.`})]})]})},O=[`#06d6a0`,`#ef476f`,`#ffd166`,`#118ab2`,`#073b4c`],k=({text:e,className:t=``,defaultColor:n=`#2d2e33`,highlight:r,delay:i,textSize:a,textDir:o,highlightDir:s})=>{let c=e.split(``),l=`${a||`text-4xl md:text-5xl lg:text-6xl`} font-black tracking-tight ${t}`,u=r?r.split(``):[],[d,f]=(0,C.useState)(!1);(0,C.useEffect)(()=>{let e=()=>{let e=document.documentElement.classList.contains(`dark`)||window.matchMedia(`(prefers-color-scheme: dark)`).matches;f(e)};e();let t=new MutationObserver(()=>{e()});t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]});let n=window.matchMedia(`(prefers-color-scheme: dark)`);return n.addEventListener(`change`,e),()=>{t.disconnect(),n.removeEventListener(`change`,e)}},[]);let p=d?`#ffffff`:n;return(0,E.jsxs)(`span`,{className:`flex flex-col justify-center items-center ${l}`,style:{letterSpacing:`-0.05em`},children:[(0,E.jsx)(`style`,{children:`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EzProvider-L2qQMq-v.cjs");;/* empty css */const t=require("./button-BBMwzUtG.cjs"),n=require("./input-DOh8O0iX.cjs"),r=require("./avatar-BSdRHETK.cjs"),i=require("./label-BGgvoZWD.cjs"),a=require("./dropdown-menu-BRP0tyR_.cjs"),o=require("./NotificationPanel-CFME00wq.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs"),c=require("./card-NlCLCGFb.cjs"),l=require("./EzTable-Bcq7TByw.cjs"),u=require("./popover-wZKNvYM5.cjs"),d=require("./tooltip-Qmzrg5u5.cjs"),f=require("./select-sVieKbLu.cjs"),p=require("./checkbox-B9yPkCYi.cjs"),m=require("./KanbanBoard-DdXD-Zjt.cjs"),h=require("./scroll-area-DSkE2KB_.cjs"),g=require("./calendar-DEHX32Cp.cjs"),_=require("./date-time-picker-D0w0sDgq.cjs"),v=require("./EzTableToolbar-BWjqKfwx.cjs"),y=require("./EzTableFooter-CtexeDAC.cjs"),b=require("./EzSchedulerToolbar-Dy62PVnH.cjs"),x=require("./EzEventModal-D1EzXBsQ.cjs"),S=require("./EzSchedulerQuickAdd-BYrV9PQ-.cjs");let C=require("react");C=e.y(C,1);let w=require("@radix-ui/react-slot"),T=require("lucide-react"),E=require("react/jsx-runtime");var D=({resources:e,selectedResourceIds:t,onSelectionChange:r,className:a=``})=>{let[o,s]=C.default.useState(``),c=C.default.useMemo(()=>o?e.filter(e=>e.name.toLowerCase().includes(o.toLowerCase())):e,[e,o]),l=e=>{t.includes(e)?r(t.filter(t=>t!==e)):r([...t,e])};return(0,E.jsxs)(`div`,{className:`p-4 border-r border-border bg-background flex flex-col gap-4 overflow-y-auto ${a}`,children:[(0,E.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,E.jsxs)(`div`,{className:`relative`,children:[(0,E.jsx)(T.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,E.jsx)(n.t,{type:`search`,placeholder:`Search resources...`,className:`pl-9 h-9 text-sm`,value:o,onChange:e=>s(e.target.value)})]}),(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsxs)(`h3`,{className:`font-semibold text-xs uppercase tracking-wider text-muted-foreground`,children:[c.length,` Found`]}),(0,E.jsx)(`button`,{onClick:()=>{if(c.every(e=>t.includes(e.id)))r(t.filter(e=>!c.find(t=>t.id===e)));else{let e=c.map(e=>e.id);r(Array.from(new Set([...t,...e])))}},className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Select All`})]})]}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2 min-h-0 flex-1 overflow-y-auto`,children:[c.map(e=>(0,E.jsxs)(`div`,{className:`flex items-center space-x-2 p-1 hover:bg-muted/50 rounded transition-colors`,children:[(0,E.jsx)(p.t,{id:`res-${e.id}`,checked:t.includes(e.id),onCheckedChange:()=>l(e.id),className:`data-[state=checked]:bg-primary data-[state=checked]:border-primary`}),(0,E.jsxs)(i.t,{htmlFor:`res-${e.id}`,className:`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 flex items-center gap-2 cursor-pointer flex-1 py-1`,children:[(0,E.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color||`#ccc`}}),(0,E.jsx)(`span`,{className:`truncate`,children:e.name})]})]},e.id)),c.length===0&&(0,E.jsx)(`div`,{className:`text-center py-8 text-sm text-muted-foreground`,children:`No resources found.`})]})]})},O=[`#06d6a0`,`#ef476f`,`#ffd166`,`#118ab2`,`#073b4c`],k=({text:e,className:t=``,defaultColor:n=`#2d2e33`,highlight:r,delay:i,textSize:a,textDir:o,highlightDir:s})=>{let c=e.split(``),l=`${a||`text-4xl md:text-5xl lg:text-6xl`} font-black tracking-tight ${t}`,u=r?r.split(``):[],[d,f]=(0,C.useState)(!1);(0,C.useEffect)(()=>{let e=()=>{let e=document.documentElement.classList.contains(`dark`)||window.matchMedia(`(prefers-color-scheme: dark)`).matches;f(e)};e();let t=new MutationObserver(()=>{e()});t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]});let n=window.matchMedia(`(prefers-color-scheme: dark)`);return n.addEventListener(`change`,e),()=>{t.disconnect(),n.removeEventListener(`change`,e)}},[]);let p=d?`#ffffff`:n;return(0,E.jsxs)(`span`,{className:`flex flex-col justify-center items-center ${l}`,style:{letterSpacing:`-0.05em`},children:[(0,E.jsx)(`style`,{children:`
2
2
  @keyframes wobble {
3
3
  0% { transform: translateX(0); }
4
4
  20% { transform: translateX(-4px); }
@@ -8,7 +8,7 @@ import { a as c, c as l, d as u, f as d, h as f, i as p, l as m, m as h, n as ee
8
8
  import { t as oe } from "./NotificationPanel-BzpDc10Q.js";
9
9
  import { a as se, c as ce, d as le, f as ue, g as de, h as fe, i as pe, l as me, m as he, n as ge, o as _e, p as ve, r as ye, s as be, u as xe } from "./EzContextMenu-srLxujt8.js";
10
10
  import { a as Se, i as Ce, n as we, o as Te, r as Ee, s as De, t as Oe } from "./card-urNaa5h-.js";
11
- import { A as ke, C as Ae, D as je, E as Me, O as Ne, S as Pe, T as _, _ as v, b as y, c as Fe, d as Ie, f as Le, g as b, h as x, j as Re, k as ze, l as Be, m as S, n as Ve, p as C, s as He, u as Ue, v as w, w as We, x as Ge, y as Ke } from "./EzTable-Dyw8LIDD.js";
11
+ import { A as ke, C as Ae, D as je, E as Me, O as Ne, S as Pe, T as _, _ as v, b as y, c as Fe, d as Ie, f as Le, g as b, h as x, j as Re, k as ze, l as Be, m as S, n as Ve, p as C, s as He, u as Ue, v as w, w as We, x as Ge, y as Ke } from "./EzTable-DLbb3nl7.js";
12
12
  import { n as T, r as E, t as D } from "./popover-D1akYj0W.js";
13
13
  import { i as qe, n as Je, r as Ye, t as Xe } from "./tooltip-B1wC9m05.js";
14
14
  import { a as Ze, i as Qe, n as $e, r as et, t as tt } from "./select-D4tFaSai.js";
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EzProvider-L2qQMq-v.cjs");;/* empty css */const t=require("./EzLayout-EYOfpFXs.cjs"),n=require("./card-NlCLCGFb.cjs"),r=require("./EzTable-BHyYGv8H.cjs"),i=require("./EzScheduler-hC9PsLrI.cjs"),a=require("./EzTreeView-DLoPKe2i.cjs"),o=require("./EzKanban-2b9skOep.cjs"),s=require("./EzSignature-DcmWBPIL.cjs"),c=require("./EzFlow-B4qRm5KH.cjs");let l=require("react");var u=()=>{let t=e.a(),[n,r]=(0,l.useState)(t.getState());return(0,l.useEffect)(()=>t.subscribe(r),[t]),{...n,setMode:e=>t.setMode(e),toggleMode:()=>t.toggleMode(),setThemeColor:e=>t.setThemeColor(e),setRadius:e=>t.setRadius(e)}},d=class{name=`KanbanService`;boards=new Map;async init(){}async cleanup(){}initializeWithData(e){e.forEach(e=>{this.boards.has(e.id)||this.boards.set(e.id,JSON.parse(JSON.stringify(e)))})}async getBoard(e){await this.simulateLatency();let t=this.boards.get(e);if(!t)throw Error(`Board with ID ${e} not found`);return JSON.parse(JSON.stringify(t))}async createBoard(e){await this.simulateLatency();let t={id:e.id||`board-${Date.now()}`,name:e.name||`Untitled Board`,description:e.description,columns:e.columns||[],cards:e.cards||[],permissions:e.permissions,settings:e.settings||{allowDragAndDrop:!0,allowMultiSelect:!0,enableWipLimits:!1,defaultView:`standard`},createdAt:new Date,updatedAt:new Date};return this.boards.set(t.id,t),t}async updateBoard(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={...n,...t,updatedAt:new Date};this.boards.set(e,r)}async deleteBoard(e){await this.simulateLatency(),this.boards.delete(e)}async createCard(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={id:t.id||`card-${Date.now()}`,type:t.type||`standard`,title:t.title||`Untitled Card`,description:t.description,columnId:t.columnId||n.columns[0]?.id||``,position:t.position??n.cards.filter(e=>e.columnId===t.columnId).length,assignees:t.assignees||[],tags:t.tags||[],priority:t.priority,metadata:t.metadata||{},createdBy:t.createdBy||`current-user`,createdAt:new Date,updatedBy:t.updatedBy||`current-user`,updatedAt:new Date,...t};return n.cards.push(r),this.boards.set(e,n),r}async updateCard(e,t){await this.simulateLatency();for(let[n,r]of this.boards.entries()){let i=r.cards.findIndex(t=>t.id===e);if(i!==-1){r.cards[i]={...r.cards[i],...t,updatedAt:new Date},this.boards.set(n,r);return}}throw Error(`Card with ID ${e} not found`)}async deleteCard(e){await this.simulateLatency();for(let[t,n]of this.boards.entries()){let r=n.cards.filter(t=>t.id!==e);if(r.length!==n.cards.length){n.cards=r,this.boards.set(t,n);return}}throw Error(`Card with ID ${e} not found`)}async moveCard(e,t,n,r){await this.simulateLatency();for(let[i,a]of this.boards.entries()){let o=a.cards.find(t=>t.id===e);if(o){o.columnId=t,n!==void 0&&(o.swimlaneId=n),r!==void 0&&(o.position=r),o.updatedAt=new Date,this.boards.set(i,a);return}}throw Error(`Card with ID ${e} not found`)}async createColumn(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={id:t.id||`column-${Date.now()}`,name:t.name||`Untitled Column`,color:t.color,icon:t.icon,wipLimit:t.wipLimit,position:t.position??n.columns.length,isCollapsed:t.isCollapsed||!1};return n.columns.push(r),this.boards.set(e,n),r}async updateColumn(e,t){await this.simulateLatency();for(let[n,r]of this.boards.entries()){let i=r.columns.findIndex(t=>t.id===e);if(i!==-1){r.columns[i]={...r.columns[i],...t},this.boards.set(n,r);return}}throw Error(`Column with ID ${e} not found`)}async deleteColumn(e){await this.simulateLatency();for(let[t,n]of this.boards.entries()){let r=n.columns.filter(t=>t.id!==e);if(r.length!==n.columns.length){let i=n.cards.filter(t=>t.columnId!==e);n.columns=r,n.cards=i,this.boards.set(t,n);return}}throw Error(`Column with ID ${e} not found`)}async createSwimlane(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={id:t.id||`swimlane-${Date.now()}`,name:t.name||`New Swimlane`,type:t.type||`custom`,color:t.color,position:t.position??(n.swimlanes?.length||0),isCollapsed:!1,...t},i=n.swimlanes||[];return i.push(r),n.swimlanes=i,this.boards.set(e,n),r}async updateSwimlane(e,t){await this.simulateLatency();for(let[n,r]of this.boards.entries()){let i=r.swimlanes||[],a=i.findIndex(t=>t.id===e);if(a!==-1){i[a]={...i[a],...t},r.swimlanes=i,this.boards.set(n,r);return}}throw Error(`Swimlane with ID ${e} not found`)}async deleteSwimlane(e){await this.simulateLatency();for(let[t,n]of this.boards.entries()){let r=n.swimlanes||[];if(r.some(t=>t.id===e)){n.swimlanes=r.filter(t=>t.id!==e),n.cards=n.cards.map(t=>t.swimlaneId===e?{...t,swimlaneId:void 0}:t),this.boards.set(t,n);return}}throw Error(`Swimlane with ID ${e} not found`)}simulateLatency(){return new Promise(e=>setTimeout(e,300))}};function f(e,t){return[t.map(e=>e.header).join(`,`),...e.map(e=>t.map(t=>{let n=e[t.id];if(n==null)return``;let r=String(n);return r.includes(`,`)||r.includes(`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EzProvider-L2qQMq-v.cjs");;/* empty css */const t=require("./EzLayout-EYOfpFXs.cjs"),n=require("./card-NlCLCGFb.cjs"),r=require("./EzTable-Bcq7TByw.cjs"),i=require("./EzScheduler-hC9PsLrI.cjs"),a=require("./EzTreeView-DLoPKe2i.cjs"),o=require("./EzKanban-2b9skOep.cjs"),s=require("./EzSignature-DcmWBPIL.cjs"),c=require("./EzFlow-B4qRm5KH.cjs");let l=require("react");var u=()=>{let t=e.a(),[n,r]=(0,l.useState)(t.getState());return(0,l.useEffect)(()=>t.subscribe(r),[t]),{...n,setMode:e=>t.setMode(e),toggleMode:()=>t.toggleMode(),setThemeColor:e=>t.setThemeColor(e),setRadius:e=>t.setRadius(e)}},d=class{name=`KanbanService`;boards=new Map;async init(){}async cleanup(){}initializeWithData(e){e.forEach(e=>{this.boards.has(e.id)||this.boards.set(e.id,JSON.parse(JSON.stringify(e)))})}async getBoard(e){await this.simulateLatency();let t=this.boards.get(e);if(!t)throw Error(`Board with ID ${e} not found`);return JSON.parse(JSON.stringify(t))}async createBoard(e){await this.simulateLatency();let t={id:e.id||`board-${Date.now()}`,name:e.name||`Untitled Board`,description:e.description,columns:e.columns||[],cards:e.cards||[],permissions:e.permissions,settings:e.settings||{allowDragAndDrop:!0,allowMultiSelect:!0,enableWipLimits:!1,defaultView:`standard`},createdAt:new Date,updatedAt:new Date};return this.boards.set(t.id,t),t}async updateBoard(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={...n,...t,updatedAt:new Date};this.boards.set(e,r)}async deleteBoard(e){await this.simulateLatency(),this.boards.delete(e)}async createCard(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={id:t.id||`card-${Date.now()}`,type:t.type||`standard`,title:t.title||`Untitled Card`,description:t.description,columnId:t.columnId||n.columns[0]?.id||``,position:t.position??n.cards.filter(e=>e.columnId===t.columnId).length,assignees:t.assignees||[],tags:t.tags||[],priority:t.priority,metadata:t.metadata||{},createdBy:t.createdBy||`current-user`,createdAt:new Date,updatedBy:t.updatedBy||`current-user`,updatedAt:new Date,...t};return n.cards.push(r),this.boards.set(e,n),r}async updateCard(e,t){await this.simulateLatency();for(let[n,r]of this.boards.entries()){let i=r.cards.findIndex(t=>t.id===e);if(i!==-1){r.cards[i]={...r.cards[i],...t,updatedAt:new Date},this.boards.set(n,r);return}}throw Error(`Card with ID ${e} not found`)}async deleteCard(e){await this.simulateLatency();for(let[t,n]of this.boards.entries()){let r=n.cards.filter(t=>t.id!==e);if(r.length!==n.cards.length){n.cards=r,this.boards.set(t,n);return}}throw Error(`Card with ID ${e} not found`)}async moveCard(e,t,n,r){await this.simulateLatency();for(let[i,a]of this.boards.entries()){let o=a.cards.find(t=>t.id===e);if(o){o.columnId=t,n!==void 0&&(o.swimlaneId=n),r!==void 0&&(o.position=r),o.updatedAt=new Date,this.boards.set(i,a);return}}throw Error(`Card with ID ${e} not found`)}async createColumn(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={id:t.id||`column-${Date.now()}`,name:t.name||`Untitled Column`,color:t.color,icon:t.icon,wipLimit:t.wipLimit,position:t.position??n.columns.length,isCollapsed:t.isCollapsed||!1};return n.columns.push(r),this.boards.set(e,n),r}async updateColumn(e,t){await this.simulateLatency();for(let[n,r]of this.boards.entries()){let i=r.columns.findIndex(t=>t.id===e);if(i!==-1){r.columns[i]={...r.columns[i],...t},this.boards.set(n,r);return}}throw Error(`Column with ID ${e} not found`)}async deleteColumn(e){await this.simulateLatency();for(let[t,n]of this.boards.entries()){let r=n.columns.filter(t=>t.id!==e);if(r.length!==n.columns.length){let i=n.cards.filter(t=>t.columnId!==e);n.columns=r,n.cards=i,this.boards.set(t,n);return}}throw Error(`Column with ID ${e} not found`)}async createSwimlane(e,t){await this.simulateLatency();let n=this.boards.get(e);if(!n)throw Error(`Board with ID ${e} not found`);let r={id:t.id||`swimlane-${Date.now()}`,name:t.name||`New Swimlane`,type:t.type||`custom`,color:t.color,position:t.position??(n.swimlanes?.length||0),isCollapsed:!1,...t},i=n.swimlanes||[];return i.push(r),n.swimlanes=i,this.boards.set(e,n),r}async updateSwimlane(e,t){await this.simulateLatency();for(let[n,r]of this.boards.entries()){let i=r.swimlanes||[],a=i.findIndex(t=>t.id===e);if(a!==-1){i[a]={...i[a],...t},r.swimlanes=i,this.boards.set(n,r);return}}throw Error(`Swimlane with ID ${e} not found`)}async deleteSwimlane(e){await this.simulateLatency();for(let[t,n]of this.boards.entries()){let r=n.swimlanes||[];if(r.some(t=>t.id===e)){n.swimlanes=r.filter(t=>t.id!==e),n.cards=n.cards.map(t=>t.swimlaneId===e?{...t,swimlaneId:void 0}:t),this.boards.set(t,n);return}}throw Error(`Swimlane with ID ${e} not found`)}simulateLatency(){return new Promise(e=>setTimeout(e,300))}};function f(e,t){return[t.map(e=>e.header).join(`,`),...e.map(e=>t.map(t=>{let n=e[t.id];if(n==null)return``;let r=String(n);return r.includes(`,`)||r.includes(`
2
2
  `)||r.includes(`"`)?`"${r.replace(/"/g,`""`)}"`:r}).join(`,`))].join(`
3
3
  `)}exports.EzFlow=c.u,exports.EzKanban=o.t,exports.EzLayout=t.t,exports.EzProvider=e.t,exports.EzScheduler=i.t,exports.EzServiceRegistry=e.h,exports.EzSignature=s.t,exports.EzTable=r.t,exports.EzTreeView=a.t,exports.EzWorkflow=c.d,exports.I18nService=e.c,exports.KanbanService=d,exports.LayoutService=e.o,exports.NotificationService=e.s,exports.SchedulerService=i.r,exports.ThemeService=e.m,exports.cn=e._,exports.convertToCSV=f,exports.formatCurrency=e.l,exports.formatDate=e.u,exports.formatDateTime=e.d,exports.formatNumber=e.f,exports.formatPercent=e.p,exports.useDebounce=o.r,exports.useEzKanban=o.i,exports.useEzScheduler=i.n,exports.useEzServiceRegistry=e.n,exports.useEzTable=r.o,exports.useEzTheme=u,exports.useI18n=n.c,exports.useI18nService=e.r,exports.useMediaQuery=i.a,exports.useNotificationService=e.i,exports.useThemeService=e.a;
package/dist/index.es.js CHANGED
@@ -2,7 +2,7 @@ import { t as e } from "./EzLayout-DFxegglu.js";
2
2
  /* empty css */
3
3
  import { _ as t, a as n, c as r, d as i, f as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "./EzProvider-AlmsYIDk.js";
4
4
  import { c as _ } from "./card-urNaa5h-.js";
5
- import { o as v, t as y } from "./EzTable-Dyw8LIDD.js";
5
+ import { o as v, t as y } from "./EzTable-DLbb3nl7.js";
6
6
  import { a as b, n as x, r as S, t as C } from "./EzScheduler-D7aH4KCY.js";
7
7
  import { t as w } from "./EzTreeView-B2B_Ruwm.js";
8
8
  import { i as T, r as E, t as D } from "./EzKanban-CpYH8b8g.js";
package/dist/table.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EzTable-BHyYGv8H.cjs");exports.EzTable=e.t,exports.EzTablePrimitive=e.n,exports.EzTableRoot=e.r,exports.TableInstanceContext=e.i,exports.calculateColWidth=e.j,exports.useTableStore=e.a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./EzTable-Bcq7TByw.cjs");exports.EzTable=e.t,exports.EzTablePrimitive=e.n,exports.EzTableRoot=e.r,exports.TableInstanceContext=e.i,exports.calculateColWidth=e.j,exports.useTableStore=e.a;
package/dist/table.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, j as n, n as r, r as i, t as a } from "./EzTable-Dyw8LIDD.js";
1
+ import { a as e, i as t, j as n, n as r, r as i, t as a } from "./EzTable-DLbb3nl7.js";
2
2
  export { a as EzTable, r as EzTablePrimitive, i as EzTableRoot, t as TableInstanceContext, n as calculateColWidth, e as useTableStore };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ezux",
3
- "version": "1.1.20",
3
+ "version": "1.1.21",
4
4
  "description": "Premium React UI Kit for enterprise dashboards. Features high-performance TanStack Table, Scheduler, Kanban, and interactive components. Built with TypeScript for type-safe applications.",
5
5
  "keywords": [
6
6
  "react",
@@ -1,3 +0,0 @@
1
- const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./input-DOh8O0iX.cjs"),r=require("./label-BGgvoZWD.cjs"),i=require("./EzErrorBoundary-d_2g-_EK.cjs"),a=require("./useComponentState-Wcz6pjd6.cjs"),o=require("./useInitCoreServices-DlALVDNx.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs"),c=require("./useImperativeAPI-VrgLwXEO.cjs"),l=require("./useServiceState-PyYQWxHi.cjs"),u=require("./popover-wZKNvYM5.cjs"),d=require("./tooltip-Qmzrg5u5.cjs"),f=require("./HighlightText-BViuwe03.cjs"),p=require("./select-sVieKbLu.cjs"),m=require("./checkbox-B9yPkCYi.cjs"),h=require("./TooltipWrapper-DfbFAZ1U.cjs");let g=require("react");g=e.y(g,1);let _=require("lucide-react"),v=require("react/jsx-runtime"),y=require("@tanstack/store"),b=require("@tanstack/react-virtual"),x=require("@dnd-kit/core"),S=require("@tanstack/react-store"),C=require("@tanstack/react-query"),w=require("@tanstack/react-table"),T=require("@radix-ui/react-switch");T=e.y(T,1);let E=require("@radix-ui/react-radio-group");E=e.y(E,1);let D=require("cmdk");var O=e=>{let t=(0,g.useRef)(!1);(0,g.useLayoutEffect)(()=>{e.onRenderStart&&e.onRenderStart()}),(0,g.useEffect)(()=>{!t.current&&e.onRenderComplete&&(e.onRenderComplete(),t.current=!0)},[e.onRenderComplete]),(0,g.useEffect)(()=>()=>{t.current=!1},[])};function k(e){return{handleDragStart:(0,g.useCallback)(t=>{e.onDragStart?.(t)},[e.onDragStart]),handleDragOver:(0,g.useCallback)(t=>{e.onDragOver?.(t)},[e.onDragOver]),handleDragEnd:(0,g.useCallback)(t=>{e.onDragEnd?.(t)},[e.onDragEnd]),handleKeyPress:(0,g.useCallback)(t=>{e.onKeyPress?.(t)},[e.onKeyPress]),handleKeyDown:(0,g.useCallback)(t=>{e.onKeyDown?.(t)},[e.onKeyDown]),handleKeyUp:(0,g.useCallback)(t=>{e.onKeyUp?.(t)},[e.onKeyUp]),handleClick:(0,g.useCallback)(t=>{e.onClick?.(t)},[e.onClick]),handleDoubleClick:(0,g.useCallback)(t=>{e.onDoubleClick?.(t)},[e.onDoubleClick]),handlePointerDown:(0,g.useCallback)(t=>{e.onPointerDown?.(t)},[e.onPointerDown]),handlePointerMove:(0,g.useCallback)(t=>{e.onPointerMove?.(t)},[e.onPointerMove]),handlePointerUp:(0,g.useCallback)(t=>{e.onPointerUp?.(t)},[e.onPointerUp]),handlePointerLeave:(0,g.useCallback)(t=>{e.onPointerLeave?.(t)},[e.onPointerLeave]),handlePointerEnter:(0,g.useCallback)(t=>{e.onPointerEnter?.(t)},[e.onPointerEnter]),handleFocus:(0,g.useCallback)(()=>{e.onFocusChange?.(!0)},[e.onFocusChange]),handleBlur:(0,g.useCallback)(()=>{e.onFocusChange?.(!1)},[e.onFocusChange])}}var ee=e=>({sensors:(0,x.useSensors)((0,x.useSensor)(x.PointerSensor,{activationConstraint:{distance:e.distance??5}})),onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,collisionDetection:e.collisionDetection}),A=e=>{let{validateField:t,editSettings:n}=e,r=(0,g.useCallback)((e,r,i)=>{if(n?.requiredFields?.includes(e)&&(r==null||r===``))return{isValid:!1,error:`Field is required`};let a=n?.validationRules?.[e];if(a){let t=a(r,i);if(t!==!0&&t!==``)return{isValid:!1,error:typeof t==`string`?t:`Invalid value for ${e}`}}if(t){let n=t({fieldName:e,value:r,data:i});if(n!==!0&&n!==``)return{isValid:!1,error:typeof n==`string`?n:`Validation failed for ${e}`}}return{isValid:!0}},[t,n]);return{validate:r,validateForm:(0,g.useCallback)((e,t)=>{let n={},i=!0;return t.forEach(t=>{let a=r(t,e[t],e);n[t]=a,a.isValid||(i=!1)}),n.__form={isValid:i},n},[r])}};function j(e={}){let[t,n]=(0,g.useState)(!1),[r,i]=(0,g.useState)(e.initialMode||`view`),[a,o]=(0,g.useState)(e.initialData||{}),[s,c]=(0,g.useState)({});return{isOpen:t,mode:r,data:a,meta:s,open:(0,g.useCallback)((t,r,a)=>{i(t),r===void 0?e.defaultData&&o(e.defaultData):o(r),a!==void 0&&c(a),n(!0)},[e.defaultData]),close:(0,g.useCallback)(()=>{n(!1)},[]),toggle:(0,g.useCallback)(()=>{n(e=>!e)},[]),setData:o,setMode:i}}var M=(e,t=`id`)=>{let n=(0,g.useMemo)(()=>{let n=new Map;return Array.isArray(e)&&e.forEach(e=>{let r=e[t];r!==void 0&&n.set(r,e)}),n},[e,t]),[r,i]=(0,g.useState)({data:Array.isArray(e)?e:[],history:{past:[],future:[]}}),a=(0,g.useRef)(new Set),o=(0,g.useRef)(e);o.current!==e&&(o.current=e,i({data:Array.isArray(e)?e:[],history:{past:[],future:[]}}),a.current.clear());let s=(0,g.useCallback)(e=>{i(t=>({...t,data:typeof e==`function`?e(t.data):e}))},[]),c=(0,g.useCallback)((e,n,r)=>{i(i=>{let o=i.data[e];if(!o)return i;let s=o[n];if(s===r)return i;let c=o[t];c!==void 0&&a.current.add(c);let l={type:`EDIT_CELL`,payload:{rowIndex:e,rowId:c,columnId:n,oldValue:s,newValue:r},timestamp:Date.now()},u=[...i.data];return u[e]={...o,[n]:r},{data:u,history:{past:[...i.history.past,l],future:[]}}})},[t]),l=(0,g.useCallback)((e,n=0)=>{i(r=>{let i={...e};i[t]===void 0&&(i[t]=`_temp_${Date.now()}_${Math.random().toString(36).substr(2,9)}`);let o=i[t];o!==void 0&&a.current.add(o);let s={type:`ADD_ROW`,payload:{rowIndex:n,rowId:o,row:i},timestamp:Date.now()},c=[...r.data];return c.splice(n,0,i),{data:c,history:{past:[...r.history.past,s],future:[]}}})},[t]),u=(0,g.useCallback)(e=>{i(n=>{let r=[...e].sort((e,t)=>t-e),i=[...n.history.past],o=[...n.data];return r.forEach(e=>{let r=n.data[e];if(!r)return;let s=r[t];s!==void 0&&a.current.add(s),i.push({type:`DELETE_ROW`,payload:{rowIndex:e,rowId:s,row:r},timestamp:Date.now()}),o.splice(e,1)}),{data:o,history:{past:i,future:[]}}})},[t]),d=(0,g.useCallback)(()=>{i(e=>{if(e.history.past.length===0)return e;let n=e.history.past[e.history.past.length-1],r=e.history.past.slice(0,-1),i=[...e.data];if(n.type===`EDIT_CELL`){let{rowId:e,columnId:r,oldValue:a}=n.payload,o=i.findIndex(n=>n[t]===e);o!==-1&&r&&(i[o]={...i[o],[r]:a})}else if(n.type===`ADD_ROW`){let{rowId:e}=n.payload,r=i.findIndex(n=>n[t]===e);r!==-1&&i.splice(r,1)}else if(n.type===`DELETE_ROW`){let{rowIndex:e,row:t}=n.payload;t&&e!==void 0&&i.splice(e,0,t)}return{data:i,history:{past:r,future:[n,...e.history.future]}}})},[t]),f=(0,g.useCallback)(()=>{i(e=>{if(e.history.future.length===0)return e;let n=e.history.future[0],r=e.history.future.slice(1),i=[...e.data];if(n.type===`EDIT_CELL`){let{rowId:e,columnId:r,newValue:a}=n.payload,o=i.findIndex(n=>n[t]===e);o!==-1&&r&&(i[o]={...i[o],[r]:a})}else if(n.type===`ADD_ROW`){let{rowIndex:e,row:t}=n.payload;t&&e!==void 0&&i.splice(e,0,t)}else if(n.type===`DELETE_ROW`){let{rowId:e}=n.payload,r=i.findIndex(n=>n[t]===e);r!==-1&&i.splice(r,1)}return{data:i,history:{past:[...e.history.past,n],future:r}}})},[t]),{data:p}=r;return{data:p,setData:s,performEdit:c,addRow:l,deleteRows:u,undo:d,redo:f,canUndo:r.history.past.length>0,canRedo:r.history.future.length>0,changes:(0,g.useMemo)(()=>{if(p===e)return{added:0,edited:0,deleted:0};let r=new Map;Array.isArray(p)&&p.forEach(e=>{let n=e[t];n!==void 0&&r.set(n,e)});let i=0,a=0,o=0;return Array.isArray(p)&&p.forEach(e=>{let r=e[t];if(r===void 0||!n.has(r))i++;else{let t=n.get(r);if(e===t)return;Object.keys(e).some(n=>!n.startsWith(`_`)&&e[n]!==t[n])&&a++}}),n.forEach((e,t)=>{r.has(t)||o++}),{added:i,edited:a,deleted:o}},[p,e,n,t]),batchChanges:(0,g.useMemo)(()=>{if(p===e)return{addedRecords:[],changedRecords:[],deletedRecords:[]};let r=new Map;Array.isArray(p)&&p.forEach(e=>{let n=e[t];n!==void 0&&r.set(n,e)});let i=[],a=[],o=[];return Array.isArray(p)&&p.forEach(e=>{let r=e[t];if(r===void 0||!n.has(r))i.push(e);else{let t=n.get(r);if(e===t)return;Object.keys(e).some(n=>!n.startsWith(`_`)&&e[n]!==t[n])&&a.push(e)}}),n.forEach((e,t)=>{r.has(t)||o.push(e)}),{addedRecords:i,changedRecords:a,deletedRecords:o}},[p,e,n,t]),resetData:(0,g.useCallback)(()=>{a.current.clear(),i({data:e,history:{past:[],future:[]}})},[e])}},N=(e,t=`14px Inter, sans-serif`)=>{if(typeof document>`u`)return 0;let n=document.createElement(`canvas`).getContext(`2d`);return n?(n.font=t,n.measureText(e).width):0},P=(e,t={})=>{let{fontSize:n=`14px`,fontWeight:r=`600`,fontFamily:i=`Inter, sans-serif`,padding:a=32,hasIcons:o=!0}=t,s=N(e,`${r} ${n} ${i}`),c=o?70:0;return Math.ceil(s+a+c)},F=t=>({autoFitColumn:(0,g.useCallback)(n=>{let r=t.getColumn(n);if(!r)return;let i=t.getRowModel().rows.slice(0,50),a={fontSize:`14px`,fontWeight:`400`,fontFamily:`Inter, sans-serif`},o={fontSize:`14px`,fontWeight:`600`,fontFamily:`Inter, sans-serif`},s=r.columnDef.meta,c=0,l=typeof r.columnDef.header==`string`?r.columnDef.header:n;c=Math.max(c,P(l,{...o})),i.forEach(t=>{let r=t.getValue(n);s?.columnType===`number`?r=e.f(r,s.numberOptions):s?.columnType===`date`?r=e.u(r,s.dateOptions):s?.columnType===`datetime`&&(r=e.u(r,s.dateTimeOptions));let i=r==null?``:String(r),o=i;s?.columnType===`longtext`&&s?.longTextOptions?.previewLength&&(o=i.length>s.longTextOptions.previewLength?i.substring(0,s.longTextOptions.previewLength)+`...`:i);let l=N(o,`${a.fontWeight} ${a.fontSize} ${a.fontFamily}`);c=Math.max(c,l+32)}),t.setColumnSizing(e=>({...e,[n]:c}))},[t])}),I=e=>e?.kind===`group`,te=(e,t,n)=>{if(typeof n==`string`){if(!n)return!0;let t=n.toLowerCase();return e.getAllCells().some(e=>{let n=e.getValue();return String(n??``).toLowerCase().includes(t)})}let{quickSearch:r,advanced:i}=n;if(r){let t=r.toLowerCase();if(!e.getAllCells().some(e=>{let n=e.getValue();return String(n??``).toLowerCase().includes(t)}))return!1}return!(i&&!f.n(i,t=>e.getValue(t)))},ne=(e,t,n)=>{try{if(Array.isArray(n)){if(n.length===0)return!0;let r=e.getValue(t);return n.includes(r)}if(typeof n==`object`&&n){if(I(n))return f.n(n,n=>e.getValue(n||t));if(`operator`in n)return f.r({kind:`rule`,id:t,field:t,operator:n.operator,value:n.value},t=>e.getValue(t))}let r=e.getValue(t),i=String(r??``).toLowerCase(),a=String(n??``).toLowerCase();return i.includes(a)}catch(e){return console.error(`Error in smartColumnFilterFn for column ${t}:`,e),!0}},L=({value:t,className:n,title:r,children:i,fallback:a=(0,v.jsx)(`span`,{className:`text-muted-foreground text-sm italic`,children:`—`}),align:o=`left`})=>t==null?(0,v.jsx)(v.Fragment,{children:a}):(0,v.jsx)(`div`,{className:e._(`text-sm`,o===`center`&&`text-center`,o===`right`&&`text-right`,n),title:r===void 0?typeof t==`string`?t:String(t):r,children:i||String(t)}),R=({value:n,columnType:r,meta:i,className:a,align:o,table:s})=>{let c=n;if(n==null)return(0,v.jsx)(L,{value:n,align:o,className:a});switch(r){case`number`:c=e.f(n,{minimumFractionDigits:2,maximumFractionDigits:2,...i?.numberOptions});break;case`date`:case`datetime`:c=e.u(n,r===`datetime`?i?.dateTimeOptions:i?.dateOptions);break;case`longtext`:let a=String(n);c=(0,v.jsxs)(`div`,{className:`flex items-start gap-1 group/longtext w-full overflow-hidden py-1.5`,children:[(0,v.jsxs)(d.t,{children:[(0,v.jsx)(d.i,{asChild:!0,children:(0,v.jsx)(`div`,{className:`flex-1 min-w-0 cursor-help`,children:(0,v.jsx)(`span`,{className:`block !whitespace-normal break-words text-sm leading-normal`,style:{display:`-webkit-box`,WebkitLineClamp:2,WebkitBoxOrient:`vertical`,overflow:`hidden`},children:a})})}),(0,v.jsx)(d.n,{className:`max-w-[300px] p-3 break-words text-sm leading-relaxed`,children:a})]}),a.length>20&&(0,v.jsxs)(u.t,{children:[(0,v.jsx)(u.r,{asChild:!0,children:(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-5 w-5 opacity-0 group-hover/longtext:opacity-100 transition-opacity shrink-0`,onClick:e=>e.stopPropagation(),children:(0,v.jsx)(_.Maximize2,{className:`h-3 w-3 text-muted-foreground hover:text-primary`})})}),(0,v.jsx)(u.n,{className:`w-[400px] p-4 shadow-xl border-border bg-popover`,align:`end`,onClick:e=>e.stopPropagation(),children:(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-2`,children:[(0,v.jsx)(`h4`,{className:`text-xs font-bold uppercase tracking-widest text-muted-foreground`,children:`Detailed Description`}),(0,v.jsxs)(t.t,{variant:`outline`,size:`sm`,className:`h-7 px-2 gap-1.5 text-[10px] font-bold`,onClick:e=>{e.stopPropagation(),navigator.clipboard.writeText(a)},children:[(0,v.jsx)(_.Copy,{className:`h-3 w-3`}),`Copy`]})]}),(0,v.jsx)(`div`,{className:`text-sm leading-relaxed text-foreground max-h-[300px] overflow-auto pr-2 custom-scrollbar whitespace-pre-wrap`,children:a})]})})]})]});break;default:break}if(s?.options.meta?.enableSearchHighlighting){let e=s.getState().globalFilter,t=typeof e==`string`?e:e?.quickSearch;t&&(c=(0,v.jsx)(f.t,{text:c,highlight:t}))}let l=o||(r===`number`?`right`:`left`);return(0,v.jsx)(L,{value:n,align:l,title:r===`longtext`||i?.clipMode===`ellipsis-tooltip`?``:void 0,className:e._(r===`number`&&`font-mono tabular-nums`,r===`number`&&n<0&&`text-rose-600 dark:text-rose-400`,`px-3 min-h-full flex`,r===`longtext`?`items-start py-2 overflow-hidden`:i?.wrapText?`items-start`:`items-center`,l===`right`&&`justify-end`,l===`center`&&`justify-center`,a),children:c})},z=({value:t,onChange:r,onBlur:i,columnType:a,autoFocus:o=!0,isFocused:s,className:c,placeholder:l,meta:u})=>{let d=g.default.useRef(null);g.default.useEffect(()=>{s&&d.current&&d.current.focus()},[s]);let[f,p]=g.default.useState(()=>t==null?``:a===`number`?new Intl.NumberFormat(`en-US`,{minimumFractionDigits:0,maximumFractionDigits:20}).format(t):String(t)),m=e=>{let t=e.target.value;if(p(t),a===`number`)if(t===``)r(null);else{let e=t.replace(/,/g,``),n=parseFloat(e);isNaN(n)||r(n)}else r(t)},h=()=>{if(a===`number`&&f!==``){let e=f.replace(/,/g,``),t=parseFloat(e);isNaN(t)||p(new Intl.NumberFormat(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2}).format(t))}i?.()},_=u?.align||(a===`number`?`right`:`left`);return(0,v.jsx)(n.t,{ref:d,type:a===`date`?`date`:`text`,value:f,onChange:m,onBlur:h,autoFocus:o,className:e._(`h-7 px-2 w-full border-0 shadow-none bg-transparent focus:ring-0 focus-visible:ring-0 focus-visible:ring-offset-0`,_===`right`&&`text-right`,_===`center`&&`text-center`,a===`number`&&`font-mono tabular-nums`,c),placeholder:l,onClick:e=>e.stopPropagation()})},B={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`}]},V=({columnType:e,value:t,valueTo:r,operator:i,onChange:a})=>{let o=B[e===`datetime`||e===`date`?`date`:e===`number`?`number`:`text`]||B.text,s=e===`number`?`number`:e===`date`||e===`datetime`?`date`:`text`;return(0,v.jsxs)(`div`,{className:`p-3 space-y-3`,children:[(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground ml-1`,children:`Condition`}),(0,v.jsxs)(p.t,{value:i,onValueChange:e=>a(t,e,r),children:[(0,v.jsx)(p.i,{className:`h-8`,children:(0,v.jsx)(p.a,{})}),(0,v.jsx)(p.n,{children:o.map(e=>(0,v.jsx)(p.r,{value:e.value,children:e.label},e.value))})]})]}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground ml-1`,children:`Value`}),(0,v.jsx)(n.t,{type:s,value:t??``,onChange:e=>a(e.target.value,i,r),className:`h-8 antialiased`,placeholder:`Enter value...`,onClick:e=>e.stopPropagation()}),i===`between`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 px-1`,children:[(0,v.jsx)(`div`,{className:`h-[1px] flex-1 bg-border`}),(0,v.jsx)(`span`,{className:`text-[10px] text-muted-foreground uppercase font-bold`,children:`and`}),(0,v.jsx)(`div`,{className:`h-[1px] flex-1 bg-border`})]}),(0,v.jsx)(n.t,{type:s,value:r??``,onChange:e=>a(t,i,e.target.value),className:`h-8 antialiased`,placeholder:`To value...`,onClick:e=>e.stopPropagation()})]})]})]})};function H({className:t,ref:n,...r}){return(0,v.jsx)(T.Root,{className:e._(`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`,t),...r,ref:n,children:(0,v.jsx)(T.Thumb,{className:e._(`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`)})})}var re=({value:t,trueLabel:n=`Yes`,falseLabel:r=`No`,nullLabel:i=`N/A`,showIcon:a=!0,showLabel:o=!1,variant:s=`checkbox`,className:c,disabled:l=!0,onChange:u})=>{let d=t===!0,f=t===!1,p=t==null;return s===`switch`?(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2`,c),children:[(0,v.jsx)(H,{checked:d,onCheckedChange:u,disabled:l,className:`scale-90`}),o&&(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:d?n:f?r:i})]}):(0,v.jsxs)(`div`,{className:e._(`inline-flex items-center gap-1.5 px-2 py-0.5 rounded-md transition-colors text-sm font-medium`,d&&`bg-emerald-50/50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-400`,f&&`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:[a&&(0,v.jsxs)(v.Fragment,{children:[d&&(0,v.jsx)(_.Check,{className:`w-3.5 h-3.5`}),f&&(0,v.jsx)(_.X,{className:`w-3.5 h-3.5`}),p&&(0,v.jsx)(_.Minus,{className:`w-3.5 h-3.5`})]}),o&&(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:d?n:f?r:i})]})},U=({value:t,onChange:n,trueLabel:i=`Yes`,falseLabel:a=`No`,variant:o=`checkbox`,disabled:s=!1,className:c})=>{let l=t===!0;return o===`switch`?(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2 p-2`,c),children:[(0,v.jsx)(H,{id:`boolean-switch`,checked:l,onCheckedChange:e=>{n(e)},disabled:s}),(0,v.jsx)(r.t,{htmlFor:`boolean-switch`,className:`text-sm font-medium cursor-pointer`,children:l?i:a})]}):(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2 p-2`,c),children:[(0,v.jsx)(m.t,{id:`boolean-editor`,checked:l,onCheckedChange:e=>{n(e===!0)},disabled:s,className:`data-[state=checked]:bg-primary data-[state=checked]:border-primary`}),(0,v.jsx)(r.t,{htmlFor:`boolean-editor`,className:`text-sm font-medium cursor-pointer`,children:l?i:a})]})},W=({value:t,onChange:n,trueLabel:r=`Yes`,falseLabel:i=`No`,nullLabel:a=`N/A`,allLabel:o=`All`,className:s})=>(0,v.jsxs)(p.t,{value:t,onValueChange:n,children:[(0,v.jsx)(p.i,{className:e._(`w-full h-8`,s),children:(0,v.jsx)(p.a,{placeholder:`Filter...`})}),(0,v.jsxs)(p.n,{children:[(0,v.jsx)(p.r,{value:`all`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.Minus,{className:`w-4 h-4 text-muted-foreground`}),(0,v.jsx)(`span`,{children:o})]})}),(0,v.jsx)(p.r,{value:`true`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.Check,{className:`w-4 h-4 text-emerald-600`}),(0,v.jsx)(`span`,{children:r})]})}),(0,v.jsx)(p.r,{value:`false`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.X,{className:`w-4 h-4 text-rose-600`}),(0,v.jsx)(`span`,{children:i})]})}),(0,v.jsx)(p.r,{value:`null`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(_.Minus,{className:`w-4 h-4 text-muted-foreground`}),(0,v.jsx)(`span`,{children:a})]})})]})]}),G=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(E.Root,{className:e._(`grid gap-2`,t),...n,ref:r}));G.displayName=E.Root.displayName;var K=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(E.Item,{ref:r,className:e._(`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`,t),...n,children:(0,v.jsx)(E.Indicator,{className:`flex items-center justify-center`,children:(0,v.jsx)(_.Circle,{className:`h-1.5 w-1.5 fill-white text-white`})})}));K.displayName=E.Item.displayName;var q=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command,{ref:r,className:e._(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,t),...n}));q.displayName=D.Command.displayName;var ie=g.forwardRef(({className:t,...n},r)=>(0,v.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[(0,v.jsx)(_.Search,{className:`me-2 h-4 w-4 shrink-0 opacity-50`}),(0,v.jsx)(D.Command.Input,{ref:r,className:e._(`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`,t),...n})]}));ie.displayName=D.Command.Input.displayName;var ae=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.List,{ref:r,className:e._(`max-h-[300px] overflow-y-auto overflow-x-hidden`,t),...n}));ae.displayName=D.Command.List.displayName;var J=g.forwardRef((e,t)=>(0,v.jsx)(D.Command.Empty,{ref:t,className:`py-6 text-center text-sm text-muted-foreground`,...e}));J.displayName=D.Command.Empty.displayName;var Y=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.Group,{ref:r,className:e._(`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`,t),...n}));Y.displayName=D.Command.Group.displayName;var oe=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.Separator,{ref:r,className:e._(`-mx-1 h-px bg-border`,t),...n}));oe.displayName=D.Command.Separator.displayName;var se=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.Item,{ref:r,className:e._(`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 text-start`,t),...n}));se.displayName=D.Command.Item.displayName;var ce=({className:t,...n})=>(0,v.jsx)(`span`,{className:e._(`ms-auto text-xs tracking-widest text-muted-foreground`,t),...n});ce.displayName=`CommandShortcut`;var le=({value:n,onChange:r,options:i=[],placeholder:a=`Select option...`,className:o,onBlur:s})=>{let[c,l]=(0,g.useState)(!1),[d,f]=(0,g.useState)(``),p=(0,g.useMemo)(()=>{if(!d)return i;let e=d.toLowerCase();return i.filter(t=>t.label.toLowerCase().includes(e)||t.value.toLowerCase().includes(e))},[i,d]),[m,h]=(0,g.useState)(null),y=(0,b.useVirtualizer)({count:p.length,getScrollElement:()=>m,estimateSize:()=>35,overscan:5});return(0,v.jsxs)(u.t,{open:c,onOpenChange:l,children:[(0,v.jsx)(u.r,{asChild:!0,children:(0,v.jsxs)(t.t,{variant:`outline`,role:`combobox`,"aria-expanded":c,className:e._(`w-full justify-between h-8 px-2 font-normal text-xs`,o),children:[(0,v.jsx)(`span`,{className:`truncate`,children:n?i.find(e=>e.value===n)?.label||n:a}),(0,v.jsx)(_.ChevronsUpDown,{className:`ml-2 h-3 w-3 shrink-0 opacity-50`})]})}),(0,v.jsx)(u.n,{className:`w-[var(--radix-popover-trigger-width)] p-0 max-h-[400px] overflow-hidden`,align:`start`,side:`bottom`,collisionPadding:10,children:(0,v.jsxs)(q,{shouldFilter:!1,className:`h-full`,children:[(0,v.jsxs)(`div`,{className:`flex items-center border-b px-3`,children:[(0,v.jsx)(_.Search,{className:`mr-2 h-3.5 w-3.5 shrink-0 opacity-50`}),(0,v.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:d,onChange:e=>f(e.target.value)})]}),(0,v.jsxs)(ae,{ref:h,className:`max-h-[300px] overflow-y-auto`,style:{maxHeight:`300px`},children:[p.length===0&&(0,v.jsx)(J,{children:`No option found.`}),(0,v.jsx)(`div`,{style:{height:`${y.getTotalSize()}px`,width:`100%`,position:`relative`},children:y.getVirtualItems().map(t=>{let i=p[t.index];return(0,v.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,height:`${t.size}px`,transform:`translateY(${t.start}px)`},children:(0,v.jsxs)(se,{value:i.value,onSelect:e=>{r(e===n?``:e),l(!1),f(``)},className:`flex items-center justify-between text-xs py-1.5`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:i.label}),(0,v.jsx)(_.Check,{className:e._(`h-3 w-3`,n===i.value?`opacity-100`:`opacity-0`)})]})},t.key)})})]})]})})]})},X=({value:t,options:n=[],className:r,table:i})=>{if(t==null)return(0,v.jsx)(`span`,{className:`text-muted-foreground text-sm italic`,children:`—`});let a=Array.isArray(t)?t:[t];if(a.length===0)return(0,v.jsx)(`span`,{className:`text-muted-foreground text-sm italic`,children:`—`});let o=a.map(e=>n.find(t=>t.value===e)||{value:e,label:e,color:`default`}),s=e=>{let t=e===`success`?`success`:e===`danger`||e===`destructive`?`error`:e===`warning`?`warning`:e===`primary`||e===`info`?`info`:`neutral`,n=t===`neutral`;return{container:{backgroundColor:n?`transparent`:`var(--ez-status-${t}-bg)`,color:n?`var(--ez-status-${t}-bg)`:`var(--ez-status-${t}-text)`,borderColor:`var(--ez-status-${t}-border)`},dot:{backgroundColor:`var(--ez-status-${t}-dot)`},isColored:!n}};return(0,v.jsx)(`div`,{className:e._(`inline-flex items-center gap-1.5 flex-wrap py-1`,r),children:o.map((e,t)=>{let n=s(e.color);return(0,v.jsxs)(`div`,{className:`inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full text-[13px] font-bold border transition-all duration-300 shadow-sm`,style:n.container,children:[(0,v.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full`,style:n.dot}),i?.options.meta?.enableSearchHighlighting?(0,v.jsx)(f.t,{text:e.label,highlight:typeof i.getState().globalFilter==`string`?i.getState().globalFilter:i.getState().globalFilter?.quickSearch}):e.label]},`${e.value}-${t}`)})})},ue=({value:t,onChange:n,options:i=[],variant:a=`dropdown`,onBlur:o,className:s,placeholder:c=`Select...`,isFocused:l})=>{let[u,d]=g.default.useState(!1),f=g.default.useRef(!1);return g.default.useEffect(()=>{l&&a===`dropdown`?f.current||=(d(!0),!0):(d(!1),f.current=!1)},[l,a]),a===`combobox`?(0,v.jsx)(`div`,{className:e._(`w-full`,s),children:(0,v.jsx)(le,{value:t,onChange:n,options:i,placeholder:c,onBlur:o})}):a===`radio`?(0,v.jsx)(`div`,{className:e._(`w-full px-2 py-1`,s),onBlur:o,children:(0,v.jsx)(G,{value:t||``,onValueChange:n,children:i.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(K,{value:e.value,id:`radio-${e.value}`}),(0,v.jsx)(r.t,{htmlFor:`radio-${e.value}`,className:`text-xs font-medium cursor-pointer`,children:e.label})]},e.value))})}):(0,v.jsx)(`div`,{className:e._(`w-full -m-1 p-0.5`,s),onBlur:o,onKeyDown:e=>{[`Enter`,` `,`ArrowUp`,`ArrowDown`].includes(e.key)&&e.stopPropagation()},children:(0,v.jsxs)(p.t,{value:t,onValueChange:n,open:u,onOpenChange:d,children:[(0,v.jsx)(p.i,{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:(0,v.jsx)(p.a,{placeholder:c})}),(0,v.jsx)(p.n,{children:i.map(e=>(0,v.jsx)(p.r,{value:e.value,children:e.label},e.value))})]})})},de=({options:t=[],selectedValues:n=[],onChange:i,className:a})=>{let o=e=>{n.includes(e)?i(n.filter(t=>t!==e)):i([...n,e])};return(0,v.jsxs)(`div`,{className:e._(`flex flex-col gap-2 p-2 min-w-[180px]`,a),children:[(0,v.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-2 mb-1`,children:[(0,v.jsx)(`span`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Filter Options`}),(0,v.jsx)(`button`,{onClick:()=>{n.length===t.length?i([]):i(t.map(e=>e.value))},className:`text-[10px] font-medium text-primary hover:underline`,children:n.length===t.length?`Clear All`:`Select All`})]}),(0,v.jsx)(`div`,{className:`max-h-[180px] overflow-y-auto`,children:(0,v.jsx)(`div`,{className:`flex flex-col gap-2 pr-2`,children:t.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(m.t,{id:`filter-${e.value}`,checked:n.includes(e.value),onCheckedChange:()=>o(e.value)}),(0,v.jsx)(r.t,{htmlFor:`filter-${e.value}`,className:`text-sm font-normal cursor-pointer flex-1`,children:e.label})]},e.value))})})]})},fe=({value:t,showLabel:n=!0,color:r=`default`,size:i=`md`,className:a})=>{let o=Math.max(0,Math.min(100,t));return(0,v.jsxs)(`div`,{className:e._(`flex items-center gap-2 w-full`,a),children:[(0,v.jsx)(`div`,{className:`flex-1 bg-muted rounded-full overflow-hidden min-w-[60px]`,children:(0,v.jsx)(`div`,{className:e._(`transition-all duration-300 rounded-full`,(()=>{switch(i){case`sm`:return`h-1.5`;case`lg`:return`h-3`;default:return`h-2`}})(),(()=>{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`}})()),style:{width:`${o}%`}})}),n&&(0,v.jsxs)(`span`,{className:`text-xs font-medium text-muted-foreground tabular-nums min-w-[42px] text-right`,children:[o.toFixed(0),`%`]})]})},pe=({value:t,values:n,color:r=`default`,height:i=32,width:a=100,showDots:o=!1,className:s})=>{let c=t||n||[],l=(0,g.useMemo)(()=>{if(!c||c.length===0)return``;let e=Math.max(...c),t=Math.min(...c),n=e-t||1;return`M ${c.map((e,r)=>`${r/(c.length-1)*a},${i-(e-t)/n*i}`).join(` L `)}`},[c,i,a]),u=(0,g.useMemo)(()=>{if(!c||c.length===0||!o)return[];let e=Math.max(...c),t=Math.min(...c),n=e-t||1;return c.map((e,r)=>({x:r/(c.length-1)*a,y:i-(e-t)/n*i}))},[c,i,a,o]),d=()=>{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`}},f=()=>{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?(0,v.jsx)(`div`,{className:`text-muted-foreground text-xs italic`,children:`No data`}):(0,v.jsxs)(`svg`,{width:a,height:i,className:e._(`inline-block`,s),viewBox:`0 0 ${a} ${i}`,children:[(0,v.jsx)(`path`,{d:l,fill:`none`,className:e._(`transition-colors`,d()),strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`}),o&&u.map((t,n)=>(0,v.jsx)(`circle`,{cx:t.x,cy:t.y,r:`2`,className:e._(`transition-colors`,f())},n))]})},Z={renderers:{text:{Cell:R,Editor:z},number:{Cell:R,Editor:z},date:{Cell:R,Editor:z},datetime:{Cell:R,Editor:z},longtext:{Cell:R,Editor:z},boolean:{Cell:re,Editor:U},select:{Cell:X,Editor:ue},multiselect:{Cell:X,Editor:ue},progress:{Cell:fe},sparkline:{Cell:pe},chart:{Cell:e=>{let t=e.value;return Array.isArray(t)?g.default.createElement(pe,{values:t,...e}):g.default.createElement(fe,{value:t,...e})}}}},me=(0,g.createContext)(Z),he=()=>(0,g.useContext)(me),ge=({getValue:e,row:t,column:n,table:r})=>{let{renderers:i}=he(),a=e(),[o,s]=(0,g.useState)(a),c=n.columnDef.meta,l=c?.columnType||`text`,u=!r.options.meta?.isRowEditable||r.options.meta.isRowEditable(t.original),d=!r.options.meta?.isCellEditable||r.options.meta.isCellEditable(t.original,n.id),f=n.columnDef.enableEditing!==!1,p=r.options.meta?.enableEditing||!1,m=r.options.meta?.editingRows?.[t.index]||!1,h=p&&m&&u&&d&&f;(0,g.useEffect)(()=>{s(a)},[a]);let _=()=>{r.options.meta?.updateData(t.index,n.id,o)},y=e=>{s(e),(l===`boolean`||l===`select`)&&r.options.meta?.updateData(t.index,n.id,e)},b=(0,g.useMemo)(()=>({getValue:e,row:t,column:n,enableEditing:r.options.meta?.enableEditing,isCellEditable:r.options.meta?.isCellEditable,value:o,onChange:y,onBlur:_,columnType:l,meta:c,isFocused:r.options.meta?.focusedCell?.r===t.index&&r.options.meta?.focusedCell?.c===r.getVisibleLeafColumns().findIndex(e=>e.id===n.id)}),[e,t,n,o,l,c,y,_,r.options.meta?.focusedCell,r.getVisibleLeafColumns]);if(h){if(c?.Editor){let e=c.Editor;return(0,v.jsx)(e,{...b})}let e=i[l];if(e?.Editor){let t=e.Editor,n={...l===`boolean`?c?.booleanOptions:{},...l===`select`?c?.selectOptions:{}};return(0,v.jsx)(t,{...b,...n})}}if(c?.Cell){let e=c.Cell;return(0,v.jsx)(e,{...b})}let x=(i[l]||i.text).Cell,S={...l===`boolean`?c?.booleanOptions:{},...l===`longtext`?c?.longTextOptions:{},...l===`number`?c?.numberOptions:{},...l===`date`?c?.dateOptions:{},...l===`datetime`?c?.dateTimeOptions:{},...l===`select`?c?.selectOptions:{},...l===`progress`||l===`chart`||l===`sparkline`?c?.chartOptions:{}};return(0,v.jsx)(x,{...b,...S})},Q=(e,t)=>typeof e==`function`?e(t):e,_e=(e,t)=>{let{columns:n,rowCount:r,pageCount:i,pagination:o,pageSize:s=10,enableRowSelection:c,selectionSettings:l,enableGrouping:u,enableRowPinning:d,enableColumnPinning:f,enableTreeData:p,getSubRows:m,manualPagination:h,manualSorting:_,manualFiltering:v,enablePersistence:y,persistenceKey:b,defaultGrouping:x=[],getRowId:S}=e,C=!!e.service||!!e.serviceName,{state:T,setState:E}=a.t({initialState:{sorting:[],columnFilters:[],globalFilter:``,columnSizing:{},rowSelection:{},grouping:x,expanded:{},rowPinning:{top:[],bottom:[]},pagination:{pageIndex:0,pageSize:s},columnPinning:{left:[],right:[]},columnVisibility:{},columnOrder:[]},persistenceKey:y?b:void 0}),D=(0,g.useRef)({}),O=e=>{E(t=>({...t,sorting:Q(e,t.sorting)}))},k=e=>{E(t=>({...t,pagination:Q(e,t.pagination)}))},ee=e=>{E(t=>{let n=Q(e,t.rowSelection);return D.current=n,{...t,rowSelection:n}})},A=e=>E(t=>({...t,columnFilters:Q(e,t.columnFilters)})),j=e=>E(t=>({...t,globalFilter:Q(e,t.globalFilter)})),M=e=>E(t=>({...t,columnSizing:Q(e,t.columnSizing)})),N=e=>E(t=>({...t,grouping:Q(e,t.grouping)})),P=e=>E(t=>({...t,expanded:Q(e,t.expanded)})),F=e=>E(t=>({...t,rowPinning:Q(e,t.rowPinning)})),I=e=>E(t=>({...t,columnPinning:Q(e,t.columnPinning)})),L=e=>E(t=>({...t,columnVisibility:Q(e,t.columnVisibility)})),R=e=>{E(t=>({...t,columnOrder:Q(e,t.columnOrder)}))},z=(0,g.useRef)(!0),B=(0,g.useRef)(T.sorting),V=(0,g.useRef)(T.pagination),H=(0,g.useRef)(T.rowSelection),re=(0,g.useRef)(T.columnOrder);(0,g.useEffect)(()=>{z.current||JSON.stringify(T.sorting)!==JSON.stringify(B.current)&&(e.onSortingChange?.(T.sorting),e.onSort?.({columns:T.sorting.map(e=>({direction:e.desc?`Descending`:`Ascending`,name:e.id}))}),B.current=T.sorting)},[T.sorting,e.onSortingChange,e.onSort]),(0,g.useEffect)(()=>{z.current||JSON.stringify(T.pagination)!==JSON.stringify(V.current)&&(e.onPaginationChange?.(T.pagination),e.onPageChange?.({action:`page`,currentPage:T.pagination.pageIndex+1}),V.current=T.pagination)},[T.pagination,e.onPaginationChange,e.onPageChange]),(0,g.useEffect)(()=>{if(!z.current&&JSON.stringify(T.rowSelection)!==JSON.stringify(H.current)){e.onRowSelectionChange?.(T.rowSelection);let n=Object.keys(H.current).filter(e=>H.current[e]),r=Object.keys(T.rowSelection).filter(e=>T.rowSelection[e]),i=r.filter(e=>!n.includes(e)),a=n.filter(e=>!r.includes(e));i.forEach(n=>{let r=parseInt(n);!isNaN(r)&&t[r]&&e.onRowSelect?.({data:t[r],rowIndex:r})}),a.forEach(n=>{let r=parseInt(n);!isNaN(r)&&t[r]&&e.onRowDeselect?.({data:t[r],rowIndex:r})}),H.current=T.rowSelection}},[T.rowSelection,t,e.onRowSelectionChange,e.onRowSelect,e.onRowDeselect]),(0,g.useEffect)(()=>{z.current||JSON.stringify(T.columnOrder)!==JSON.stringify(re.current)&&(e.onColumnOrderChange?.(T.columnOrder),re.current=T.columnOrder)},[T.columnOrder,e.onColumnOrderChange]),(0,g.useEffect)(()=>{z.current=!1},[]);let U=(0,g.useRef)(e.onColumnFiltersChange),W=(0,g.useRef)(e.onGlobalFilterChange);return(0,g.useEffect)(()=>{U.current=e.onColumnFiltersChange,W.current=e.onGlobalFilterChange}),(0,g.useEffect)(()=>{v&&T.columnFilters.length>=0&&U.current?.(T.columnFilters)},[T.columnFilters,v]),(0,g.useEffect)(()=>{v&&W.current?.(T.globalFilter)},[T.globalFilter,v]),{table:(0,w.useReactTable)({data:t,columns:n,getRowId:S,rowCount:r,pageCount:i,state:(0,g.useMemo)(()=>({sorting:T.sorting,columnFilters:T.columnFilters,globalFilter:T.globalFilter,columnSizing:T.columnSizing,rowSelection:T.rowSelection,pagination:T.pagination,grouping:T.grouping,expanded:T.expanded,rowPinning:T.rowPinning,columnPinning:T.columnPinning,columnVisibility:T.columnVisibility,columnOrder:T.columnOrder,...e.state}),[T,e.state]),onSortingChange:O,onColumnFiltersChange:A,onGlobalFilterChange:j,onColumnSizingChange:M,onRowSelectionChange:ee,onPaginationChange:k,onGroupingChange:N,onExpandedChange:P,onRowPinningChange:F,onColumnPinningChange:I,onColumnVisibilityChange:L,onColumnOrderChange:R,globalFilterFn:te,defaultColumn:{cell:ge,filterFn:ne},manualPagination:C||h,manualSorting:C||_,manualFiltering:C||v,enableRowSelection:l?!0:c,enableMultiRowSelection:!l||l.type===`Multiple`,enableGrouping:u,enableSorting:!0,enableRowPinning:d,enableColumnPinning:f,columnResizeMode:`onChange`,enableColumnResizing:!0,aggregationFns:{uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size},getSubRows:p?m:void 0,getCoreRowModel:(0,w.getCoreRowModel)(),getSortedRowModel:(0,w.getSortedRowModel)(),getFilteredRowModel:(0,w.getFilteredRowModel)(),getPaginationRowModel:o?(0,w.getPaginationRowModel)():void 0,getGroupedRowModel:u?(0,w.getGroupedRowModel)():void 0,getExpandedRowModel:u||p?(0,w.getExpandedRowModel)():void 0,getFacetedUniqueValues:(0,w.getFacetedUniqueValues)(),getFacetedMinMaxValues:(0,w.getFacetedMinMaxValues)(),meta:{}}),states:{sorting:T.sorting,setSorting:O,columnFilters:T.columnFilters,setColumnFilters:A,globalFilter:T.globalFilter,setGlobalFilter:j,rowSelection:T.rowSelection,setRowSelection:ee,paginationState:T.pagination,setPaginationState:k,grouping:T.grouping,setGrouping:N,expanded:T.expanded,setExpanded:P,rowPinning:T.rowPinning,setRowPinning:F,columnPinning:T.columnPinning,setColumnPinning:I,columnVisibility:T.columnVisibility,setColumnVisibility:L,columnOrder:T.columnOrder,setColumnOrder:R}}},ve=(e,t,n=`ltr`)=>{let{density:r=`standard`,rowHeight:i,estimatedRowHeight:a,rowSizingMode:o=`auto`,enableColumnVirtualization:c=!1}=e,{rows:l}=t.getRowModel(),u=(0,g.useMemo)(()=>{if(i)return i;if(a)return a;switch(r){case`compact`:return 41;case`comfortable`:return 89;default:return 65}},[i,a,r]),d=(0,g.useMemo)(()=>{switch(r){case`compact`:return 40;case`comfortable`:return 56;default:return 48}},[r]),f=(0,g.useMemo)(()=>{if(i)return!1;if(o===`dynamic`)return!0;if(o===`fixed`)return!1;let t=e.columns.some(e=>e.meta?.wrapText),n=e.textWrapSettings?.wrapMode===`Both`||e.textWrapSettings?.wrapMode===`Content`;return!!(e.renderDetailPanel||e.enableEditing||t||n||e.adaptiveSizing)},[i,o,e.columns,e.textWrapSettings,e.renderDetailPanel,e.enableEditing,e.adaptiveSizing]),{parentRef:p,rowVirtualizer:m,columnVirtualizer:h,scrollToIndex:_,scrollToRow:v,scrollToColumn:y}=s._({rowCount:l.length,rowHeight:u,overscanCount:e.overscanCount??30,columnCount:c?t.getVisibleLeafColumns().length:0,columnWidth:e=>t.getVisibleLeafColumns()[e].getSize(),enableColumnVirtualization:c,progressiveRendering:e.progressiveRendering??!1,prefetchDistance:e.prefetchDistance??10,adaptiveSizing:f,id:e.id,debug:!1,languageDirection:n,scrollPaddingStart:e.enableStickyHeader?e.scrollPaddingStart??d:e.scrollPaddingStart??0,scrollMargin:0});return{parentRef:p,rowVirtualizer:m,columnVirtualizer:h,scrollToIndex:_,scrollToRow:v,scrollToColumn:y,effectiveRowHeight:u,dynamicRowSizing:f}},ye=(e,t)=>{let{enableRangeSelection:n=!1}=e,{rows:r}=t.getRowModel(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!1),c=(0,g.useCallback)((e,t)=>{n&&(s(!0),a({start:{r:e,c:t},end:{r:e,c:t}}))},[n]),l=(0,g.useCallback)((e,t)=>{!n||!o||a(n=>n?{...n,end:{r:e,c:t}}:null)},[n,o]);return(0,g.useEffect)(()=>{if(!n)return;let e=()=>s(!1);return window.addEventListener(`mouseup`,e),()=>window.removeEventListener(`mouseup`,e)},[n]),{rangeSelection:i,onCellMouseDown:c,onCellMouseEnter:l,selectRowByRange:(0,g.useCallback)((e,n)=>{let i={},[a,o]=[Math.min(e,n),Math.max(e,n)];for(let e=a;e<=o;e++){let t=r[e];t&&(i[t.id]=!0)}t.setRowSelection(e=>({...e,...i}))},[r,t]),isSelecting:o}},be=(e,t)=>{let[n,r]=(0,g.useTransition)(),i=(0,g.useCallback)(e=>{r(()=>{t.setColumnFilters(e)})},[t]),a=(0,g.useCallback)(e=>{r(()=>{t.setGlobalFilter(e)})},[t]),o=t.getState().columnFilters,s=t.getState().globalFilter,c=(0,g.useRef)(!0),l=(0,g.useRef)(o),u=(0,g.useRef)(s);return(0,g.useEffect)(()=>{if(!c.current&&JSON.stringify(o)!==JSON.stringify(l.current)){e.onColumnFiltersChange?.(o);let n=o.map(e=>({id:e.id,field:e.id,operator:`contains`,value:e.value}));e.onFilter?.({columns:n,table:t}),l.current=o}},[o,e.onColumnFiltersChange,e.onFilter,t]),(0,g.useEffect)(()=>{if(c.current){c.current=!1;return}s!==u.current&&(e.onGlobalFilterChange?.(s),typeof s==`string`&&e.onSearch?.(s),u.current=s)},[s,e.onGlobalFilterChange,e.onSearch]),{isFiltering:n,handleColumnFiltersChange:i,handleGlobalFilterChange:a,setFilterModel:t.setColumnFilters,setGlobalFilter:t.setGlobalFilter}},xe=(t,n,r,a,o,s={})=>{let c=e.n(),{rows:l}=n.getRowModel(),u=(0,g.useRef)([]);(0,g.useEffect)(()=>()=>{u.current.forEach(e=>clearTimeout(e))},[]);let d=(0,g.useMemo)(()=>{let e=h.a(a.refresh,a.forceUpdate),i=h.s(a.showSpinner,a.hideSpinner),o=h.o(e=>{let t=l[typeof e==`string`?parseInt(e):e];t?.getCanSelect()&&t.toggleSelected(!0)},e=>{let t={};e.forEach(e=>{let n=l[typeof e==`string`?parseInt(e):e];n&&(t[n.id]=!0)}),n.setRowSelection(t)},()=>n.resetRowSelection(),()=>n.toggleAllRowsSelected(!0),()=>n.getSelectedRowModel().rows.map(e=>e.original),(e,t)=>{let n=typeof e==`string`?parseInt(e):e;a.scrollToIndex(n)}),d=h.i(a.scrollToIndex,e=>n.setPageIndex(e)),f=h.r(()=>t.onExportCSV?.(n),()=>t.onExportExcel?.(n),()=>{window.print()});return{...e,...i,getData:()=>r,getState:()=>n.getState(),getSelectedRows:()=>n.getSelectedRowModel().rows.map(e=>e.original),saveChanges:async()=>{t.onDataChangeComplete?.({action:`edit`,data:a.batchChanges.changedRecords}),c.get(`NotificationService`)?.show({type:`success`,message:`Changes Saved Successfully!`,duration:3e3})},cancelChanges:()=>{a.resetData(),t.onDataChangeCancel?.({action:`edit`}),c.get(`NotificationService`)?.show({type:`info`,message:`Changes Discarded`,duration:3e3})},validateField:e=>!0,setCellValue:(e,t,n)=>{let r=parseInt(e);isNaN(r)||a.performEdit(r,t,n)},setRowData:(e,t)=>{let n=parseInt(e);isNaN(n)||a.setData(e=>{let r=[...e];return r[n]={...r[n],...t},r})},addRecord:async e=>{let i=e||{},o=t.editSettings?.primaryKey,s=o?Array.isArray(o)?o[0]:o:`id`,l=i[s];if(l===void 0&&(l=`_temp_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,i[s]=l),a.service)try{let e=await a.addMutation.mutateAsync(i);c.get(`NotificationService`)?.show({type:`success`,message:`Row Added Successfully!`,duration:3e3});let t=setTimeout(()=>{u.current=u.current.filter(e=>e!==t);let i=e[s]||l;n.setRowSelection({[i]:!0});let o=r.findIndex(e=>e[s]===i);o!==-1&&(a.toggleRowEditing(o,!0),a.scrollToIndex(o))},100);u.current.push(t);return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Add Row`,duration:3e3}),e}t.onDataChangeStart?.({action:`add`,data:i}),t.onRowAddStart?.({data:i}),a.addRow(i,0),t.onDataChangeComplete?.({action:`add`,data:i}),c.get(`NotificationService`)?.show({type:`success`,message:`Row Added Successfully!`,duration:3e3});let d=setTimeout(()=>{u.current=u.current.filter(e=>e!==d),n.resetRowSelection(),n.setRowSelection({[l]:!0}),a.toggleRowEditing(0,!0),a.scrollToIndex(0)},50);u.current.push(d)},updateRecord:async(e,n)=>{let i=typeof e==`number`?e:parseInt(e),o=t.editSettings?.primaryKey,s=o?Array.isArray(o)?o[0]:o:`id`,l=r[i]?.[s];if(a.service&&l)try{await a.updateMutation.mutateAsync({id:l,updates:n}),c.get(`NotificationService`)?.show({type:`success`,message:`Row Updated Successfully!`,duration:3e3});return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Update Row`,duration:3e3}),e}t.onDataChangeStart?.({action:`edit`,data:n}),a.setData(e=>{let t=[...e];return t[i]={...t[i],...n},c.get(`NotificationService`)?.show({type:`success`,message:`Row Updated Successfully!`,duration:3e3}),t})},deleteRecord:async e=>{let n=typeof e==`number`?e:parseInt(e),i=r[n],o=t.editSettings?.primaryKey,s=o?Array.isArray(o)?o[0]:o:`id`,l=i?.[s];if(a.service&&l)try{await a.deleteMutation.mutateAsync(l),c.get(`NotificationService`)?.show({type:`success`,message:`Row Deleted Successfully!`,duration:3e3});return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Delete Row`,duration:3e3}),e}t.onDataChangeStart?.({action:`delete`,data:i}),a.deleteRows([n]),c.get(`NotificationService`)?.show({type:`success`,message:`Row Deleted Successfully!`,duration:3e3})},deleteRecords:async e=>{if(a.service){let n=t.editSettings?.primaryKey,i=n?Array.isArray(n)?n[0]:n:`id`;try{for(let t of e){let e=r[t]?.[i];e&&await a.deleteMutation.mutateAsync(e)}c.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Rows Deleted Successfully!`,duration:3e3});return}catch(e){throw c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Delete Rows`,duration:3e3}),e}}t.onDataChangeStart?.({action:`delete`,data:e.map(e=>r[e])}),a.deleteRows(e),c.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Rows Deleted Successfully!`,duration:3e3})},getRowInfo:e=>l[typeof e==`number`?e:parseInt(e)],editRecord:e=>{let t=typeof e==`number`?e:parseInt(e);a.toggleRowEditing(t,!0)},saveDataChanges:()=>{t.onDataChangeComplete?.({action:`edit`,data:a.batchChanges.changedRecords}),c.get(`NotificationService`)?.show({type:`success`,message:`Changes Saved Successfully!`,duration:3e3})},cancelDataChanges:()=>{a.resetData(),t.onDataChangeCancel?.({action:`edit`}),c.get(`NotificationService`)?.show({type:`info`,message:`Changes Discarded`,duration:3e3})},getBatchChanges:()=>a.batchChanges,getChanges:()=>a.batchChanges,history:{changes:a.changes,batchChanges:a.batchChanges},...o,getSelectedRowIndexes:()=>Object.keys(n.getState().rowSelection).map(Number),clearRowSelection:()=>n.resetRowSelection(),...d,search:e=>n.setGlobalFilter(e),filterByColumn:(e,t,r)=>n.getColumn(e)?.setFilterValue({operator:t,value:r}),clearFilter:e=>e?n.getColumn(e)?.setFilterValue(void 0):n.resetColumnFilters(),sortByColumn:(e,t)=>n.setSorting([{id:e,desc:t===`desc`}]),clearSort:()=>n.resetSorting(),removeSortColumn:e=>n.setSorting(t=>t.filter(t=>t.id!==e)),getVisibleColumns:()=>n.getVisibleLeafColumns().map(e=>e.columnDef),getHiddenColumns:()=>n.getAllLeafColumns().filter(e=>!e.getIsVisible()).map(e=>e.columnDef),getColumnByField:e=>n.getColumn(e)?.columnDef||null,getColumns:()=>n.getAllLeafColumns().map(e=>e.columnDef),setColumnVisibility:e=>n.setColumnVisibility(e),copyToClipboard:async(e=!0)=>{if(!navigator?.clipboard)return;let t=n.getVisibleLeafColumns(),r=n.getRowModel().rows,i=e?t.map(e=>e.id).join(` `)+`
2
- `:``,a=r.map(e=>t.map(t=>{let n=e.getValue(t.id);return n==null?``:String(n)}).join(` `)).join(`
3
- `);try{await navigator.clipboard.writeText(i+a),c.get(`NotificationService`)?.show({type:`success`,message:`Copied to Clipboard!`,duration:2e3})}catch(e){console.error(`Failed to copy`,e),c.get(`NotificationService`)?.show({type:`error`,message:`Failed to Copy`,duration:3e3})}},autoFitColumns:()=>{n.getVisibleLeafColumns().forEach(e=>{a.autoFitColumn(e.id)})},expandAllGroups:()=>n.toggleAllRowsExpanded(!0),collapseAllGroups:()=>n.toggleAllRowsExpanded(!1),isRemote:()=>!!(t.manualPagination||t.onDataRequest),getDataModule:()=>({table:n,data:r}),setPagerMessage:e=>a.setPagerMessage(e),validateEditForm:()=>!0,getPrimaryKeyFieldNames:()=>{let e=t.editSettings?.primaryKey;return e?Array.isArray(e)?e:[e]:[]},...f,...s}},[t,n,r,l,a,s]);return i.n(o,d),d},Se=[],Ce=new WeakMap,we=1;function Te(e){let t=Ce.get(e);return t||(t=`inline-service-${we++}`,Ce.set(e,t)),t}var Ee=(e,t,n={})=>{let{api:r,serviceRegistry:i}=o.n(e),a=(0,C.useQueryClient)(),{dataSource:s,data:c,onRefresh:u,onDataRequest:d,onDataLoad:f,onError:p,enableEditing:m,isRowEditable:h,isCellEditable:_,pagination:v=!0,enableExport:y=!1,enableStickyHeader:b=!0,enableStickyPagination:x=!0,enableChangeTracking:S=!0,density:w=`standard`,dir:T}=e,E=l.t(`I18nService`),D=T===`auto`||!T?E?.dir||`ltr`:T,k=s||c||Se,ee=(0,g.useMemo)(()=>{let t=e.editSettings?.primaryKey;return t?Array.isArray(t)?t[0]:t:`id`},[e.editSettings?.primaryKey]),{data:A,setData:j,performEdit:N,addRow:P,deleteRows:I,undo:te,redo:ne,canUndo:L,canRedo:R,changes:z,batchChanges:B,resetData:V}=M(k,ee),[H,re]=(0,g.useState)(void 0),U=(0,g.useMemo)(()=>e.service?e.service:e.serviceName?i.get(e.serviceName):null,[e.service,e.serviceName]),{table:W,states:G}=_e(e,A),K=W.getState().pagination,q=W.getState().sorting,ie=W.getState().columnFilters,ae=W.getState().globalFilter,J=(0,g.useMemo)(()=>{if(e.serviceName)return e.serviceName;if(e.service){let t=e.service;return t.resourceKey||t.serviceKey||t.name||t.id||Te(e.service)}return`local`},[e.serviceName,e.service]),Y=(0,g.useMemo)(()=>[`table-data`,J,K.pageIndex,K.pageSize,q,ie,ae],[J,K,q,ie,ae]),{data:oe,isLoading:se,error:ce}=(0,C.useQuery)({queryKey:Y,queryFn:async()=>{if(!U)return{data:k,totalCount:k.length};let{onDataChange:t,...n}=e,r=await U.getData({...n,state:W.getState(),data:[],columns:[]}),i=r.data;return{data:i,totalCount:(`totalCount`in r?r.totalCount:r.rowCount)??i.length}},enabled:!!U,placeholderData:{data:k,totalCount:k.length}}),le=oe?.data||k,X=oe?.totalCount??k.length;(0,g.useEffect)(()=>{U&&le&&!z.added&&!z.edited&&!z.deleted&&j(le)},[le,U,j,z.added,z.edited,z.deleted]);let ue=(0,C.useMutation)({mutationFn:e=>U.createRow(e),onMutate:async e=>{await a.cancelQueries({queryKey:Y});let t=a.getQueryData(Y);return a.setQueryData(Y,t=>({data:[...t?.data||[],e],totalCount:(t?.totalCount??0)+1})),{previousData:t}},onError:(e,t,n)=>{n?.previousData&&a.setQueryData(Y,n.previousData)},onSuccess:()=>a.invalidateQueries({queryKey:Y})}),de=(0,C.useMutation)({mutationFn:({id:e,updates:t})=>U.updateRow(e,t),onMutate:async({id:t,updates:n})=>{await a.cancelQueries({queryKey:Y});let r=a.getQueryData(Y);return a.setQueryData(Y,r=>{let i=r?.data||[];return{data:i.map(r=>{let i=e.getRowId?e.getRowId(r):r.id||r[ee];return String(i)===String(t)?{...r,...n}:r}),totalCount:r?.totalCount??i.length}}),{previousData:r}},onError:(e,t,n)=>{n?.previousData&&a.setQueryData(Y,n.previousData)},onSuccess:()=>a.invalidateQueries({queryKey:Y})}),fe=(0,C.useMutation)({mutationFn:e=>U.deleteRow(e),onMutate:async t=>{await a.cancelQueries({queryKey:Y});let n=a.getQueryData(Y);return a.setQueryData(Y,n=>{let r=n?.data||[];return{data:r.filter(n=>{let r=e.getRowId?e.getRowId(n):n.id||n[ee];return String(r)!==String(t)}),totalCount:Math.max(0,(n?.totalCount??r.length)-1)}}),{previousData:n}},onError:(e,t,n)=>{n?.previousData&&a.setQueryData(Y,n.previousData)},onSuccess:()=>a.invalidateQueries({queryKey:Y})}),[pe,Z]=(0,g.useState)(!1),me=se||pe,{isFiltering:he,handleColumnFiltersChange:ge,handleGlobalFilterChange:Q,setFilterModel:Ce,setGlobalFilter:we}=be(e,W),{parentRef:Ee,rowVirtualizer:De,columnVirtualizer:Oe,effectiveRowHeight:ke,dynamicRowSizing:Ae}=ve(e,W,D),{rangeSelection:je,onCellMouseDown:Me,onCellMouseEnter:Ne,selectRowByRange:Pe}=ye(e,W),[Fe,Ie]=(0,g.useState)(null),Le=(0,g.useCallback)((e,t)=>{Ie(n=>{if(!n)return{r:0,c:0};let r=W.getRowModel().rows.length;return{r:Math.max(0,Math.min(r-1,n.r+e)),c:Math.max(0,Math.min(W.getVisibleLeafColumns().length-1,n.c+t))}})},[W]),[Re,ze]=(0,g.useState)({}),Be=(0,g.useCallback)((t,n)=>{let r=n===!0||n===void 0&&!Re[t];r&&A[t]&&e.onRowEditStart?.({row:W.getRowModel().rows[t],data:A[t]}),ze(i=>r&&(e.editSettings?.mode===`Normal`||!e.editSettings?.mode)?{[String(t)]:!0}:{...i,[t]:n===void 0?!i[t]:n}),r&&Ie(e=>({r:t,c:e?.c??0}))},[A,Re,e.onRowEditStart,e.editSettings?.mode,W]),Ve=(0,g.useCallback)((e,t,n)=>{if(!m)return;let r=A[e];h&&!h(r)||_&&!_(r,t)||N(e,t,n)},[m,N,A,h,_]),{autoFitColumn:He}=F(W),Ue=(0,g.useCallback)(async()=>{if(U)await a.invalidateQueries({queryKey:Y});else if(d){Z(!0);try{d(W.getState())}catch(e){p&&p(e)}finally{Z(!1)}}W.reset(),u?.()},[d,W,u,p,U,a,Y]);(0,g.useEffect)(()=>{ce&&p&&p(ce)},[ce,p]),(0,g.useEffect)(()=>{U&&X!==void 0&&W.setOptions(e=>({...e,rowCount:X}))},[X,W,U]);let $=xe(e,W,A,{refresh:Ue,setData:j,performEdit:N,showSpinner:()=>Z(!0),hideSpinner:()=>Z(!1),scrollToIndex:e=>De.scrollToIndex(e,{align:`center`}),toggleRowEditing:Be,forceUpdate:()=>{Z(e=>!e),setTimeout(()=>Z(e=>!e),0)},resetData:V,setPagerMessage:re,batchChanges:B,changes:z,addRow:P,deleteRows:I,setFocusedCell:Ie,autoFitColumn:He,addMutation:ue,updateMutation:de,deleteMutation:fe,service:U},t,n),We=(0,g.useMemo)(()=>({updateData:Ve,editingRows:Re,toggleRowEditing:Be,focusedCell:Fe,setFocusedCell:Ie,navigateFocus:Le,addRecord:$.addRecord,deleteRecord:$.deleteRecord,deleteRecords:$.deleteRecords,enableEditing:e.enableEditing&&(e.editSettings?.allowEditing??!0),isRowEditable:h,isCellEditable:_,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:D,containerRef:Ee}),[Ve,Re,Be,Fe,$.addRecord,$.deleteRecord,$.deleteRecords,e.enableEditing,e.editSettings,h,_,e.enableSearchHighlighting,e.selectionSettings,e.editSettings,e.classNames,e.icons,e.slots,e.slotProps,e.localization,Ee]);return W.options.meta=We,(0,g.useEffect)(()=>{f&&f(A)},[A,f]),O({onRenderStart:e.onGridRenderStart,onRenderComplete:e.onGridRenderComplete}),(0,g.useMemo)(()=>({state:{...G,rows:W.getRowModel().rows,rangeSelection:je,canUndo:L,canRedo:R,changes:z,batchChanges:B,density:w,isPending:he||e.isLoading||me,focusedCell:Fe,globalFilter:G.globalFilter,pagerMessage:H,internalLoading:pe},actions:{undo:te,redo:ne,resetData:V,addRow:P,deleteRows:I,toggleRowEditing:Be,autoFitColumn:He,onCellMouseDown:Me,onCellMouseEnter:Ne,onRowClick:e.onRowClick,onRowDoubleClick:e.onRowDoubleClick,onCellFocus:e.onCellFocus,onToolbarItemClick:e.onToolbarItemClick,setFocusedCell:Ie,setGlobalFilter:we,handleColumnFiltersChange:ge,handleGlobalFilterChange:Q,setFilterModel:Ce,getData:()=>A,getPrimaryKeyFieldNames:()=>{let t=e.editSettings?.primaryKey;return t?Array.isArray(t)?t:[t]:[]}},refs:{parentRef:Ee,rowVirtualizer:De,columnVirtualizer:Oe},config:{paginationEnabled:v,exportEnabled:y,enableStickyHeader:b,enableStickyPagination:x,enableChangeTracking:S,enableEditing:m,gridLines:e.gridLines,enableAltRow:e.enableAltRow,enableHover:e.enableHover,rowHeight:ke,dynamicRowSizing:Ae,selectionSettings:e.selectionSettings,filterSettings:e.filterSettings,searchSettings:e.searchSettings,sortSettings:e.sortSettings,editSettings:e.editSettings},services:{},table:W,dir:D,baseApi:r,imperativeAPI:$}),[r,$,G,Ee,De,Oe,W,D,v,y,je,Me,Ne,b,x,S,te,ne,L,R,z,B,V,P,I,Be,w,he,e,A,ge,Q,Ce,we,H,Fe,Ie,pe])},De=({containerRef:e,containerSizeRef:t,resizeTimeoutRef:n,onResize:r},i)=>{(0,g.useEffect)(()=>{if(!e.current)return;let i=e.current;i.style.height=`100%`,i.style.minHeight=`0`,i.style.height=``;let a=new ResizeObserver(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{for(let n of e){let{width:e,height:i}=n.contentRect;(Math.abs(e-t.current.width)>1||Math.abs(i-t.current.height)>1)&&(t.current={width:e,height:i},r())}},100)});return a.observe(i),()=>{a.disconnect(),n.current&&clearTimeout(n.current)}},i)},Oe=({table:e,editSettings:t,toggleRowEditing:n,onRowClickProp:r,onRowDoubleClickProp:i,onCellClickProp:a,onCellDoubleClickProp:o})=>{let s=(0,g.useCallback)((s,c)=>{let l=e.options.meta;if(l?.setFocusedCell){let t=s.colIndex??e.getVisibleLeafColumns().findIndex(e=>e.id===s.columnId);t!==-1&&l.setFocusedCell({r:s.rowIndex,c:t})}c===`dblclick`&&t?.allowEditing&&t?.allowEditOnDblClick!==!1&&n(s.rowIndex,!0),(c===`click`?a??r:o??i)?.(s)},[e,t,n,r,i]);return{onRowClick:e=>s(e,`click`),onRowDoubleClick:e=>s(e,`dblclick`),onCellClick:e=>s(e,`click`),onCellDoubleClick:e=>s(e,`dblclick`)}},ke=({dialogState:e,isDialogMode:t,rows:n,table:r})=>{(0,g.useEffect)(()=>{if(!t)return;let i=Object.keys(r.options.meta?.editingRows||{}).find(e=>r.options.meta?.editingRows?.[e]);if(i!==void 0){let t=parseInt(i);!isNaN(t)&&n[t]&&e.open(`edit`,n[t].original,{index:t})}},[t,e,n,r])},Ae=()=>(0,v.jsx)(`div`,{className:`flex flex-col items-center justify-center min-h-screen p-4`,children:(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-4 max-w-md w-full`,children:[(0,v.jsx)(`div`,{className:`flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10`,children:(0,v.jsx)(_.AlertTriangle,{className:`w-8 h-8 text-destructive`})}),(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,v.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Table Error`}),(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Something went wrong with the table. Please refresh the page or try again.`})]}),(0,v.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:[(0,v.jsx)(_.RefreshCw,{className:`w-4 h-4`}),`Refresh Page`]})]})}),je=e=>{switch(e){case`compact`:return`min-h-[40px]`;case`comfortable`:return`min-h-[56px]`;default:return`min-h-[48px]`}},Me=e=>{switch(e){case`compact`:return`py-0 px-2`;case`comfortable`:return`py-4 px-4`;default:return`py-2 px-4`}},Ne=e=>{switch(e){case`compact`:return`text-[13px] leading-5`;case`comfortable`:return`text-base`;default:return`text-sm`}},Pe=t=>e._(je(t),Me(t),Ne(t)),Fe=(e,t,n=`ltr`)=>e?{position:`sticky`,[n===`rtl`?e===`left`?`right`:`left`:e===`left`?`left`:`right`]:`${t}px`,zIndex:30}:{},Ie=(t,n=`ltr`)=>{if(!t)return``;let r=t===`left`,i=n===`rtl`;return e._(`bg-background`,r&&!i||!r&&i?`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)]`)},Le=(e,t=`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 t===`rtl`?`justify-end text-right`:`justify-start text-left`}},Re=(t,n)=>e._(t&&`bg-primary/10 ring-1 ring-inset ring-primary/30 z-[1]`,n&&`bg-primary/10 z-[10]`),ze=(e,t)=>{switch(e){case`wrap`:return`whitespace-normal break-words`;case`ellipsis`:return t?`overflow-hidden`:`truncate`;default:return`truncate`}},Be=(e,t,n=`ltr`)=>t||!e||e===`None`||e===`Horizontal`?``:n===`rtl`?`border-l border-border/50`:`border-r border-border/50`,Ve={compact:`py-1 text-xs`,standard:`py-2 text-sm`,comfortable:`py-4 text-base`},He=(e=`standard`)=>Ve[e],Ue=`flex flex-col`,$={default:`border border-border`,bottom:`border-b border-border`,top:`border-t border-border`,left:`border-l border-border`,right:`border-r border-border`,none:`border-0`},We=({header:t,density:n})=>{let r=t.column.columnDef.meta?.align||`left`;return(0,v.jsx)(`div`,{className:e._(`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`,He(n),r===`center`&&`justify-center text-center`,r===`right`&&`justify-end text-right`),style:{width:t.getSize(),maxWidth:t.column.columnDef.maxSize,minWidth:t.column.columnDef.minSize},children:(0,v.jsxs)(`div`,{className:e._(`flex items-center w-full gap-2`,r===`center`&&`justify-center relative`,r===`right`&&`justify-end`),children:[(0,v.jsx)(`div`,{className:`p-1 text-zinc-400`,children:(0,v.jsx)(_.GripVertical,{className:`w-3.5 h-3.5`})}),(0,v.jsx)(`span`,{className:`truncate`,children:(0,w.flexRender)(t.column.columnDef.header,t.getContext())})]})})},Ge=(0,g.memo)(({table:t,totalRows:n,selectionInfo:r,rowSelection:i})=>{let a=n??(t.getPrePaginationRowModel().rows.length||t.options.rowCount||t.getRowModel().rows.length),o=typeof a==`number`?a:0,s=Object.keys(i||{}).length;return(0,v.jsxs)(`div`,{className:e._(`flex border-t border-border p-2 text-xs text-muted-foreground justify-between bg-muted/30`,`rounded-b-md`),children:[(0,v.jsxs)(`div`,{className:`flex gap-4 items-center`,children:[(0,v.jsxs)(`span`,{children:[`Total: `,o,` rows`]}),s>0&&(0,v.jsxs)(`span`,{className:`text-primary font-medium`,children:[s,` selected`]}),typeof r==`string`&&(0,v.jsxs)(`span`,{children:[`| `,r]})]}),(0,v.jsx)(`div`,{className:`flex gap-2`})]})});Ge.displayName=`EzTableStatusBar`;function Ke(e){if(!e||e.length===0)return`text`;let t=e.slice(0,100).filter(e=>e!=null&&e!==``);if(t.length===0)return`text`;if(t.every(e=>typeof e==`boolean`||e===`true`||e===`false`))return`boolean`;if(t.every(e=>typeof e==`number`||!isNaN(parseFloat(e))&&isFinite(e)))return`number`;if(t.every(e=>e instanceof Date||typeof e==`string`&&!isNaN(Date.parse(e))&&e.length>5&&(e.includes(`-`)||e.includes(`/`)||e.includes(`:`))))return t.some(e=>String(e).includes(`:`)||e instanceof Date&&(e.getHours()!==0||e.getMinutes()!==0))?`datetime`:`date`;let n=new Set(t.map(e=>String(e)));return n.size>0&&n.size<=Math.min(t.length*.2,10)?`select`:t.some(e=>typeof e==`string`&&e.length>100)?`longtext`:`text`}function qe(e,t){let[n,r]=(0,g.useState)(()=>Array.isArray(e)?new Set(e):null);return{selectedValues:n,isAllSelected:n===null,handleSelectAll:(0,g.useCallback)(e=>{r(e?null:new Set)},[]),handleSelect:(0,g.useCallback)((e,n)=>{r(r=>{if(r===null){if(n)return null;let r=new Set(t);return r.delete(e),r}let i=new Set(r);if(n){if(i.add(e),i.size===t.length)return null}else i.delete(e);return i})},[t]),handleBulkSelect:(0,g.useCallback)((e,n)=>{r(r=>{let i=r||new Set(t),a=new Set(i);if(n){if(e.forEach(e=>a.add(e)),a.size===t.length)return null}else e.forEach(e=>a.delete(e));return a})},[t]),clearSelection:(0,g.useCallback)(()=>{r(null)},[])}}var Je=g.default.memo(({checked:e,indeterminate:t,onSelectAll:n,showSearchResults:r=!1})=>(0,v.jsxs)(`div`,{className:`flex items-center space-x-2 px-2 py-1.5 hover:bg-muted rounded text-sm cursor-pointer`,onClick:()=>n(!e),children:[(0,v.jsx)(m.t,{checked:e?!0:t?`indeterminate`:!1,onCheckedChange:e=>n(e===!0)}),(0,v.jsx)(`label`,{className:`flex-1 cursor-pointer`,children:r?`(Select All Search Results)`:`(Select All)`})]}));Je.displayName=`SelectAllCheckbox`;var Ye=g.default.memo(({column:e})=>{let t=e.columnDef.meta;return(0,v.jsxs)(`div`,{className:`p-3 space-y-3`,children:[(0,v.jsx)(`div`,{className:`text-sm font-medium`,children:`Filter by value:`}),(0,v.jsx)(W,{value:e.getFilterValue()||`all`,onChange:t=>{e.setFilterValue(t)},trueLabel:t?.booleanOptions?.trueLabel,falseLabel:t?.booleanOptions?.falseLabel,nullLabel:t?.booleanOptions?.nullLabel})]})});Ye.displayName=`BooleanFilterSection`;var Xe=g.default.memo(({column:e,allAvailableValues:t})=>(0,v.jsx)(`div`,{className:`p-1`,children:(0,v.jsx)(de,{options:t.map(e=>({value:String(e),label:String(e)})),selectedValues:Array.isArray(e.getFilterValue())?e.getFilterValue():[],onChange:t=>{e.setFilterValue(t.length>0?t:void 0)}})}));Xe.displayName=`SelectFilterSection`;var Ze=g.default.memo(({sortedUniqueValues:e,selectedValues:t,handleSelect:n,formatter:r})=>{let i=(0,g.useRef)(null),a=(0,b.useVirtualizer)({count:e.length,getScrollElement:()=>i.current,estimateSize:()=>32,overscan:5});return(0,v.jsx)(`div`,{ref:i,className:`flex-1 overflow-y-auto px-2 pb-2 min-h-0 pt-2`,children:(0,v.jsx)(`div`,{style:{height:`${a.getTotalSize()}px`,width:`100%`,position:`relative`},children:a.getVirtualItems().map(i=>{let a=e[i.index],o=t===null||t.has(a),s=r?r(a):String(a)||`(Empty)`;return(0,v.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:`${i.size}px`,transform:`translateY(${i.start}px)`},onClick:()=>n(a,!o),children:[(0,v.jsx)(m.t,{checked:o,onCheckedChange:e=>n(a,e===!0)}),(0,v.jsx)(`span`,{className:`flex-1 truncate`,children:s})]},i.key)})})})});Ze.displayName=`VirtualizedFilterList`;var Qe=g.default.memo(({onClear:e,onApply:n,onAddRule:r,onAddGroup:i,onRemove:a,showClear:o=!0,showApply:s=!0,showAddRule:c=!1,showAddGroup:l=!1,showRemove:u=!1,className:d})=>(0,v.jsxs)(`div`,{className:`p-2 border-t flex justify-between bg-popover text-popover-foreground flex-shrink-0 sticky bottom-0 z-20 ${d||``}`,children:[(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[o&&e&&(0,v.jsx)(t.t,{variant:`ghost`,size:`sm`,onClick:e,className:`h-8 text-xs`,children:`Clear`}),c&&r&&(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:r,title:`Add Rule`,children:(0,v.jsx)(_.PlusIcon,{className:`w-4 h-4`})}),l&&i&&(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:i,title:`Add Group`,children:(0,v.jsx)(`span`,{className:`font-bold text-xs`,children:`( )`})})]}),(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[u&&a&&(0,v.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-6 w-6 text-red-500 hover:text-red-600`,onClick:a,children:(0,v.jsx)(_.XIcon,{className:`w-4 h-4`})}),s&&n&&(0,v.jsx)(t.t,{size:`sm`,onClick:n,className:`min-w-[70px] h-8 text-xs font-semibold`,children:`OK`})]})]}));Qe.displayName=`FilterActionButtons`;function $e({node:e,selectedValues:t,onBulkSelect:n}){let[r,i]=(0,g.useState)(!1),a=!1;if(t===null)a=!0;else{let n=e.fullValues.filter(e=>t.has(e)).length;a=n===e.fullValues.length&&e.fullValues.length>0||n>0&&`indeterminate`}let o=t=>{n(e.fullValues,t)};return(0,v.jsxs)(`div`,{className:`pl-4`,children:[(0,v.jsxs)(`div`,{className:`flex items-center space-x-2 py-1 hover:bg-muted/50 rounded`,children:[e.children&&e.children.length>0?(0,v.jsx)(`button`,{onClick:e=>{e.stopPropagation(),i(!r)},className:`p-0.5 hover:bg-muted rounded mr-1 text-muted-foreground`,children:r?(0,v.jsx)(_.ChevronDown,{className:`w-4 h-4`}):(0,v.jsx)(_.ChevronRight,{className:`w-4 h-4`})}):(0,v.jsx)(`span`,{className:`w-5 mr-1`}),(0,v.jsx)(m.t,{checked:a===`indeterminate`?`indeterminate`:a,onCheckedChange:e=>o(e===!0),id:`node-${e.key}`}),(0,v.jsxs)(`label`,{htmlFor:`node-${e.key}`,className:`text-sm flex-1 cursor-pointer select-none text-foreground`,children:[e.label,(0,v.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[`(`,e.fullValues.length,`)`]})]})]}),e.children&&r&&(0,v.jsx)(`div`,{className:`border-l border-border ml-2`,children:e.children.map(e=>(0,v.jsx)($e,{node:e,selectedValues:t,onBulkSelect:n},e.key))})]})}function et({uniqueValues:e,selectedValues:t,onBulkSelect:n}){let r=(0,g.useMemo)(()=>{let t=[],n=Array.from(e.keys()).map(e=>{let t=e instanceof Date?e:new Date(e);return{date:t,original:e,valid:!isNaN(t.getTime())}}).filter(e=>e.valid);n.sort((e,t)=>e.date.getTime()-t.date.getTime());let r=new Map;return n.forEach(e=>{let t=e.date.getFullYear();r.has(t)||r.set(t,[]),r.get(t).push(e)}),r.forEach((e,n)=>{let r={key:String(n),label:String(n),level:0,fullValues:e.map(e=>e.original),children:[]},i=new Map;e.forEach(e=>{let t=e.date.getMonth();i.has(t)||i.set(t,[]),i.get(t).push(e)}),i.forEach((e,t)=>{let i=new Date(n,t).toLocaleString(`default`,{month:`long`}),a={key:`${n}-${t}`,label:i,level:1,fullValues:e.map(e=>e.original),children:[]},o=new Map;e.forEach(e=>{let t=e.date.getDate();o.has(t)||o.set(t,[]),o.get(t).push(e)}),o.forEach((e,r)=>{let i={key:`${n}-${t}-${r}`,label:String(r),level:2,fullValues:e.map(e=>e.original),children:[]};a.children.push(i)}),r.children.push(a)}),t.push(r)}),t},[e]);return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[r.length===0&&(0,v.jsx)(`div`,{className:`p-2 text-sm text-muted-foreground`,children:`No dates found`}),r.map(e=>(0,v.jsx)($e,{node:e,selectedValues:t,onBulkSelect:n},e.key))]})}var tt=g.default.memo(({value:e,onChange:t,options:n,placeholder:r,className:i})=>(0,v.jsxs)(p.t,{value:e,onValueChange:e=>t(e),children:[(0,v.jsx)(p.i,{className:i,children:(0,v.jsx)(p.a,{placeholder:r})}),(0,v.jsx)(p.n,{children:n.map(e=>(0,v.jsx)(p.r,{value:e.value,children:e.label},e.value))})]}));tt.displayName=`FilterRuleSelect`;var nt={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`}]},rt=({columnType:e,columnId:t,value:i,onChange:a})=>{let o=nt[e===`datetime`||e===`date`?`date`:e===`number`?`number`:`text`]||nt.text,s=e===`number`?`number`:e===`date`||e===`datetime`?`date`:`text`,c=i?.kind===`group`,l=c?i.filters[0]:i?.operator?i:{operator:o[0].value,value:``},u=c?i.filters[1]:{operator:o[0].value,value:``},d=c?i.logic:`OR`,f=c,[p,m]=(0,g.useState)(l),[h,_]=(0,g.useState)(u),[y,b]=(0,g.useState)(d),[x,S]=(0,g.useState)(f);g.default.useEffect(()=>{let e=i?.kind===`group`,t=e?i.filters[0]:i?.operator?i:{operator:o[0].value,value:``},n=e?i.filters[1]:{operator:o[0].value,value:``},r=e?i.logic:`OR`;m(t),_(n),b(r),S(e)},[i,o]);let C=(e,n,r,i)=>{if(!i){a({kind:`rule`,operator:e.operator,value:e.value,field:e.field||t,id:e.id||t});return}a({kind:`group`,logic:r,filters:[{kind:`rule`,operator:e.operator,value:e.value,field:e.field||t,id:e.id||`${t}_1`},{kind:`rule`,operator:n.operator,value:n.value,field:n.field||t,id:n.id||`${t}_2`}]})},w=(e,t,r)=>{let i=n=>{let i={...e,value:n};t(i);let a=x||r;r&&!x&&S(!0),C(r?p:i,r?i:h,y,a)};if(e.operator===`between`){let t=Array.isArray(e.value)?e.value:[e.value??``,``];return(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[(0,v.jsx)(n.t,{type:s,value:t[0],onChange:e=>i([e.target.value,t[1]]),className:`h-8 shadow-none flex-1`,placeholder:`From...`}),(0,v.jsx)(n.t,{type:s,value:t[1],onChange:e=>i([t[0],e.target.value]),className:`h-8 shadow-none flex-1`,placeholder:`To...`})]})}return(0,v.jsx)(n.t,{type:s,value:e.value??``,onChange:e=>i(e.target.value),className:`h-8 shadow-none`,placeholder:`Enter value...`})};return(0,v.jsxs)(`div`,{className:`p-3 space-y-4`,children:[(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(r.t,{className:`text-xs font-medium text-muted-foreground uppercase`,children:`Show rows where:`}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(tt,{value:p.operator,options:o,onChange:e=>{let t=e,n={...p,operator:t,value:t===`between`?[``,``]:p.value};m(n),C(n,h,y,x)},placeholder:`Select operator`,className:`h-8 shadow-none`}),w(p,m,!1)]})]}),(0,v.jsx)(`div`,{className:`flex justify-center`,children:(0,v.jsxs)(G,{value:y,onValueChange:e=>{b(e),x||S(!0),C(p,h,e,!0)},className:`flex gap-4`,children:[(0,v.jsxs)(`div`,{className:`flex items-center space-x-1.5 focus-within:bg-muted/50 px-2 py-0.5 rounded transition`,children:[(0,v.jsx)(K,{value:`AND`,id:`and`,className:`h-3.5 w-3.5`}),(0,v.jsx)(r.t,{htmlFor:`and`,className:`text-xs cursor-pointer font-semibold uppercase tracking-wider`,children:`And`})]}),(0,v.jsxs)(`div`,{className:`flex items-center space-x-1.5 focus-within:bg-muted/50 px-2 py-0.5 rounded transition`,children:[(0,v.jsx)(K,{value:`OR`,id:`or`,className:`h-3.5 w-3.5`}),(0,v.jsx)(r.t,{htmlFor:`or`,className:`text-xs cursor-pointer font-semibold uppercase tracking-wider`,children:`Or`})]})]})}),(0,v.jsx)(`div`,{className:`space-y-2 transition-opacity duration-200 ${x?``:`opacity-50`}`,children:(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(tt,{value:h.operator,options:o,onChange:e=>{let t=e,n={...h,operator:t,value:t===`between`?[``,``]:h.value};_(n),x||S(!0),C(p,n,y,!0)},placeholder:`Select operator`,className:`h-8 shadow-none`}),w(h,_,!0)]})}),!x&&(0,v.jsx)(`div`,{className:`text-[10px] text-muted-foreground italic text-center`,children:`Select AND/OR or enter a second value to combine filters`})]})};function it({column:t,table:n}){let[r,i]=(0,g.useState)(!1),a=n.options.meta?.containerRef;return(0,v.jsxs)(u.t,{open:r,onOpenChange:i,children:[(0,v.jsx)(u.r,{asChild:!0,children:(0,v.jsx)(`div`,{className:e._(`ml-1 cursor-pointer p-1 rounded hover:bg-muted transition focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,t.getIsFiltered()?`bg-primary/10`:``),onClick:e=>{e.stopPropagation()},children:(0,v.jsx)(_.ListFilter,{className:e._(`w-4 h-4`,t.getIsFiltered()?`text-primary fill-primary`:`text-muted-foreground`)})})}),(0,v.jsx)(u.n,{className:`w-[280px] p-0`,align:`start`,container:a?.current,collisionBoundary:a?.current,children:r&&(0,v.jsx)(ct,{column:t,table:n,setIsOpen:i,filterValue:t.getFilterValue()})})]})}var at=[`date`,`datetime`],ot=[`boolean`],st=[`select`],ct=g.default.memo(({column:r,table:i,setIsOpen:a,filterValue:o})=>{let[s,c]=(0,g.useState)(`list`),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(!0),[h,y]=(0,g.useState)(new Map),[b,x]=(0,g.useState)([]),S=(i.options.meta?.containerRef?.current||(typeof document<`u`?document.getElementById(`ez-table-default`):null))?.clientHeight??500,C=Math.min(500,S>100?S-40:500);(0,g.useEffect)(()=>{let e=setTimeout(()=>f(l),200),t=setTimeout(()=>{let e=r.getFacetedUniqueValues();y(e),x(Array.from(e.keys())),m(!1)},50);return()=>{clearTimeout(e),clearTimeout(t)}},[l,r]);let{selectedValues:w,handleSelectAll:T,handleSelect:E,handleBulkSelect:D,clearSelection:O}=qe(o,b),k=(0,g.useMemo)(()=>{let e=r.columnDef.meta;return e?.columnType?e.columnType:b.length===0?`text`:Ke(b)},[r.columnDef.meta,b]),ee=at.includes(k),A=ot.includes(k),j=st.includes(k),M=(0,g.useMemo)(()=>{let e=[...b].sort((e,t)=>{if(e===t)return 0;if(e==null)return-1;if(t==null)return 1;let n=String(e),r=String(t);return n.localeCompare(r,void 0,{numeric:!0,sensitivity:`base`})});if(!d)return e;let t=d.toLowerCase();return e.filter(e=>String(e).toLowerCase().includes(t))},[b,d]),N=()=>{if(s===`filters`){a(!1);return}let e;e=w===null?d?M:void 0:Array.from(w),r.setFilterValue(e?.length===0?void 0:e),a(!1)},P=()=>{r.setFilterValue(void 0),a(!1),O(),u(``)},F=o,I=F&&typeof F==`object`&&!Array.isArray(F),te=e=>{r.setFilterValue(e)},ne=(0,g.useMemo)(()=>w===null||M.length>0&&M.every(e=>w.has(e)),[w,M]),L=(0,g.useMemo)(()=>w===null?M.length>0:M.some(e=>w.has(e)),[w,M]);return p?(0,v.jsxs)(`div`,{className:`h-[300px] flex flex-col items-center justify-center space-y-3 bg-popover text-popover-foreground`,children:[(0,v.jsx)(_.Loader2,{className:`h-8 w-8 animate-spin text-primary`}),(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground animate-pulse font-medium`,children:`Calculating filter values...`})]}):(0,v.jsx)(`div`,{className:`flex flex-col min-h-0 overflow-hidden`,style:{maxHeight:`${C}px`},children:s===`filters`?(0,v.jsxs)(`div`,{className:`flex flex-col animate-in fade-in slide-in-from-right-2 duration-200`,children:[(0,v.jsxs)(`div`,{className:`p-3 border-b flex items-center space-x-2 bg-muted/30`,children:[(0,v.jsx)(t.t,{variant:`ghost`,size:`sm`,onClick:()=>c(`list`),className:`h-6 w-6 p-0`,children:(0,v.jsx)(_.ChevronLeft,{className:`h-4 w-4`})}),(0,v.jsxs)(`span`,{className:`font-semibold text-sm capitalize`,children:[k,` Filters`]})]}),(0,v.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:(0,v.jsx)(rt,{columnType:k,columnId:r.id,value:I?F:void 0,onChange:te})}),(0,v.jsx)(Qe,{onClear:P,onApply:N,className:`border-t mt-auto`})]}):(0,v.jsxs)(`div`,{className:`flex flex-col animate-in fade-in slide-in-from-left-2 duration-200 flex-1 min-h-0`,children:[r.getCanPin()&&(0,v.jsxs)(`div`,{className:`p-1 border-b border-border space-y-0.5`,children:[[`left`,`right`].map(t=>r.getIsPinned()!==t&&(0,v.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 text-xs font-medium cursor-pointer hover:bg-muted rounded`,onClick:()=>{r.pin(t),a(!1)},children:[(0,v.jsx)(_.Pin,{className:e._(`w-3.5 h-3.5`,t===`left`?`rotate-[-45deg]`:`rotate-[45deg]`)}),` Pin to `,t.charAt(0).toUpperCase()+t.slice(1)]},t)),r.getIsPinned()&&(0,v.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:()=>{r.pin(!1),a(!1)},children:[(0,v.jsx)(_.PinOff,{className:`w-3.5 h-3.5`}),` Unpin Column`]})]}),!A&&!j&&(0,v.jsxs)(`div`,{className:`p-2 border-b border-border flex justify-between items-center cursor-pointer hover:bg-muted/50 transition group`,onClick:()=>c(`filters`),children:[(0,v.jsxs)(`span`,{className:`text-sm font-medium capitalize`,children:[k,` Filters`]}),(0,v.jsx)(_.ChevronRight,{className:`w-4 h-4 text-muted-foreground group-hover:text-foreground`})]}),(0,v.jsx)(`div`,{className:`flex flex-col flex-1 overflow-hidden min-h-0`,children:A?(0,v.jsx)(Ye,{column:r}):j?(0,v.jsx)(Xe,{column:r,allAvailableValues:b}):(0,v.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0 pointer-events-auto`,children:[(0,v.jsxs)(`div`,{className:`sticky top-0 bg-popover text-popover-foreground border-b z-20`,children:[(0,v.jsx)(`div`,{className:`p-2`,children:(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(_.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,v.jsx)(n.t,{placeholder:`Search...`,value:l,onChange:e=>u(e.target.value),className:`pl-9 h-9`,autoFocus:!0})]})}),(0,v.jsx)(Je,{checked:ne,indeterminate:L&&!ne,onSelectAll:e=>{d?D(M,e):T(e)},showSearchResults:!!d})]}),ee?(0,v.jsx)(`div`,{className:`flex-1 overflow-y-auto px-2 pb-2 min-h-0 pt-2`,children:(0,v.jsx)(et,{uniqueValues:h,selectedValues:w,onBulkSelect:D})}):(0,v.jsx)(Ze,{sortedUniqueValues:M,selectedValues:w,handleSelect:E,formatter:t=>{let n=r.columnDef.meta;if(n?.columnType===`number`){if(n?.numberOptions?.format===`currency`)return e.f(t,{format:`currency`,...n.numberOptions});if(n?.numberOptions?.format===`percentage`)return e.f(t,{format:`percentage`,...n.numberOptions});if(n?.numberOptions?.format===`float`||n?.numberOptions?.format===`integer`)return e.f(t,{format:n.numberOptions.format,...n.numberOptions})}return String(t)}})]})}),(0,v.jsx)(Qe,{onClear:P,onApply:N})]})})});ct.displayName=`FilterContent`;function lt({header:e,children:t}){let n=e.column,r=n.getIsPinned(),i=n.getCanGroup(),a=n.getIsGrouped();return(0,v.jsxs)(s.n,{children:[(0,v.jsx)(s.g,{asChild:!0,children:t}),(0,v.jsxs)(s.i,{className:`w-48`,children:[i&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s.o,{onClick:()=>n.toggleGrouping(),className:`gap-2`,children:a?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(_.Ungroup,{className:`w-3.5 h-3.5`}),`Ungroup `,n.id]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(_.Group,{className:`w-3.5 h-3.5 text-zinc-500/70`}),`Group by column`]})}),(0,v.jsx)(s.d,{})]}),(0,v.jsxs)(s.o,{onClick:()=>n.pin(`left`),disabled:r===`left`,className:`gap-2`,children:[(0,v.jsx)(_.Pin,{className:`w-3.5 h-3.5 rotate-[-45deg]`}),`Pin to Left`]}),(0,v.jsxs)(s.o,{onClick:()=>n.pin(`right`),disabled:r===`right`,className:`gap-2`,children:[(0,v.jsx)(_.Pin,{className:`w-3.5 h-3.5 rotate-[45deg]`}),`Pin to Right`]}),r&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s.d,{}),(0,v.jsxs)(s.o,{onClick:()=>n.pin(!1),className:`text-red-600 focus:text-red-700 focus:bg-red-50 dark:focus:bg-red-900/20 gap-2`,children:[(0,v.jsx)(_.PinOff,{className:`w-3.5 h-3.5`}),`Unpin Column`]})]})]})]})}var ut=(0,g.memo)(({header:t,density:n,onAutoFit:r,columnPinning:i})=>{let a=t.getContext().table.options.meta,o=t.id===`select`||t.id===`actions`,s=t.column.columnDef.meta,c=t.column.columnDef,l=a?.enableColumnReorder!==!1&&!o&&s?.allowReordering!==!1&&c?.allowReordering!==!1,u=!(t.column.getCanGroup()&&!o)&&!l||t.isPlaceholder,{attributes:d,listeners:f,setNodeRef:p,isDragging:m}=(0,x.useDraggable)({id:t.column.id,disabled:u,data:{type:`column`,columnId:t.column.id}}),{setNodeRef:h,isOver:y}=(0,x.useDroppable)({id:`header-${t.column.id}`,disabled:u,data:{type:`header`,columnId:t.column.id}}),b=t.column.getIsPinned(),S=(0,g.useMemo)(()=>{if(!b)return{};let e=b===`right`?t.column.getAfter(`right`):t.column.getStart(`left`),n=t.getContext().table.options.meta;return Fe(b,e,n?.dir)},[b,t.column,i]),C=g.default.useRef(0),T=(0,g.useCallback)(e=>{let n=Date.now();n-C.current<300&&r?.(t.column.id),C.current=n,t.getResizeHandler()(e)},[t,r]),E=t.column.columnDef.meta?.align||`left`,D=t.column.columnDef.meta?.gridLines||t.getContext().table.options.meta?.gridLines,O=a?.focusedCell?.c===t.index,k=(0,v.jsxs)(`div`,{ref:e=>{p(e),h(e)},className:e._(`relative h-full font-semibold text-foreground flex items-center select-none group/header transition-all flex-shrink-0 px-4`,a?.dir===`rtl`?`border-l border-border/50`:`border-r border-border/50`,He(n),m&&`opacity-50 bg-muted pointer-events-none`,y&&`ring-2 ring-inset ring-primary bg-accent/50`,t.column.getIsGrouped()&&`bg-accent/30`,O&&`bg-primary/5 text-primary border-b-2 border-primary`,E===`center`&&`justify-center text-center`,E===`right`&&`justify-end text-right`,Ie(b),(D===`Both`||D===`Vertical`)&&(a?.dir===`rtl`?`border-l border-border`:`border-r border-border`)),style:{width:`calc(var(--header-${t.id}-size) * 1px)`,minWidth:(t.column.columnDef.minSize??0)>0?t.column.columnDef.minSize:void 0,maxWidth:(t.column.columnDef.maxSize??0)>0&&t.column.columnDef.maxSize!==2**53-1?t.column.columnDef.maxSize:void 0,...S},role:`columnheader`,"aria-colindex":t.index+1,"aria-sort":t.column.getIsSorted()===`asc`?`ascending`:t.column.getIsSorted()===`desc`?`descending`:`none`,children:[(0,v.jsxs)(`div`,{className:e._(`flex items-center w-full h-full gap-2`,E===`center`&&`justify-center relative`,E===`right`&&`justify-end`),children:[!u&&(0,v.jsx)(`div`,{...d,...f,className:e._(`cursor-grab active:cursor-grabbing p-1 text-muted-foreground hover:text-foreground transition-colors z-50`,E===`center`?a?.dir===`rtl`?`absolute right-1 top-1/2 -translate-y-1/2`:`absolute left-1 top-1/2 -translate-y-1/2`:a?.dir===`rtl`?`-mr-2 ml-1`:`-ml-2 mr-1`),children:(0,v.jsx)(_.GripVertical,{className:`w-3.5 h-3.5`})}),(0,v.jsxs)(`div`,{className:e._(`flex items-center min-w-0 gap-2 cursor-pointer group h-full select-none`,E===`center`&&`justify-center`,E===`right`&&`justify-end`,t.column.getCanSort()?`hover:text-foreground/80`:``,E!==`center`&&E!==`right`&&`flex-1`),onClick:t.column.getToggleSortingHandler(),tabIndex:t.column.getCanSort()?0:-1,role:`button`,"aria-label":`Sort by ${t.column.columnDef.header}`,children:[E===`center`&&t.column.getIsSorted()&&(0,v.jsx)(`div`,{className:`w-4 h-4 flex-shrink-0`,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`truncate min-w-0`,children:!t.isPlaceholder&&(0,w.flexRender)(t.column.columnDef.header,t.getContext())}),t.column.getIsSorted()===`asc`&&(0,v.jsx)(_.ArrowUp,{className:`w-4 h-4 text-foreground flex-shrink-0`}),t.column.getIsSorted()===`desc`&&(0,v.jsx)(_.ArrowDown,{className:`w-4 h-4 text-foreground flex-shrink-0`})]}),!t.isPlaceholder&&t.column.getCanFilter()&&(0,v.jsx)(`div`,{className:e._(a?.dir===`rtl`?`ml-2`:`mr-2`,E===`center`&&(a?.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:(0,v.jsx)(it,{column:t.column,table:t.getContext().table})})]}),t.column.getCanResize()&&(0,v.jsx)(`div`,{onMouseDown:T,onTouchStart:t.getResizeHandler(),className:e._(`absolute top-0 h-full w-4 cursor-col-resize hover:bg-primary/10 touch-none select-none z-30 transition-colors`,a?.dir===`rtl`?`left-0`:`right-0`,t.column.getIsResizing()?`bg-primary w-1`:``),role:`separator`})]});return t.column.getCanPin()||t.column.getCanGroup()?(0,v.jsx)(lt,{header:t,children:k}):k});ut.displayName=`EzDraggableHeader`;var dt=g.default.memo(ft);function ft({table:t,enableStickyHeader:n,classNames:r,density:i,autoFitColumn:a,slots:o}){return(0,v.jsx)(`div`,{className:e._(Ue,`w-full bg-white dark:bg-zinc-900 shadow-sm`,$.bottom,n&&`sticky top-0 z-30`,r?.header),role:`rowgroup`,children:t.getHeaderGroups().map(n=>(0,v.jsx)(`div`,{className:e._(`flex w-full border-border/50 last:border-0 h-full`,$.bottom),role:`row`,children:o?.header?(0,v.jsx)(`div`,{className:`contents`,children:(()=>{let e=o.header;return n.headers.map(n=>(0,v.jsx)(e,{header:n,table:t},n.id))})()}):n.headers.map(e=>(0,v.jsx)(ut,{header:e,density:i,onAutoFit:a,columnPinning:t.getState().columnPinning},e.id))},n.id))})}var pt=(0,g.memo)(({isLoading:e,rowCount:t,renderNoRowsOverlay:n,slots:r,localization:i})=>{if(e){let e=r?.loading||r?.loadingOverlay;return e?(0,v.jsx)(e,{}):(0,v.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:(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,v.jsx)(`div`,{className:`w-8 h-8 border-4 border-blue-500 border-t-transparent rounded-full animate-spin`}),(0,v.jsx)(`span`,{className:`text-sm font-medium text-zinc-600 dark:text-zinc-400`,children:i?.loadingLabel||`Loading data...`})]})})}if(t===0){let e=r?.emptyRecord||r?.noRowsOverlay;return e?(0,v.jsx)(e,{}):(0,v.jsx)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center p-10 text-center`,children:n?n():(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-zinc-400`,children:[(0,v.jsx)(_.FilterIcon,{className:`w-12 h-12 opacity-10 mb-2`}),(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:i?.noRowsLabel||`No results found`}),(0,v.jsx)(`p`,{className:`text-xs`,children:`Adjust your filters or search to see more results`})]})})}return null});pt.displayName=`EzTableOverlays`;var mt=({children:e,text:t})=>{let n=(0,g.useRef)(null),[r,i]=(0,g.useState)(!1),a=()=>n.current?n.current.scrollWidth>n.current.clientWidth+1:!1;return(0,g.useEffect)(()=>{if(a(),n.current){let e=new ResizeObserver(a);return e.observe(n.current),()=>e.disconnect()}},[e,t]),(0,v.jsx)(d.r,{children:(0,v.jsxs)(d.t,{delayDuration:300,open:r,children:[(0,v.jsx)(d.i,{asChild:!0,children:(0,v.jsx)(`div`,{ref:n,className:`truncate w-full cursor-default min-w-0`,onMouseEnter:()=>{a()&&i(!0)},onMouseLeave:()=>{i(!1)},children:e})}),(0,v.jsx)(d.n,{children:(0,v.jsx)(`p`,{className:`max-w-sm break-words`,children:t||e})})]})})},ht=(0,g.memo)(({cell:t,virtualRowIndex:n,cellIndex:r,isPinned:i,isSelected:a,isFocused:o,density:s,onCellMouseDown:c,onCellMouseEnter:l,onCellClick:u,onCellDoubleClick:d,tableMeta:f,rowDepth:p,renderDetailPanel:m,isFirstColumn:y,columnPinning:b})=>{let x=(0,g.useMemo)(()=>({width:`calc(var(--col-${t.column.id}-size) * 1px)`,minWidth:(t.column.columnDef.minSize??0)>0?t.column.columnDef.minSize:void 0,maxWidth:(t.column.columnDef.maxSize??0)>0&&t.column.columnDef.maxSize!==2**53-1?t.column.columnDef.maxSize:void 0,...Fe(i,i===`right`?t.column.getAfter(`right`):t.column.getStart(`left`),f?.dir),paddingLeft:f?.dir!==`rtl`&&(t.column.id===`firstName`||t.column.id===`name`||t.column.id===`id`)?`${p*20+16}px`:void 0,paddingRight:f?.dir===`rtl`&&(t.column.id===`firstName`||t.column.id===`name`||t.column.id===`id`)?`${p*20+16}px`:void 0}),[t.column.id,i,p,b]),S=(0,v.jsx)(v.Fragment,{children:t.getIsGrouped()?(0,v.jsxs)(`span`,{className:`font-semibold`,children:[(0,w.flexRender)(t.column.columnDef.cell,t.getContext()),(0,v.jsxs)(`span`,{className:`text-muted-foreground font-normal ml-1`,children:[`(`,t.row.subRows.length,`)`]})]}):t.getIsAggregated()?(0,v.jsx)(`span`,{className:e._(`font-medium tabular-nums`,f?.enableGroupFooters&&`text-primary/80 bg-primary/5 px-2 py-0.5 rounded`),children:(0,w.flexRender)(t.column.columnDef.aggregatedCell??t.column.columnDef.cell,t.getContext())}):t.getIsPlaceholder()?null:(0,w.flexRender)(t.column.columnDef.cell,t.getContext())}),C=t.column.columnDef.meta?.clipMode,T=(0,g.useMemo)(()=>{if(!f?.validate||!f?.validationAttempted)return{isValid:!0};let e=t.column.id,n=t.getValue(),r=t.row.original;return f.validate(e,n,r)},[f,t,n,t.getValue()]),E=o?{boxShadow:T.isValid?`inset 0 0 0 2px hsl(var(--primary))`:`inset 0 0 0 2px hsl(var(--destructive))`,zIndex:20,position:`relative`}:{};return(0,v.jsxs)(`div`,{onMouseDown:e=>{e.button===0&&(c(n,r,e),f?.setFocusedCell?.({r:n,c:r}))},onMouseEnter:()=>l(n,r),onClick:e=>{u?.({row:t.row.original,columnId:t.column.id,cellValue:t.getValue(),event:e,rowIndex:n,colIndex:r}),o&&f?.toggleRowEditing&&!f?.editingRows?.[n]&&f.toggleRowEditing(n,!0)},onDoubleClick:e=>d?.({row:t.row.original,columnId:t.column.id,cellValue:t.getValue(),event:e,rowIndex:n,colIndex:r}),className:e._(`px-4 text-sm font-medium text-foreground flex select-none min-h-full min-w-0 flex-shrink-0 relative`,o&&`z-20`,o&&T.isValid&&`bg-primary/5`,o&&!T.isValid&&`bg-destructive/5`,!T.isValid&&`ring-1 ring-inset ring-destructive`,!o&&(f?.dir===`rtl`?`border-l border-border/50`:`border-r border-border/50`),t.column.columnDef.meta?.wrapText?`items-start pt-3`:`items-center`,Pe(s),Re(a,o),Le(t.column.columnDef.meta?.align,f?.dir),ze(t.column.columnDef.meta?.wrapText?`wrap`:C===`ellipsis-tooltip`?`ellipsis`:`truncate`,C===`ellipsis-tooltip`),Ie(i,f?.dir),!o&&Be(t.column.columnDef.meta?.gridLines||f?.gridLines,void 0,f?.dir),typeof f?.classNames?.cell==`function`?f.classNames.cell(t):f?.classNames?.cell),style:{...x,...E},role:`cell`,"data-column-id":t.column.id,children:[t.getIsGrouped()||t.row.getCanExpand()&&y||m&&y?(0,v.jsx)(`button`,{className:e._(f?.dir===`rtl`?`ml-2`:`mr-2`,`p-1 hover:bg-muted rounded transition-transform`,!t.row.getCanExpand()&&!m&&`invisible`),onClick:e=>{e.stopPropagation(),t.row.getToggleExpandedHandler()()},children:t.row.getIsExpanded()?(0,v.jsx)(_.ChevronDown,{className:`w-4 h-4`}):(0,v.jsx)(_.ChevronRight,{className:`w-4 h-4`})}):null,T.isValid?C===`ellipsis-tooltip`?(0,v.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,v.jsx)(mt,{text:typeof t.getValue()==`string`?t.getValue():void 0,children:S})}):S:(0,v.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,v.jsx)(h.t,{enabled:!0,side:f?.dir===`rtl`?`left`:`right`,className:`bg-destructive text-destructive-foreground border-destructive/20 shadow-xl z-50`,content:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-wider mb-0.5 opacity-80`,children:`Validation Error`}),(0,v.jsx)(`p`,{className:`text-xs font-medium`,children:T.error})]}),children:(0,v.jsx)(`div`,{className:`w-full h-full flex items-center`,children:S})})})]})});ht.displayName=`EzTableCell`;var gt=(0,g.memo)(({virtualRow:t,row:n,table:r,density:i,enableContextMenu:a,onContextMenuItemClick:o,isCellSelected:c,onCellMouseDown:l,onCellMouseEnter:u,onCellClick:d,onCellDoubleClick:f,focusedCell:p,renderDetailPanel:m,measureElement:h,dynamicRowSizing:_,columnVirtualizer:y,onRowClick:b,onRowDoubleClick:x,onRowMouseEnter:S,onRowMouseLeave:C,columnPinning:w})=>{let T=y?.getVirtualItems()||n.getVisibleCells().map((e,t)=>({index:t})),E=n.getVisibleCells(),D=!!_||n.getIsExpanded()||E.some(e=>e.column.columnDef.meta?.wrapText),{paddingLeft:O,paddingRight:k}=(0,g.useMemo)(()=>!y||T.length===0?{paddingLeft:0,paddingRight:0}:{paddingLeft:T[0]?.start||0,paddingRight:y.getTotalSize()-(T[T.length-1]?.end||0)},[y,T]);return(0,v.jsx)(s.t,{row:n,enabled:a,onAction:(e,t)=>{e===`pin-top`?n.pin(`top`):e===`pin-bottom`?n.pin(`bottom`):e===`unpin`?n.pin(!1):o?.(e,t)},children:(0,v.jsxs)(`div`,{"data-index":t.index,ref:h,className:`absolute top-0 left-0 w-full flex flex-col group border-b border-border`,role:`row`,"aria-rowindex":t.index+1,style:{transform:`translateY(${t.start}px)`,...D?{minHeight:`${t.size}px`}:{height:`${t.size}px`}},onClick:e=>b?.({row:n.original,data:n.original,rowIndex:n.index,originalEvent:e}),onDoubleClick:e=>x?.({row:n.original,data:n.original,rowIndex:n.index,originalEvent:e}),onMouseEnter:e=>S?.(n.index,e),onMouseLeave:e=>C?.(n.index,e),children:[(0,v.jsxs)(`div`,{className:e._(`flex items-stretch w-full min-w-max hover:bg-muted/50 transition-[background-color] duration-200`,n.getIsSelected()&&`bg-muted`,Pe(i),typeof r.options.meta?.classNames?.row==`function`?r.options.meta.classNames.row(n):r.options.meta?.classNames?.row),children:[O>0&&(0,v.jsx)(`div`,{style:{flex:`0 0 ${O}px`}}),T.map(e=>{let a=E[e.index];return a?(0,v.jsx)(ht,{cell:a,virtualRowIndex:t.index,cellIndex:e.index,density:i,isPinned:a.column.getIsPinned(),isSelected:c(t.index,e.index),isFocused:p?.r===t.index&&p?.c===e.index,onCellMouseDown:(e,t,n)=>l(e,t,n),onCellMouseEnter:u,onCellClick:d,onCellDoubleClick:f,tableMeta:r.options.meta,rowDepth:n.depth,renderDetailPanel:m,isFirstColumn:e.index===0,table:r,columnPinning:w},a.id):null}),k>0&&(0,v.jsx)(`div`,{style:{flex:`0 0 ${k}px`}})]}),n.getIsExpanded()&&m&&(0,v.jsx)(`div`,{className:`w-full bg-muted/30 border-t border-border`,children:m({row:n})})]})})});gt.displayName=`EzTableRow`;function _t({table:t,rows:n,rowVirtualizer:r,columnVirtualizer:i,density:a,classNames:o,isLoading:s,enableInfiniteScroll:c,isPending:l,renderNoRowsOverlay:u,slots:d,localization:f,enableContextMenu:p,onContextMenuItemClick:m,isCellSelected:h,focusedCell:g,onCellMouseDown:_,onCellMouseEnter:y,onCellClick:b,onCellDoubleClick:x,renderDetailPanel:S,dynamicRowSizing:C,onRowClick:w,onRowDoubleClick:T}){let E=!!((s||l)&&!c);return(0,v.jsxs)(`div`,{className:e._(`relative w-full`,o?.body),style:{height:`${r?.getTotalSize()??0}px`,minHeight:`0`,flexShrink:`0`},children:[(0,v.jsx)(pt,{isLoading:E,rowCount:n.length,renderNoRowsOverlay:u,slots:d,localization:f}),r?.getVirtualItems().map(e=>{let o=n[e.index];return(0,v.jsx)(d?.row||gt,{virtualRow:e,row:o,table:t,density:a,enableContextMenu:!!p,onContextMenuItemClick:m,isCellSelected:h,focusedCell:g,onCellMouseDown:_,onCellMouseEnter:y,onCellClick:b,onCellDoubleClick:x,renderDetailPanel:S,measureElement:C?r.measureElement:void 0,dynamicRowSizing:C,columnVirtualizer:i,onRowClick:w,onRowDoubleClick:T,columnPinning:t.getState().columnPinning,tableMeta:t.options.meta},o.id)})]})}var vt=({pageIndex:e,pageSize:r,pageCount:i,totalRows:a,onPageChange:o,onPageSizeChange:s,canPreviousPage:c,canNextPage:l,localization:u,changes:d})=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between w-full px-4 py-3 border-t border-border bg-background`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-6`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,v.jsx)(`span`,{className:`hidden sm:inline whitespace-nowrap`,children:u?.rowsPerPageLabel||`Rows per page`}),(0,v.jsx)(`span`,{className:`sm:hidden`,children:u?.rowsLabel||`Rows`}),(0,v.jsxs)(p.t,{value:`${r}`,onValueChange:e=>s(Number(e)),children:[(0,v.jsx)(p.i,{className:`h-8 w-[70px] bg-muted/20 border-border`,children:(0,v.jsx)(p.a,{placeholder:r.toString()})}),(0,v.jsx)(p.n,{children:[10,20,30,40,50,100].map(e=>(0,v.jsx)(p.r,{value:`${e}`,children:e},e))})]})]}),(0,v.jsx)(`div`,{className:`h-4 w-px bg-border hidden sm:block`}),(0,v.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:[(0,v.jsxs)(`div`,{children:[u?.totalLabel||`Total`,` `,(0,v.jsx)(`span`,{className:`text-foreground font-bold`,children:a}),` `,u?.recordsLabel||`records`]}),d&&(d.added>0||d.edited>0||d.deleted>0)&&(0,v.jsxs)(`div`,{className:`flex items-center gap-2 border-l border-border/50 pl-2 ml-1`,children:[d.added>0&&(0,v.jsxs)(`span`,{className:`text-success dark:text-success/80 font-bold`,children:[d.added,` added`]}),d.edited>0&&(0,v.jsxs)(`span`,{className:`text-warning dark:text-warning/80 font-bold`,children:[d.edited,` edited`]}),d.deleted>0&&(0,v.jsxs)(`span`,{className:`text-error dark:text-error/80 font-bold`,children:[d.deleted,` deleted`]})]})]}),u?.pagerMessage&&(0,v.jsx)(`div`,{className:`hidden lg:block text-sm text-muted-foreground italic`,children:u.pagerMessage})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,v.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:[(0,v.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:u?.pageLabel||`Page`}),(0,v.jsx)(`span`,{className:`text-primary font-black px-0.5`,children:e+1}),(0,v.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:u?.ofLabel||`of`}),(0,v.jsx)(`span`,{className:`font-bold px-0.5`,children:i})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,v.jsxs)(t.t,{variant:`outline`,className:`hidden h-8 w-8 p-0 lg:flex bg-background border-border hover:bg-muted`,onClick:()=>o(0),disabled:!c,title:u?.firstPage||`First Page`,children:[(0,v.jsx)(_.ChevronsLeft,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to first page`})]}),(0,v.jsxs)(t.t,{variant:`outline`,className:`h-8 w-8 p-0 bg-background border-border hover:bg-muted`,onClick:()=>o(e-1),disabled:!c,title:u?.previousPage||`Previous Page`,children:[(0,v.jsx)(_.ChevronLeft,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to previous page`})]})]}),(0,v.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:[(0,v.jsx)(`span`,{className:`text-[10px] hidden sm:inline text-muted-foreground uppercase font-black tracking-tighter`,children:u?.goToLabel||`Go To`}),(0,v.jsx)(n.t,{type:`number`,min:1,max:i,value:e+1,onFocus:e=>e.target.select(),onClick:e=>e.currentTarget.select(),onChange:e=>{let t=e.target.value;if(t===``)return;let n=Number(t)-1;n>=0&&n<i&&o(n)},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`})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,v.jsxs)(t.t,{variant:`outline`,className:`h-8 w-8 p-0 bg-background border-border hover:bg-muted`,onClick:()=>o(e+1),disabled:!l,title:u?.nextPage||`Next Page`,children:[(0,v.jsx)(_.ChevronRight,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to next page`})]}),(0,v.jsxs)(t.t,{variant:`outline`,className:`hidden h-8 w-8 p-0 lg:flex bg-background border-border hover:bg-muted`,onClick:()=>o(i-1),disabled:!l,title:u?.lastPage||`Last Page`,children:[(0,v.jsx)(_.ChevronsRight,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Go to last page`})]})]})]})]})]});function yt({table:t,pagerMessage:n,enableStickyPagination:r,classNames:i,localization:a,changes:o}){return(0,v.jsx)(`div`,{className:e._(`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)]`,i?.footer),children:(0,v.jsx)(vt,{pageIndex:t.getState().pagination.pageIndex,pageSize:t.getState().pagination.pageSize,pageCount:t.getPageCount(),totalRows:t.options.rowCount??t.getPrePaginationRowModel().rows.length,canNextPage:t.getCanNextPage(),canPreviousPage:t.getCanPreviousPage(),onPageChange:t.setPageIndex,onPageSizeChange:t.setPageSize,localization:{...a,pagerMessage:n},changes:o})})}var bt=e=>(0,g.useMemo)(()=>{let t=e.getFlatHeaders(),n={};for(let e=0;e<t.length;e++){let r=t[e];n[`--header-${r.id}-size`]=r.getSize(),n[`--col-${r.column.id}-size`]=r.column.getSize()}return n},[e.getState().columnSizing,e.getState().columnSizingInfo,e.getState().columnVisibility,e.getFlatHeaders()]),xt=(e=[])=>new y.Store({data:e,globalFilter:``,columnFilters:[],sorting:[],pagination:{pageIndex:0,pageSize:10},rowSelection:{},columnVisibility:{},isPending:!1}),St=(0,g.createContext)(null),Ct=(0,g.createContext)(null),wt=({data:e,children:t})=>{let n=(0,g.useMemo)(()=>xt(e),[]);return g.default.useEffect(()=>{n.setState(t=>({...t,data:e}))},[e,n]),(0,v.jsx)(St.Provider,{value:n,children:t})},Tt=e=>{let t=(0,g.useContext)(St);if(!t)throw Error(`EzTable components must be wrapped in <EzTable.Root>`);return(0,S.useStore)(t,e)},Et=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzGroupingPanel-BwWDWEuW.cjs")).then(e=>({default:e.EzGroupingPanel}))),Dt=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableEditDialog--8pD39Rp.cjs")).then(e=>({default:e.EzTableEditDialog}))),Ot=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableToolbar-BWjqKfwx.cjs")).then(e=>e.n).then(e=>({default:e.EzTableToolbar}))),kt=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableFooter-CtexeDAC.cjs")).then(e=>e.n).then(e=>({default:e.EzTableFooter}))),At=({ref:t,...n})=>{let r=e.n(),a=Ee(n),o=(0,g.useRef)(null);De({containerRef:o,containerSizeRef:(0,g.useRef)({width:0,height:0}),resizeTimeoutRef:(0,g.useRef)(null),onResize:()=>{a.rowVirtualizer&&a.rowVirtualizer.measure()}},[a.rowVirtualizer]);let{state:{rows:s,rangeSelection:l,canUndo:u,canRedo:f,changes:p,batchChanges:m,density:h,isPending:_,focusedCell:y,globalFilter:b,pagerMessage:S},actions:{undo:C,redo:w,resetData:T,toggleRowEditing:E,autoFitColumn:D,onCellMouseDown:O,onCellMouseEnter:M,setGlobalFilter:N,handleGlobalFilterChange:P,getData:F,onRowClick:I,onRowDoubleClick:te},refs:{parentRef:ne,rowVirtualizer:L,columnVirtualizer:R},config:{enableStickyHeader:z,enableChangeTracking:B,enableEditing:V,editSettings:H,dynamicRowSizing:re},table:U,dir:W,imperativeAPI:{addRecord:G,updateRecord:K}}=a,{validate:q,validateForm:ie}=A({validateField:n.validateField?({fieldName:e,value:t,data:r})=>n.validateField?.({field:e,value:t,row:r,table:U})??!0:void 0,editSettings:H}),[ae,J]=g.default.useState(!1);(0,g.useEffect)(()=>{if(p.added+p.edited+p.deleted>0&&V){let e=e=>(e.preventDefault(),e.returnValue=``,``);return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)}},[p,V]),(0,g.useEffect)(()=>{n.onDataChange&&n.onDataChange(p)},[p,n.onDataChange]);let{onRowClick:Y,onRowDoubleClick:oe,onCellClick:se,onCellDoubleClick:ce}=Oe({table:U,editSettings:H,toggleRowEditing:E,onRowClickProp:I,onRowDoubleClickProp:te}),le=bt(U),X=j({initialMode:`view`});ke({dialogState:X,isDialogMode:H?.mode===`Dialog`,rows:s,table:U});let ue=(0,g.useCallback)(e=>{X.mode===`create`?G(e):(K(X.meta.index,e),E(X.meta.index,!1)),X.close()},[X,G,K,E]),de=(0,g.useCallback)(()=>{H?.mode===`Dialog`?X.open(`create`,{}):G({})},[H?.mode,G]),fe=(0,g.useCallback)(()=>{if(n.onBatchSave){let e=[...m.addedRecords,...m.changedRecords],t=U.getVisibleLeafColumns().map(e=>e.id).filter(e=>e!==`select`&&e!==`actions`);for(let n of e)if(!ie(n,t).__form.isValid){J(!0);return}n.onBatchSave(m);let i=r.get(`NotificationService`);if(i&&i.add({type:`success`,message:`Successfully saved ${m.addedRecords.length+m.changedRecords.length} changes.`,duration:5e3}),T(),J(!1),U.options.meta?.toggleRowEditing){let e=U.options.meta.editingRows||{};Object.keys(e).forEach(e=>{U.options.meta?.toggleRowEditing?.(parseInt(e),!1)})}}},[n.onBatchSave,m,T,U.options.meta,ie,U]),pe=(0,g.useCallback)(()=>{if(n.onBatchDiscard&&n.onBatchDiscard(),T(),J(!1),U.options.meta?.toggleRowEditing){let e=U.options.meta.editingRows||{};Object.keys(e).forEach(e=>{U.options.meta?.toggleRowEditing?.(parseInt(e),!1)})}},[n.onBatchDiscard,T,U.options.meta]),Z=g.default.useMemo(()=>({...a.imperativeAPI,...a.baseApi,validateField:e=>{let t={};if(H?.mode===`Dialog`&&X.isOpen)t=X.data;else{let e=U.options.meta?.editingRows||{},n=Object.keys(e).find(t=>e[t]);if(n){let e=parseInt(n),r=F();r&&r[e]&&(t=r[e])}}let{isValid:n}=q(e,t[e],t);return n},validateEditForm:()=>{let e=U.getVisibleLeafColumns(),t=!0;return e.forEach(e=>{let n=e.id,r={};if(H?.mode===`Dialog`&&X.isOpen)r=X.data;else{let e=U.options.meta?.editingRows||{},t=Object.keys(e).find(t=>e[t]);t&&F()[parseInt(t)]&&(r=F()[parseInt(t)])}let{isValid:i}=q(n,r[n],r);i||(t=!1)}),t}}),[a,F,H,X,U,q]);U.options.meta={...U.options.meta,...n,validate:q,validationAttempted:ae},c.t(t,Z);let[me,he]=g.default.useState(null),{handleDragEnd:ge,handleKeyDown:Q,handleDragStart:_e}=k({onDragStart:e=>{he(e.active.id)},onDragEnd:e=>{he(null);let{active:t,over:r}=e;if(!r)return;let i=t.id,a=[...U.getState().grouping];if(r.id===`grouping-panel`)!a.includes(i)&&n.enableGrouping&&U.setGrouping([...a,i]);else if(typeof r.id==`string`&&r.id.startsWith(`header-`)){let e=r.id.replace(`header-`,``);if(i!==e){if(n.enableColumnReorder!==!1){let t=U.getState().columnOrder.length>0?U.getState().columnOrder:U.getAllLeafColumns().map(e=>e.id),n=t.indexOf(i),r=t.indexOf(e);if(n!==-1&&r!==-1&&n!==r){let e=[...t];e.splice(n,1),e.splice(r,0,i),U.setColumnOrder(e)}}else if(n.enableGrouping){let t=[...a];t.includes(e)||t.push(e),t.includes(i)&&(t=t.filter(e=>e!==i));let n=t.indexOf(e);t.splice(n+0,0,i),U.setGrouping(t)}}}},onKeyDown:e=>{let t=U.options.meta;if(t?.navigateFocus){if(e.target.tagName===`INPUT`){e.key===`Enter`&&(e.preventDefault(),e.target.blur(),t.navigateFocus(1,0)),e.key===`Tab`&&(e.preventDefault(),e.target.blur(),t.navigateFocus(0,e.shiftKey?-1:1));return}switch(e.key){case`ArrowUp`:e.preventDefault(),t.navigateFocus(-1,0);break;case`ArrowDown`:e.preventDefault(),t.navigateFocus(1,0);break;case`ArrowLeft`:e.preventDefault(),t.navigateFocus(0,-1);break;case`ArrowRight`:e.preventDefault(),t.navigateFocus(0,1);break;case`Tab`:e.preventDefault(),t.navigateFocus(0,e.shiftKey?-1:1);break;case`Enter`:e.preventDefault(),t.navigateFocus(1,0);break}}}}),ve=(0,g.useCallback)((e,t)=>{if(!l)return!1;let{start:n,end:r}=l;return e>=Math.min(n.r,r.r)&&e<=Math.max(n.r,r.r)&&t>=Math.min(n.c,r.c)&&t<=Math.max(n.c,r.c)},[l]),{sensors:ye,onDragEnd:be,onDragStart:xe}=ee({onDragStart:_e,onDragEnd:ge,collisionDetection:x.pointerWithin,distance:5});return(0,v.jsx)(i.t,{fallback:(0,v.jsx)(Ae,{}),children:(0,v.jsx)(d.r,{children:(0,v.jsx)(x.DndContext,{sensors:ye,onDragEnd:be,onDragStart:xe,collisionDetection:x.pointerWithin,children:(0,v.jsxs)(`div`,{className:e._(Ue,`w-full min-h-0 gap-3 h-full`,n.className,n.classNames?.root),dir:W,children:[n.enableGrouping&&(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(Et,{grouping:U.getState().grouping,onGroupingChange:U.setGrouping,columns:U.getAllColumns()})}),n.slots?.toolbar?(0,v.jsx)(n.slots.toolbar,{table:U,globalFilter:b,setGlobalFilter:N,isPending:_,columns:U.getAllColumns(),...n.slotProps?.toolbar||{}}):(0,v.jsx)(g.default.Suspense,{fallback:(0,v.jsx)(`div`,{className:`h-10 w-full animate-pulse bg-muted/20 rounded-md`}),children:(0,v.jsx)(Ot,{globalFilter:b,setGlobalFilter:P,enableAdvancedFiltering:n.enableAdvancedFiltering,enableExport:n.enableExport,onExportExcel:n.onExportExcel?()=>n.onExportExcel(U):void 0,onExportCSV:n.onExportCSV?()=>n.onExportCSV(U):void 0,onExportPDF:n.onExportPDF?()=>n.onExportPDF(U):void 0,enableChangeTracking:B,canUndo:u,canRedo:f,undo:C,redo:w,columns:U.getAllColumns(),isPending:_,onAdd:H?.allowAdding?de:void 0,onSave:fe,onDiscard:pe,enableEditing:V,enableHiding:n.enableHiding,changes:p,table:U})}),(0,v.jsx)(`div`,{ref:e=>{ne.current=e,o.current=e},id:n.id?`ez-table-${n.id}`:`ez-table-default`,className:e._(`flex-1 w-full overflow-auto rounded-md bg-background focus:outline-none focus:ring-1 focus:ring-primary/20`,$.default),dir:W,onScroll:e=>{if(n.enableInfiniteScroll){let{scrollTop:t,scrollHeight:r,clientHeight:i}=e.currentTarget;r-t-i<50&&U.getCanNextPage()&&!n.isLoading&&U.nextPage()}},role:`table`,style:{overflowAnchor:`none`,scrollBehavior:n.scrollBehavior??`smooth`,position:`relative`,minHeight:`0`,WebkitOverflowScrolling:`touch`},onKeyDown:Q,children:(0,v.jsxs)(`div`,{className:`flex flex-col w-full min-w-max`,role:`presentation`,style:{...le,minHeight:`100%`},children:[(0,v.jsx)(dt,{table:U,enableStickyHeader:z,classNames:n.classNames,density:h,autoFitColumn:D,slots:n.slots,columnPinning:U.getState().columnPinning,columnSizing:U.getState().columnSizing,sorting:U.getState().sorting,grouping:U.getState().grouping,columnVisibility:U.getState().columnVisibility,columnOrder:U.getState().columnOrder}),(0,v.jsx)(_t,{table:U,rows:s,rowVirtualizer:L,columnVirtualizer:R,density:h,classNames:n.classNames,isLoading:n.isLoading,enableInfiniteScroll:n.enableInfiniteScroll,isPending:_,renderNoRowsOverlay:n.renderNoRowsOverlay,slots:n.slots,localization:n.localization,enableContextMenu:n.enableContextMenu,onContextMenuItemClick:n.onContextMenuItemClick?(e,t)=>n.onContextMenuItemClick?.({action:e,data:t}):void 0,isCellSelected:ve,focusedCell:y,onCellMouseDown:O,onCellMouseEnter:M,onCellClick:se,onCellDoubleClick:ce,renderDetailPanel:n.renderDetailPanel,dynamicRowSizing:re,onRowClick:Y,onRowDoubleClick:oe}),n.slots?.footer?(0,v.jsx)(n.slots.footer,{table:U,...n.slotProps?.footer||{}}):(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(kt,{table:U,columnVirtualizer:R,density:h})})]})}),n.pagination&&(0,v.jsx)(yt,{table:U,pagerMessage:S,enableStickyPagination:n.enableStickyPagination,classNames:n.classNames,localization:n.localization,changes:p}),n.enableStatusBar===!0&&(0,v.jsx)(Ge,{table:U,totalRows:U.options.rowCount??U.getPrePaginationRowModel().rows.length,selectionInfo:p.added+p.edited+p.deleted>0?`${p.added+p.edited+p.deleted} pending changes`:void 0,rowSelection:U.getState().rowSelection}),H?.mode===`Dialog`&&(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(Dt,{open:X.isOpen,onClose:()=>{X.close(),X.mode!==`create`&&X.meta.index!==void 0&&E(X.meta.index,!1)},onSave:ue,columns:U.getAllColumns(),initialData:X.data,isNew:X.mode===`create`,onFormRender:n.onFormRender})}),(0,v.jsx)(x.DragOverlay,{dropAnimation:null,children:me?(0,v.jsx)(We,{header:U.getFlatHeaders().find(e=>e.id===me)||U.getLeafHeaders().find(e=>e.id===me),density:h}):null})]})})})})},jt=At,Mt=new C.QueryClient;function Nt({ref:e,...t}){return o.t(),(0,v.jsx)(C.QueryClientProvider,{client:Mt,children:(0,v.jsx)(At,{...t,ref:e})})}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return oe}});