ezux 1.1.19 → 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.
Files changed (75) hide show
  1. package/README.md +7 -1
  2. package/dist/{DeleteConfirmationModal-CukNDgtX.cjs → DeleteConfirmationModal-BM1PoL6P.cjs} +1 -1
  3. package/dist/{DeleteConfirmationModal-p8XGDGIw.js → DeleteConfirmationModal-B_tXm0N0.js} +4 -4
  4. package/dist/{EzEventModal-BrCBSXBM.cjs → EzEventModal-D1EzXBsQ.cjs} +1 -1
  5. package/dist/{EzEventModal-BDSHG11m.js → EzEventModal-D5lX9XuW.js} +2 -2
  6. package/dist/{EzFlow-CQFeY7DL.cjs → EzFlow-B4qRm5KH.cjs} +3 -3
  7. package/dist/{EzFlow-C74NbZA9.js → EzFlow-CEfPykao.js} +278 -278
  8. package/dist/EzKanban-2b9skOep.cjs +2 -0
  9. package/dist/{EzKanban-COcGidzh.js → EzKanban-CpYH8b8g.js} +86 -80
  10. package/dist/{EzLayout-CiaPLniV.js → EzLayout-DFxegglu.js} +30 -24
  11. package/dist/EzLayout-EYOfpFXs.cjs +1 -0
  12. package/dist/{EzScheduler-CjQbi1Na.js → EzScheduler-D7aH4KCY.js} +60 -55
  13. package/dist/EzScheduler-hC9PsLrI.cjs +1 -0
  14. package/dist/{EzSchedulerQuickAdd-BeNfGdWs.cjs → EzSchedulerQuickAdd-BYrV9PQ-.cjs} +1 -1
  15. package/dist/{EzSchedulerQuickAdd-BIC8xbSn.js → EzSchedulerQuickAdd-D0kGTzE3.js} +2 -2
  16. package/dist/{EzSchedulerToolbar-jMw8KB8k.js → EzSchedulerToolbar-BhlCMeOT.js} +2 -2
  17. package/dist/{EzSchedulerToolbar-ihfe-5Yd.cjs → EzSchedulerToolbar-Dy62PVnH.cjs} +1 -1
  18. package/dist/{EzSignature-7UHO5lSP.js → EzSignature-B-CPcf7e.js} +5 -2
  19. package/dist/{EzSignature-Df7UZ-IS.cjs → EzSignature-DcmWBPIL.cjs} +1 -1
  20. package/dist/EzTable-Bcq7TByw.cjs +3 -0
  21. package/dist/{EzTable-D2p1IWHc.js → EzTable-DLbb3nl7.js} +1296 -1161
  22. package/dist/EzTableEditDialog--8pD39Rp.cjs +1 -0
  23. package/dist/EzTableEditDialog-m0zW6r6z.js +100 -0
  24. package/dist/{EzTableFooter-DrLoWelo.js → EzTableFooter-BuTS3wDK.js} +1 -1
  25. package/dist/{EzTableToolbar-DwuumvWP.cjs → EzTableToolbar-BWjqKfwx.cjs} +1 -1
  26. package/dist/{EzTableToolbar-BH5z9fSJ.js → EzTableToolbar-BiRfKm9d.js} +2 -2
  27. package/dist/{EzTreeView-D1G0Aomc.js → EzTreeView-B2B_Ruwm.js} +37 -37
  28. package/dist/EzTreeView-DLoPKe2i.cjs +1 -0
  29. package/dist/{KanbanBoard-BsZP_PJi.js → KanbanBoard-CRF0-mYa.js} +119 -119
  30. package/dist/{KanbanBoard-C9bjU_gk.cjs → KanbanBoard-DdXD-Zjt.cjs} +1 -1
  31. package/dist/advanced.cjs +2 -2
  32. package/dist/advanced.es.js +30 -29
  33. package/dist/card-NlCLCGFb.cjs +1 -0
  34. package/dist/{card-ZUNxcdIM.js → card-urNaa5h-.js} +1 -1
  35. package/dist/{checkbox-BrCh_Iid.cjs → checkbox-B9yPkCYi.cjs} +1 -1
  36. package/dist/{checkbox-DRkQuB4W.js → checkbox-BTuckDEm.js} +1 -1
  37. package/dist/components/EzTable/EzTableEditDialog.d.ts +1 -1
  38. package/dist/components/EzTable/hooks/useTableFiltering.d.ts +6 -6
  39. package/dist/components/EzTable/hooks/useTableHistory.d.ts +3 -3
  40. package/dist/components/EzTable/hooks/useTableImperative.d.ts +9 -6
  41. package/dist/components/EzTable/hooks/useTableState.d.ts +12 -12
  42. package/dist/components/EzTable/types/EzTableProps.d.ts +9 -1
  43. package/dist/ezux.css +1 -1
  44. package/dist/flow.cjs +1 -1
  45. package/dist/flow.es.js +1 -1
  46. package/dist/index.cjs +2 -2
  47. package/dist/index.es.js +20 -20
  48. package/dist/input-CcRi0LeO.js +14 -0
  49. package/dist/input-DOh8O0iX.cjs +1 -0
  50. package/dist/kanban.cjs +1 -1
  51. package/dist/kanban.es.js +2 -2
  52. package/dist/layout.cjs +1 -1
  53. package/dist/layout.es.js +1 -1
  54. package/dist/mock-services.cjs +1 -1
  55. package/dist/mock-services.es.js +1 -1
  56. package/dist/scheduler.cjs +1 -1
  57. package/dist/scheduler.es.js +1 -1
  58. package/dist/signature.cjs +1 -1
  59. package/dist/signature.es.js +1 -1
  60. package/dist/table.cjs +1 -1
  61. package/dist/table.es.js +1 -1
  62. package/dist/theme-vars.css +25 -5
  63. package/dist/treeview.cjs +1 -1
  64. package/dist/treeview.es.js +1 -1
  65. package/package.json +39 -36
  66. package/dist/EzKanban-DokdXGqQ.cjs +0 -2
  67. package/dist/EzLayout-BGnqFtvO.cjs +0 -1
  68. package/dist/EzScheduler-B8nV1VWY.cjs +0 -1
  69. package/dist/EzTable-CEXvJR1t.cjs +0 -3
  70. package/dist/EzTableEditDialog-BXnnYSSy.cjs +0 -1
  71. package/dist/EzTableEditDialog-Ccd5XoHm.js +0 -84
  72. package/dist/EzTreeView-KMGlU4ax.cjs +0 -1
  73. package/dist/card-CPlRZxbq.cjs +0 -1
  74. package/dist/input-CYlvlbF7.cjs +0 -1
  75. package/dist/input-Cj3sQK3M.js +0 -14
@@ -1 +0,0 @@
1
- const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./avatar-BSdRHETK.cjs"),r=require("./EzErrorBoundary-d_2g-_EK.cjs"),i=require("./useInitCoreServices-DlALVDNx.cjs"),a=require("./useServiceState-PyYQWxHi.cjs"),o=require("./tooltip-Qmzrg5u5.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs"),c=require("./TooltipWrapper-DfbFAZ1U.cjs"),l=require("./Modal-BmX1C448.cjs");let u=require("react");u=e.y(u,1);let d=require("lucide-react"),f=require("react/jsx-runtime"),p=require("@tanstack/store"),m=require("@dnd-kit/core"),h=require("@tanstack/react-store"),g=require("@tanstack/react-query"),_=require("date-fns"),v=require("rrule"),y=require("@dnd-kit/utilities"),b=require("dompurify");b=e.y(b,1);function x(e){let[t,n]=(0,u.useState)(()=>typeof window<`u`?window.matchMedia(e).matches:!1);return(0,u.useEffect)(()=>{if(typeof window>`u`)return;let t=window.matchMedia(e),r=()=>n(t.matches);return t.addEventListener?t.addEventListener(`change`,r):t.addListener(r),()=>{t.removeEventListener?t.removeEventListener(`change`,r):t.removeListener(r)}},[e]),t}function S(e=6e4){let[t,n]=(0,u.useState)(()=>new Date);return(0,u.useEffect)(()=>{let t=setInterval(()=>{n(new Date)},e);return()=>clearInterval(t)},[e]),t}var C=({totalItems:e,columns:t=1,onSelect:n,onAction:r,onCancel:i,wrap:a=!0,enabled:o=!0})=>{let[s,c]=(0,u.useState)(-1),l=(0,u.useCallback)(l=>{if(!o||e===0)return;let u=s;switch(l.key){case`ArrowDown`:s===-1?u=0:(u=s+t,u>=e&&(u=a?u%t:s)),l.preventDefault();break;case`ArrowUp`:if(s===-1)u=e-1;else if(u=s-t,u<0)if(a){let n=s%t;u=(Math.ceil(e/t)-1)*t+n,u>=e&&(u-=t)}else u=s;l.preventDefault();break;case`ArrowRight`:s===-1?u=0:(u=s+1,u>=e&&(u=a?0:s)),l.preventDefault();break;case`ArrowLeft`:s===-1?u=e-1:(u=s-1,u<0&&(u=a?e-1:s)),l.preventDefault();break;case`Enter`:s!==-1&&r&&(r(s),l.preventDefault());break;case`Escape`:i&&(i(),l.preventDefault()),c(-1);break;default:return}u!==s&&(c(u),n?.(u))},[s,e,t,n,r,i,a,o]);return(0,u.useEffect)(()=>{if(o)return window.addEventListener(`keydown`,l),()=>window.removeEventListener(`keydown`,l)},[o,l]),{selectedIndex:s,setSelectedIndex:c}},w=e=>new p.Store({events:[],resources:[],view:`week`,currentDate:new Date,selectedDate:new Date,selectedEventId:null,slotDuration:30,is24Hour:!0,...e}),T=e=>({setEvents:t=>{e.setState(e=>({...e,events:t}))},addEvent:t=>{e.setState(e=>({...e,events:[...e.events,t]}))},updateEvent:t=>{e.setState(e=>({...e,events:e.events.map(e=>e.id===t.id?t:e)}))},deleteEvent:t=>{e.setState(e=>({...e,events:e.events.filter(e=>e.id!==t)}))},setResources:t=>{e.setState(e=>({...e,resources:t}))},setView:t=>{e.setState(e=>({...e,view:t}))},setCurrentDate:t=>{e.setState(e=>({...e,currentDate:t}))},setSelectedDate:t=>{e.setState(e=>({...e,selectedDate:t}))},setSelectedEventId:t=>{e.setState(e=>({...e,selectedEventId:t}))},setSlotDuration:t=>{e.setState(e=>({...e,slotDuration:t}))},setIs24Hour:t=>{e.setState(e=>({...e,is24Hour:t}))}}),E=class{name=`SchedulerService`;events=new Map;resources=new Map;constructor(e=[]){this.initializeWithData(e)}async init(){}async cleanup(){}initializeWithData(e,t=[]){this.events.clear(),this.resources.clear(),e.forEach(e=>{this.events.set(String(e.id),JSON.parse(JSON.stringify(e)))}),t.forEach(e=>{this.resources.set(String(e.id),JSON.parse(JSON.stringify(e)))})}async getEvents(e,t){return await this.simulateLatency(),!e||!t?Array.from(this.events.values()):Array.from(this.events.values()).filter(n=>{let r=new Date(n.start),i=new Date(n.end);return r>=e&&r<t||i>e&&i<=t||r<=e&&i>=t}).map(e=>({...e,start:new Date(e.start),end:new Date(e.end)}))}async addEvent(e){await this.simulateLatency();let t={id:e.id||Math.random().toString(36).substring(2,9),title:e.title||`Untitled Event`,start:e.start||new Date,end:e.end||new Date(new Date().getTime()+3600*1e3),description:e.description,resourceId:e.resourceId,resourceIds:e.resourceIds,allDay:e.allDay||!1,...e};return this.events.set(String(t.id),t),t}async updateEvent(e){await this.simulateLatency();let t=String(e.id);if(this.events.has(t)){let n={...this.events.get(t),...e,id:t};return this.events.set(t,n),n}else if(this.events.has(e.id)){let t={...this.events.get(e.id),...e};return this.events.set(e.id,t),t}throw Error(`Event with ID ${e.id} not found`)}async deleteEvent(e){await this.simulateLatency();let t=String(e);this.events.has(t)?this.events.delete(t):this.events.has(e)&&this.events.delete(e)}async getResources(){return await this.simulateLatency(),Array.from(this.resources.values())}async addResource(e){return await this.simulateLatency(),e.id||=Math.random().toString(36).substring(2,9),this.resources.set(String(e.id),e),e}simulateLatency(){return new Promise(e=>setTimeout(e,300))}},D=class{name=`RecurrenceEngine`;expandEvents(e,t,n){let r=[];return e.forEach(e=>{if(e.recurrenceRule||e.rrule)try{let i=e.recurrenceRule||e.rrule||``;if(!i)return;let a=new Date(e.start),o=new Date(e.end),s=v.RRule.parseString(i);s.dtstart=a;let c=new v.RRule(s).between(t,n,!0),l=new Set;e.exdate&&Array.isArray(e.exdate)?e.exdate.forEach(e=>{let t=new Date(e).getTime();isNaN(t)||l.add(t)}):typeof e.recurrenceException==`string`&&e.recurrenceException.split(`,`).forEach(e=>{let t=new Date(e).getTime();isNaN(t)||l.add(t)}),c.forEach(t=>{if(l.has(t.getTime()))return;let n=o.getTime()-a.getTime();if(isNaN(n))return;let i=new Date(t.getTime()+n);r.push({...e,id:`${e.id}-${t.getTime()}`,recurrenceId:String(e.id),start:t,end:i,originalStart:a})})}catch(t){console.error(`Error processing recurrence rule for event ${e.id}:`,t),r.push(e)}else r.push(e)}),r}cleanup(){}},O=(t,n,i)=>{let a=e.n(),{events:o,serviceRegistry:s=a,showWeekend:c=!0,recurrenceEngine:l,onEventCreate:d,onEventChange:f,onEventDelete:p}=t,m=(0,g.useQueryClient)(),h=r.i(s,`SchedulerService`,()=>new E(o||[])),v=l||r.i(s,`RecurrenceEngine`,()=>new D);(0,u.useEffect)(()=>{o&&o.length>0&&(h.initializeWithData(o),m.invalidateQueries({queryKey:[`scheduler-events`]}))},[o,h,m]);let y=(0,u.useMemo)(()=>{let e,t;if(n===`day`||n===`timeline-day`)e=(0,_.startOfDay)(i),t=(0,_.endOfDay)(i);else if(n===`month`||n===`timeline-month`)e=n===`month`?(0,_.startOfWeek)((0,_.startOfMonth)(i),{weekStartsOn:0}):(0,_.startOfMonth)(i),t=n===`month`?(0,_.endOfWeek)((0,_.endOfMonth)(i),{weekStartsOn:0}):(0,_.endOfMonth)(i);else if(n===`week`||n===`workweek`||n===`timeline-week`){let r=(0,_.startOfWeek)(i,{weekStartsOn:0});e=n===`workweek`?(0,_.addDays)(r,1):r,t=n===`workweek`?(0,_.addDays)(r,5):(0,_.endOfWeek)(i,{weekStartsOn:0})}else e=(0,_.startOfDay)(i),t=(0,_.endOfDay)(i);try{let n=(0,_.eachDayOfInterval)({start:e,end:t});return c?n:n.filter(e=>{let t=e.getDay();return t!==0&&t!==6})}catch{return[i]}},[n,i,c]),b=y.length>0?(0,_.startOfDay)(y[0]):new Date,x=y.length>0?(0,_.endOfDay)(y[y.length-1]):new Date,{data:S=[]}=(0,g.useQuery)({queryKey:[`scheduler-events`,b.toISOString(),x.toISOString()],queryFn:()=>h.getEvents(b,x),placeholderData:o||[]}),C=(0,u.useMemo)(()=>y.length===0?[]:v.expandEvents(S,b,x),[S,y,v,b,x]),w=(0,u.useMemo)(()=>y.length?C.filter(e=>(0,_.isWithinInterval)(e.start,{start:b,end:x})||(0,_.isWithinInterval)(e.end,{start:b,end:x})||e.start<b&&e.end>x):[],[C,y,b,x]),T=(0,g.useMutation)({mutationFn:async e=>{let t=await h.addEvent(e);return d&&await d(t),t},onMutate:async e=>{let t=[`scheduler-events`,b.toISOString(),x.toISOString()];await m.cancelQueries({queryKey:t});let n=m.getQueryData(t);return m.setQueryData(t,(t=[])=>{let n={...e,id:e.id||Date.now().toString(),start:e.start||new Date,end:e.end||new Date};return[...t,n]}),{previousEvents:n,queryKey:t}},onError:(e,t,n)=>{n?.previousEvents&&m.setQueryData(n.queryKey,n.previousEvents)},onSettled:()=>{m.invalidateQueries({queryKey:[`scheduler-events`]})}}),O=(0,g.useMutation)({mutationFn:async e=>{let t=await h.updateEvent(e);return f&&await f(t),t},onMutate:async e=>{let t=[`scheduler-events`,b.toISOString(),x.toISOString()];await m.cancelQueries({queryKey:t});let n=m.getQueryData(t);return m.setQueryData(t,(t=[])=>t.map(t=>t.id===e.id?e:t)),{previousEvents:n,queryKey:t}},onError:(e,t,n)=>{n?.previousEvents&&m.setQueryData(n.queryKey,n.previousEvents)},onSettled:()=>{m.invalidateQueries({queryKey:[`scheduler-events`]})}}),k=(0,g.useMutation)({mutationFn:async e=>(await h.deleteEvent(e),p&&await p(e.toString()),e),onMutate:async e=>{let t=[`scheduler-events`,b.toISOString(),x.toISOString()];await m.cancelQueries({queryKey:t});let n=m.getQueryData(t);return m.setQueryData(t,(t=[])=>t.filter(t=>t.id!==e)),{previousEvents:n,queryKey:t}},onError:(e,t,n)=>{n?.previousEvents&&m.setQueryData(n.queryKey,n.previousEvents)},onSettled:()=>{m.invalidateQueries({queryKey:[`scheduler-events`]})}});return{schedulerService:h,recurrenceEngine:v,daysInView:y,visibleEvents:w,allEvents:S,addEvent:T.mutateAsync,updateEvent:O.mutateAsync,deleteEvent:k.mutateAsync,isUpdating:T.isPending||O.isPending||k.isPending}},k=e=>{let{overscanCount:t=2,startHour:n=`00:00`,endHour:r=`24:00`}=e,i=parseInt(n.split(`:`)[0],10),a=parseInt(r.split(`:`)[0],10),o=60/(e.slotDuration||30),c=Math.max(1,(a-i)*o),{rowVirtualizer:l,columnVirtualizer:u,parentRef:d}=s._({rowCount:c,rowHeight:64,overscanCount:t,progressiveRendering:e.progressiveRendering,prefetchDistance:e.prefetchDistance,enableColumnVirtualization:e.view?.startsWith(`timeline`),columnCount:e.view?.startsWith(`timeline`)?c:0,columnWidth:100,id:e.id,debug:e.debugVirtualization,onScrollStart:()=>{e.virtualScrollStart&&e.virtualScrollStart({virtualizer:{}})},onScrollStop:()=>{e.virtualScrollStop&&e.virtualScrollStop({virtualizer:{}})}});return{parentRef:d,rowVirtualizer:l,columnVirtualizer:u}},A=(e,t,n,r)=>{let i=e=>{t(e),r?.(e)};return{next:()=>{let t=e;n===`day`||n===`timeline-day`?t=(0,_.addDays)(e,1):n===`week`||n===`workweek`||n===`timeline-week`?t=(0,_.addWeeks)(e,1):(n===`month`||n===`timeline-month`)&&(t=(0,_.addMonths)(e,1)),i(t)},prev:()=>{let t=e;n===`day`||n===`timeline-day`?t=(0,_.subDays)(e,1):n===`week`||n===`workweek`||n===`timeline-week`?t=(0,_.subWeeks)(e,1):(n===`month`||n===`timeline-month`)&&(t=(0,_.subMonths)(e,1)),i(t)},today:()=>{i(new Date)}}},j=class extends e.g{name=`HistoryService`;undoStack=[];redoStack=[];maxHistorySize=50;constructor(){super({canUndo:!1,canRedo:!1})}record(e){let t={...e,timestamp:Date.now()};this.undoStack.push(t),this.undoStack.length>this.maxHistorySize&&this.undoStack.shift(),this.redoStack=[],this.updateState()}undo(){if(this.undoStack.length===0)return null;let e=this.undoStack.pop();return this.redoStack.push(e),this.updateState(),e}redo(){if(this.redoStack.length===0)return null;let e=this.redoStack.pop();return this.undoStack.push(e),this.updateState(),e}clear(){this.undoStack=[],this.redoStack=[],this.updateState()}updateState(){this.setState({canUndo:this.undoStack.length>0,canRedo:this.redoStack.length>0})}cleanup(){this.clear(),super.cleanup()}},M=class{name=`SearchService`;search(e,t,n={}){if(!t||!t.trim())return e;let r=n.matchCase?t:t.toLowerCase(),i=n.fields||[`title`,`description`,`location`];return e.filter(e=>i.some(t=>{let i=e[t];return typeof i==`string`?n.matchCase?i.includes(r):i.toLowerCase().includes(r):!1}))}cleanup(){}},N=class{name=`TimezoneService`;constructor(){}toTimezone(e,t){if(!t||t===`UTC`||t===`Local`)return new Date(e);try{let n=new Date(e).toLocaleString(`en-US`,{timeZone:t});return new Date(n)}catch(n){return console.warn(`TimezoneService: Invalid timezone ${t}`,n),new Date(e)}}formatInTimezone(e,t,n){try{return new Intl.DateTimeFormat(`en-US`,{...n,timeZone:t}).format(new Date(e))}catch(e){return console.error(`TimezoneService formatting error:`,e),``}}getLocalTimezone(){return Intl.DateTimeFormat().resolvedOptions().timeZone}cleanup(){}},P=class{name=`AttendeeService`;constructor(){}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}getStatusLabel(e){switch(e){case`accepted`:return`Accepted`;case`declined`:return`Declined`;case`tentative`:return`Tentative`;case`needs-action`:return`Needs Action`;default:return`Unknown`}}cleanup(){}},F=class{name=`ReminderService`;timer=null;checkInterval=6e4;onReminderTriggered;constructor(){}start(e){this.onReminderTriggered=e,this.timer&&clearInterval(this.timer),this.timer=setInterval(()=>this.checkReminders(),this.checkInterval)}stop(){this.timer&&=(clearInterval(this.timer),null)}checkReminders(){console.log(`[ReminderService] Checking for due reminders...`,this.onReminderTriggered)}getTriggerTime(e,t){return new Date(e.getTime()-t*6e4)}cleanup(){this.stop()}},I=e=>{let{serviceRegistry:t,state:n,api:o}=i.n(e),s=a.t(`I18nService`)?.dir||`ltr`,c=e.dir===`auto`||!e.dir?s:e.dir,l=(0,u.useMemo)(()=>w({events:e.events||[],resources:e.resources||[],view:e.view?e.view.toLowerCase():`week`,currentDate:e.selectedDate||new Date,selectedDate:e.selectedDate||new Date,slotDuration:e.slotDuration||30,is24Hour:e.is24Hour??!0}),[]),d=(0,u.useMemo)(()=>T(l),[l]),f=(0,h.useStore)(l,e=>e);(0,u.useEffect)(()=>{e.events&&d.setEvents(e.events)},[e.events]),(0,u.useEffect)(()=>{e.resources&&d.setResources(e.resources)},[e.resources]),(0,u.useEffect)(()=>{if(e.view){let t=e.view.toLowerCase().replace(/[^a-z]/g,``);d.setView({day:`day`,week:`week`,workweek:`workweek`,month:`month`,timelineday:`timeline-day`,timelineweek:`timeline-week`,timelineworkweek:`timeline-week`,timelinemonth:`timeline-month`,agenda:`agenda`,timeline:`timeline-day`}[t]||t)}},[e.view,d]),(0,u.useEffect)(()=>{e.selectedDate&&(d.setCurrentDate(e.selectedDate),d.setSelectedDate(e.selectedDate))},[e.selectedDate]),(0,u.useEffect)(()=>{e.slotDuration!==void 0&&d.setSlotDuration(e.slotDuration)},[e.slotDuration]),(0,u.useEffect)(()=>{e.is24Hour!==void 0&&d.setIs24Hour(e.is24Hour)},[e.is24Hour]);let{view:p,currentDate:m,events:g}=f,{schedulerService:_,recurrenceEngine:v,daysInView:y,visibleEvents:b,allEvents:x,addEvent:S,updateEvent:E,deleteEvent:D,isUpdating:I}=O({...e,events:g},p,m),{parentRef:L,rowVirtualizer:R,columnVirtualizer:z}=k(e),{next:B,prev:V,today:H}=A(m,d.setCurrentDate,p,e.onDateChange),[U,W]=(0,u.useState)(null),{selectedIndex:G,setSelectedIndex:K}=C({totalItems:b.length,enabled:!0,onSelect:e=>{let t=b[e];t&&(W(t.id),(document.getElementById(`event-${t.id}`)||document.querySelector(`[data-event-id="${t.id}"]`))?.scrollIntoView({behavior:`smooth`,block:`nearest`}))},onAction:t=>{let n=b[t];n&&e.onEventClick&&e.onEventClick(n)}}),q=(0,u.useMemo)(()=>({showWeekend:e.showWeekend??!0,timeFormat:e.timeFormat,weekRule:e.weekRule||`FirstDay`,monthsCount:e.monthsCount||1,eventDragArea:e.eventDragArea,dir:c||`ltr`}),[e.showWeekend,e.timeFormat,e.weekRule,e.monthsCount,e.eventDragArea,c]),J=r.i(t,`HistoryService`,()=>new j),ee=r.i(t,`SearchService`,()=>new M),Y=r.i(t,`TimezoneService`,()=>new N),X=r.i(t,`AttendeeService`,()=>new P),te=r.i(t,`ReminderService`,()=>new F);return{state:{currentView:f.view,selectedDate:f.selectedDate,currentDate:m,events:f.events,resources:f.resources,viewEvents:b,daysInView:y,allEvents:x,slotDuration:f.slotDuration,is24Hour:f.is24Hour,isUpdating:I,selectedIndex:G,highlightedEventId:U},actions:{nextPeriod:B,prevPeriod:V,today:H,setView:d.setView,setDate:d.setSelectedDate,setCurrentDate:d.setCurrentDate,addEvent:S,updateEvent:E,deleteEvent:D,setSlotDuration:d.setSlotDuration,setIs24Hour:d.setIs24Hour,setSelectedIndex:K,setHighlightedEventId:W},services:{schedulerService:_,recurrenceEngine:v,historyService:J,searchService:ee,timezoneService:Y,attendeeService:X,reminderService:te,serviceRegistry:t},config:q,refs:{parentRef:L,rowVirtualizer:R,columnVirtualizer:z},baseState:n,baseApi:o,dir:c}},L=(e,t,n,i,a,o,s={},l=30)=>{r.n(o,(0,u.useMemo)(()=>{let r=c.i(a.scrollToIndex),o=c.n(()=>n.getEvents(),e=>n.addEvent(e),e=>n.updateEvent(e),e=>n.deleteEvent(e)),u=c.s(a.showSpinner,a.hideSpinner),d=c.a(()=>{},a.forceUpdate),f=c.r(()=>s.onExportExcel?.(i),()=>s.onExportICS?.(i),()=>{window.print()});return{changeView:a.changeView,changeCurrentView:a.changeView,next:a.next,prev:a.prev,today:a.today,...r,scrollTo:(e,t=0)=>{let n=parseInt(e.split(`:`)[0])*60+t,r=Math.floor(n/l);a.scrollToIndex(r)},scrollToTime:(e,t)=>{let n=e*60+t,r=Math.floor(n/l);a.scrollToIndex(r)},...o,getCurrentDate:()=>t,setCurrentDate:e=>{let n=e.getTime()-t.getTime();n>0&&a.next(),n<0&&a.prev()},getEvents:async()=>n.getEvents(),getEventsInDateRange:async(e,t)=>n.getEvents(e,t),addEvent:async e=>{await n.addEvent(e)},saveEvent:async e=>{await n.updateEvent(e)},deleteEvent:async e=>{await n.deleteEvent(e)},getCurrentViewEvents:()=>i,scrollToEvent:e=>{let t=i.find(t=>t.id===e);if(!t)return;let n=t.start.getHours()*60+t.start.getMinutes();a.scrollToIndex(Math.floor(n/l))},selectEvent:()=>{},clearSelection:()=>{},addResource:async e=>{a.setResources(t=>[...t,e])},getResources:async()=>n.getResources(),updateResource:async(e,t)=>{a.setResources(n=>n.map(n=>String(n.id)===String(e)?{...n,...t}:n))},removeResource:async e=>{a.setResources(t=>t.filter(t=>t.id!==e))},openEditor:(e,t=`Add`)=>{a.setEditorState({isOpen:!0,mode:t===`Edit`?`edit`:t===`view`?`view`:`create`,event:e})},closeEditor:()=>a.setEditorState({isOpen:!1,mode:`create`,event:void 0}),closeQuickInfoPopup:a.closeQuickInfoPopup,...u,...d,...f,currentView:e,...s}},[e,t,i,a,n,s,l]))},R=({resources:e})=>{let t=(0,u.useMemo)(()=>!e||e.length===0?[]:`dataSource`in e[0]?e.flatMap(e=>e.dataSource):e,[e]),[n,r]=(0,u.useState)(t);return(0,u.useEffect)(()=>{r(t)},[t]),{resources:t,internalResources:n,setInternalResources:r}},z=({events:e,resources:t=[],onEventChange:n,onBeforeEventDrop:r,onBeforeEventResize:i,slotDuration:a=30})=>{let o=(0,u.useCallback)(e=>{if(e)return t.find(t=>String(t.id)===String(e))},[t]),s=(e,t)=>e===!1||t.cancel,c=(0,u.useCallback)(t=>{let{active:c,over:l,delta:u}=t,d=e.find(e=>e.id===c.id||e.id===(c.data?.current?.eventId||c.data?.current?.id));if(!d)return;if(c.data?.current?.type?.startsWith(`resize-`)){let e=c.data.current.type,t=c.data.current,r=t?.orientation||`vertical`,l=t?.pixelsPerSlot||64,f=r===`vertical`?u.y:u.x,p=Math.round(f/l)*a;if(p===0)return;let m,h;if(e===`resize-bottom`){let e=new Date(d.end.getTime()+p*60*1e3),t=new Date(d.start.getTime()+a*60*1e3),n=e<t?t:e;h=`end`,m={...d,end:n}}else if(e===`resize-top`){let e=new Date(d.start.getTime()+p*60*1e3),t=new Date(d.end.getTime()-a*60*1e3),n=e>t?t:e;h=`start`,m={...d,start:n}}if(!m)return;let g={data:d,event:m,originalEvent:d,proposedEvent:m,sourceResourceId:d.resourceId,targetResourceId:m.resourceId,sourceResource:o(d.resourceId),targetResource:o(m.resourceId),sourceTime:d.start,targetTime:m.start,resizeEdge:h,cancel:!1};if(s(i?.(g),g))return;n?.(m);return}if(!l)return;let f=l.data?.current;if(f?.kind===`time-slot`||typeof l.id==`string`&&l.id.startsWith(`slot-`)){let e=f?.date,t=f?.resourceId;if(e){let i=d.end.getTime()-d.start.getTime(),a=new Date(e),c=new Date(a.getTime()+i),l={...d,start:a,end:c,resourceId:t===`none`?void 0:t,resourceIds:t&&t!==`none`?[t]:d.resourceIds},u={data:d,event:l,originalEvent:d,proposedEvent:l,sourceResourceId:d.resourceId,targetResourceId:l.resourceId,sourceResource:o(d.resourceId),targetResource:o(l.resourceId),sourceTime:d.start,targetTime:a,cancel:!1};if(s(r?.(u),u))return;n?.(l)}return}if(f?.kind===`timeline-row`){let e=f.slotWidth||80,t=f.resourceId,i=f.isRtl?-1:1,c=Math.round(u.x*i/e)*a,l=d.end.getTime()-d.start.getTime(),p=new Date(d.start.getTime()+c*60*1e3),m=new Date(p.getTime()+l),h={...d,start:p,end:m,resourceId:t===`none`?void 0:t,resourceIds:t&&t!==`none`?[t]:d.resourceIds},g={data:d,event:h,originalEvent:d,proposedEvent:h,sourceResourceId:d.resourceId,targetResourceId:h.resourceId,sourceResource:o(d.resourceId),targetResource:o(h.resourceId),sourceTime:d.start,targetTime:p,cancel:!1};if(s(r?.(g),g))return;n?.(h);return}let p=typeof l.id==`string`&&l.id.startsWith(`header-`)?l.id.replace(`header-`,``):null;if(p){let e={...d,resourceId:p},t={data:d,event:e,originalEvent:d,proposedEvent:e,sourceResourceId:d.resourceId,targetResourceId:e.resourceId,sourceResource:o(d.resourceId),targetResource:o(e.resourceId),sourceTime:d.start,targetTime:e.start,cancel:!1};if(s(r?.(t),t))return;n?.(e)}},[e,o,r,i,n,a]);return{sensors:(0,m.useSensors)((0,m.useSensor)(m.PointerSensor,{activationConstraint:{distance:8}})),handleDragEnd:c}},B=()=>(0,f.jsx)(`div`,{className:`flex flex-col items-center justify-center min-h-screen p-4`,children:(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-4 max-w-md w-full`,children:[(0,f.jsx)(`div`,{className:`flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10`,children:(0,f.jsx)(d.AlertTriangle,{className:`w-8 h-8 text-destructive`})}),(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,f.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Scheduler Error`}),(0,f.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Something went wrong with the scheduler. Please refresh the page or try again.`})]}),(0,f.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,f.jsx)(d.RefreshCw,{className:`w-4 h-4`}),`Refresh Page`]})]})}),V=({variant:t=`primary`,text:n=`Loading`,className:r})=>(0,f.jsx)(`div`,{className:e._(`absolute inset-0 bg-background/40 backdrop-blur-[2px] z-[100] flex items-center justify-center transition-all duration-300`,r),children:(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,f.jsx)(`div`,{className:e._({sm:`w-8 h-8`,md:`w-10 h-10`,lg:`w-12 h-12`}.md,{primary:`border-primary/20 border-t-primary`,secondary:`border-muted-foreground/20 border-t-muted-foreground`}[t],`rounded-full animate-spin`)}),(0,f.jsx)(`span`,{className:`text-[10px] font-black uppercase tracking-widest text-primary animate-pulse`,children:n})]})}),H=()=>(0,f.jsx)(V,{text:`Synchronizing`}),U=({event:t,style:n,onClick:r,onDoubleClick:i,onDelete:a,orientation:o=`vertical`,resizable:l=!1,className:u,showTime:p=!0,isBlocked:h=!1,isPast:g=!1,isHighlighted:v=!1,slotDuration:b=30,pixelsPerSlot:x,dragOverlay:S=!1,isSourceDragging:C=!1})=>{let w=h||t.isBlock,T=w||g,E=x||(o===`vertical`?64:80),{attributes:D,listeners:O,setNodeRef:k,transform:A,isDragging:j}=(0,m.useDraggable)({id:S?`overlay-${t.id}`:t.id,data:{type:`event`,eventId:t.id,event:t,orientation:o,pixelsPerSlot:E},disabled:S||T}),{attributes:M,listeners:N,setNodeRef:P,transform:F,isDragging:I}=(0,m.useDraggable)({id:`resize-bottom-${t.id}`,data:{type:`resize-bottom`,eventId:t.id,orientation:o,pixelsPerSlot:E},disabled:!l||T}),{attributes:L,listeners:R,setNodeRef:z,transform:B,isDragging:V}=(0,m.useDraggable)({id:`resize-top-${t.id}`,data:{type:`resize-top`,eventId:t.id,orientation:o,pixelsPerSlot:E},disabled:!l||T}),H=I||V,U=E/b,W=new Date(t.start),G=new Date(t.end);if(j&&A){let e=o===`vertical`?A.y:A.x,t=Math.round(e/U/b)*b;W=(0,_.addMinutes)(W,t),G=(0,_.addMinutes)(G,t)}else if(V&&B){let e=o===`vertical`?B.y:B.x,t=Math.round(e/U/b)*b;W=(0,_.addMinutes)(W,t)}else if(I&&F){let e=o===`vertical`?F.y:F.x,t=Math.round(e/U/b)*b;G=(0,_.addMinutes)(G,t)}let K=n?.borderColor||t.color||`hsl(var(--primary))`,q=w?{backgroundImage:`repeating - linear - gradient(45deg, transparent, transparent 10px, rgba(0, 0, 0, 0.05) 10px, rgba(0, 0, 0, 0.05) 20px)`,backgroundColor:`rgba(0,0,0,0.02)`,color:`gray`,borderLeftWidth:`4px`,borderColor:`#d1d5db`,borderStyle:`solid`,opacity:1}:{},J=(0,f.jsxs)(`div`,{ref:k,style:{...n,transform:S?void 0:y.CSS.Translate.toString(A),opacity:C?.35:j?.6:g?.7:1,zIndex:j||H?100:T?10:20,touchAction:`none`,pointerEvents:S||j||H?`none`:`auto`,position:S?`relative`:`absolute`,backgroundColor:`color-mix(in srgb, ${K} 12%, transparent)`,color:`color-mix(in srgb, ${K} 90%, black)`,borderLeftWidth:`4px`,borderColor:K,...w?q:{},...I&&o===`vertical`&&F?{height:`${Math.max((parseInt(n?.height)||0)+F.y,24)}px`}:{},...V&&o===`vertical`&&B?{top:`${(parseInt(n?.top)||0)+B.y}px`,height:`${Math.max((parseInt(n?.height)||0)-B.y,24)}px`}:{},...I&&o===`horizontal`&&F?{width:`${Math.max((parseInt(n?.width)||0)+F.x,24)}px`}:{},...V&&o===`horizontal`&&B?{left:`${(parseInt(n?.left)||0)+B.x}px`,width:`${Math.max((parseInt(n?.width)||0)-B.x,24)}px`}:{}},...D,...O,className:e._(`absolute rounded-md text-xs border overflow-hidden group select-none flex flex-col`,`bg-primary/10 border-primary/20 text-foreground shadow-sm hover:shadow-md transition-shadow`,S&&`shadow-xl ring-2 ring-primary/40 cursor-grabbing scale-[1.01]`,j&&`opacity-50 z-50 shadow-xl scale-105 cursor-grabbing ring-2 ring-primary ring-offset-2`,v&&`ring-2 ring-primary ring-offset-1 bg-primary/20 shadow-md transition-all duration-300`,w&&`bg-muted/50 border-muted opacity-80`,!w&&`pointer-events-auto`,w&&`pointer-events-auto select-none grayscale`,u),onClick:e=>{!j&&!H&&(e.stopPropagation(),r?.(t))},onDoubleClick:e=>{e.stopPropagation(),i?.(t)},role:`button`,"aria-label":`Event: ${t.title}`,children:[(0,f.jsxs)(`div`,{className:`flex-1 min-h-0 relative px-2 py-1`,children:[(0,f.jsxs)(`div`,{className:`flex items-start justify-between gap-1`,children:[(0,f.jsx)(`div`,{className:`font-semibold truncate pr-4 leading-tight`,children:t.title}),!w&&(0,f.jsx)(`button`,{className:`opacity-0 group-hover:opacity-100 transition-opacity p-0.5 hover:bg-destructive/10 rounded absolute top-0 right-0 z-10`,onClick:e=>{e.stopPropagation(),a?.(t.id)},onPointerDown:e=>e.stopPropagation(),children:(0,f.jsx)(d.X,{className:`h-3 w-3 text-muted-foreground hover:text-destructive`})})]}),p&&!w&&(0,f.jsxs)(`div`,{className:`text-[10px] text-muted-foreground truncate leading-tight`,children:[(0,_.format)(W,`h:mm a`),` - `,(0,_.format)(G,`h:mm a`)]}),t.description&&(0,f.jsx)(`div`,{className:`text-[10px] text-muted-foreground line-clamp-2 leading-tight mt-0.5`,children:t.description}),w&&(0,f.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,f.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground opacity-70 -rotate-45 select-none`,children:`BLOCKED`})})]}),l&&!w&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{ref:P,...M,...N,className:e._(`absolute z-20 hover:bg-primary/20 transition-colors flex items-center justify-center opacity-0 group-hover:opacity-100`,o===`vertical`?`bottom-0 left-0 right-0 h-3 cursor-ns-resize`:`right-0 top-0 bottom-0 w-3 cursor-ew-resize`),style:{touchAction:`none`},children:(0,f.jsx)(`div`,{className:e._(`bg-primary/40 rounded-full`,o===`vertical`?`w-10 h-1`:`h-10 w-1`)})}),(0,f.jsx)(`div`,{ref:z,...L,...R,className:e._(`absolute z-20 hover:bg-primary/20 transition-colors flex items-center justify-center opacity-0 group-hover:opacity-100`,o===`vertical`?`top-0 left-0 right-0 h-3 cursor-ns-resize`:`left-0 top-0 bottom-0 w-3 cursor-ew-resize`),style:{touchAction:`none`},children:(0,f.jsx)(`div`,{className:e._(`bg-primary/40 rounded-full`,o===`vertical`?`w-10 h-1 shadow-[0_-1px_0_rgba(0,0,0,0.1)]`:`h-10 w-1 shadow-[-1px_0_0_rgba(0,0,0,0.1)]`)})})]})]});return(0,f.jsx)(c.t,{content:t.description,enabled:!!t.description&&!j,children:(0,f.jsx)(s.t,{contextId:`scheduler-event`,data:t,children:J})})},W=({date:t,resourceId:n,children:r,className:i,style:a,onClick:o,onDoubleClick:s,onMouseDown:c,onMouseEnter:l,onContextMenu:u,data:d,isSelected:p,isWorkHour:h})=>{let{active:g}=(0,m.useDndContext)(),{setNodeRef:_,isOver:v}=(0,m.useDroppable)({id:`slot-${t.toISOString()}-${n||`none`}`,data:{date:t,resourceId:n,...d||{}}});return(0,f.jsx)(`div`,{ref:_,"data-testid":`scheduler-slot`,"data-shaded":h===!1,className:e._(`relative transition-all duration-200`,p&&`bg-primary/15`,!p&&h===!1&&`bg-background`,!!g&&`before:absolute before:inset-0 before:border before:border-dashed before:border-primary/10 before:pointer-events-none before:z-0`,v&&`bg-primary/20 ring-2 ring-primary ring-inset z-10 before:opacity-0`,i),style:a,onClick:o,onDoubleClick:s,onMouseDown:c,onMouseEnter:l,onContextMenu:u,children:r})};function G(e,t=!0){return t?b.default.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.u.span.div.p.br.h1.h2.h3.h4.h5.h6.ul.ol.li.a.img.table.thead.tbody.tr.th.td`.split(`.`),ALLOWED_ATTR:[`class`,`href`,`src`,`alt`,`title`],ALLOW_DATA_ATTR:!1}):e}function K(e,t,n=!0){if(!e)return null;if(typeof e==`function`){let n=e(t);return typeof n==`string`?{__html:G(n,!0)}:n}return typeof e==`string`?{__html:G(e,!0)}:null}function q(e,t=`FirstDay`){switch(t){case`FirstDay`:return(0,_.getWeek)(e,{weekStartsOn:0});case`FirstFourDayWeek`:return(0,_.getISOWeek)(e);case`FirstFullWeek`:return(0,_.getWeek)(e,{weekStartsOn:0,firstWeekContainsDate:1});default:return(0,_.getWeek)(e)}}var J=(e,t,n,r,i,a,o,s,c,l=!0,u=!1)=>{let d=0,f=0;if(l){let e=i/r,s=e/o;d=t*i+n*e+a*s,f=s*.98}else{let e=i/r,s=e/o;d=n*i+t*e+a*s,f=s*.98}let p=((e.start.getHours()-s)*60+e.start.getMinutes())/c*64,m=(e.end.getTime()-e.start.getTime())/(1e3*60)/c*64;return{top:`${p}px`,height:`${Math.max(m,24)}px`,[u?`right`:`left`]:`${d}%`,width:`${f}%`,[u?`borderRightWidth`:`borderLeftWidth`]:`4px`,borderColor:e.color||`hsl(var(--primary))`}},ee=({startHour:t,slotDuration:n,isRtl:r})=>{let i=S(),a=((i.getHours()-t)*60+i.getMinutes())/n*64;return a<0?null:(0,f.jsxs)(`div`,{className:e._(`absolute inset-x-0 z-50 pointer-events-none flex items-center`),style:{top:`${a}px`},children:[(0,f.jsx)(`div`,{className:`w-full border-t-2 border-primary`}),(0,f.jsx)(`div`,{className:e._(`absolute w-3 h-3 bg-primary rounded-full shadow-sm ring-2 ring-background`,r?`-right-1.5`:`-left-1.5`)})]})},Y=({daysInView:t,visibleEvents:r,rowVirtualizer:i,resources:a=[],showResourcesInDayView:o=!1,onEventClick:s,onEventDoubleClick:c,onEventDelete:l,scrollRef:p,onViewChange:m,onDateChange:h,locale:g,onRangeSelect:v,onSlotClick:y,onSlotDoubleClick:b,dateHeaderTemplate:C,showWeekNumber:w=!1,weekRule:T=`FirstDay`,cellTemplate:E,showUnassignedLane:D=!1,startHour:O=`00:00`,slotDuration:k=30,is24Hour:A=!0,setIs24Hour:j,group:M,onCellContextMenu:N,dir:P})=>{let F=P===`rtl`,I=S(),L=parseInt(O.split(`:`)[0],10),[R,z]=(0,u.useState)(null),[B,V]=(0,u.useState)(!1),H=(0,u.useRef)(null),G=(e,t,n)=>r.some(t=>(t.isHoliday||t.isFullyBooked)&&(0,_.isSameDay)(t.start,e))?!0:r.some(r=>r.isBlock&&(r.resourceId===n||!r.resourceId&&!n)&&(0,_.areIntervalsOverlapping)({start:r.start,end:r.end},{start:e,end:t})),Y=(e,t)=>{let n=(0,_.addMinutes)(e,k);if(G(e,n,t))return;V(!0);let r={start:e,end:n,resourceId:t};z(r),H.current=r},X=e=>{if(!B||!H.current)return;let t=new Date(e.getTime()+k*60*1e3),n={...H.current,end:t};z(n),H.current=n};(0,u.useEffect)(()=>{let e=e=>{if(B&&H.current){let{start:t,end:n,resourceId:r}=H.current,i=t<n?t:n,a=t<n?n:t;G(i,a,r)||(v?.(i,a,r,{x:e.clientX,y:e.clientY}),y?.(i,r))}V(!1),z(null),H.current=null};return window.addEventListener(`mouseup`,e),()=>window.removeEventListener(`mouseup`,e)},[B,v,y]);let te=x(`(max-width: 768px)`),Z=(0,u.useMemo)(()=>{let e=o&&a.length>0?[...a]:[];return(D||o&&e.length===0)&&(e.find(e=>e.id===``||e.id===`unassigned`)||e.unshift({id:`unassigned`,name:`Unassigned`,type:`Global Inbox`,color:`hsl(var(--muted-foreground))`})),e.length>0?e:[{id:``,name:``}]},[a,o,D]),ne=te&&o&&Z.length>1,re=!te&&(Z.length>3||t.length>3&&Z.length>1),Q=ne||re,ie=t.length*Z.length*150,ae={width:Q&&ie>0?`${ie}px`:`100%`,minWidth:`100%`},oe=new Intl.DateTimeFormat(g,{day:`numeric`}),$=M?.byDate??!0,se=$?t:Z,ce=$?Z:t,le=se,ue=ce,de=100/le.length,fe=100/ue.length;return(0,f.jsxs)(`div`,{ref:p,"data-testid":`scheduler-scroll-container`,"data-view":`day-week`,style:{scrollbarGutter:`stable`},className:e._(`flex-1 flex flex-col min-h-0 relative overflow-auto bg-background select-none border border-border rounded-lg`,Q&&`snap-x snap-mandatory`),children:[(0,f.jsxs)(`div`,{className:`sticky top-0 z-50 bg-background/95 backdrop-blur-md border-b border-border flex shrink-0`,style:ae,children:[w&&(0,f.jsx)(`div`,{className:e._(`w-12 shrink-0 sticky z-50 bg-background border-e border-border flex items-center justify-center`,F?`right-0`:`left-0`),children:(0,f.jsx)(`span`,{className:`text-[9px] font-bold text-muted-foreground uppercase tracking-wider`,children:`WK`})}),(0,f.jsxs)(`div`,{className:e._(`w-24 shrink-0 sticky bg-background border-e border-border z-50 cursor-pointer hover:bg-muted/50 transition-colors flex flex-col items-center justify-center gap-1 group`,w?F?`right-12`:`left-12`:F?`right-0`:`left-0`),onClick:()=>j?.(!A),title:`Toggle 24h / AM-PM format`,children:[(0,f.jsx)(d.Clock,{className:`w-4 h-4 text-muted-foreground group-hover:text-primary transition-colors`}),(0,f.jsx)(`span`,{className:`text-[9px] font-bold uppercase text-muted-foreground/60 group-hover:text-primary/70`,children:A?`24 Hours`:`AM / PM`})]}),(0,f.jsx)(`div`,{className:`flex flex-1`,style:Q?{width:`100%`}:void 0,children:le.map(i=>{let a=$,o=a?i:null,s=a?null:i,c=a&&(0,_.isSameDay)(o,new Date);return(0,f.jsxs)(`div`,{style:{width:`${de}%`},className:`flex flex-col border-e border-border last:border-e-0`,children:[(0,f.jsx)(`div`,{className:e._(`flex flex-col items-center justify-center py-3 transition-colors shrink-0 border-e-2 border-foreground/20`,c&&`bg-background`),children:a?(()=>{let n=r.find(e=>(e.isHoliday||e.isFullyBooked)&&(0,_.isSameDay)(e.start,o));return(0,f.jsxs)(`div`,{className:`flex flex-col items-center relative w-full`,children:[n?.isHoliday&&(0,f.jsx)(`span`,{className:`absolute -top-1 px-1.5 py-0.5 bg-destructive/10 text-destructive text-[9px] font-black uppercase tracking-tighter rounded-full border border-destructive/20 mb-1 leading-none shadow-sm`,children:`Holiday`}),n?.isFullyBooked&&(0,f.jsx)(`span`,{className:`absolute -top-1 px-1.5 py-0.5 bg-warning/10 text-warning-foreground text-[9px] font-black uppercase tracking-tighter rounded-full border border-warning/20 mb-1 leading-none shadow-sm`,children:`Fully Booked`}),C?(0,f.jsx)(`div`,{className:`h-full w-full flex items-center justify-center pt-2`,children:typeof C==`function`?C({date:o,type:`Day`,text:oe.format(o)}):C}):(0,f.jsx)(`div`,{className:`flex flex-col items-center cursor-pointer hover:bg-muted/50 transition-colors pt-2`,onClick:()=>{m&&h&&(h(o),m(`day`))},children:t.length>1&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`span`,{className:e._(`text-base font-medium mt-0.5`,c?`text-primary font-bold`:`text-foreground`),children:(0,_.format)(o,`dd MMM yyyy`)}),(0,f.jsx)(`span`,{className:e._(`text-sm font-medium uppercase tracking-wider`,c?`text-primary`:`text-muted-foreground/80`),children:(0,_.format)(o,`EEE`)})]})})]})})():(0,f.jsxs)(`div`,{className:`flex items-center gap-2 px-2`,children:[(0,f.jsxs)(n.t,{className:`h-8 w-8 shadow-sm border border-background`,children:[s.avatar&&(0,f.jsx)(n.r,{src:s.avatar}),(0,f.jsx)(n.n,{className:`text-xs font-bold`,children:s.name?.charAt(0)})]}),(0,f.jsxs)(`div`,{className:`flex flex-col`,children:[(0,f.jsx)(`span`,{className:`text-sm font-bold truncate`,children:s.name}),(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground truncate`,children:s.type||`Resource`})]})]})}),ue.length>0&&(0,f.jsx)(`div`,{className:`flex w-full border-t border-border bg-background h-10 shrink-0`,children:ue.map((t,i)=>{let o=a?null:t,s=a?t:null,c=o?r.find(e=>e.isHoliday&&(0,_.isSameDay)(e.start,o)):null,l=o?r.find(e=>e.isFullyBooked&&(0,_.isSameDay)(e.start,o)):null;return(0,f.jsx)(`div`,{style:{width:`${fe}%`},className:e._(`flex items-center justify-center px-1 border-e border-border/30 last:border-e-0 group`,Q&&`snap-center`,(i%2,`bg-background`)),children:a?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(n.t,{className:`h-4 w-4 me-1 shadow-sm border border-background`,children:[s.avatar&&(0,f.jsx)(n.r,{src:s.avatar}),(0,f.jsx)(n.n,{className:`text-[7px] font-bold`,children:s.name?.charAt(0)})]}),(0,f.jsx)(`span`,{className:`text-[9px] font-bold text-muted-foreground truncate group-hover:text-foreground transition-colors`,children:s.name})]}):(0,f.jsxs)(`div`,{className:`flex flex-col items-center justify-center`,children:[c&&(0,f.jsx)(`span`,{className:`text-xs font-black uppercase tracking-wider text-destructive bg-destructive/10 px-2 py-0.5 rounded-sm mb-0.5`,children:`Holiday`}),l&&(0,f.jsx)(`span`,{className:`text-xs font-black uppercase tracking-wider text-warning-foreground bg-warning/10 px-2 py-0.5 rounded-sm mb-0.5`,children:`Fully Booked`}),(0,f.jsx)(`span`,{className:e._(`text-[10px] font-bold text-muted-foreground uppercase`,c&&`text-destructive`,l&&`text-amber-600`),children:(0,_.format)(o,`EEE d`)})]})},o?o.toISOString():s.id)})})]},a?o.toISOString():s.id)})})]}),(0,f.jsxs)(`div`,{"data-testid":`scheduler-virtual-body`,className:`relative shrink-0`,style:{height:`${i.getTotalSize()}px`,...ae},children:[i.getVirtualItems().map(n=>{let i=n.index*k,a=L+Math.floor(i/60),o=i%60,s=``;if(A)s=`${a<10?`0`+a:a}:${o<10?`0`+o:o}`;else{let e=a>=12?`PM`:`AM`,t=a%12||12;s=`${t<10?`0`+t:t}:${o<10?`0`+o:o} ${e}`}return(0,f.jsxs)(`div`,{className:`absolute left-0 w-full flex`,style:{height:`64px`,top:`${n.start}px`},children:[(0,f.jsxs)(`div`,{className:e._(`w-24 shrink-0 flex flex-col items-end justify-center pe-3 border-e border-border bg-background z-50 sticky backdrop-blur-md`,F?`right-0`:`left-0`),children:[s&&(0,f.jsx)(`span`,{className:`text-sm text-foreground font-black bg-background px-1 relative z-50 uppercase tracking-tighter tabular-nums`,children:s}),w&&a===0&&(0,f.jsxs)(`span`,{className:`text-[9px] text-muted-foreground/60 font-semibold mt-1`,children:[`W`,q(t[0],T)]})]}),(0,f.jsxs)(`div`,{className:`flex flex-1 relative`,style:{height:`64px`},children:[(0,f.jsx)(`div`,{className:`absolute bottom-0 left-0 w-full border-b border-border/40`}),(0,f.jsx)(`div`,{className:`absolute top-1/2 left-0 w-full border-b border-dashed border-border/20 h-px`}),le.map(t=>(0,f.jsx)(`div`,{style:{width:`${de}%`},className:`h-full flex relative border-e-2 border-foreground/20 last:border-e-0`,children:ue.map((i,s)=>{let c=$?t:i,l=$?i:t,u=n.index+L,d=c.getDay(),p=r.find(e=>e.isHoliday&&(0,_.isSameDay)(e.start,c)),m=r.find(e=>e.isFullyBooked&&(0,_.isSameDay)(e.start,c)),h=!0;h=l.workingHours?l.workingHours.days.includes(d)&&u>=l.workingHours.start&&u<l.workingHours.end:d!==0&&d!==6&&u>=9&&u<17;let g=new Date(new Date(c).setHours(a,o,0,0)),v=(0,_.isSameDay)(c,new Date),y=!!R&&R.resourceId===l.id&&g>=R.start&&g<R.end;return(0,f.jsx)(W,{date:g,resourceId:l.id,isWorkHour:h,isSelected:y,data:{kind:`time-slot`,date:g,resourceId:l.id,orientation:`vertical`,slotDuration:k},onMouseDown:()=>Y(g,l.id),onMouseEnter:()=>X(g),onDoubleClick:()=>{G(g,(0,_.addMinutes)(g,k),l.id)||b?.(g,l.id)},onContextMenu:e=>{e.preventDefault(),N?.({date:g,x:e.clientX,y:e.clientY})},style:{width:`${fe}%`,minWidth:`auto`,height:`100%`},className:e._(`border-e border-border/30 relative cursor-pointer hover:bg-primary/5 transition-colors pointer-events-auto`,s===ue.length-1&&`border-e-0`,Q&&`snap-center`,p&&`bg-[repeating-linear-gradient(-45deg,hsl(var(--destructive)/0.05)_0px,hsl(var(--destructive)/0.05)_10px,transparent_10px,transparent_20px)] bg-destructive/[0.02]`,m&&`bg-[repeating-linear-gradient(-45deg,theme(colors.warning/0.05)_0px,theme(colors.warning/0.05)_10px,transparent_10px,transparent_20px)] bg-warning/[0.02]`,!p&&!m&&`bg-background`),children:E?(()=>{let e=K(E,{date:g,resourceId:l.id,isWorkHour:h,isToday:v});return e&&typeof e==`object`&&`__html`in e?(0,f.jsx)(`div`,{className:`w-full h-full`,dangerouslySetInnerHTML:e}):(0,f.jsx)(`div`,{className:`w-full h-full`,children:e})})():null},$?l.id||s:c.toISOString()||s)})},$?t.toISOString():t.id))]})]},n.index)}),(0,f.jsxs)(`div`,{className:`absolute top-0 h-full z-10`,style:{width:`calc(100% - 6rem)`,[F?`right`:`left`]:`6rem`,pointerEvents:`none`},children:[(0,f.jsx)(ee,{startHour:L,slotDuration:k,isRtl:F}),t.map((e,n)=>{let i=r.filter(t=>(0,_.isSameDay)(e,t.start));i.sort((e,t)=>e.start.getTime()-t.start.getTime());let a=new Map;return i.forEach(e=>{let t=e.resourceId;!t&&D&&(t=`unassigned`);let n=Z.findIndex(e=>e.id===t);if(n===-1)if(Z.length===1&&(Z[0].id===``||!o))n=0;else return;a.has(n)||a.set(n,[]),a.get(n).push(e)}),[...a.entries()].map(([e,r])=>{let i=[];return r.forEach(e=>{let t=!1;for(let n of i)if(n.some(t=>(0,_.areIntervalsOverlapping)({start:t.start,end:t.end},{start:e.start,end:e.end}))){n.push(e),t=!0;break}t||i.push([e])}),i.map(r=>{let i=[];return r.forEach(e=>{let t=!1;for(let n=0;n<i.length;n++)if(!i[n].some(t=>(0,_.areIntervalsOverlapping)({start:t.start,end:t.end},{start:e.start,end:e.end}))){i[n].push(e),t=!0;break}t||i.push([e])}),r.map(r=>{let a=i.findIndex(e=>e.includes(r));return(0,f.jsx)(U,{event:r,style:J(r,n,e,$?Z.length:t.length,de,a,i.length,L,k,$,F),onClick:s,onDoubleClick:c,onDelete:l,orientation:`vertical`,resizable:!0,isBlocked:r.isBlock,isPast:r.end<I,slotDuration:k,pixelsPerSlot:64},r.id)})})})})]})]})]})},X=({currentDate:t,daysInView:n,visibleEvents:r,onSlotClick:i,onSlotDoubleClick:a,onEventClick:s,moreEventsClick:c,dir:l})=>{let u=l===`rtl`,d=e=>r.filter(t=>(0,_.isSameDay)(t.start,e));return(0,f.jsx)(o.r,{children:(0,f.jsxs)(`div`,{className:`flex flex-col h-full w-full bg-background rounded-xl border border-border overflow-hidden shadow-sm`,children:[(0,f.jsx)(`div`,{className:`grid grid-cols-7 border-b border-border bg-muted/30`,children:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`].map((e,t)=>(0,f.jsx)(`div`,{className:`py-3 text-center text-xs font-semibold uppercase text-muted-foreground tracking-widest`,children:e},t))}),(0,f.jsx)(`div`,{className:`grid grid-cols-7 grid-rows-6 flex-1 min-h-0 bg-muted/20 gap-px`,children:n.map(n=>{let r=d(n).filter(e=>!e.isBlock),l=(0,_.isSameMonth)(n,t),p=(0,_.isSameDay)(n,new Date),m=r.slice(0,4),h=r.length-4,g=r.length;return(0,f.jsxs)(`div`,{onClick:()=>i?.(n),onDoubleClick:()=>a?.(n),className:e._(`relative flex flex-col p-2 transition-colors group bg-background focus-visible:z-10`,!l&&`bg-muted/5 text-muted-foreground/50`,l&&`hover:bg-muted/30`,`min-h-[100px]`),children:[(0,f.jsxs)(`div`,{className:e._(`flex items-center justify-between mb-1`),children:[(0,f.jsx)(`span`,{className:e._(`text-sm font-medium w-7 h-7 flex items-center justify-center rounded-full transition-all`,p?`bg-primary text-primary-foreground shadow-sm font-bold scale-110`:`text-foreground group-hover:bg-muted/50`,!l&&`text-muted-foreground opacity-50`),children:(0,_.format)(n,`d`)}),g>0&&(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground font-medium px-1.5 py-0.5 rounded-full bg-muted/50`,children:g})]}),(0,f.jsxs)(`div`,{className:`flex-1 flex flex-col gap-1.5 min-w-0`,children:[m.map(t=>(0,f.jsxs)(o.t,{delayDuration:300,children:[(0,f.jsx)(o.i,{asChild:!0,children:(0,f.jsxs)(`div`,{onClick:e=>{e.stopPropagation(),s?.(t)},className:e._(`group/event relative`,`flex items-center gap-2 px-2 py-1 rounded-md text-xs font-medium cursor-pointer transition-all shadow-sm hover:shadow-md border border-transparent hover:border-border/50 overflow-hidden bg-card hover:bg-accent/50`,!l&&`opacity-60 grayscale`),style:{[u?`borderRight`:`borderLeft`]:`3px solid ${t.color||`oklch(var(--primary))`}`},children:[(0,f.jsx)(`div`,{className:`flex-1 truncate leading-tight`,children:t.title}),t.start&&(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground/70 tabular-nums shrink-0`,children:(0,_.format)(t.start,`h:mm a`)})]})}),(0,f.jsx)(o.n,{className:`p-3 max-w-xs bg-popover/95 backdrop-blur-sm border-border/50 shadow-xl`,sideOffset:5,children:(0,f.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,f.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/50 pb-1.5`,children:[(0,f.jsx)(`div`,{className:`w-2 h-2 rounded-full shrink-0`,style:{backgroundColor:t.color||`oklch(var(--primary))`}}),(0,f.jsx)(`span`,{className:`font-semibold text-sm truncate`,children:t.title})]}),(0,f.jsxs)(`div`,{className:`text-xs text-muted-foreground space-y-0.5`,children:[(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,f.jsx)(`span`,{className:`font-medium text-foreground/80`,children:`Time:`}),(0,f.jsxs)(`span`,{children:[(0,_.format)(t.start,`MMM d, h:mm a`),` - `,(0,_.format)(t.end,`h:mm a`)]})]}),t.location&&(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,f.jsx)(`span`,{className:`font-medium text-foreground/80`,children:`Location:`}),(0,f.jsx)(`span`,{children:t.location})]}),t.description&&(0,f.jsx)(`div`,{className:`pt-1 mt-1 border-t border-border/30 text-muted-foreground/80 line-clamp-3`,children:t.description})]})]})})]},t.id)),h>0&&(0,f.jsxs)(`button`,{onClick:e=>{e.stopPropagation(),c?.({date:n})},className:`mt-auto self-start text-[10px] bg-muted/50 hover:bg-muted text-muted-foreground hover:text-foreground font-medium px-2 py-1 rounded-md transition-colors w-full text-left`,children:[`+`,h,` more`]})]})]},n.toISOString())})})]})})},te=({view:t,daysInView:r,visibleEvents:i,resources:a=[],onSlotClick:o,onSlotDoubleClick:s,onEventClick:c,onEventDelete:l,onRangeSelect:d,currentTimeIndicator:p,showResourceHeaders:m=!0,group:h,showUnassignedLane:g=!1,startHour:v=`00:00`,endHour:y=`24:00`,slotDuration:b=60,is24Hour:x=!1,scrollRef:C,dir:w})=>{let T=w===`rtl`,E=S(),D=v?parseInt(v.split(`:`)[0],10):0,O=y?parseInt(y.split(`:`)[0],10):24,k=O-D,[A,j]=(0,u.useState)(null),[M,N]=(0,u.useState)(!1),P=(0,u.useRef)(null),F=(0,u.useRef)(null),I=t===`timeline-month`,L=I?1440:b,R=60/L,z=I?1:k*R,B=r.length*z,V=I?120:80,H=B*V,U=(0,u.useMemo)(()=>{let e=a.length>0?[...a]:[];return(g||e.length===0)&&(e.find(e=>e.id===`unassigned`)||e.unshift({id:`unassigned`,name:`Unassigned`,type:`Global Inbox`,color:`hsl(var(--muted-foreground))`})),e},[a,g]),W=(0,u.useMemo)(()=>{if(!h||!h.resources||h.resources.length===0)return{isGrouped:!1,groups:[{name:`All`,resources:U}]};let e=h.resources[0],t=new Map;U.forEach(n=>{let r=n[e]||`Unassigned`;t.has(r)||t.set(r,[]),t.get(r)?.push(n)});let n=[];return t.forEach((e,t)=>{n.push({name:t,resources:e})}),{isGrouped:!0,groups:n}},[U,h]),G=(0,u.useMemo)(()=>W.groups.flatMap(e=>e.resources),[W]),K=e=>{if(I)return(0,_.startOfDay)(r[e]);let t=Math.floor(e/z),n=e%z;return(0,_.addMinutes)((0,_.startOfDay)(r[t]),D*60+n*L)},q=e=>{if(I){let t=r.findIndex(t=>(0,_.isSameDay)(t,(0,_.startOfDay)(e)));return t===-1?-1:t*V}let t=(0,_.startOfDay)(e),n=r.findIndex(e=>(0,_.isSameDay)(e,t));if(n===-1)return-1;let i=(0,_.differenceInMinutes)(e,t)-D*60;return(n*k*60+i)/L*V},J=(()=>{if(I){let e=(0,_.startOfDay)(r[0]),t=(0,_.startOfDay)(r[r.length-1]);return E<e||E>t?null:q(E)}let e=q(E),t=E.getHours();return e===-1||t<D||t>=O?null:e})(),ee=(0,u.useRef)(!1);(0,u.useEffect)(()=>{C?.current&&J!==null&&!ee.current&&setTimeout(()=>{C.current&&(T?C.current.scrollLeft=-J:C.current.scrollLeft=J,ee.current=!0)},50)},[C,J,t]);let Y=(e,t)=>{let n=K(e);if(i.some(e=>(e.isHoliday||e.isFullyBooked)&&(0,_.isSameDay)(e.start,n)))return;N(!0);let r={startSlot:e,endSlot:e,resourceId:t};j(r),P.current=r},X=e=>{if(!M||!P.current)return;let t={...P.current,endSlot:e};j(t),P.current=t};(0,u.useEffect)(()=>{let e=e=>{if(M&&P.current){let{startSlot:t,endSlot:n,resourceId:r}=P.current,a=Math.min(t,n),s=Math.max(t,n),c=K(a),l=K(s+1);i.some(e=>(e.isHoliday||e.isFullyBooked)&&(0,_.isSameDay)(e.start,c))||(d?.(c,l,r,{x:e.clientX,y:e.clientY}),o?.(c,r))}N(!1),j(null),P.current=null};return window.addEventListener(`mouseup`,e),()=>window.removeEventListener(`mouseup`,e)},[M,d,o,r]);let te=(e,t)=>{if(!A||A.resourceId!==t)return!1;let n=Math.min(A.startSlot,A.endSlot),r=Math.max(A.startSlot,A.endSlot);return e>=n&&e<=r},{resourceMap:ne,maxLevels:re}=(0,u.useMemo)(()=>{let e=new Map,t=new Map;return G.forEach(n=>{e.set(n.id,[]),t.set(n.id,1)}),i.forEach(t=>{let n=t.resourceId||`unassigned`,r=String(n);e.has(r)?e.get(r)?.push(t):e.has(`unassigned`)&&!n&&e.get(`unassigned`)?.push(t)}),e.forEach((n,r)=>{let i=[...n].sort((e,t)=>e.start.getTime()-t.start.getTime()),a=[],o=i.map(e=>{let t=0;for(;a[t]!==void 0&&a[t]>e.start.getTime()+3e5;)t++;return a[t]=e.end.getTime(),{...e,level:t}});e.set(r,o),t.set(r,a.length||1)}),{resourceMap:e,maxLevels:t}},[i,G]),Q=e=>{let t=q(e.start),n=q(e.end);if(t===-1&&n===-1)return{display:`none`};let r=Math.max(0,t),i=Math.max(0,(n===-1?H:Math.min(H,n))-r);if(i<=4)return{display:`none`};let a=20+e.level*46,o=e.color||`hsl(var(--primary))`;return{[T?`right`:`left`]:`${r}px`,width:`${Math.max(i,4)}px`,top:`${a}px`,height:`36px`,background:`linear-gradient(135deg, color-mix(in srgb, ${o} 20%, transparent), color-mix(in srgb, ${o} 10%, transparent))`,backdropFilter:`blur(4px)`,[T?`borderRight`:`borderLeft`]:`4px solid ${o}`,borderTop:`1px solid color-mix(in srgb, ${o} 30%, transparent)`,[T?`borderLeft`:`borderRight`]:`1px solid color-mix(in srgb, ${o} 30%, transparent)`,borderBottom:`1px solid color-mix(in srgb, ${o} 30%, transparent)`,color:`hsl(var(--foreground))`,borderRadius:`6px`,boxShadow:`0 2px 8px -2px rgba(0,0,0,0.1)`,display:`flex`,alignItems:`center`,fontSize:`12px`,fontWeight:`600`,paddingInlineStart:`12px`,paddingInlineEnd:`8px`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`,transition:`all 0.2s cubic-bezier(0.4, 0, 0.2, 1)`,zIndex:20+e.level,cursor:`pointer`}},ie=m?W.isGrouped?280:240:0;return(0,f.jsxs)(`div`,{className:`flex flex-col h-full w-full overflow-hidden border border-border/40 rounded-xl bg-background shadow-sm`,children:[(0,f.jsxs)(`div`,{className:`flex bg-background z-40 sticky top-0 border-b border-border/40 shadow-[0_1px_2px_rgba(0,0,0,0.03)] items-center`,children:[m&&W.isGrouped&&(0,f.jsx)(`div`,{className:e._(`w-[40px] shrink-0 border-e border-border/40 p-1 flex items-center justify-center bg-background select-none sticky z-50`,T?`right-0`:`left-0`),children:(0,f.jsx)(`div`,{className:`writing-mode-vertical rotate-180 font-bold text-[10px] uppercase tracking-widest text-muted-foreground/70`,children:`Group`})}),m&&(0,f.jsx)(`div`,{className:e._(`w-[240px] shrink-0 border-e border-border/40 px-6 py-4 font-bold text-[11px] uppercase tracking-widest flex items-center bg-background text-muted-foreground select-none sticky z-50`,W.isGrouped?T?`right-[40px]`:`left-[40px]`:T?`right-0`:`left-0`),children:`RESOURCES`}),(0,f.jsx)(`div`,{ref:F,className:`overflow-hidden flex-1 relative`,children:(0,f.jsx)(`div`,{className:`flex`,style:{width:H},children:r.map(t=>{let n=r.length===1,i=t.getDay()===0||t.getDay()===6;return I?(0,f.jsxs)(`div`,{className:e._(`flex shrink-0 border-e border-border/30 h-14 flex-col justify-center items-center transition-colors select-none`,i?`bg-muted/10`:`bg-transparent hover:bg-muted/5`),style:{width:V},children:[(0,f.jsx)(`span`,{className:e._(`text-[10px] font-bold uppercase mb-0.5 tracking-wider`,i?`text-muted-foreground`:`text-primary`),children:(0,_.format)(t,`EEE`)}),(0,f.jsx)(`span`,{className:e._(`text-xs font-semibold`,i?`text-muted-foreground/70`:`text-foreground/80`),children:(0,_.format)(t,`d`)})]},t.toISOString()):(0,f.jsx)(`div`,{className:`flex shrink-0 border-e border-border/40`,style:{width:H/r.length},children:Array.from({length:z}).map((r,i)=>{let a=i*L,o=D+Math.floor(a/60),s=a%60,c=new Date(new Date().setHours(o,s,0,0)),l=``;return l=x?(0,_.format)(c,`HH:mm`):L<60||s!==0?(0,_.format)(c,`h:mm a`):(0,_.format)(c,`ha`),(0,f.jsxs)(`div`,{className:`flex flex-col justify-end pb-2 border-e border-border/10 last:border-e-0 relative h-14`,style:{width:V},children:[!n&&i===0&&(0,f.jsx)(`div`,{className:e._(`absolute top-2 px-2 py-0.5 rounded text-[10px] font-bold text-foreground/80 bg-muted/50 border border-border/20 whitespace-nowrap`,T?`right-2`:`left-2`),children:(0,_.format)(t,`EEE, MMM d`)}),(0,f.jsx)(`span`,{className:`text-[11px] font-black text-foreground text-center px-1 select-none tabular-nums truncate`,children:l})]},i)})},t.toISOString())})})})]}),(0,f.jsx)(`div`,{ref:C,"data-testid":`scheduler-scroll-container`,className:`flex-1 overflow-auto relative custom-scrollbar bg-background`,onScroll:e=>{F.current&&(F.current.scrollLeft=e.currentTarget.scrollLeft)},children:(0,f.jsxs)(`div`,{className:`relative min-w-max`,style:{width:H+ie,minHeight:`100%`},children:[J!==null&&p!==!1&&(0,f.jsxs)(`div`,{className:`current-time-indicator z-50 pointer-events-none`,style:{[T?`right`:`left`]:`${J+ie}px`,height:`100%`},children:[(0,f.jsx)(`div`,{className:`absolute top-0 -translate-x-1/2 w-[2px] h-full bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.6)]`}),(0,f.jsx)(`div`,{className:`absolute top-0 -translate-x-1/2 -mt-1 w-2.5 h-2.5 rounded-full bg-red-500 shadow-md border-2 border-background`})]}),W.groups.map(t=>(0,f.jsxs)(`div`,{className:`flex border-b border-border/30 relative`,children:[m&&W.isGrouped&&(0,f.jsxs)(`div`,{className:e._(`w-[40px] shrink-0 sticky z-30 bg-background border-e border-border/40 flex items-center justify-center p-1`,T?`right-0`:`left-0`),style:{height:`auto`},children:[(0,f.jsx)(`div`,{className:`absolute inset-0 bg-background/80`}),(0,f.jsx)(`div`,{className:`relative writing-mode-vertical transform rotate-180 text-[10px] font-bold uppercase tracking-wide text-foreground/70 whitespace-nowrap py-2 overflow-hidden text-ellipsis max-h-full`,children:t.name})]}),(0,f.jsx)(`div`,{className:`flex flex-col w-full`,children:t.resources.map((t,a)=>{let o=(re.get(t.id)||1)*46+40;return(0,f.jsxs)(`div`,{className:e._(`flex border-b border-border/30 last:border-b-0 group/row hover:bg-muted/5 transition-colors`,(a%2,`bg-background`)),style:{height:`${o}px`},children:[(0,f.jsx)(`div`,{className:e._(`w-[240px] shrink-0 sticky z-30 bg-background/95 backdrop-blur border-e border-border/40 px-6 py-4 flex items-center gap-4 transition-all shadow-[1px_0_4px_rgba(0,0,0,0.02)]`,W.isGrouped?T?`right-[40px]`:`left-[40px]`:T?`right-0`:`left-0`,!m&&`hidden`),children:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(n.t,{className:`h-9 w-9 border border-border/60 shadow-sm`,children:[t.avatar&&(0,f.jsx)(n.r,{src:t.avatar,alt:t.name,className:`object-cover`}),(0,f.jsx)(n.n,{className:`text-xs font-bold bg-primary/5 text-primary`,children:t.name.charAt(0)})]}),(0,f.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,f.jsx)(`span`,{className:`text-[13px] font-semibold truncate text-foreground/90 tracking-tight leading-none mb-1.5`,children:t.name}),(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,f.jsx)(`span`,{className:e._(`w-1.5 h-1.5 rounded-full`,t.type===`Internal`?`bg-primary shadow-[0_0_6px_var(--primary)]/50`:`bg-success shadow-[0_0_6px_var(--success)]/50`)}),(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground font-medium uppercase tracking-wider`,children:t.type||`Available`})]})]})]})}),(0,f.jsx)(Z,{resource:t,totalSlots:B,slotWidth:V,totalWidth:H,slotToDate:K,onSlotMouseDown:Y,onSlotMouseEnter:X,onSlotDoubleClick:s,isSlotSelected:te,resourceMap:ne,getEventStyle:Q,onEventClick:c,onEventDelete:l,slotDuration:L,now:E,visibleEvents:i,slotsPerDay:z,daysInView:r,dir:w})]},t.id)})})]},t.name))]})})]})},Z=({resource:t,totalSlots:n,slotWidth:r,totalWidth:i,slotToDate:a,onSlotMouseDown:o,onSlotMouseEnter:s,onSlotDoubleClick:c,isSlotSelected:l,resourceMap:u,getEventStyle:d,onEventClick:p,onEventDelete:h,slotDuration:g,now:v,visibleEvents:y,slotsPerDay:b,daysInView:x,dir:S})=>{let C=S===`rtl`,{setNodeRef:w,isOver:T}=(0,m.useDroppable)({id:`row-${t.id}`,data:{kind:`timeline-row`,resourceId:t.id,slotWidth:r,totalSlots:n,slotDuration:g,isRtl:C}});return(0,f.jsxs)(`div`,{ref:w,className:e._(`relative flex-1 group/interactive`,T&&`bg-primary/5 shadow-inner`),style:{width:i},onMouseMove:e=>{let t=e.currentTarget.getBoundingClientRect(),i=e.clientX-t.left,a=Math.floor(C?(t.width-i)/r:i/r);a>=0&&a<n&&s(a)},onMouseDown:e=>{let i=e.currentTarget.getBoundingClientRect(),a=e.clientX-i.left,s=Math.floor(C?(i.width-a)/r:a/r);s>=0&&s<n&&o(s,t.id)},onDoubleClick:e=>{let i=e.currentTarget.getBoundingClientRect(),o=e.clientX-i.left,s=Math.floor(C?(i.width-o)/r:o/r);if(s>=0&&s<n){let e=a(s);y.some(t=>(t.isHoliday||t.isFullyBooked)&&(0,_.isSameDay)(t.start,e))||c?.(e,t.id)}},children:[(0,f.jsx)(`div`,{className:`absolute inset-0 pointer-events-none`,style:{backgroundImage:`repeating-linear-gradient(${C?`to left`:`to right`}, transparent, transparent ${r-1}px, hsl(var(--border) / 0.1) ${r-1}px, hsl(var(--border) / 0.1) ${r}px)`,backgroundSize:`${r}px 100%`}}),(0,f.jsx)(`div`,{className:`absolute inset-0 pointer-events-none flex`,children:x.map((t,n)=>{let i=y.find(e=>e.isHoliday&&(0,_.isSameDay)(e.start,t)),a=y.find(e=>e.isFullyBooked&&(0,_.isSameDay)(e.start,t));return!i&&!a?(0,f.jsx)(`div`,{style:{width:b*r}},n):(0,f.jsx)(`div`,{style:{width:b*r},className:e._(`h-full border-e border-border/10`,i&&`bg-[repeating-linear-gradient(-45deg,hsl(var(--destructive)/0.05)_0px,hsl(var(--destructive)/0.05)_10px,transparent_10px,transparent_20px)] bg-destructive/[0.02]`,a&&`bg-[repeating-linear-gradient(-45deg,theme(colors.amber.500/0.05)_0px,theme(colors.amber.500/0.05)_10px,transparent_10px,transparent_20px)] bg-amber-500/[0.02]`)},n)})}),(0,f.jsx)(ne,{totalSlots:n,resourceId:t.id,slotWidth:r,isSlotSelected:l,isRtl:C}),u.get(t.id)?.map(e=>(0,f.jsx)(U,{event:e,style:d(e),onClick:p,onDelete:h,orientation:`horizontal`,resizable:!0,isBlocked:e.isBlock,isPast:e.end<v,slotDuration:g,pixelsPerSlot:r},e.id))]})},ne=u.default.memo(({totalSlots:e,resourceId:t,slotWidth:n,isSlotSelected:r,isRtl:i})=>{let a=[],o=null;for(let n=0;n<e;n++)r(n,t)?o?o.length++:(o={start:n,length:1},a.push(o)):o=null;return(0,f.jsx)(f.Fragment,{children:a.map((e,t)=>(0,f.jsx)(`div`,{className:`absolute top-0 bottom-0 bg-primary/20 border-x border-primary/30 z-10 pointer-events-none`,style:{[i?`right`:`left`]:`${e.start*n}px`,width:`${e.length*n}px`}},t))})}),re=({daysInView:t,visibleEvents:n,onEventClick:r})=>(0,f.jsx)(`div`,{"data-testid":`scheduler-scroll-container`,className:`flex flex-col h-full w-full bg-background overflow-y-auto border border-border rounded-lg`,children:t.map(t=>{let i=n.filter(e=>(0,_.isSameDay)(e.start,t)).sort((e,t)=>e.start.getTime()-t.start.getTime());return(0,f.jsxs)(`div`,{className:`flex flex-col border-b border-border pb-2 last:border-b-0`,children:[(0,f.jsxs)(`div`,{className:e._(`flex items-center px-4 py-2 sticky top-0 bg-background/95 backdrop-blur z-10 border-b border-border`,(0,_.isSameDay)(t,new Date)&&`text-primary font-semibold`),children:[(0,f.jsxs)(`div`,{className:`flex flex-col items-center mr-4 w-12 shrink-0`,children:[(0,f.jsx)(`span`,{className:`text-[10px] uppercase font-bold text-muted-foreground`,children:(0,_.format)(t,`EEE`)}),(0,f.jsx)(`span`,{className:`text-xl font-bold leading-none`,children:(0,_.format)(t,`d`)})]}),(0,f.jsx)(`div`,{className:`text-sm font-medium text-muted-foreground`,children:(0,_.format)(t,`MMMM yyyy`)})]}),(0,f.jsx)(`div`,{className:`flex flex-col px-2 py-1 gap-2`,children:i.length===0?(0,f.jsx)(`div`,{className:`text-sm text-muted-foreground px-4 py-2 italic opacity-50`,children:`No events`}):i.map(t=>(0,f.jsx)(s.t,{contextId:`scheduler-event`,data:t,children:(0,f.jsxs)(`div`,{"data-testid":`scheduler-event-${t.id}`,className:e._(`flex items-center p-3 rounded-lg border bg-card text-card-foreground shadow-sm cursor-pointer hover:bg-muted/50 transition-colors`,t.color&&`border-l-4 border-l-[${t.color}]`),style:{borderLeftColor:t.color},onClick:()=>r?.(t),children:[(0,f.jsxs)(`div`,{className:`flex flex-col mr-4 min-w-[80px] shrink-0`,children:[(0,f.jsx)(`span`,{className:`text-sm font-bold`,children:(0,_.format)(t.start,`h:mm a`)}),(0,f.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:(0,_.format)(t.end,`h:mm a`)})]}),(0,f.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,f.jsx)(`div`,{className:`font-semibold truncate`,children:t.title}),t.description&&(0,f.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:t.description})]}),t.resourceId&&(0,f.jsx)(`div`,{className:`hidden sm:block ml-2 px-2 py-0.5 rounded-full bg-muted text-[10px] text-muted-foreground`,children:t.resourceId})]})},t.id))})]},t.toISOString())})});function Q({view:e,daysInView:t,visibleEvents:n,rowVirtualizer:r,resources:i,handleSlotDoubleClick:a,handleEventDoubleClick:o,handleEventDelete:s,parentRef:c,setView:l,setCurrentDate:u,props:d,handleRangeSelect:p,currentDate:m,showUnassignedLane:h,slotDuration:g,is24Hour:_,setIs24Hour:v,dir:y}){let b=x(`(max-width: 768px)`),S=typeof d.cell==`function`?d.cell:void 0;switch(b&&(e===`week`||e===`workweek`)?`agenda`:e){case`day`:case`week`:case`workweek`:return(0,f.jsx)(Y,{daysInView:t,visibleEvents:n,rowVirtualizer:r,resources:i,onSlotDoubleClick:a,onEventDoubleClick:o,onEventDelete:s,scrollRef:c,onViewChange:l,onDateChange:u,onRangeSelect:p,onSlotClick:(e,t)=>d.onCellClick?.(e,t),onEventClick:e=>d.onEventClick?.(e),showResourcesInDayView:d.showResourcesInDayView,showWeekNumber:d.showWeekNumber,weekRule:d.weekRule,cellTemplate:S,enableHtmlSanitizer:d.enableHtmlSanitizer,showUnassignedLane:h,startHour:d.startHour,endHour:d.endHour,slotDuration:g,is24Hour:_,setIs24Hour:v,group:d.group,onCellContextMenu:d.onCellContextMenu,dir:y});case`month`:return(0,f.jsx)(X,{currentDate:m,daysInView:t,visibleEvents:n,onSlotClick:e=>d.onCellClick?.(e),onSlotDoubleClick:e=>a(e),onEventClick:e=>d.onEventClick?.(e)||o(e),monthsCount:d.monthsCount,dir:y});case`timeline`:case`timeline-day`:case`timelineday`:case`timeline-week`:case`timelineweek`:case`timeline-month`:case`timelinemonth`:return(0,f.jsx)(te,{view:e,currentDate:m,daysInView:t,visibleEvents:n,resources:i,onSlotClick:(e,t)=>d.onCellClick?.(e,t),onSlotDoubleClick:a,onEventClick:e=>d.onEventClick?.(e)||o(e),onEventDelete:s,onRangeSelect:p,currentTimeIndicator:d.currentTimeIndicator,showResourceHeaders:d.showResourceHeaders,group:d.group,showUnassignedLane:d.showUnassignedLane,startHour:d.startHour,endHour:d.endHour,slotDuration:g,is24Hour:_,scrollRef:c,dir:y});case`agenda`:return(0,f.jsx)(re,{daysInView:t,visibleEvents:n,onEventClick:e=>d.onEventClick?.(e)||o(e)});default:return(0,f.jsxs)(`div`,{children:[`View `,e,` not implemented`]})}}var ie=u.default.lazy(()=>Promise.resolve().then(()=>require("./EzEventModal-BrCBSXBM.cjs")).then(e=>e.n).then(e=>({default:e.EzEventModal}))),ae=u.default.lazy(()=>Promise.resolve().then(()=>require("./EzSchedulerQuickAdd-BeNfGdWs.cjs")).then(e=>e.n).then(e=>({default:e.EzSchedulerQuickAdd}))),oe=u.default.lazy(()=>Promise.resolve().then(()=>require("./EzSchedulerToolbar-ihfe-5Yd.cjs")).then(e=>e.n).then(e=>({default:e.EzSchedulerToolbar}))),$=new g.QueryClient;function se({ref:e,...t}){return i.t(),(0,f.jsx)(g.QueryClientProvider,{client:$,children:(0,f.jsx)(ce,{...t,ref:e})})}function ce({ref:n,...i}){let a=I({...i,view:i.view||i.defaultView||`Week`,selectedDate:i.selectedDate??i.defaultSelectedDate}),{state:o,actions:s,services:c,refs:d,baseApi:p,dir:h}=a,{currentView:g,currentDate:v,viewEvents:y,daysInView:b,slotDuration:x,is24Hour:S}=o,{setView:C,setCurrentDate:w}=s,{rowVirtualizer:T,parentRef:E}=d,{schedulerService:D,serviceRegistry:O}=c,[k,A]=(0,u.useState)(null),{internalResources:j,setInternalResources:M}=R({resources:i.resources}),N=e=>{if(!e.start||!e.end)return{hasBlockOverlap:!1,hasRegularOverlap:!1,overlappingEvents:[]};let t=y.filter(t=>t.id===e.id||!(t.resourceId===e.resourceId||t.resourceIds?.some(t=>e.resourceId===t)||!t.resourceId&&!e.resourceId)?!1:(0,_.areIntervalsOverlapping)({start:t.start,end:t.end},{start:e.start,end:e.end}));return{hasBlockOverlap:t.some(e=>e.isBlock),hasRegularOverlap:t.length>0,overlappingEvents:t}},P=(e=`regular`)=>{let t=O.get(`NotificationService`);if(t){let n=``,r=`warning`;e===`block`?(n=`Cannot place event here: This time is blocked (e.g. Lunch Break).`,r=`error`):e===`past`?(n=`Cannot move or create events in the past.`,r=`error`):(n=`Warning: This event overlaps with an existing event.`,r=`warning`),t.add({type:r,message:n,duration:5e3})}},{sensors:F,handleDragEnd:V}=z({events:y,resources:j,slotDuration:x,onBeforeEventDrop:i.onBeforeEventDrop,onBeforeEventResize:i.onBeforeEventResize,onEventChange:e=>{if(!i.allowPastEvents&&e.start<new Date){P(`past`);return}let{hasBlockOverlap:t,hasRegularOverlap:n,overlappingEvents:r}=N(e);if(t){P(`block`);return}if(n){if(i.onEventOverlap){let t={event:e,existingEvents:r,cancel:!1};if(i.onEventOverlap(t),t.cancel)return}P(`regular`)}s.updateEvent(e)}}),W=(0,u.useCallback)(e=>{let t=e.active.data.current,n=t?.eventId||t?.id||e.active.id;A((t?.event||y.find(e=>e.id===n))??null)},[y]),G=(0,u.useCallback)(e=>{V(e),A(null)},[V]),K=(0,u.useCallback)(()=>{A(null)},[]),[q,J]=(0,u.useState)({isOpen:!1,mode:`create`}),[ee,Y]=(0,u.useState)(!1),[X,te]=(0,u.useState)(null),[Z,ne]=(0,u.useState)({x:0,y:0}),re=u.default.useMemo(()=>({...a.baseApi,onExportExcel:i.onExportExcel,onExportCSV:i.onExportCSV,onExportICS:i.onExportICS,get currentView(){return g},destroy:()=>{i.destroyed&&i.destroyed({})}}),[a.baseApi,g,i.destroyed,i.onExportExcel,i.onExportCSV,i.onExportICS]);L(g,v,D,y,{setEditorState:J,setResources:M,scrollToIndex:e=>{E.current&&(E.current.scrollTop=e*64)},forceUpdate:()=>{},showSpinner:p.showSpinner,hideSpinner:p.hideSpinner,closeQuickInfoPopup:()=>Y(!1),changeView:e=>C(e.toLowerCase()),next:s.nextPeriod,prev:s.prevPeriod,today:s.today},n,re,x);let $=(e,t)=>{i.onCellDoubleClick?i.onCellDoubleClick(e,t):J({isOpen:!0,mode:`create`,event:{start:e,end:(0,_.addMinutes)(e,x),resourceId:t,resourceIds:t?[t]:[]}})},se=e=>{i.onEventDoubleClick?i.onEventDoubleClick(e):J({isOpen:!0,mode:e.end<new Date?`view`:`edit`,event:e})},ce=(e,t)=>e===!1||t.cancel,le=async e=>{if(!i.allowPastEvents&&e.start&&e.start<new Date){P(`past`);return}let{hasBlockOverlap:t,hasRegularOverlap:n}=N(e);if(t){P(`block`);return}if(n&&P(`regular`),q.mode===`create`){let t={event:e,cancel:!1};if(ce(i.onBeforeEventCreate?.(t),t))return;await i.onEventCreate?.(e),s.addEvent(e)}else{let t=e.id?y.find(t=>t.id===e.id):void 0,n=e,r={event:n,originalEvent:t,proposedEvent:n,sourceResourceId:t?.resourceId,targetResourceId:n.resourceId,sourceTime:t?.start,targetTime:n.start,cancel:!1};if(ce(i.onBeforeEventChange?.(r),r))return;await i.onEventChange?.(n),s.updateEvent(n)}J(e=>({...e,isOpen:!1}))},[ue,de]=(0,u.useState)({isOpen:!1}),fe=async e=>{de({isOpen:!0,eventId:e})},pe=async()=>{let e=ue.eventId;if(!e)return;let t=y.find(t=>t.id===e);if(t){let n={eventId:e,event:t,cancel:!1};if(ce(i.onBeforeEventDelete?.(n),n))return;await i.onEventDelete?.(e),s.deleteEvent(e);let r=O.get(`NotificationService`);if(r){let e=(0,_.format)(t.start,`MMM d, yyyy h:mm a`);r.add({type:`success`,message:`Event "${t.title}" on ${e} has been cancelled.`,duration:5e3})}}de({isOpen:!1})},me=e=>{if(!i.allowPastEvents&&e.start&&e.start<new Date){P(`past`);return}let t={event:e,cancel:!1};ce(i.onBeforeEventCreate?.(t),t)||(s.addEvent(e),i.onEventCreate?.(e),Y(!1))};return(0,f.jsx)(r.t,{fallback:(0,f.jsx)(B,{}),children:(0,f.jsxs)(`div`,{className:e._(`ez-scheduler flex flex-col w-full h-full bg-background select-none overflow-hidden`,i.className),dir:h,children:[i.showHeaderBar!==!1&&(0,f.jsx)(u.default.Suspense,{fallback:(0,f.jsx)(`div`,{className:`h-12 w-full animate-pulse bg-muted/20 rounded-md mb-4`}),children:(()=>{let e=i.slots?.toolbar;return e?(0,f.jsx)(e,{view:g,setView:C,currentDate:v,next:s.nextPeriod,prev:s.prevPeriod,today:s.today,onAddClick:(0,u.useCallback)(()=>J({isOpen:!0,mode:`create`,event:{}}),[]),slotDuration:x,slotDurationOptions:i.slotDurationOptions,setSlotDuration:s.setSlotDuration,setCurrentDate:w,onPrev:s.prevPeriod,onNext:s.nextPeriod,onToday:s.today,currentView:g,onViewChange:e=>{let t=e.toLowerCase().replace(/[^a-z]/g,``);C({day:`day`,week:`week`,workweek:`workweek`,month:`month`,timelineday:`timeline-day`,timelineweek:`timeline-week`,timelineworkweek:`timeline-week`,timelinemonth:`timeline-month`,agenda:`agenda`,timeline:`timeline-day`}[t]||t)},views:i.views||[`Day`,`Week`,`Month`],onExportExcel:(0,u.useCallback)(()=>i.onExportExcel?.(y),[i.onExportExcel,y]),onExportCSV:(0,u.useCallback)(()=>i.onExportCSV?.(y),[i.onExportCSV,y]),onExportICS:(0,u.useCallback)(()=>i.onExportICS?.(y),[i.onExportICS,y]),dir:h,...i.slotProps?.toolbar}):(0,f.jsx)(oe,{view:g,setView:C,currentDate:v,next:s.nextPeriod,prev:s.prevPeriod,today:s.today,onAddClick:(0,u.useCallback)(()=>J({isOpen:!0,mode:`create`,event:{}}),[]),slotDuration:x,slotDurationOptions:i.slotDurationOptions,setSlotDuration:s.setSlotDuration,setCurrentDate:w,onPrev:s.prevPeriod,onNext:s.nextPeriod,onToday:s.today,currentView:g,onViewChange:e=>{let t=e.toLowerCase().replace(/[^a-z]/g,``);C({day:`day`,week:`week`,workweek:`workweek`,month:`month`,timelineday:`timeline-day`,timelineweek:`timeline-week`,timelineworkweek:`timeline-week`,timelinemonth:`timeline-month`,agenda:`agenda`,timeline:`timeline-day`}[t]||t)},views:i.views||[`Day`,`Week`,`Month`],onExportExcel:(0,u.useCallback)(()=>i.onExportExcel?.(y),[i.onExportExcel,y]),onExportCSV:(0,u.useCallback)(()=>i.onExportCSV?.(y),[i.onExportCSV,y]),onExportICS:(0,u.useCallback)(()=>i.onExportICS?.(y),[i.onExportICS,y]),dir:h})})()}),(0,f.jsxs)(m.DndContext,{sensors:F,onDragStart:W,onDragEnd:G,onDragCancel:K,collisionDetection:e=>{let t=(0,m.pointerWithin)(e);return t.length>0?t:(0,m.rectIntersection)(e)},autoScroll:{enabled:!0},children:[(0,f.jsxs)(`div`,{className:`flex-1 overflow-hidden relative flex flex-col`,children:[(0,f.jsx)(Q,{view:g,daysInView:b,visibleEvents:y,rowVirtualizer:T,resources:j,handleSlotDoubleClick:$,handleEventDoubleClick:se,handleEventDelete:fe,parentRef:E,setView:C,setCurrentDate:w,props:i,handleRangeSelect:(e,t,n,r)=>{i.showQuickInfoPopup&&(te({start:e,end:t,resourceId:n}),ne({x:r?.x||0,y:r?.y||0}),Y(!0))},currentDate:v,showUnassignedLane:i.showUnassignedLane,slotDuration:x,is24Hour:S,setIs24Hour:s.setIs24Hour,dir:h}),i.isLoading&&(0,f.jsx)(H,{})]}),(0,f.jsx)(m.DragOverlay,{dropAnimation:null,children:k?(0,f.jsx)(U,{event:k,dragOverlay:!0,orientation:g.toLowerCase().startsWith(`timeline`)?`horizontal`:`vertical`,showTime:!0,resizable:!1,style:{width:g.toLowerCase().startsWith(`timeline`)?180:220,minHeight:56}}):null}),(()=>{if(ee&&X){let e=i.slots?.quickAdd;return e?(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(e,{start:X.start,end:X.end,resourceId:X.resourceId,resources:j,onSave:me,onCancel:()=>Y(!1),onMoreOptions:e=>{Y(!1),J({isOpen:!0,mode:`create`,event:e})},position:Z,...i.slotProps?.quickAdd})}):(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(ae,{start:X.start,end:X.end,resourceId:X.resourceId,resources:j,onSave:me,onCancel:()=>Y(!1),onMoreOptions:e=>{Y(!1),J({isOpen:!0,mode:`create`,event:e})},position:Z})})}return null})(),(()=>{let e=i.slots?.eventModal;return e?(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(e,{isOpen:q.isOpen,onClose:()=>J(e=>({...e,isOpen:!1})),mode:q.mode,event:q.event,onSave:le,onDelete:fe,resources:j,locale:i.locale,slotDuration:x,timeOptions:i.timeOptions,editorTemplate:typeof i.editorTemplate==`function`?i.editorTemplate:void 0,headerTemplate:typeof i.editorHeaderTemplate==`function`?i.editorHeaderTemplate:void 0,footerTemplate:typeof i.editorFooterTemplate==`function`?i.editorFooterTemplate:void 0,headerFieldsTemplate:typeof i.editorHeaderFieldsTemplate==`function`?i.editorHeaderFieldsTemplate:void 0,hiddenFields:i.editorHiddenFields,...i.slotProps?.eventModal})}):(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(ie,{isOpen:q.isOpen,onClose:()=>J(e=>({...e,isOpen:!1})),mode:q.mode,event:q.event,onSave:le,onDelete:fe,resources:j,locale:i.locale,slotDuration:x,timeOptions:i.timeOptions,editorTemplate:typeof i.editorTemplate==`function`?i.editorTemplate:void 0,headerTemplate:typeof i.editorHeaderTemplate==`function`?i.editorHeaderTemplate:void 0,footerTemplate:typeof i.editorFooterTemplate==`function`?i.editorFooterTemplate:void 0,headerFieldsTemplate:typeof i.editorHeaderFieldsTemplate==`function`?i.editorHeaderFieldsTemplate:void 0,hiddenFields:i.editorHiddenFields})})})(),(0,f.jsx)(l.t,{isOpen:ue.isOpen,onClose:()=>de({isOpen:!1}),title:`Delete Event`,footer:(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(t.t,{variant:`ghost`,onClick:()=>de({isOpen:!1}),children:`Cancel`}),(0,f.jsx)(t.t,{variant:`destructive`,onClick:pe,children:`Delete`})]}),children:(0,f.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Are you sure you want to delete this event? This action cannot be undone.`})})]})]})})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return se}});
@@ -1,3 +0,0 @@
1
- const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./input-CYlvlbF7.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("./useImperativeAPI-VrgLwXEO.cjs"),c=require("./useServiceState-PyYQWxHi.cjs"),l=require("./popover-wZKNvYM5.cjs"),u=require("./tooltip-Qmzrg5u5.cjs"),d=require("./HighlightText-BViuwe03.cjs"),f=require("./select-sVieKbLu.cjs"),p=require("./checkbox-BrCh_Iid.cjs"),m=require("./EzContextMenu-BCUoEQp5.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("@dnd-kit/core"),x=require("@tanstack/react-store"),S=require("@tanstack/react-query"),C=require("@tanstack/react-table"),w=require("@radix-ui/react-switch");w=e.y(w,1);let T=require("@radix-ui/react-radio-group");T=e.y(T,1);let E=require("@tanstack/react-virtual"),D=require("cmdk");var O=e=>({sensors:(0,b.useSensors)((0,b.useSensor)(b.PointerSensor,{activationConstraint:{distance:e.distance??5}})),onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,collisionDetection:e.collisionDetection}),k=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 ee(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 te=(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(`_`)?!1: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(`_`)?!1: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])}},A=(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},j=(e,t={})=>{let{fontSize:n=`14px`,fontWeight:r=`600`,fontFamily:i=`Inter, sans-serif`,padding:a=32,hasIcons:o=!0}=t,s=A(e,`${r} ${n} ${i}`),c=o?70:0;return Math.ceil(s+a+c)},ne=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,j(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=A(o,`${a.fontWeight} ${a.fontSize} ${a.fontFamily}`);c=Math.max(c,l+32)}),t.setColumnSizing(e=>({...e,[n]:c}))},[t])}),M=e=>e?.kind===`group`,N=(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&&!d.n(i,t=>e.getValue(t)))},re=(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(M(n))return d.n(n,n=>e.getValue(n||t));if(`operator`in n)return d.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}},P=({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)}),F=({value:n,columnType:r,meta:i,className:a,align:o,table:s})=>{let c=n;if(n==null)return(0,v.jsx)(P,{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)(u.t,{children:[(0,v.jsx)(u.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)(u.n,{className:`max-w-[300px] p-3 break-words text-sm leading-relaxed`,children:a})]}),a.length>20&&(0,v.jsxs)(l.t,{children:[(0,v.jsx)(l.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)(l.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)(d.t,{text:c,highlight:t}))}let f=o||(r===`number`?`right`:`left`);return(0,v.jsx)(P,{value:n,align:f,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`,f===`right`&&`justify-end`,f===`center`&&`justify-center`,a),children:c})},I=({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()})},L={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`}]},ie=({columnType:e,value:t,valueTo:r,operator:i,onChange:a})=>{let o=L[e===`datetime`||e===`date`?`date`:e===`number`?`number`:`text`]||L.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)(f.t,{value:i,onValueChange:e=>a(t,e,r),children:[(0,v.jsx)(f.i,{className:`h-8`,children:(0,v.jsx)(f.a,{})}),(0,v.jsx)(f.n,{children:o.map(e=>(0,v.jsx)(f.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 R({className:t,ref:n,...r}){return(0,v.jsx)(w.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)(w.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 z=({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)(R,{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})]})},B=({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)(R,{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)(p.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})]})},V=({value:t,onChange:n,trueLabel:r=`Yes`,falseLabel:i=`No`,nullLabel:a=`N/A`,allLabel:o=`All`,className:s})=>(0,v.jsxs)(f.t,{value:t,onValueChange:n,children:[(0,v.jsx)(f.i,{className:e._(`w-full h-8`,s),children:(0,v.jsx)(f.a,{placeholder:`Filter...`})}),(0,v.jsxs)(f.n,{children:[(0,v.jsx)(f.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)(f.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)(f.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)(f.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})]})})]})]}),H=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(T.Root,{className:e._(`grid gap-2`,t),...n,ref:r}));H.displayName=T.Root.displayName;var U=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(T.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)(T.Indicator,{className:`flex items-center justify-center`,children:(0,v.jsx)(_.Circle,{className:`h-1.5 w-1.5 fill-white text-white`})})}));U.displayName=T.Item.displayName;var W=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}));W.displayName=D.Command.displayName;var G=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})]}));G.displayName=D.Command.Input.displayName;var K=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}));K.displayName=D.Command.List.displayName;var q=g.forwardRef((e,t)=>(0,v.jsx)(D.Command.Empty,{ref:t,className:`py-6 text-center text-sm text-muted-foreground`,...e}));q.displayName=D.Command.Empty.displayName;var J=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}));J.displayName=D.Command.Group.displayName;var ae=g.forwardRef(({className:t,...n},r)=>(0,v.jsx)(D.Command.Separator,{ref:r,className:e._(`-mx-1 h-px bg-border`,t),...n}));ae.displayName=D.Command.Separator.displayName;var oe=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}));oe.displayName=D.Command.Item.displayName;var se=({className:t,...n})=>(0,v.jsx)(`span`,{className:e._(`ms-auto text-xs tracking-widest text-muted-foreground`,t),...n});se.displayName=`CommandShortcut`;var ce=({value:n,onChange:r,options:i=[],placeholder:a=`Select option...`,className:o,onBlur:s})=>{let[c,u]=(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,E.useVirtualizer)({count:p.length,getScrollElement:()=>m,estimateSize:()=>35,overscan:5});return(0,v.jsxs)(l.t,{open:c,onOpenChange:u,children:[(0,v.jsx)(l.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)(l.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)(W,{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)(K,{ref:h,className:`max-h-[300px] overflow-y-auto`,style:{maxHeight:`300px`},children:[p.length===0&&(0,v.jsx)(q,{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)(oe,{value:i.value,onSelect:e=>{r(e===n?``:e),u(!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)})})]})]})})]})},le=({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)(d.t,{text:e.label,highlight:typeof i.getState().globalFilter==`string`?i.getState().globalFilter:i.getState().globalFilter?.quickSearch}):e.label]},`${e.value}-${t}`)})})},Y=({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),p=g.default.useRef(!1);return g.default.useEffect(()=>{l&&a===`dropdown`?p.current||=(d(!0),!0):(d(!1),p.current=!1)},[l,a]),a===`combobox`?(0,v.jsx)(`div`,{className:e._(`w-full`,s),children:(0,v.jsx)(ce,{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)(H,{value:t||``,onValueChange:n,children:i.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(U,{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)(f.t,{value:t,onValueChange:n,open:u,onOpenChange:d,children:[(0,v.jsx)(f.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)(f.a,{placeholder:c})}),(0,v.jsx)(f.n,{children:i.map(e=>(0,v.jsx)(f.r,{value:e.value,children:e.label},e.value))})]})})},ue=({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)(p.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))})})]})},de=({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),`%`]})]})},X=({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))]})},fe={renderers:{text:{Cell:F,Editor:I},number:{Cell:F,Editor:I},date:{Cell:F,Editor:I},datetime:{Cell:F,Editor:I},longtext:{Cell:F,Editor:I},boolean:{Cell:z,Editor:B},select:{Cell:le,Editor:Y},multiselect:{Cell:le,Editor:Y},progress:{Cell:de},sparkline:{Cell:X},chart:{Cell:e=>{let t=e.value;return Array.isArray(t)?g.default.createElement(X,{values:t,...e}):g.default.createElement(de,{value:t,...e})}}}},pe=(0,g.createContext)(fe),me=()=>(0,g.useContext)(pe),he=({getValue:e,row:t,column:n,table:r})=>{let{renderers:i}=me(),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):!0,d=r.options.meta?.isCellEditable?r.options.meta.isCellEditable(t.original,n.id):!0,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})},Z=(e,t)=>typeof e==`function`?e(t):e,ge=(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,w=!!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=t=>{E(n=>{let r=Z(t,n.sorting);return setTimeout(()=>{e.onSortingChange?.(r),e.onSort?.({columns:r.map(e=>({direction:e.desc?`Descending`:`Ascending`,name:e.id}))})},0),{...n,sorting:r}})},k=t=>{E(n=>{let r=Z(t,n.pagination);return setTimeout(()=>{e.onPaginationChange?.(r),e.onPageChange?.({action:`page`,currentPage:r.pageIndex+1})},0),{...n,pagination:r}})},ee=n=>{E(r=>{let i=Z(n,r.rowSelection),a=D.current,o=Object.keys(a).filter(e=>a[e]),s=Object.keys(i).filter(e=>i[e]),c=s.filter(e=>!o.includes(e)),l=o.filter(e=>!s.includes(e));return setTimeout(()=>{e.onRowSelectionChange?.(i),c.forEach(n=>{let r=parseInt(n);!isNaN(r)&&t[r]&&e.onRowSelect?.({data:t[r],rowIndex:r})}),l.forEach(n=>{let r=parseInt(n);!isNaN(r)&&t[r]&&e.onRowDeselect?.({data:t[r],rowIndex:r})})},0),D.current=i,{...r,rowSelection:i}})},te=e=>E(t=>({...t,columnFilters:Z(e,t.columnFilters)})),A=e=>E(t=>({...t,globalFilter:Z(e,t.globalFilter)})),j=e=>E(t=>({...t,columnSizing:Z(e,t.columnSizing)})),ne=e=>E(t=>({...t,grouping:Z(e,t.grouping)})),M=e=>E(t=>({...t,expanded:Z(e,t.expanded)})),P=e=>E(t=>({...t,rowPinning:Z(e,t.rowPinning)})),F=e=>E(t=>({...t,columnPinning:Z(e,t.columnPinning)})),I=e=>E(t=>({...t,columnVisibility:Z(e,t.columnVisibility)})),L=t=>{E(n=>{let r=Z(t,n.columnOrder);return setTimeout(()=>e.onColumnOrderChange?.(r),0),{...n,columnOrder:r}})},ie=(0,g.useRef)(e.onColumnFiltersChange),R=(0,g.useRef)(e.onGlobalFilterChange);return(0,g.useEffect)(()=>{ie.current=e.onColumnFiltersChange,R.current=e.onGlobalFilterChange}),(0,g.useEffect)(()=>{v&&T.columnFilters.length>=0&&ie.current?.(T.columnFilters)},[T.columnFilters,v]),(0,g.useEffect)(()=>{v&&R.current?.(T.globalFilter)},[T.globalFilter,v]),{table:(0,C.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:te,onGlobalFilterChange:A,onColumnSizingChange:j,onRowSelectionChange:ee,onPaginationChange:k,onGroupingChange:ne,onExpandedChange:M,onRowPinningChange:P,onColumnPinningChange:F,onColumnVisibilityChange:I,onColumnOrderChange:L,globalFilterFn:N,defaultColumn:{cell:he,filterFn:re},manualPagination:w||h,manualSorting:w||_,manualFiltering:w||v,enableRowSelection:l?!0:c,enableMultiRowSelection:l?l.type===`Multiple`:!0,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,C.getCoreRowModel)(),getSortedRowModel:(0,C.getSortedRowModel)(),getFilteredRowModel:(0,C.getFilteredRowModel)(),getPaginationRowModel:o?(0,C.getPaginationRowModel)():void 0,getGroupedRowModel:u?(0,C.getGroupedRowModel)():void 0,getExpandedRowModel:u||p?(0,C.getExpandedRowModel)():void 0,getFacetedUniqueValues:(0,C.getFacetedUniqueValues)(),getFacetedMinMaxValues:(0,C.getFacetedMinMaxValues)(),meta:{}}),states:{sorting:T.sorting,setSorting:O,columnFilters:T.columnFilters,setColumnFilters:te,globalFilter:T.globalFilter,setGlobalFilter:A,rowSelection:T.rowSelection,setRowSelection:ee,paginationState:T.pagination,setPaginationState:k,grouping:T.grouping,setGrouping:ne,expanded:T.expanded,setExpanded:M,rowPinning:T.rowPinning,setRowPinning:P,columnPinning:T.columnPinning,setColumnPinning:F,columnVisibility:T.columnVisibility,setColumnVisibility:I,columnOrder:T.columnOrder,setColumnOrder:L}}},_e=(e,t,n=`ltr`)=>{let{density:r=`standard`,rowHeight:i,estimatedRowHeight:a,rowSizingMode:o=`auto`,enableColumnVirtualization:s=!1}=e,{rows:c}=t.getRowModel(),l=(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]),u=(0,g.useMemo)(()=>{switch(r){case`compact`:return 40;case`comfortable`:return 56;default:return 48}},[r]),d=(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:f,rowVirtualizer:p,columnVirtualizer:h,scrollToIndex:_,scrollToRow:v,scrollToColumn:y}=m._({rowCount:c.length,rowHeight:l,overscanCount:e.overscanCount??30,columnCount:s?t.getVisibleLeafColumns().length:0,columnWidth:e=>t.getVisibleLeafColumns()[e].getSize(),enableColumnVirtualization:s,progressiveRendering:e.progressiveRendering??!1,prefetchDistance:e.prefetchDistance??10,adaptiveSizing:d,id:e.id,debug:!1,languageDirection:n,scrollPaddingStart:e.enableStickyHeader?e.scrollPaddingStart??u:e.scrollPaddingStart??0,scrollMargin:0});return{parentRef:f,rowVirtualizer:p,columnVirtualizer:h,scrollToIndex:_,scrollToRow:v,scrollToColumn:y,effectiveRowHeight:l,dynamicRowSizing:d}},ve=(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}},ye=(e,t)=>{let[n,r]=(0,g.useTransition)();return{isFiltering:n,handleColumnFiltersChange:(0,g.useCallback)(n=>{r(()=>{t.setColumnFilters(t=>{let r=typeof n==`function`?n(t):n;return setTimeout(()=>{e.onColumnFiltersChange?.(r);let t=r.map(e=>({id:e.id,field:e.id,operator:`contains`,value:e.value}));e.onFilter?.({columns:t})},0),r})})},[t,e.onColumnFiltersChange,e.onFilter]),handleGlobalFilterChange:(0,g.useCallback)(n=>{r(()=>{t.setGlobalFilter(t=>{let r=typeof n==`function`?n(t):n;return setTimeout(()=>{e.onGlobalFilterChange?.(r),typeof r==`string`&&e.onSearch?.(r)},0),r})})},[t,e.onGlobalFilterChange,e.onSearch]),setFilterModel:t.setColumnFilters,setGlobalFilter:t.setGlobalFilter}},be=(t,n,r,a,o,s={})=>{let c=e.n(),{rows:l}=n.getRowModel(),u=(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)}),u=h.i(a.scrollToIndex,e=>n.setPageIndex(e)),d=h.r(()=>t.onExportCSV?.(n),()=>t.onExportExcel?.(n),()=>{window.print()});return{...e,...i,getData:()=>r,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}),setTimeout(()=>{let t=e[s]||l;n.setRowSelection({[t]:!0});let i=r.findIndex(e=>e[s]===t);i!==-1&&(a.toggleRowEditing(i,!0),a.scrollToIndex(i))},100);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}),setTimeout(()=>{n.resetRowSelection(),n.setRowSelection({[l]:!0}),a.toggleRowEditing(0,!0),a.scrollToIndex(0)},50)},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(),...u,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]:[]},...d,...s}},[t,n,r,l,a,s]);return i.n(o,u),u},xe=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},[])},Se=[],Ce=(e,t,n={})=>{let{api:r,serviceRegistry:i}=o.n(e),a=(0,S.useQueryClient)(),{dataSource:s,data:l,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:C=!0,density:w=`standard`,dir:T}=e,E=c.t(`I18nService`),D=T===`auto`||!T?E?.dir||`ltr`:T,O=s||l||Se,{data:k,setData:ee,performEdit:A,addRow:j,deleteRows:M,undo:N,redo:re,canUndo:P,canRedo:F,changes:I,batchChanges:L,resetData:ie}=te(O,(0,g.useMemo)(()=>{let t=e.editSettings?.primaryKey;return t?Array.isArray(t)?t[0]:t:`id`},[e.editSettings?.primaryKey])),[R,z]=(0,g.useState)(void 0),B=(0,g.useMemo)(()=>e.service?e.service:e.serviceName?i.get(e.serviceName):null,[e.service,e.serviceName]),{table:V,states:H}=ge(e,k),U=V.getState().pagination,W=V.getState().sorting,G=V.getState().columnFilters,K=V.getState().globalFilter,q=(0,g.useMemo)(()=>[`table-data`,e.serviceName||`local`,U.pageIndex,U.pageSize,W,G,K],[e.serviceName,U,W,G,K]),{data:J,isLoading:ae,error:oe}=(0,S.useQuery)({queryKey:q,queryFn:async()=>{if(!B)return{data:O,totalCount:O.length};let{onDataChange:t,...n}=e;return await B.getData({...n,state:V.getState(),data:[],columns:[]})},enabled:!!B,placeholderData:{data:O,totalCount:O.length}}),se=J?.data||O,ce=J?.totalCount??O.length;(0,g.useEffect)(()=>{B&&se&&!I.added&&!I.edited&&!I.deleted&&ee(se)},[se,B,ee,I.added,I.edited,I.deleted]);let le=(0,S.useMutation)({mutationFn:e=>B.createRow(e),onSuccess:()=>a.invalidateQueries({queryKey:q})}),Y=(0,S.useMutation)({mutationFn:({id:e,updates:t})=>B.updateRow(e,t),onSuccess:()=>a.invalidateQueries({queryKey:q})}),ue=(0,S.useMutation)({mutationFn:e=>B.deleteRow(e),onSuccess:()=>a.invalidateQueries({queryKey:q})}),[de,X]=(0,g.useState)(!1),fe=ae||de,{isFiltering:pe,handleColumnFiltersChange:me,handleGlobalFilterChange:he,setFilterModel:Z,setGlobalFilter:Ce}=ye(e,V),{parentRef:we,rowVirtualizer:Te,columnVirtualizer:Ee,effectiveRowHeight:De,dynamicRowSizing:Oe}=_e(e,V,D),{rangeSelection:ke,onCellMouseDown:Ae,onCellMouseEnter:je,selectRowByRange:Me}=ve(e,V),[Ne,Q]=(0,g.useState)(null),Pe=(0,g.useCallback)((e,t)=>{Q(n=>{if(!n)return{r:0,c:0};let r=V.getRowModel().rows.length;return{r:Math.max(0,Math.min(r-1,n.r+e)),c:Math.max(0,Math.min(V.getVisibleLeafColumns().length-1,n.c+t))}})},[V]),[Fe,Ie]=(0,g.useState)({}),Le=(0,g.useCallback)((t,n)=>{let r=n===!0||n===void 0&&!Fe[t];r&&k[t]&&e.onRowEditStart?.({row:V.getRowModel().rows[t],data:k[t]}),Ie(i=>r&&(e.editSettings?.mode===`Normal`||!e.editSettings?.mode)?{[String(t)]:!0}:{...i,[t]:n===void 0?!i[t]:n}),r&&Q(e=>({r:t,c:e?.c??0}))},[k,Fe,e.onRowEditStart,e.editSettings?.mode,V]),Re=(0,g.useCallback)((e,t,n)=>{if(!m)return;let r=k[e];h&&!h(r)||_&&!_(r,t)||A(e,t,n)},[m,A,k,h,_]),{autoFitColumn:ze}=ne(V),Be=(0,g.useCallback)(async()=>{if(B)await a.invalidateQueries({queryKey:q});else if(d){X(!0);try{d(V.getState())}catch(e){p&&p(e)}finally{X(!1)}}V.reset(),u?.()},[d,V,u,p,B,a,q]);(0,g.useEffect)(()=>{oe&&p&&p(oe)},[oe,p]),(0,g.useEffect)(()=>{B&&ce!==void 0&&V.setOptions(e=>({...e,rowCount:ce}))},[ce,V,B]);let $=be(e,V,k,{refresh:Be,setData:ee,performEdit:A,showSpinner:()=>X(!0),hideSpinner:()=>X(!1),scrollToIndex:e=>Te.scrollToIndex(e,{align:`center`}),toggleRowEditing:Le,forceUpdate:()=>{X(e=>!e),setTimeout(()=>X(e=>!e),0)},resetData:ie,setPagerMessage:z,batchChanges:L,changes:I,addRow:j,deleteRows:M,setFocusedCell:Q,autoFitColumn:ze,addMutation:le,updateMutation:Y,deleteMutation:ue,service:B},t,n),Ve=(0,g.useMemo)(()=>({updateData:Re,editingRows:Fe,toggleRowEditing:Le,focusedCell:Ne,setFocusedCell:Q,navigateFocus:Pe,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:we}),[Re,Fe,Le,Ne,$.addRecord,$.deleteRecord,$.deleteRecords,e.enableEditing,e.editSettings,h,_,e.enableSearchHighlighting,e.selectionSettings,e.editSettings,e.classNames,e.icons,e.slots,e.slotProps,e.localization,we]);return V.options.meta=Ve,(0,g.useEffect)(()=>{f&&f(k)},[k,f]),xe({onRenderStart:e.onGridRenderStart,onRenderComplete:e.onGridRenderComplete}),(0,g.useMemo)(()=>({state:{...H,rows:V.getRowModel().rows,rangeSelection:ke,canUndo:P,canRedo:F,changes:I,batchChanges:L,density:w,isPending:pe||e.isLoading||fe,focusedCell:Ne,globalFilter:H.globalFilter,pagerMessage:R,internalLoading:de},actions:{undo:N,redo:re,resetData:ie,addRow:j,deleteRows:M,toggleRowEditing:Le,autoFitColumn:ze,onCellMouseDown:Ae,onCellMouseEnter:je,onRowClick:e.onRowClick,onRowDoubleClick:e.onRowDoubleClick,onCellFocus:e.onCellFocus,onToolbarItemClick:e.onToolbarItemClick,setFocusedCell:Q,setGlobalFilter:Ce,handleColumnFiltersChange:me,handleGlobalFilterChange:he,setFilterModel:Z,getData:()=>k,getPrimaryKeyFieldNames:()=>{let t=e.editSettings?.primaryKey;return t?Array.isArray(t)?t:[t]:[]}},refs:{parentRef:we,rowVirtualizer:Te,columnVirtualizer:Ee},config:{paginationEnabled:v,exportEnabled:y,enableStickyHeader:b,enableStickyPagination:x,enableChangeTracking:C,enableEditing:m,gridLines:e.gridLines,enableAltRow:e.enableAltRow,enableHover:e.enableHover,rowHeight:De,dynamicRowSizing:Oe,selectionSettings:e.selectionSettings,filterSettings:e.filterSettings,searchSettings:e.searchSettings,sortSettings:e.sortSettings,editSettings:e.editSettings},services:{},table:V,dir:D,baseApi:r,imperativeAPI:$}),[r,$,H,we,Te,Ee,V,D,v,y,ke,Ae,je,b,x,C,N,re,P,F,I,L,ie,j,M,Le,w,pe,e,k,me,he,Z,Ce,R,Ne,Q,de])};function we(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 Te=({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)},Ee=({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`)}},De=({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])},Oe=()=>(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`]})]})}),ke=e=>{switch(e){case`compact`:return`min-h-[40px]`;case`comfortable`:return`min-h-[56px]`;default:return`min-h-[48px]`}},Ae=e=>{switch(e){case`compact`:return`py-0 px-2`;case`comfortable`:return`py-4 px-4`;default:return`py-2 px-4`}},je=e=>{switch(e){case`compact`:return`text-[13px] leading-5`;case`comfortable`:return`text-base`;default:return`text-sm`}},Me=t=>e._(ke(t),Ae(t),je(t)),Ne=(e,t,n=`ltr`)=>e?{position:`sticky`,[n===`rtl`?e===`left`?`right`:`left`:e===`left`?`left`:`right`]:`${t}px`,zIndex:30}:{},Q=(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)]`)},Pe=(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`}},Fe=(t,n)=>e._(t&&`bg-primary/10 ring-1 ring-inset ring-primary/30 z-[1]`,n&&`bg-primary/10 z-[10]`),Ie=(e,t)=>{switch(e){case`wrap`:return`whitespace-normal break-words`;case`ellipsis`:return t?`overflow-hidden`:`truncate`;default:return`truncate`}},Le=(e,t,n=`ltr`)=>t||!e||e===`None`||e===`Horizontal`?``:n===`rtl`?`border-l border-border/50`:`border-r border-border/50`,Re={compact:`py-1 text-xs`,standard:`py-2 text-sm`,comfortable:`py-4 text-base`},ze=(e=`standard`)=>Re[e],Be=`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`},Ve=({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`,ze(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,C.flexRender)(t.column.columnDef.header,t.getContext())})]})})},He=(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`})]})});He.displayName=`EzTableStatusBar`;function Ue(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?!0:typeof e==`string`?!isNaN(Date.parse(e))&&e.length>5&&(e.includes(`-`)||e.includes(`/`)||e.includes(`:`)):!1))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 We(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 Ge=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)(p.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)`})]}));Ge.displayName=`SelectAllCheckbox`;var Ke=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)(V,{value:e.getFilterValue()||`all`,onChange:t=>{e.setFilterValue(t)},trueLabel:t?.booleanOptions?.trueLabel,falseLabel:t?.booleanOptions?.falseLabel,nullLabel:t?.booleanOptions?.nullLabel})]})});Ke.displayName=`BooleanFilterSection`;var qe=g.default.memo(({column:e,allAvailableValues:t})=>(0,v.jsx)(`div`,{className:`p-1`,children:(0,v.jsx)(ue,{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)}})}));qe.displayName=`SelectFilterSection`;var Je=g.default.memo(({sortedUniqueValues:e,selectedValues:t,handleSelect:n,formatter:r})=>{let i=(0,g.useRef)(null),a=(0,E.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)(p.t,{checked:o,onCheckedChange:e=>n(a,e===!0)}),(0,v.jsx)(`span`,{className:`flex-1 truncate`,children:s})]},i.key)})})})});Je.displayName=`VirtualizedFilterList`;var Ye=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`})]})]}));Ye.displayName=`FilterActionButtons`;function Xe({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?!0:n>0?`indeterminate`:!1}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)(p.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)(Xe,{node:e,selectedValues:t,onBulkSelect:n},e.key))})]})}function Ze({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)(Xe,{node:e,selectedValues:t,onBulkSelect:n},e.key))]})}var Qe=g.default.memo(({value:e,onChange:t,options:n,placeholder:r,className:i})=>(0,v.jsxs)(f.t,{value:e,onValueChange:e=>t(e),children:[(0,v.jsx)(f.i,{className:i,children:(0,v.jsx)(f.a,{placeholder:r})}),(0,v.jsx)(f.n,{children:n.map(e=>(0,v.jsx)(f.r,{value:e.value,children:e.label},e.value))})]}));Qe.displayName=`FilterRuleSelect`;var $e={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`}]},et=({columnType:e,columnId:t,value:i,onChange:a})=>{let o=$e[e===`datetime`||e===`date`?`date`:e===`number`?`number`:`text`]||$e.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)(Qe,{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)(H,{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)(U,{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)(U,{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)(Qe,{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 tt({column:t,table:n}){let[r,i]=(0,g.useState)(!1),a=n.options.meta?.containerRef;return(0,v.jsxs)(l.t,{open:r,onOpenChange:i,children:[(0,v.jsx)(l.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)(l.n,{className:`w-[280px] p-0`,align:`start`,container:a?.current,collisionBoundary:a?.current,children:r&&(0,v.jsx)(at,{column:t,table:n,setIsOpen:i,filterValue:t.getFilterValue()})})]})}var nt=[`date`,`datetime`],rt=[`boolean`],it=[`select`],at=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}=We(o,b),k=(0,g.useMemo)(()=>{let e=r.columnDef.meta;return e?.columnType?e.columnType:b.length===0?`text`:Ue(b)},[r.columnDef.meta,b]),ee=nt.includes(k),te=rt.includes(k),A=it.includes(k),j=(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]),ne=()=>{if(s===`filters`){a(!1);return}let e;e=w===null?d?j:void 0:Array.from(w),r.setFilterValue(e?.length===0?void 0:e),a(!1)},M=()=>{r.setFilterValue(void 0),a(!1),O(),u(``)},N=o,re=N&&typeof N==`object`&&!Array.isArray(N),P=e=>{r.setFilterValue(e)},F=(0,g.useMemo)(()=>w===null?!0:j.length>0&&j.every(e=>w.has(e)),[w,j]),I=(0,g.useMemo)(()=>w===null?j.length>0:j.some(e=>w.has(e)),[w,j]);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)(et,{columnType:k,columnId:r.id,value:re?N:void 0,onChange:P})}),(0,v.jsx)(Ye,{onClear:M,onApply:ne,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`]})]}),!te&&!A&&(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:te?(0,v.jsx)(Ke,{column:r}):A?(0,v.jsx)(qe,{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)(Ge,{checked:F,indeterminate:I&&!F,onSelectAll:e=>{d?D(j,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)(Ze,{uniqueValues:h,selectedValues:w,onBulkSelect:D})}):(0,v.jsx)(Je,{sortedUniqueValues:j,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)(Ye,{onClear:M,onApply:ne})]})})});at.displayName=`FilterContent`;function ot({header:e,children:t}){let n=e.column,r=n.getIsPinned(),i=n.getCanGroup(),a=n.getIsGrouped();return(0,v.jsxs)(m.n,{children:[(0,v.jsx)(m.g,{asChild:!0,children:t}),(0,v.jsxs)(m.i,{className:`w-48`,children:[i&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(m.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)(m.d,{})]}),(0,v.jsxs)(m.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)(m.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)(m.d,{}),(0,v.jsxs)(m.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 st=(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,b.useDraggable)({id:t.column.id,disabled:u,data:{type:`column`,columnId:t.column.id}}),{setNodeRef:h,isOver:y}=(0,b.useDroppable)({id:`header-${t.column.id}`,disabled:u,data:{type:`header`,columnId:t.column.id}}),x=t.column.getIsPinned(),S=(0,g.useMemo)(()=>{if(!x)return{};let e=x===`right`?t.column.getAfter(`right`):t.column.getStart(`left`),n=t.getContext().table.options.meta;return Ne(x,e,n?.dir)},[x,t.column,i]),w=g.default.useRef(0),T=(0,g.useCallback)(e=>{let n=Date.now();n-w.current<300&&r?.(t.column.id),w.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`,ze(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`,Q(x),(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,C.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)(tt,{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)(ot,{header:t,children:k}):k});st.displayName=`EzDraggableHeader`;var ct=g.default.memo(lt);function lt({table:t,enableStickyHeader:n,classNames:r,density:i,autoFitColumn:a,slots:o}){return(0,v.jsx)(`div`,{className:e._(Be,`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)(st,{header:e,density:i,onAutoFit:a,columnPinning:t.getState().columnPinning},e.id))},n.id))})}var ut=(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});ut.displayName=`EzTableOverlays`;var dt=({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)(u.r,{children:(0,v.jsxs)(u.t,{delayDuration:300,open:r,children:[(0,v.jsx)(u.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)(u.n,{children:(0,v.jsx)(`p`,{className:`max-w-sm break-words`,children:t||e})})]})})},ft=(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,...Ne(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,C.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,C.flexRender)(t.column.columnDef.aggregatedCell??t.column.columnDef.cell,t.getContext())}):t.getIsPlaceholder()?null:(0,C.flexRender)(t.column.columnDef.cell,t.getContext())}),w=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`,Me(s),Fe(a,o),Pe(t.column.columnDef.meta?.align,f?.dir),Ie(t.column.columnDef.meta?.wrapText?`wrap`:w===`ellipsis-tooltip`?`ellipsis`:`truncate`,w===`ellipsis-tooltip`),Q(i,f?.dir),!o&&Le(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?w===`ellipsis-tooltip`?(0,v.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,v.jsx)(dt,{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})})})]})});ft.displayName=`EzTableCell`;var pt=(0,g.memo)(({virtualRow:t,row:n,table:r,density:i,enableContextMenu:a,onContextMenuItemClick:o,isCellSelected:s,onCellMouseDown:c,onCellMouseEnter:l,onCellClick:u,onCellDoubleClick:d,focusedCell:f,renderDetailPanel:p,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)(m.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`,Me(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)(ft,{cell:a,virtualRowIndex:t.index,cellIndex:e.index,density:i,isPinned:a.column.getIsPinned(),isSelected:s(t.index,e.index),isFocused:f?.r===t.index&&f?.c===e.index,onCellMouseDown:(e,t,n)=>c(e,t,n),onCellMouseEnter:l,onCellClick:u,onCellDoubleClick:d,tableMeta:r.options.meta,rowDepth:n.depth,renderDetailPanel:p,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()&&p&&(0,v.jsx)(`div`,{className:`w-full bg-muted/30 border-t border-border`,children:p({row:n})})]})})});pt.displayName=`EzTableRow`;function mt({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)(ut,{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||pt,{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 ht=({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)(f.t,{value:`${r}`,onValueChange:e=>s(Number(e)),children:[(0,v.jsx)(f.i,{className:`h-8 w-[70px] bg-muted/20 border-border`,children:(0,v.jsx)(f.a,{placeholder:r.toString()})}),(0,v.jsx)(f.n,{children:[10,20,30,40,50,100].map(e=>(0,v.jsx)(f.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 gt({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)(ht,{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 _t=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()]),vt=(e=[])=>new y.Store({data:e,globalFilter:``,columnFilters:[],sorting:[],pagination:{pageIndex:0,pageSize:10},rowSelection:{},columnVisibility:{},isPending:!1}),yt=(0,g.createContext)(null),bt=(0,g.createContext)(null),xt=({data:e,children:t})=>{let n=(0,g.useMemo)(()=>vt(e),[]);return g.default.useEffect(()=>{n.setState(t=>({...t,data:e}))},[e,n]),(0,v.jsx)(yt.Provider,{value:n,children:t})},St=e=>{let t=(0,g.useContext)(yt);if(!t)throw Error(`EzTable components must be wrapped in <EzTable.Root>`);return(0,x.useStore)(t,e)},Ct=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzGroupingPanel-BwWDWEuW.cjs")).then(e=>({default:e.EzGroupingPanel}))),wt=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableEditDialog-BXnnYSSy.cjs")).then(e=>({default:e.EzTableEditDialog}))),Tt=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableToolbar-DwuumvWP.cjs")).then(e=>e.n).then(e=>({default:e.EzTableToolbar}))),Et=g.default.lazy(()=>Promise.resolve().then(()=>require("./EzTableFooter-CtexeDAC.cjs")).then(e=>e.n).then(e=>({default:e.EzTableFooter}))),Dt=({ref:t,...n})=>{let r=e.n(),a=Ce(n),o=(0,g.useRef)(null);Te({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:c,rangeSelection:l,canUndo:d,canRedo:f,changes:p,batchChanges:m,density:h,isPending:_,focusedCell:y,globalFilter:x,pagerMessage:S},actions:{undo:C,redo:w,resetData:T,toggleRowEditing:E,autoFitColumn:D,onCellMouseDown:te,onCellMouseEnter:A,setGlobalFilter:j,handleGlobalFilterChange:ne,getData:M,onRowClick:N,onRowDoubleClick:re},refs:{parentRef:P,rowVirtualizer:F,columnVirtualizer:I},config:{enableStickyHeader:L,enableChangeTracking:ie,enableEditing:R,editSettings:z,dynamicRowSizing:B},table:V,dir:H,imperativeAPI:{addRecord:U,updateRecord:W}}=a,{validate:G,validateForm:K}=k({validateField:n.validateField?({fieldName:e,value:t,data:r})=>n.validateField?.({field:e,value:t,row:r,table:V})??!0:void 0,editSettings:z}),[q,J]=g.default.useState(!1);(0,g.useEffect)(()=>{if(p.added+p.edited+p.deleted>0&&R){let e=e=>(e.preventDefault(),e.returnValue=``,``);return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)}},[p,R]),(0,g.useEffect)(()=>{n.onDataChange&&n.onDataChange(p)},[p,n.onDataChange]);let{onRowClick:ae,onRowDoubleClick:oe,onCellClick:se,onCellDoubleClick:ce}=Ee({table:V,editSettings:z,toggleRowEditing:E,onRowClickProp:N,onRowDoubleClickProp:re}),le=_t(V),Y=ee({initialMode:`view`});De({dialogState:Y,isDialogMode:z?.mode===`Dialog`,rows:c,table:V});let ue=(0,g.useCallback)(e=>{Y.mode===`create`?U(e):(W(Y.meta.index,e),E(Y.meta.index,!1)),Y.close()},[Y,U,W,E]),de=(0,g.useCallback)(()=>{z?.mode===`Dialog`?Y.open(`create`,{}):U({})},[z?.mode,U]),X=(0,g.useCallback)(()=>{if(n.onBatchSave){let e=[...m.addedRecords,...m.changedRecords],t=V.getVisibleLeafColumns().map(e=>e.id).filter(e=>e!==`select`&&e!==`actions`);for(let n of e)if(!K(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),V.options.meta?.toggleRowEditing){let e=V.options.meta.editingRows||{};Object.keys(e).forEach(e=>{V.options.meta?.toggleRowEditing?.(parseInt(e),!1)})}}},[n.onBatchSave,m,T,V.options.meta,K,V]),fe=(0,g.useCallback)(()=>{if(n.onBatchDiscard&&n.onBatchDiscard(),T(),J(!1),V.options.meta?.toggleRowEditing){let e=V.options.meta.editingRows||{};Object.keys(e).forEach(e=>{V.options.meta?.toggleRowEditing?.(parseInt(e),!1)})}},[n.onBatchDiscard,T,V.options.meta]),pe=g.default.useMemo(()=>({...a.imperativeAPI,...a.baseApi,validateField:e=>{let t={};if(z?.mode===`Dialog`&&Y.isOpen)t=Y.data;else{let e=V.options.meta?.editingRows||{},n=Object.keys(e).find(t=>e[t]);if(n){let e=parseInt(n),r=M();r&&r[e]&&(t=r[e])}}let{isValid:n}=G(e,t[e],t);return n},validateEditForm:()=>{let e=V.getVisibleLeafColumns(),t=!0;return e.forEach(e=>{let n=e.id,r={};if(z?.mode===`Dialog`&&Y.isOpen)r=Y.data;else{let e=V.options.meta?.editingRows||{},t=Object.keys(e).find(t=>e[t]);t&&M()[parseInt(t)]&&(r=M()[parseInt(t)])}let{isValid:i}=G(n,r[n],r);i||(t=!1)}),t}}),[a,M,z,Y,V,G]);V.options.meta={...V.options.meta,...n,validate:G,validationAttempted:q},s.t(t,pe);let[me,he]=g.default.useState(null),{handleDragEnd:Z,handleKeyDown:ge,handleDragStart:_e}=we({onDragStart:e=>{he(e.active.id)},onDragEnd:e=>{he(null);let{active:t,over:r}=e;if(!r)return;let i=t.id,a=[...V.getState().grouping];if(r.id===`grouping-panel`)!a.includes(i)&&n.enableGrouping&&V.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=V.getState().columnOrder.length>0?V.getState().columnOrder:V.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),V.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),V.setGrouping(t)}}}},onKeyDown:e=>{let t=V.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}=O({onDragStart:_e,onDragEnd:Z,collisionDetection:b.pointerWithin,distance:5});return(0,v.jsx)(i.t,{fallback:(0,v.jsx)(Oe,{}),children:(0,v.jsx)(u.r,{children:(0,v.jsx)(b.DndContext,{sensors:ye,onDragEnd:be,onDragStart:xe,collisionDetection:b.pointerWithin,children:(0,v.jsxs)(`div`,{className:e._(Be,`w-full min-h-0 gap-3 h-full`,n.className,n.classNames?.root),dir:H,children:[n.enableGrouping&&(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(Ct,{grouping:V.getState().grouping,onGroupingChange:V.setGrouping,columns:V.getAllColumns()})}),n.slots?.toolbar?(0,v.jsx)(n.slots.toolbar,{table:V,globalFilter:x,setGlobalFilter:j,isPending:_,columns:V.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)(Tt,{globalFilter:x,setGlobalFilter:ne,enableAdvancedFiltering:n.enableAdvancedFiltering,enableExport:n.enableExport,onExportExcel:n.onExportExcel?()=>n.onExportExcel(V):void 0,onExportCSV:n.onExportCSV?()=>n.onExportCSV(V):void 0,onExportPDF:n.onExportPDF?()=>n.onExportPDF(V):void 0,enableChangeTracking:ie,canUndo:d,canRedo:f,undo:C,redo:w,columns:V.getAllColumns(),isPending:_,onAdd:z?.allowAdding?de:void 0,onSave:X,onDiscard:fe,enableEditing:R,enableHiding:n.enableHiding,changes:p,table:V})}),(0,v.jsx)(`div`,{ref:e=>{P.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:H,onScroll:e=>{if(n.enableInfiniteScroll){let{scrollTop:t,scrollHeight:r,clientHeight:i}=e.currentTarget;r-t-i<50&&V.getCanNextPage()&&!n.isLoading&&V.nextPage()}},role:`table`,style:{overflowAnchor:`none`,scrollBehavior:n.scrollBehavior??`smooth`,position:`relative`,minHeight:`0`,WebkitOverflowScrolling:`touch`},onKeyDown:ge,children:(0,v.jsxs)(`div`,{className:`flex flex-col w-full min-w-max`,role:`presentation`,style:{...le,minHeight:`100%`},children:[(0,v.jsx)(ct,{table:V,enableStickyHeader:L,classNames:n.classNames,density:h,autoFitColumn:D,slots:n.slots,columnPinning:V.getState().columnPinning,columnSizing:V.getState().columnSizing,sorting:V.getState().sorting,grouping:V.getState().grouping,columnVisibility:V.getState().columnVisibility,columnOrder:V.getState().columnOrder}),(0,v.jsx)(mt,{table:V,rows:c,rowVirtualizer:F,columnVirtualizer:I,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:te,onCellMouseEnter:A,onCellClick:se,onCellDoubleClick:ce,renderDetailPanel:n.renderDetailPanel,dynamicRowSizing:B,onRowClick:ae,onRowDoubleClick:oe}),n.slots?.footer?(0,v.jsx)(n.slots.footer,{table:V,...n.slotProps?.footer||{}}):(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(Et,{table:V,columnVirtualizer:I,density:h})})]})}),n.pagination&&(0,v.jsx)(gt,{table:V,pagerMessage:S,enableStickyPagination:n.enableStickyPagination,classNames:n.classNames,localization:n.localization,changes:p}),n.enableStatusBar===!0&&(0,v.jsx)(He,{table:V,totalRows:V.options.rowCount??V.getPrePaginationRowModel().rows.length,selectionInfo:p.added+p.edited+p.deleted>0?`${p.added+p.edited+p.deleted} pending changes`:void 0,rowSelection:V.getState().rowSelection}),z?.mode===`Dialog`&&(0,v.jsx)(g.default.Suspense,{fallback:null,children:(0,v.jsx)(wt,{open:Y.isOpen,onClose:()=>{Y.close(),Y.mode!==`create`&&Y.meta.index!==void 0&&E(Y.meta.index,!1)},onSave:ue,columns:V.getAllColumns(),initialData:Y.data,isNew:Y.mode===`create`,onFormRender:n.onFormRender})}),(0,v.jsx)(b.DragOverlay,{dropAnimation:null,children:me?(0,v.jsx)(Ve,{header:V.getFlatHeaders().find(e=>e.id===me)||V.getLeafHeaders().find(e=>e.id===me),density:h}):null})]})})})})},Ot=Dt,kt=new S.QueryClient;function At({ref:e,...t}){return o.t(),(0,v.jsx)(S.QueryClientProvider,{client:kt,children:(0,v.jsx)(Dt,{...t,ref:e})})}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return ae}});
@@ -1 +0,0 @@
1
- const e=require("./button-BBMwzUtG.cjs"),t=require("./input-CYlvlbF7.cjs"),n=require("./label-BGgvoZWD.cjs");let r=require("react"),i=require("react/jsx-runtime");var a=({open:a,onClose:o,onSave:s,columns:c,initialData:l,isNew:u,onFormRender:d})=>{let[f,p]=(0,r.useState)({});if((0,r.useEffect)(()=>{a&&(p(l||{}),d?.({form:{data:l||{},columns:c},mode:u?`Add`:`Edit`}))},[a,l,c,u,d]),!a)return null;let m=()=>{s(f),o()},h=(e,t)=>{p(n=>({...n,[e]:t}))},g=c.filter(e=>e.accessorKey&&e.meta?.isEditable!==!1&&e.id!==`actions`&&e.id!==`select`);return(0,i.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm animate-in fade-in-0`,children:(0,i.jsxs)(`div`,{className:`bg-background w-full max-w-lg rounded-lg border shadow-lg p-6 space-y-6 animate-in zoom-in-95 slide-in-from-bottom-2`,role:`dialog`,"aria-modal":`true`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col space-y-1.5 text-center sm:text-left`,children:[(0,i.jsx)(`h2`,{className:`text-lg font-semibold leading-none tracking-tight`,children:u?`Add New Record`:`Edit Record`}),(0,i.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:u?`Enter details for the new record.`:`Make changes to the record below.`})]}),(0,i.jsx)(`div`,{className:`grid gap-4 py-4 max-h-[60vh] overflow-y-auto pr-2`,children:g.map(e=>{let r=e.accessorKey,a=f[r]??``;return(0,i.jsxs)(`div`,{className:`grid grid-cols-4 items-center gap-4`,children:[(0,i.jsx)(n.t,{htmlFor:r,className:`text-right`,children:typeof e.header==`string`?e.header:r}),(0,i.jsx)(t.t,{id:r,value:a,onChange:e=>h(r,e.target.value),className:`col-span-3`})]},r)})}),(0,i.jsxs)(`div`,{className:`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,children:[(0,i.jsx)(e.t,{variant:`outline`,onClick:o,children:`Cancel`}),(0,i.jsx)(e.t,{onClick:m,children:`Save Changes`})]})]})})};exports.EzTableEditDialog=a;
@@ -1,84 +0,0 @@
1
- import { t as e } from "./button-CYyNwV8S.js";
2
- import { t } from "./input-Cj3sQK3M.js";
3
- import { t as n } from "./label-DWEV--5W.js";
4
- import { useEffect as r, useState as i } from "react";
5
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
- //#region src/components/EzTable/EzTableEditDialog.tsx
7
- var s = ({ open: s, onClose: c, onSave: l, columns: u, initialData: d, isNew: f, onFormRender: p }) => {
8
- let [m, h] = i({});
9
- if (r(() => {
10
- s && (h(d || {}), p?.({
11
- form: {
12
- data: d || {},
13
- columns: u
14
- },
15
- mode: f ? "Add" : "Edit"
16
- }));
17
- }, [
18
- s,
19
- d,
20
- u,
21
- f,
22
- p
23
- ]), !s) return null;
24
- let g = () => {
25
- l(m), c();
26
- }, _ = (e, t) => {
27
- h((n) => ({
28
- ...n,
29
- [e]: t
30
- }));
31
- }, v = u.filter((e) => e.accessorKey && e.meta?.isEditable !== !1 && e.id !== "actions" && e.id !== "select");
32
- return /* @__PURE__ */ a("div", {
33
- className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm animate-in fade-in-0",
34
- children: /* @__PURE__ */ o("div", {
35
- className: "bg-background w-full max-w-lg rounded-lg border shadow-lg p-6 space-y-6 animate-in zoom-in-95 slide-in-from-bottom-2",
36
- role: "dialog",
37
- "aria-modal": "true",
38
- children: [
39
- /* @__PURE__ */ o("div", {
40
- className: "flex flex-col space-y-1.5 text-center sm:text-left",
41
- children: [/* @__PURE__ */ a("h2", {
42
- className: "text-lg font-semibold leading-none tracking-tight",
43
- children: f ? "Add New Record" : "Edit Record"
44
- }), /* @__PURE__ */ a("p", {
45
- className: "text-sm text-muted-foreground",
46
- children: f ? "Enter details for the new record." : "Make changes to the record below."
47
- })]
48
- }),
49
- /* @__PURE__ */ a("div", {
50
- className: "grid gap-4 py-4 max-h-[60vh] overflow-y-auto pr-2",
51
- children: v.map((e) => {
52
- let r = e.accessorKey, i = m[r] ?? "";
53
- return /* @__PURE__ */ o("div", {
54
- className: "grid grid-cols-4 items-center gap-4",
55
- children: [/* @__PURE__ */ a(n, {
56
- htmlFor: r,
57
- className: "text-right",
58
- children: typeof e.header == "string" ? e.header : r
59
- }), /* @__PURE__ */ a(t, {
60
- id: r,
61
- value: i,
62
- onChange: (e) => _(r, e.target.value),
63
- className: "col-span-3"
64
- })]
65
- }, r);
66
- })
67
- }),
68
- /* @__PURE__ */ o("div", {
69
- className: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
70
- children: [/* @__PURE__ */ a(e, {
71
- variant: "outline",
72
- onClick: c,
73
- children: "Cancel"
74
- }), /* @__PURE__ */ a(e, {
75
- onClick: g,
76
- children: "Save Changes"
77
- })]
78
- })
79
- ]
80
- })
81
- });
82
- };
83
- //#endregion
84
- export { s as EzTableEditDialog };
@@ -1 +0,0 @@
1
- const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./EzErrorBoundary-d_2g-_EK.cjs"),n=require("./useService-CyF782jv.cjs"),r=require("./useComponentState-Wcz6pjd6.cjs"),i=require("./useInitCoreServices-DlALVDNx.cjs"),a=require("./useServiceState-PyYQWxHi.cjs"),o=require("./HighlightText-BViuwe03.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs");let c=require("react");c=e.y(c,1);let l=require("lucide-react"),u=require("react/jsx-runtime"),d=require("@dnd-kit/core"),f=require("@dnd-kit/utilities"),p=require("@dnd-kit/sortable");var m=class{name=`HierarchyService`;nodeMap=new Map;constructor(){}registerNode(e){this.nodeMap.set(e.id,e)}unregisterNode(e){this.nodeMap.delete(e)}getParent(e){let t=this.nodeMap.get(e);if(t&&t.parentId)return this.nodeMap.get(t.parentId)}getChildren(e){let t=this.nodeMap.get(e);return t&&t.children?t.children.map(e=>this.nodeMap.get(e)).filter(e=>!!e):[]}getDescendants(e){let t=[],n=[...this.nodeMap.get(e)?.children||[]];for(;n.length>0;){let e=n.pop();t.push(e);let r=this.nodeMap.get(e);r?.children&&n.push(...r.children)}return t}getAncestors(e){let t=[],n=this.nodeMap.get(e)?.parentId;for(;n;)t.push(n),n=this.nodeMap.get(n)?.parentId;return t}getNode(e){return this.nodeMap.get(e)}cleanup(){this.nodeMap.clear()}},h=(e,t)=>t?{id:t.id?e[t.id]:e.id,label:t.text?e[t.text]:e.label,children:t.children?e[t.children]:e.children,icon:t.icon?e[t.icon]:e.icon,...e}:e,g=(e,t)=>!t||t===`None`?e:[...e].sort((e,n)=>{let r=e.label.localeCompare(n.label);return t===`Ascending`?r:-r}).map(e=>({...e,children:e.children?g(e.children,t):void 0})),_=o.i,v=o.a,y=e=>{let{data:t,fields:n,sortOrder:i,onDataSourceChanged:a,onDataBound:o}=e,{state:s,setState:l}=r.t({initialState:{internalTreeData:t,loadingNodes:new Set}}),u=(0,c.useRef)(!1),d=(0,c.useCallback)(e=>{l(t=>({...t,internalTreeData:typeof e==`function`?e(t.internalTreeData):e}))},[l]),f=(0,c.useCallback)(e=>{l(t=>({...t,loadingNodes:typeof e==`function`?e(t.loadingNodes):e}))},[l]),{internalTreeData:p,loadingNodes:m}=s,_=(0,c.useMemo)(()=>{let e=p;if(n){let t=e=>e.map(e=>{let r=h(e,n);return r.children&&=t(r.children),r});e=t(e)}return i&&(e=g(e,i)),e},[p,n,i]),y=(0,c.useRef)(t);return(0,c.useEffect)(()=>{y.current!==t&&(d(t),a?.(),y.current=t)},[t,a]),(0,c.useEffect)(()=>{u.current&&o?.()},[_,o]),(0,c.useEffect)(()=>(u.current=!0,()=>{u.current=!1}),[]),{treeData:_,setInternalTreeData:d,loadingNodes:m,setLoadingNodes:f,updateNode:(0,c.useCallback)((e,t)=>{d(n=>v(n,e,t))},[d])}},b=(e,t,n,r,i)=>{let{expandedNodes:a,onNodeExpanding:o,onNodeExpanded:s,onNodeCollapsing:l,onNodeCollapsed:u,onNodeExpand:d,onLoadChildren:f,onActionFailure:p}=e,[m,h]=(0,c.useState)(new Set),g=a?new Set(a):m;return{expandedNodes:g,setInternalExpandedNodes:h,toggleExpand:(0,c.useCallback)(async e=>{let c=g.has(e),m=!c;if(m){if(o?.(e)===!1)return}else if(l?.(e)===!1)return;if(m&&(f||i)){let a=_(t,e);if(a&&!a.isLoaded&&!a.isLeaf){r(t=>new Set(t).add(e));try{n(e,{children:i?await i.loadNodes(e):await f(e),isLoaded:!0})}catch(e){p?.(e);return}finally{r(t=>{let n=new Set(t);return n.delete(e),n})}}}let v=new Set(g);c?v.delete(e):v.add(e),a||h(v),d?.(e,m),m?s?.(e):u?.(e)},[g,t,f,d,a,o,l,s,u,p,n,r,i])}},x=(e,t,n)=>{let{selectedNodes:r,checkedNodes:i,selectionMode:a=`single`,onSelectionChange:o,onCheckedChange:s,onNodeSelecting:l,onNodeSelected:u,onNodeChecking:d,onNodeChecked:f,autoCheck:p=!0}=e,[m,h]=(0,c.useState)(new Set),g=r?new Set(r):m,[_,v]=(0,c.useState)(new Set),y=i?new Set(i):_,[b,x]=(0,c.useState)(new Set),S=(0,c.useCallback)(e=>{if(l?.(e)===!1)return;let t=new Set(a===`multiple`?g:[]);t.has(e)?t.delete(e):t.add(e),r||h(t),o?.(Array.from(t)),u?.(e)},[g,a,o,r,l,u]),C=(0,c.useCallback)((e,n)=>{let r=new Set(y),a=new Set(b),o=t.getDescendants(e),c=t.getAncestors(e);n?(r.add(e),a.delete(e),p&&o.forEach(e=>{r.add(e),a.delete(e)})):(r.delete(e),a.delete(e),p&&o.forEach(e=>{r.delete(e),a.delete(e)})),p&&c.forEach(e=>{let n=t.getChildren(e),i=n.every(e=>r.has(e.id)),o=n.every(e=>!r.has(e.id)&&!a.has(e.id));i?(r.add(e),a.delete(e)):o?(r.delete(e),a.delete(e)):(r.delete(e),a.add(e))}),x(a),i||v(r),s?.(Array.from(r)),f?.(e,n)},[y,b,t,s,p,i,f]),w=(0,c.useCallback)(e=>{let t=y.has(e);d?.(e,!t)!==!1&&C(e,!t)},[y,C,d]);return(0,c.useEffect)(()=>{if(!p||!t||!n.length)return;let e=new Set,r=new Set(y),a=t=>{if(!(t.children&&t.children.length>0))return{isChecked:r.has(t.id),isIndeterminate:!1};let n=t.children.map(e=>a(e)),i=n.every(e=>!e.isChecked&&!e.isIndeterminate);return n.every(e=>e.isChecked&&!e.isIndeterminate)?(r.add(t.id),{isChecked:!0,isIndeterminate:!1}):i?(r.delete(t.id),{isChecked:!1,isIndeterminate:!1}):(r.delete(t.id),e.add(t.id),{isChecked:!1,isIndeterminate:!0})};n.forEach(e=>a(e)),Array.from(b).sort().join(`,`)!==Array.from(e).sort().join(`,`)&&x(e),Array.from(y).sort().join(`,`)!==Array.from(r).sort().join(`,`)&&(i||v(r),s?.(Array.from(r)))},[y,t,p,n,i,s,v]),{selectedNodes:g,setInternalSelectedNodes:h,toggleSelect:S,checkedNodes:y,setInternalCheckedNodes:v,indeterminateNodes:b,setIndeterminateNodes:x,toggleCheck:w,updateCheckState:C}},S=(e,t,n=``)=>{let r=n.toLowerCase(),i=(0,c.useMemo)(()=>{if(!r)return null;let t=new Map,n=e=>{if(t.has(e.id))return t.get(e.id);let i=(e.label||``).toLowerCase().includes(r),a=!1;if(e.children)for(let t of e.children)n(t).matches&&(a=!0);let o={matches:i||a,hasChildMatch:a};return t.set(e.id,o),o};return e.forEach(e=>n(e)),t},[e,r]);return{flattenedNodes:(0,c.useMemo)(()=>{let n=[],r=(e,a=0)=>{e.forEach(e=>{let o=i?i.get(e.id):void 0;if((i?o?.matches:!0)===!1)return;n.push({node:e,level:a});let s=i&&o?.hasChildMatch;(t.has(e.id)||s)&&e.children&&r(e.children,a+1)})};return r(e),n},[e,t,i])}},C=(n,r,i,a,o,s,l,u,d,f,p,m,h,g,y={})=>{let b=e.n(),{expandedNodes:x,checkedNodes:S,selectedNodes:C,onNodeExpand:w,onCheckedChange:T,onSelectionChange:E,onNodeEditing:D}=n;t.n(g,(0,c.useMemo)(()=>{let e={expandAll:()=>{let e=Array.from(m.nodeMap.keys());x?w?.(e[0],!0):o(new Set(e))},collapseAll:()=>{x?w?.(``,!1):o(new Set)},checkAll:()=>{let e=Array.from(m.nodeMap.keys());S?T?.(e):(l(new Set(e)),d(new Set))},uncheckAll:()=>{S?T?.([]):(l(new Set),d(new Set))},selectNode:e=>{C?E?.([e]):u(new Set([e]))},expandNode:(e,t=!0)=>{x?w?.(e,t):o(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})},checkNode:(e,t=!0)=>f(e,t),getFlattenedNodes:()=>p,addNodes:(e,t,n)=>{if(!t)i(t=>{let r=[...t];return n===void 0?r.push(...e):r.splice(n,0,...e),r});else{let r=i=>i.map(i=>{if(i.id===t){let t=[...i.children||[]];return n===void 0?t.push(...e):t.splice(n,0,...e),{...i,children:t}}return i.children?{...i,children:r(i.children)}:i});i(e=>r(e))}b.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Node(s) Added`,duration:2e3})},removeNodes:e=>{let t=new Set(e),n=e=>e.filter(e=>!t.has(e.id)).map(e=>({...e,children:e.children?n(e.children):void 0}));i(e=>n(e)),b.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Node(s) Removed`,duration:2e3})},updateNode:(e,t)=>{i(n=>v(n,e,t)),b.get(`NotificationService`)?.show({type:`success`,message:`Node Updated Successfully`,duration:2e3})},moveNodes:(e,t,n)=>{let a=[],o=new Set(e),s=e=>e.filter(e=>o.has(e.id)?(a.push(e),!1):!0).map(e=>({...e,children:e.children?s(e.children):void 0})),c=s(r),l=e=>e.map(e=>{if(e.id===t){let t=[...e.children||[]];return n===void 0?t.push(...a):t.splice(n,0,...a),{...e,children:t}}return e.children?{...e,children:l(e.children)}:e});i(l(c)),b.get(`NotificationService`)?.show({type:`success`,message:`Nodes Moved Successfully`,duration:2e3})},getNode:e=>_(r,e),getTreeData:()=>r,ensureVisible:e=>{let t=m.getAncestors(e);x?(t.forEach(e=>w?.(e,!0)),w?.(e,!0)):o(n=>{let r=new Set(n);return t.forEach(e=>r.add(e)),r.add(e),r})},beginEdit:e=>{_(r,e)&&D?.(e)!==!1&&h(e)},disableNodes:(e,t=!0)=>{e.forEach(e=>{i(n=>v(n,e,{disabled:t}))})},enableNodes:e=>{e.forEach(e=>{i(t=>v(t,e,{disabled:!1}))})},getAllCheckedNodes:()=>Array.from(s),getDisabledNodes:()=>{let e=[],t=n=>{n.forEach(n=>{n.disabled&&e.push(n.id),n.children&&t(n.children)})};return t(r),e}};return{...y,...e}},[m,r,a,s,x,S,C,w,T,E,D,i,o,l,u,d,f,p,h,y]))},w=t=>{let r=e.n(),o=a.t(`I18nService`)?.dir||`ltr`,{serviceRegistry:s,api:l}=i.n(t),{dir:u,apiRef:d,searchTerm:f}=t,p=u===`auto`||!u?o:u,{treeData:h,setInternalTreeData:g,loadingNodes:_,setLoadingNodes:v,updateNode:w}=y(t),T=(0,c.useMemo)(()=>t.service?t.service:t.serviceName?r.get(t.serviceName):null,[t.service,t.serviceName]);(0,c.useEffect)(()=>{T&&T.loadNodes().then(e=>{g(e)})},[T,g]);let E=n.t(`HierarchyService`,()=>new m,s||r),D=(0,c.useCallback)((e,t=0,n)=>{e.forEach(e=>{let r={id:e.id,level:t,parentId:n,children:e.children?.map(e=>e.id)};E.registerNode(r),e.children&&D(e.children,t+1,e.id)})},[E]);(0,c.useEffect)(()=>{E&&(E.cleanup(),D(h))},[h,E,D]);let{selectedNodes:O,setInternalSelectedNodes:k,toggleSelect:A,checkedNodes:j,setInternalCheckedNodes:M,indeterminateNodes:N,setIndeterminateNodes:P,toggleCheck:F,updateCheckState:I}=x(t,E,h),{expandedNodes:L,setInternalExpandedNodes:R,toggleExpand:z}=b(t,h,w,v,T),{flattenedNodes:B}=S(h,L,f),[V,H]=(0,c.useState)(null),U=(0,c.useCallback)((e,n)=>{w(e,{label:n}),t.onNodeRename?.(e,n)},[w,t.onNodeRename]);return C(t,h,g,L,R,j,M,k,P,I,B,E,H,d,l),{state:{treeData:h,expandedNodes:L,selectedNodes:O,checkedNodes:j,indeterminateNodes:N,loadingNodes:_,flattenedNodes:B,editingNodeId:V},actions:{toggleExpand:z,toggleSelect:A,toggleCheck:F,handleNodeRename:U,setEditingNodeId:H},config:{allowTextWrap:t.allowTextWrap,animation:t.animation,checkOnClick:t.checkOnClick,fullRowSelect:t.fullRowSelect,fullRowNavigable:t.fullRowNavigable,onKeyPress:t.onKeyPress,onNodeClicked:t.onNodeClicked,onDrawNode:t.onDrawNode},dir:p,baseApi:l}},T=()=>(0,u.jsx)(`div`,{className:`flex flex-col items-center justify-center min-h-screen p-4`,children:(0,u.jsxs)(`div`,{className:`flex flex-col items-center gap-4 max-w-md w-full`,children:[(0,u.jsx)(`div`,{className:`flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10`,children:(0,u.jsx)(l.AlertTriangle,{className:`w-8 h-8 text-destructive`})}),(0,u.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,u.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Tree View Error`}),(0,u.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Something went wrong with the tree view. Please refresh the page or try again.`})]}),(0,u.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,u.jsx)(l.RefreshCw,{className:`w-4 h-4`}),`Refresh Page`]})]})}),E=(0,c.memo)(({node:t,level:n,isExpanded:r,isSelected:i,isChecked:a,isIndeterminate:d,isLoading:m,onToggleExpand:h,onToggleSelect:g,onToggleCheck:_,onRename:v,showCheckboxes:y,allowEditing:b,searchTerm:x,style:S,onKeyDown:C,tabIndex:w,autoFocus:T,slots:E,slotProps:D,allowTextWrap:O,animation:k,checkOnClick:A,fullRowSelect:j,fullRowNavigable:M,onNodeClicked:N,onDrawNode:P,isEditing:F,onEditingChange:I,dir:L})=>{let[R,z]=(0,c.useState)(!1),[B,V]=(0,c.useState)(t.label);(0,c.useEffect)(()=>{F!==void 0&&F!==R&&(z(F),F&&V(t.label))},[F,R,t.label]),(0,c.useEffect)(()=>{P?.(t)},[t,P]);let{setNodeRef:H,transform:U,isDragging:W,attributes:G,listeners:K,transition:q}=(0,p.useSortable)({id:t.id,data:{node:t,type:`tree-item`,level:n}}),J=(0,c.useRef)(null),Y=e=>{H(e),J.current=e};(0,c.useEffect)(()=>{T&&J.current&&!R&&J.current.focus({preventScroll:!0})},[T,R]);let ee=()=>{b&&(z(!0),V(t.label),I?.(!0))},te=e=>{e.key===`Enter`?(v(t.id,B),z(!1),I?.(!1)):e.key===`Escape`&&(V(t.label),z(!1),I?.(!1))},X=t.children&&t.children.length>0||t.children&&!t.isLeaf||!t.isLoaded&&!t.isLeaf,ne=n*20+(X?0:20),re={...S,transform:f.CSS.Translate.toString(U)?`${S.transform||``} ${f.CSS.Translate.toString(U)}`:S.transform,transition:q||S.transition,opacity:W?.3:1,zIndex:W?999:`auto`},Z=E?.node,Q=E?.expandIcon,$=E?.checkbox,ie=()=>m?(0,u.jsx)(l.Loader2,{className:`w-3.5 h-3.5 animate-spin`}):X?Q?(0,u.jsx)(Q,{isExpanded:r,isLoading:m,...D?.expandIcon}):r?(0,u.jsx)(l.ChevronDown,{className:`w-4 h-4`}):(0,u.jsx)(l.ChevronRight,{className:`w-4 h-4`}):null,ae=()=>y?$?(0,u.jsx)($,{checked:a,indeterminate:d,onChange:()=>_(t.id),...D?.checkbox}):(0,u.jsxs)(`div`,{"data-testid":`tree-checkbox-${t.id}`,onClick:e=>{e.stopPropagation(),_(t.id)},className:e._(`w-4 h-4 me-2 flex items-center justify-center rounded border-2 transition-all cursor-pointer`,a?`bg-primary border-primary text-primary-foreground`:d?`bg-background border-primary shadow-[0_0_0_1px_inset_rgba(var(--primary),0.1)]`:`bg-background border-slate-500 dark:border-slate-400 hover:border-primary/50`),children:[a&&(0,u.jsx)(l.Check,{className:`w-3.5 h-3.5 stroke-[3]`}),d&&(0,u.jsx)(`div`,{className:`w-2.5 h-0.5 bg-primary rounded-full`})]}):null;return(0,u.jsx)(s.t,{contextId:`tree-node`,data:t,onAction:e=>{e===`edit`&&b&&(z(!0),V(t.label))},children:(0,u.jsx)(`div`,{ref:Y,...G,...K,role:`treeitem`,"data-testid":`tree-item-${t.id}`,"aria-expanded":X?r:void 0,"aria-selected":i,tabIndex:w,onKeyDown:e=>{b&&e.key===`F2`&&(e.stopPropagation(),z(!0),V(t.label)),K?.onKeyDown&&K.onKeyDown(e),C(e,t.id)},onClick:()=>{g(t.id),N?.(t.id),A&&y&&_(t.id)},className:e._(`flex items-center py-1.5 px-2 cursor-pointer hover:bg-muted/50 rounded-md w-full group outline-none focus:ring-1 focus:ring-primary/30 select-none`,i?`bg-primary/10 text-primary`:`text-foreground`,W?`bg-primary/5`:``,k?`transition-all duration-200`:``),style:{...re,paddingInlineStart:`${ne}px`},children:Z?(0,u.jsx)(Z,{node:t,level:n,isExpanded:r,isSelected:i,isChecked:a,isIndeterminate:d,onToggleExpand:()=>h(t.id),onToggleSelect:()=>g(t.id),onToggleCheck:()=>_(t.id),...D?.node||{}}):(0,u.jsxs)(u.Fragment,{children:[X||m?(0,u.jsx)(`button`,{"data-testid":`expand-button`,onClick:e=>{e.stopPropagation(),h(t.id)},onPointerDown:e=>e.stopPropagation(),className:`w-5 h-5 flex items-center justify-center me-1 text-muted-foreground hover:text-foreground hover:bg-muted rounded focus:outline-none transition-colors`,tabIndex:-1,children:ie()}):null,ae(),t.icon&&(0,u.jsx)(`span`,{className:`me-2 flex-shrink-0 text-muted-foreground group-hover:text-foreground transition-colors`,children:t.icon}),R?(0,u.jsx)(`input`,{"data-testid":`tree-item-edit-input`,autoFocus:!0,value:B,onChange:e=>V(e.target.value),onKeyDown:te,onBlur:()=>z(!1),onClick:e=>e.stopPropagation(),className:`flex-1 bg-background border border-primary rounded px-1 text-sm outline-none`}):(0,u.jsx)(`span`,{className:`text-base font-semibold flex-1 ${O?`whitespace-normal`:`truncate`}`,onDoubleClick:e=>{e.stopPropagation(),ee()},children:(0,u.jsx)(o.t,{text:t.label,highlight:x})})]})})})});E.displayName=`EzTreeViewItem`;var D=(0,c.memo)(({items:t,expandedNodes:n,selectedNodes:r,checkedNodes:i,indeterminateNodes:a,loadingNodes:o,onToggleExpand:l,onToggleSelect:d,onToggleCheck:f,onNodeRename:m,className:h,dir:g,showCheckboxes:_,allowEditing:v,searchTerm:y,slots:b,slotProps:x,allowTextWrap:S,animation:C,checkOnClick:w,fullRowSelect:T,fullRowNavigable:D,onKeyPress:O,onNodeClicked:k,onDrawNode:A,editingNodeId:j,setEditingNodeId:M})=>{let{rowVirtualizer:N,parentRef:P,getVirtualItems:F}=s._({rowCount:t.length,rowHeight:32,overscanCount:10,progressiveRendering:!0}),[I,L]=(0,c.useState)(0),R=(0,c.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t.node.id,n)),e},[t]),z=(0,c.useCallback)((e,r,i)=>{let a=g===`rtl`,o=a?`ArrowLeft`:`ArrowRight`,s=a?`ArrowRight`:`ArrowLeft`;if(e.key===`ArrowDown`){e.preventDefault();let n=Math.min(t.length-1,r+1);L(n),N.scrollToIndex(n)}else if(e.key===`ArrowUp`){e.preventDefault();let t=Math.max(0,r-1);L(t),N.scrollToIndex(t)}else if(e.key===o)e.preventDefault(),(i.children?.length||i.children&&!i.isLeaf||!i.isLoaded&&!i.isLeaf)&&!n.has(i.id)?l(i.id):i.children?.length&&n.has(i.id)&&r+1<t.length&&t[r+1].level>(i.level??0)&&(L(r+1),N.scrollToIndex(r+1));else if(e.key===s){if(e.preventDefault(),n.has(i.id))l(i.id);else if(i.parentId){let e=R.get(i.parentId);e!==void 0&&(L(e),N.scrollToIndex(e))}}else(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),_?f(i.id):d(i.id))},[t,n,l,d,f,_,R,N]);return(0,u.jsx)(`div`,{ref:P,className:e._(`absolute inset-0 overflow-y-auto bg-background border rounded-lg shadow-sm focus:outline-none focus:ring-1 focus:ring-primary/20`,h),dir:g,role:`tree`,onKeyDown:e=>O?.(e),children:(0,u.jsx)(`div`,{style:{height:`${N.getTotalSize()}px`,width:`100%`,position:`relative`},children:(0,u.jsx)(p.SortableContext,{items:t.map(e=>e.node.id),strategy:p.verticalListSortingStrategy,children:F().map(e=>{let{node:s,level:c}=t[e.index],p=I===e.index;return(0,u.jsx)(E,{node:s,level:c,isExpanded:n.has(s.id),isSelected:r.has(s.id),isChecked:i.has(s.id),isIndeterminate:a.has(s.id),isLoading:o.has(s.id),hasChildren:!!s.children?.length||s.children&&!s.isLeaf||!s.isLoaded&&!s.isLeaf,onToggleExpand:l,onToggleSelect:d,onToggleCheck:f,onRename:m,showCheckboxes:_,allowEditing:v,searchTerm:y,onKeyDown:t=>z(t,e.index,s),style:{position:`absolute`,top:`${e.start}px`,left:0,width:`100%`,height:`${e.size}px`},tabIndex:p?0:-1,autoFocus:p,slots:b,slotProps:x,allowTextWrap:S,animation:C,checkOnClick:w,fullRowSelect:T,fullRowNavigable:D,onNodeClicked:k,onDrawNode:A,isEditing:j===s.id,onEditingChange:e=>M(e?s.id:null),dir:g},s.id)})})})})});D.displayName=`EzVirtualTree`;var O=({onDragEnd:e,onDragStart:t})=>{let[n,r]=(0,c.useState)(null),[i,a]=(0,c.useState)(null),[o,s]=(0,c.useState)(`inside`);return{sensors:(0,d.useSensors)((0,d.useSensor)(d.PointerSensor,{activationConstraint:{distance:8}})),activeNode:n,dragOverNode:i,dragPosition:o,handleDragStart:(0,c.useCallback)(e=>{let{active:n}=e,i=n.data.current?.node;i&&(r(i),t?.(i))},[t]),handleDragOver:(0,c.useCallback)(e=>{e.preventDefault();let{active:t,over:n}=e;if(!n)return;let r=t.data.current?.node,i=n.data.current?.node;if(r&&i&&r.id!==i.id){let e=n.rect,t=e.top+e.height/2;t<e.top+10?s(`before`):t>e.bottom-10?s(`after`):s(`inside`),a(i)}},[]),handleDragEnd:(0,c.useCallback)(t=>{let{active:c,over:l}=t;c&&l&&n&&i&&e(n,i,o),r(null),a(null),s(`inside`)},[n,i,o,e])}},k=n=>{i.t();let{state:{expandedNodes:r,selectedNodes:a,checkedNodes:o,indeterminateNodes:s,loadingNodes:c,flattenedNodes:l,editingNodeId:f},actions:{toggleExpand:p,toggleSelect:m,toggleCheck:h,handleNodeRename:g,setEditingNodeId:_},config:{allowTextWrap:v,animation:y,checkOnClick:b,fullRowSelect:x,fullRowNavigable:S,onKeyPress:C,onNodeClicked:E,onDrawNode:k},dir:A}=w(n),{handleDragEnd:j,sensors:M}=O({onDragEnd:(e,t,r)=>{n.onNodeDrop&&n.onNodeDrop(e,t,r)}});return(0,u.jsx)(t.t,{fallback:(0,u.jsx)(T,{}),children:(0,u.jsx)(`div`,{className:e._(`relative flex-1 w-full h-full min-h-0`,n.className),children:(0,u.jsx)(d.DndContext,{sensors:M,collisionDetection:d.closestCenter,onDragEnd:j,children:(0,u.jsx)(D,{items:l,expandedNodes:r,selectedNodes:a,checkedNodes:o,indeterminateNodes:s,loadingNodes:c,onToggleExpand:p,onToggleSelect:m,onToggleCheck:h,onNodeRename:g,dir:A,showCheckboxes:n.showCheckboxes,allowEditing:n.allowEditing,searchTerm:n.searchTerm,slots:n.slots,slotProps:n.slotProps,allowTextWrap:v,animation:y,checkOnClick:b,fullRowSelect:x,fullRowNavigable:S,onKeyPress:C,onNodeClicked:E,onDrawNode:k,editingNodeId:f,setEditingNodeId:_})})})})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return k}});
@@ -1 +0,0 @@
1
- const e=require("./EzProvider-L2qQMq-v.cjs");let t=require("react");t=e.y(t,1);let n=require("react/jsx-runtime");var r=()=>e.r();function i({className:t,ref:r,...i}){return(0,n.jsx)(`textarea`,{className:e._(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,t),ref:r,...i})}function a({className:t,ref:r,...i}){return(0,n.jsx)(`div`,{ref:r,className:e._(`rounded-xl border bg-card text-card-foreground shadow`,t),...i})}function o({className:t,ref:r,...i}){return(0,n.jsx)(`div`,{ref:r,className:e._(`flex flex-col space-y-1.5 p-6`,t),...i})}function s({className:t,ref:r,...i}){return(0,n.jsx)(`div`,{ref:r,className:e._(`font-semibold leading-none tracking-tight`,t),...i})}function c({className:t,ref:r,...i}){return(0,n.jsx)(`div`,{ref:r,className:e._(`text-sm text-muted-foreground`,t),...i})}function l({className:t,ref:r,...i}){return(0,n.jsx)(`div`,{ref:r,className:e._(`p-6 pt-0`,t),...i})}function u({className:t,ref:r,...i}){return(0,n.jsx)(`div`,{ref:r,className:e._(`flex items-center p-6 pt-0`,t),...i})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
@@ -1 +0,0 @@
1
- const e=require("./EzProvider-L2qQMq-v.cjs");let t=require("react");t=e.y(t,1);let n=require("react/jsx-runtime");function r({className:t,type:r,ref:i,...a}){return(0,n.jsx)(`input`,{type:r,className:e._(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,t),ref:i,...a})}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});