ezux 1.1.13 → 1.1.18

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 (513) hide show
  1. package/README.md +58 -15
  2. package/dist/DeleteConfirmationModal-CukNDgtX.cjs +1 -0
  3. package/dist/DeleteConfirmationModal-p8XGDGIw.js +38 -0
  4. package/dist/EzContextMenu-BCUoEQp5.cjs +1 -0
  5. package/dist/EzContextMenu-srLxujt8.js +287 -0
  6. package/dist/EzErrorBoundary-C7a6VisX.js +74 -0
  7. package/dist/EzErrorBoundary-d_2g-_EK.cjs +1 -0
  8. package/dist/EzEventModal-C079wLjP.js +725 -0
  9. package/dist/EzEventModal-CAA9cAM0.cjs +1 -0
  10. package/dist/EzFlow-C74NbZA9.js +2545 -0
  11. package/dist/EzFlow-CQFeY7DL.cjs +5 -0
  12. package/dist/EzGroupingPanel-BVaAJaVU.js +107 -0
  13. package/dist/EzGroupingPanel-BwWDWEuW.cjs +1 -0
  14. package/dist/EzKanban-BlJWybKe.js +1575 -0
  15. package/dist/EzKanban-DdKODRRv.cjs +2 -0
  16. package/dist/EzLayout-BGnqFtvO.cjs +1 -0
  17. package/dist/EzLayout-CiaPLniV.js +7005 -0
  18. package/dist/EzProvider-AlmsYIDk.js +982 -0
  19. package/dist/EzProvider-L2qQMq-v.cjs +1 -0
  20. package/dist/EzScheduler-C1Jtvvju.js +2700 -0
  21. package/dist/EzScheduler-CkqTngI6.cjs +1 -0
  22. package/dist/EzSchedulerQuickAdd-BIC8xbSn.js +124 -0
  23. package/dist/EzSchedulerQuickAdd-BeNfGdWs.cjs +1 -0
  24. package/dist/EzSchedulerToolbar-BJwTpgas.cjs +1 -0
  25. package/dist/EzSchedulerToolbar-Ba4gbvUg.js +305 -0
  26. package/dist/EzSignature-7UHO5lSP.js +386 -0
  27. package/dist/EzSignature-Df7UZ-IS.cjs +1 -0
  28. package/dist/EzTable-CEXvJR1t.cjs +3 -0
  29. package/dist/EzTable-D2p1IWHc.js +4290 -0
  30. package/dist/EzTableEditDialog-BXnnYSSy.cjs +1 -0
  31. package/dist/EzTableEditDialog-Ccd5XoHm.js +84 -0
  32. package/dist/EzTableFooter-CtexeDAC.cjs +1 -0
  33. package/dist/EzTableFooter-DrLoWelo.js +35 -0
  34. package/dist/EzTableToolbar-BH5z9fSJ.js +160 -0
  35. package/dist/EzTableToolbar-DwuumvWP.cjs +1 -0
  36. package/dist/EzTreeView-D1G0Aomc.js +818 -0
  37. package/dist/EzTreeView-KMGlU4ax.cjs +1 -0
  38. package/dist/HighlightText-BViuwe03.cjs +1 -0
  39. package/dist/HighlightText-DNA2R2uf.js +56 -0
  40. package/dist/KanbanBoard-B7_Z5sh1.js +1697 -0
  41. package/dist/KanbanBoard-CyitudI1.cjs +1 -0
  42. package/dist/Modal-BmX1C448.cjs +1 -0
  43. package/dist/Modal-CrzpKyjK.js +74 -0
  44. package/dist/NotificationPanel-BzpDc10Q.js +54 -0
  45. package/dist/NotificationPanel-CFME00wq.cjs +1 -0
  46. package/dist/TooltipWrapper-BSAmUx9H.js +44 -0
  47. package/dist/TooltipWrapper-DfbFAZ1U.cjs +1 -0
  48. package/dist/advanced.cjs +10 -0
  49. package/dist/advanced.d.ts +44 -0
  50. package/dist/advanced.es.js +400 -0
  51. package/dist/avatar-BSdRHETK.cjs +1 -0
  52. package/dist/avatar-BvCUJ-_r.js +27 -0
  53. package/dist/button-BBMwzUtG.cjs +1 -0
  54. package/dist/button-CYyNwV8S.js +44 -0
  55. package/dist/calendar-DEHX32Cp.cjs +1 -0
  56. package/dist/calendar-DOIPGsyI.js +112 -0
  57. package/dist/card-CPlRZxbq.cjs +1 -0
  58. package/dist/card-ZUNxcdIM.js +60 -0
  59. package/dist/checkbox-BrCh_Iid.cjs +1 -0
  60. package/dist/checkbox-DRkQuB4W.js +21 -0
  61. package/dist/components/EzFlow/EzConnectionLine.d.ts +5 -0
  62. package/dist/components/EzFlow/EzFlow.examples.d.ts +5 -0
  63. package/dist/components/EzFlow/EzFlow.types.d.ts +260 -0
  64. package/dist/components/EzFlow/EzFlowBackground.d.ts +5 -0
  65. package/dist/components/EzFlow/EzFlowCanvas.d.ts +3 -0
  66. package/dist/components/EzFlow/EzFlowControls.d.ts +5 -0
  67. package/dist/components/EzFlow/EzFlowEdge.d.ts +5 -0
  68. package/dist/components/EzFlow/EzFlowHeader.d.ts +6 -0
  69. package/dist/components/EzFlow/EzFlowToolbox.d.ts +6 -0
  70. package/dist/components/EzFlow/EzWorkflow.d.ts +5 -0
  71. package/dist/components/EzFlow/EzWorkflowPerformance.d.ts +3 -0
  72. package/dist/components/EzFlow/EzWorkflowServiceAdapters.d.ts +24 -0
  73. package/dist/components/EzFlow/EzWorkflowValidation.d.ts +95 -0
  74. package/dist/components/EzFlow/index.d.ts +13 -0
  75. package/dist/components/EzFlow/nodes/ActionNode.d.ts +3 -0
  76. package/dist/components/EzFlow/nodes/ApprovalNode.d.ts +3 -0
  77. package/dist/components/EzFlow/nodes/DecisionNode.d.ts +3 -0
  78. package/dist/components/EzFlow/nodes/DelayNode.d.ts +3 -0
  79. package/dist/components/EzFlow/nodes/EndNode.d.ts +3 -0
  80. package/dist/components/EzFlow/nodes/GroupNode.d.ts +3 -0
  81. package/dist/components/EzFlow/nodes/LoopNode.d.ts +3 -0
  82. package/dist/components/EzFlow/nodes/RequestNode.d.ts +3 -0
  83. package/dist/components/EzFlow/nodes/StartNode.d.ts +3 -0
  84. package/dist/components/EzFlow/nodes/index.d.ts +9 -0
  85. package/dist/components/EzKanban/EzKanban.types.d.ts +808 -0
  86. package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
  87. package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
  88. package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
  89. package/dist/components/EzKanban/components/KanbanBoard.d.ts +59 -0
  90. package/dist/components/EzKanban/components/KanbanCard.d.ts +46 -0
  91. package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
  92. package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +45 -0
  93. package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
  94. package/dist/components/EzKanban/exports.d.ts +4 -0
  95. package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
  96. package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
  97. package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
  98. package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
  99. package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
  100. package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
  101. package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
  102. package/dist/components/EzKanban/index.d.ts +51 -0
  103. package/dist/components/EzKanban/services/KanbanService.d.ts +31 -0
  104. package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
  105. package/dist/components/EzKanban/useEzKanban.d.ts +87 -0
  106. package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
  107. package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
  108. package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
  109. package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
  110. package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
  111. package/dist/components/EzLayout/EzHeader.d.ts +48 -0
  112. package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
  113. package/dist/components/EzLayout/EzLayout.types.d.ts +261 -0
  114. package/dist/components/EzLayout/EzOrganizationSwitcher.d.ts +14 -0
  115. package/dist/components/EzLayout/EzSidebar.d.ts +24 -0
  116. package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
  117. package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
  118. package/dist/components/EzLayout/EzUserProfile.d.ts +27 -0
  119. package/dist/components/EzLayout/components/EzSidebarFooter.d.ts +8 -0
  120. package/dist/components/EzLayout/components/EzSidebarNav.d.ts +10 -0
  121. package/dist/components/EzLayout/components/EzSidebarNavItem.d.ts +11 -0
  122. package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
  123. package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
  124. package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
  125. package/dist/components/EzLayout/index.d.ts +23 -0
  126. package/dist/components/EzLayout/useEzLayout.d.ts +34 -0
  127. package/dist/components/EzScheduler/EzScheduler.types.d.ts +1252 -0
  128. package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
  129. package/dist/components/EzScheduler/components/EzEventModal.d.ts +23 -0
  130. package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
  131. package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
  132. package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
  133. package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +111 -0
  134. package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
  135. package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
  136. package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
  137. package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +24 -0
  138. package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
  139. package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
  140. package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +15 -0
  141. package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +27 -0
  142. package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +19 -0
  143. package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
  144. package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
  145. package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
  146. package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
  147. package/dist/components/EzScheduler/index.d.ts +43 -0
  148. package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
  149. package/dist/components/EzScheduler/models/View.d.ts +49 -0
  150. package/dist/components/EzScheduler/models/index.d.ts +2 -0
  151. package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
  152. package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
  153. package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
  154. package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
  155. package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
  156. package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
  157. package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
  158. package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
  159. package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
  160. package/dist/components/EzScheduler/services/SchedulerService.d.ts +71 -0
  161. package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
  162. package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
  163. package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
  164. package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
  165. package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
  166. package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
  167. package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
  168. package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
  169. package/dist/components/EzScheduler/useEzScheduler.d.ts +104 -0
  170. package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
  171. package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
  172. package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +18 -0
  173. package/dist/components/EzScheduler/views/AgendaView.d.ts +28 -0
  174. package/dist/components/EzScheduler/views/DayWeekView.d.ts +177 -0
  175. package/dist/components/EzScheduler/views/MonthView.d.ts +60 -0
  176. package/dist/components/EzScheduler/views/TimelineView.d.ts +116 -0
  177. package/dist/components/EzSignature/EzSignature.d.ts +42 -0
  178. package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
  179. package/dist/components/EzSignature/index.d.ts +2 -0
  180. package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
  181. package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
  182. package/dist/components/EzTable/EzExcelFilter.d.ts +8 -0
  183. package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
  184. package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
  185. package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
  186. package/dist/components/EzTable/EzPagination.d.ts +19 -0
  187. package/dist/components/EzTable/EzTable.types.d.ts +1 -0
  188. package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
  189. package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
  190. package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
  191. package/dist/components/EzTable/EzTableStatusBar.d.ts +10 -0
  192. package/dist/components/EzTable/EzTableToolbar.d.ts +60 -0
  193. package/dist/components/EzTable/SmartCell.d.ts +7 -0
  194. package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
  195. package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
  196. package/dist/components/EzTable/components/EzDraggableHeader.d.ts +10 -0
  197. package/dist/components/EzTable/components/EzHeaderDragPreview.d.ts +7 -0
  198. package/dist/components/EzTable/components/EzTableBodySection.d.ts +72 -0
  199. package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
  200. package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +23 -0
  201. package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
  202. package/dist/components/EzTable/components/EzTableRow.d.ts +58 -0
  203. package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
  204. package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
  205. package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
  206. package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
  207. package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
  208. package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
  209. package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
  210. package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
  211. package/dist/components/EzTable/context/TableStore.d.ts +17 -0
  212. package/dist/components/EzTable/filterUtils.d.ts +5 -0
  213. package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
  214. package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
  215. package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
  216. package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
  217. package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
  218. package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
  219. package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
  220. package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
  221. package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
  222. package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
  223. package/dist/components/EzTable/hooks/useTableState.d.ts +33 -0
  224. package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +35 -0
  225. package/dist/components/EzTable/index.d.ts +54 -0
  226. package/dist/components/EzTable/renderers/index.d.ts +6 -0
  227. package/dist/components/EzTable/services/TableService.d.ts +29 -0
  228. package/dist/components/EzTable/types/EzTableColumn.types.d.ts +146 -0
  229. package/dist/components/EzTable/types/EzTableEdit.types.d.ts +58 -0
  230. package/dist/components/EzTable/types/EzTableFilter.types.d.ts +50 -0
  231. package/dist/components/EzTable/types/EzTableProps.d.ts +750 -0
  232. package/dist/components/EzTable/types/index.d.ts +4 -0
  233. package/dist/components/EzTable/useEzTable.d.ts +17 -0
  234. package/dist/components/EzTable/utils/SizingUtils.d.ts +11 -0
  235. package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
  236. package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
  237. package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
  238. package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
  239. package/dist/components/EzTable/utils/index.d.ts +1 -0
  240. package/dist/components/EzTreeView/EzTreeView.types.d.ts +364 -0
  241. package/dist/components/EzTreeView/EzTreeViewItem.d.ts +89 -0
  242. package/dist/components/EzTreeView/EzVirtualTree.d.ts +84 -0
  243. package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
  244. package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
  245. package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
  246. package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
  247. package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
  248. package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
  249. package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
  250. package/dist/components/EzTreeView/index.d.ts +40 -0
  251. package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
  252. package/dist/components/EzTreeView/useEzTreeView.d.ts +50 -0
  253. package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
  254. package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
  255. package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
  256. package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
  257. package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
  258. package/dist/components/shared/components/EzSortableList.d.ts +12 -0
  259. package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
  260. package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
  261. package/dist/components/ui/avatar.d.ts +10 -0
  262. package/dist/components/ui/badge.d.ts +9 -0
  263. package/dist/components/ui/breadcrumb.d.ts +19 -0
  264. package/dist/components/ui/button.d.ts +13 -0
  265. package/dist/components/ui/calendar.d.ts +15 -0
  266. package/dist/components/ui/card.d.ts +10 -0
  267. package/dist/components/ui/checkbox.d.ts +7 -0
  268. package/dist/components/ui/combobox.d.ts +19 -0
  269. package/dist/components/ui/command.d.ts +78 -0
  270. package/dist/components/ui/context-menu.d.ts +27 -0
  271. package/dist/components/ui/date-time-picker.d.ts +14 -0
  272. package/dist/components/ui/dropdown-menu.d.ts +31 -0
  273. package/dist/components/ui/index.d.ts +27 -0
  274. package/dist/components/ui/input.d.ts +5 -0
  275. package/dist/components/ui/label.d.ts +9 -0
  276. package/dist/components/ui/modal.d.ts +9 -0
  277. package/dist/components/ui/password-input.d.ts +5 -0
  278. package/dist/components/ui/popover.d.ts +10 -0
  279. package/dist/components/ui/progress.d.ts +7 -0
  280. package/dist/components/ui/radio-group.d.ts +5 -0
  281. package/dist/components/ui/resizable.d.ts +8 -0
  282. package/dist/components/ui/scroll-area.d.ts +5 -0
  283. package/dist/components/ui/select.d.ts +26 -0
  284. package/dist/components/ui/skeleton.d.ts +2 -0
  285. package/dist/components/ui/switch.d.ts +6 -0
  286. package/dist/components/ui/table.d.ts +10 -0
  287. package/dist/components/ui/tabs.d.ts +22 -0
  288. package/dist/components/ui/textarea.d.ts +5 -0
  289. package/dist/components/ui/tooltip.d.ts +10 -0
  290. package/dist/date-time-picker-Bs-7XzHD.cjs +1 -0
  291. package/dist/date-time-picker-fUzf4TnU.js +127 -0
  292. package/dist/dropdown-menu-BRP0tyR_.cjs +1 -0
  293. package/dist/dropdown-menu-B_7_K13o.js +78 -0
  294. package/dist/ezux.css +2 -1
  295. package/dist/flow.cjs +1 -0
  296. package/dist/flow.d.ts +2 -0
  297. package/dist/flow.es.js +2 -0
  298. package/dist/index.cjs +3 -12
  299. package/dist/index.d.ts +66 -6404
  300. package/dist/index.es.js +229 -1041
  301. package/dist/input-CYlvlbF7.cjs +1 -0
  302. package/dist/input-Cj3sQK3M.js +14 -0
  303. package/dist/kanban.cjs +1 -1
  304. package/dist/kanban.d.ts +2 -1343
  305. package/dist/kanban.es.js +4 -17
  306. package/dist/label-BGgvoZWD.cjs +1 -0
  307. package/dist/label-DWEV--5W.js +16 -0
  308. package/dist/layout.cjs +1 -1
  309. package/dist/layout.d.ts +2 -690
  310. package/dist/layout.es.js +2 -20
  311. package/dist/lib/perfect-freehand.d.ts +221 -0
  312. package/dist/lib/utils.d.ts +2 -0
  313. package/dist/mock-services.cjs +1 -0
  314. package/dist/mock-services.d.ts +8 -0
  315. package/dist/mock-services.es.js +161 -0
  316. package/dist/popover-D1akYj0W.js +17 -0
  317. package/dist/popover-wZKNvYM5.cjs +1 -0
  318. package/dist/scheduler.cjs +1 -1
  319. package/dist/scheduler.d.ts +2 -1430
  320. package/dist/scheduler.es.js +2 -11
  321. package/dist/scroll-area-BJs87d45.js +35 -0
  322. package/dist/scroll-area-DSkE2KB_.cjs +1 -0
  323. package/dist/select-D4tFaSai.js +43 -0
  324. package/dist/select-sVieKbLu.cjs +1 -0
  325. package/dist/shared/components/AnimatedText.d.ts +44 -0
  326. package/dist/shared/components/BaseCell.d.ts +14 -0
  327. package/dist/shared/components/BooleanRenderer.d.ts +34 -0
  328. package/dist/shared/components/ChartRenderer.d.ts +19 -0
  329. package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
  330. package/dist/shared/components/EzContextMenu.d.ts +12 -0
  331. package/dist/shared/components/EzNotificationDropdown.d.ts +2 -0
  332. package/dist/shared/components/HighlightText.d.ts +4 -0
  333. package/dist/shared/components/Modal.d.ts +13 -0
  334. package/dist/shared/components/NotificationPanel.d.ts +2 -0
  335. package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
  336. package/dist/shared/components/SearchableSelect.d.ts +13 -0
  337. package/dist/shared/components/SelectRenderer.d.ts +33 -0
  338. package/dist/shared/components/StatusBadge.d.ts +21 -0
  339. package/dist/shared/components/TooltipWrapper.d.ts +12 -0
  340. package/dist/shared/components/index.d.ts +9 -0
  341. package/dist/shared/contexts/EzProvider.d.ts +56 -0
  342. package/dist/shared/hooks/index.d.ts +56 -0
  343. package/dist/shared/hooks/useBaseComponent.d.ts +59 -0
  344. package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
  345. package/dist/shared/hooks/useComponentState.d.ts +39 -0
  346. package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
  347. package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
  348. package/dist/shared/hooks/useDebounce.d.ts +10 -0
  349. package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
  350. package/dist/shared/hooks/useDialogState.d.ts +21 -0
  351. package/dist/shared/hooks/useDndHandlers.d.ts +19 -0
  352. package/dist/shared/hooks/useEditing.d.ts +107 -0
  353. package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
  354. package/dist/shared/hooks/useEzTheme.d.ts +22 -0
  355. package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
  356. package/dist/shared/hooks/useHistory.d.ts +13 -0
  357. package/dist/shared/hooks/useI18n.d.ts +8 -0
  358. package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
  359. package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
  360. package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
  361. package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
  362. package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
  363. package/dist/shared/hooks/useLoadingState.d.ts +17 -0
  364. package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
  365. package/dist/shared/hooks/useNotificationService.d.ts +8 -0
  366. package/dist/shared/hooks/usePerformanceMonitor.d.ts +22 -0
  367. package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
  368. package/dist/shared/hooks/useSelection.d.ts +73 -0
  369. package/dist/shared/hooks/useService.d.ts +12 -0
  370. package/dist/shared/hooks/useServiceState.d.ts +1 -0
  371. package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
  372. package/dist/shared/hooks/useTheme.d.ts +13 -0
  373. package/dist/shared/hooks/useVirtualization.d.ts +85 -0
  374. package/dist/shared/services/BaseService.d.ts +57 -0
  375. package/dist/shared/services/ContextMenuService.d.ts +58 -0
  376. package/dist/shared/services/ExportService.d.ts +35 -0
  377. package/dist/shared/services/FocusManagerService.d.ts +33 -0
  378. package/dist/shared/services/HierarchyService.d.ts +43 -0
  379. package/dist/shared/services/I18nService.d.ts +84 -0
  380. package/dist/shared/services/LayoutService.d.ts +80 -0
  381. package/dist/shared/services/NotificationService.d.ts +44 -0
  382. package/dist/shared/services/PersistenceService.d.ts +69 -0
  383. package/dist/shared/services/ServiceRegistry.d.ts +52 -0
  384. package/dist/shared/services/ThemeService.d.ts +49 -0
  385. package/dist/shared/services/VirtualizationService.d.ts +51 -0
  386. package/dist/shared/state/store.d.ts +10 -0
  387. package/dist/shared/themes.d.ts +25 -0
  388. package/dist/shared/types/BaseProps.d.ts +17 -0
  389. package/dist/shared/types/common.d.ts +373 -0
  390. package/dist/shared/types/index.d.ts +2 -0
  391. package/dist/shared/utils/canvasUtils.d.ts +16 -0
  392. package/dist/shared/utils/commonUtils.d.ts +28 -0
  393. package/dist/shared/utils/csvUtils.d.ts +7 -0
  394. package/dist/shared/utils/dateUtils.d.ts +5 -0
  395. package/dist/shared/utils/dndUtils.d.ts +16 -0
  396. package/dist/shared/utils/formatUtils.d.ts +20 -0
  397. package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
  398. package/dist/shared/utils/index.d.ts +11 -0
  399. package/dist/shared/utils/renderUtils.d.ts +6 -0
  400. package/dist/shared/utils/serviceUtils.d.ts +10 -0
  401. package/dist/shared/utils/styleUtils.d.ts +121 -0
  402. package/dist/shared/utils/validationUtils.d.ts +16 -0
  403. package/dist/signature.cjs +1 -1
  404. package/dist/signature.d.ts +2 -410
  405. package/dist/signature.es.js +2 -4
  406. package/dist/table.cjs +1 -1
  407. package/dist/table.d.ts +2 -1059
  408. package/dist/table.es.js +2 -17
  409. package/dist/theme-vars.css +143 -135
  410. package/dist/tooltip-B1wC9m05.js +16 -0
  411. package/dist/tooltip-Qmzrg5u5.cjs +1 -0
  412. package/dist/treeview.cjs +1 -1
  413. package/dist/treeview.d.ts +2 -656
  414. package/dist/treeview.es.js +2 -954
  415. package/dist/useComponentState-DiSFLYju.js +57 -0
  416. package/dist/useComponentState-Wcz6pjd6.cjs +1 -0
  417. package/dist/useImperativeAPI-Dbx2hMTb.js +7 -0
  418. package/dist/useImperativeAPI-VrgLwXEO.cjs +1 -0
  419. package/dist/useInitCoreServices-CuBrviDM.js +40 -0
  420. package/dist/useInitCoreServices-DlALVDNx.cjs +1 -0
  421. package/dist/useService-CnCBGG3G.js +10 -0
  422. package/dist/useService-CyF782jv.cjs +1 -0
  423. package/dist/useServiceState-CkrJZm1D.js +21 -0
  424. package/dist/useServiceState-PyYQWxHi.cjs +1 -0
  425. package/package.json +76 -56
  426. package/dist/EzContextMenu-B6HBUjWv.cjs +0 -5
  427. package/dist/EzContextMenu-BSA_B6Pr.js +0 -3500
  428. package/dist/EzErrorBoundary-CEdz_hDo.cjs +0 -41
  429. package/dist/EzErrorBoundary-D4NBadES.js +0 -3727
  430. package/dist/EzEventModal-BUMp_BFi.js +0 -689
  431. package/dist/EzEventModal-xzHfzi0O.cjs +0 -1
  432. package/dist/EzGroupingPanel-BUsIYDRi.js +0 -143
  433. package/dist/EzGroupingPanel-D0HdSomF.cjs +0 -1
  434. package/dist/EzSchedulerQuickAdd-C653LTGh.js +0 -118
  435. package/dist/EzSchedulerQuickAdd-UnOWCpJd.cjs +0 -1
  436. package/dist/EzSchedulerToolbar-C-5OdRY6.cjs +0 -1
  437. package/dist/EzSchedulerToolbar-CO5jjDQg.js +0 -240
  438. package/dist/EzSignature-BaNesxwC.cjs +0 -1
  439. package/dist/EzSignature-D4EYwo9W.js +0 -419
  440. package/dist/EzTableEditDialog-Cd948V1C.js +0 -63
  441. package/dist/EzTableEditDialog-NiOubaMT.cjs +0 -1
  442. package/dist/EzTableFooter-CWjfGCjL.cjs +0 -1
  443. package/dist/EzTableFooter-DveD12RC.js +0 -54
  444. package/dist/EzTableToolbar-Bz8UWv6j.js +0 -246
  445. package/dist/EzTableToolbar-DHE7Bb1R.cjs +0 -1
  446. package/dist/HighlightText-8D6KEyBw.js +0 -68
  447. package/dist/HighlightText-LtZmzCle.cjs +0 -1
  448. package/dist/NotificationPanel-D2Y-_ahk.js +0 -68
  449. package/dist/NotificationPanel-zLxrtTGf.cjs +0 -1
  450. package/dist/TooltipWrapper-BrRTi5EJ.js +0 -2021
  451. package/dist/TooltipWrapper-DWts4bAI.cjs +0 -1
  452. package/dist/avatar-BeK0E4mn.js +0 -41
  453. package/dist/avatar-DZAaTK2f.cjs +0 -1
  454. package/dist/bell-DAz8P0BR.js +0 -14
  455. package/dist/bell-DOX2y38e.cjs +0 -1
  456. package/dist/calendar-BMZ8ddOf.cjs +0 -1
  457. package/dist/calendar-Dy3rVMW2.js +0 -90
  458. package/dist/checkbox-B0lGHUyy.cjs +0 -1
  459. package/dist/checkbox-boJRxICT.js +0 -46
  460. package/dist/chevron-down-C3s8jU6B.js +0 -5
  461. package/dist/chevron-down-DZVL7VHW.cjs +0 -1
  462. package/dist/chevron-left-BFr8XZyF.js +0 -5
  463. package/dist/chevron-left-HWhRo6IH.cjs +0 -1
  464. package/dist/circle-alert-77QqFR-z.cjs +0 -1
  465. package/dist/circle-alert-B2AMDd8N.js +0 -9
  466. package/dist/circle-x-Cv7bfIC_.js +0 -9
  467. package/dist/circle-x-DwVXxhXr.cjs +0 -1
  468. package/dist/date-time-picker-DTxHdPgQ.cjs +0 -1
  469. package/dist/date-time-picker-Dj2eftJI.js +0 -1636
  470. package/dist/download-0ZhO2XaW.cjs +0 -1
  471. package/dist/download-panVHmk6.js +0 -9
  472. package/dist/ellipsis-CuqNthAj.js +0 -9
  473. package/dist/ellipsis-CzlqJf-i.cjs +0 -1
  474. package/dist/grip-vertical-CSyDKBul.js +0 -12
  475. package/dist/grip-vertical-DZNBW1Dn.cjs +0 -1
  476. package/dist/index-B3ipEEhH.cjs +0 -2
  477. package/dist/index-BPPb7bcs.js +0 -3220
  478. package/dist/index-BQKw_Vho.js +0 -9604
  479. package/dist/index-C5STgBSy.js +0 -5203
  480. package/dist/index-C6NfgycP.js +0 -4644
  481. package/dist/index-D4f2ZdrG.cjs +0 -2
  482. package/dist/index-DUY1SqMo.cjs +0 -1
  483. package/dist/index-c1Zg--dt.cjs +0 -7
  484. package/dist/input-BgM_la4k.cjs +0 -1
  485. package/dist/input-jYQ5VKNR.js +0 -21
  486. package/dist/isBefore-C3Y_wbk3.js +0 -15
  487. package/dist/isBefore-Cp1ttk6q.cjs +0 -1
  488. package/dist/label-ClOW9UCt.js +0 -55
  489. package/dist/label-Dx6oDB-X.cjs +0 -1
  490. package/dist/layers-BA4i1fYX.js +0 -27
  491. package/dist/layers-xSPd-hz3.cjs +0 -1
  492. package/dist/popover-BJq1CKmi.cjs +0 -1
  493. package/dist/popover-Cmlb7w3R.js +0 -341
  494. package/dist/scroll-area-9fwpVNxT.js +0 -573
  495. package/dist/scroll-area-CwwZSSA4.cjs +0 -1
  496. package/dist/select-GxA46anr.cjs +0 -1
  497. package/dist/select-mDCun_IR.js +0 -35
  498. package/dist/settings-CvyjK75A.js +0 -31
  499. package/dist/settings-DKPknrt8.cjs +0 -1
  500. package/dist/sortable.esm-CsRPuXyD.cjs +0 -1
  501. package/dist/sortable.esm-CzMCDPet.js +0 -477
  502. package/dist/tooltip-B41iztKT.cjs +0 -1
  503. package/dist/tooltip-BCtrEe0z.js +0 -490
  504. package/dist/useComponentState-C87xXa5d.js +0 -64
  505. package/dist/useComponentState-DDgGbBXv.cjs +0 -1
  506. package/dist/useImperativeAPI-DXmCQvPL.js +0 -7
  507. package/dist/useImperativeAPI-DbZ3owSV.cjs +0 -1
  508. package/dist/useInitCoreServices-CwXv2p4S.cjs +0 -1
  509. package/dist/useInitCoreServices-D1WaWlaI.js +0 -3929
  510. package/dist/useService-8OoezWr8.cjs +0 -1
  511. package/dist/useService-BUi3uAqE.js +0 -10
  512. package/dist/useServiceState-BjpCjUn2.cjs +0 -1
  513. package/dist/useServiceState-VE-viK8b.js +0 -24
@@ -0,0 +1,750 @@
1
+ import { default as React } from 'react';
2
+ import { Row, TableState, Updater, ColumnDef, Table } from '@tanstack/react-table';
3
+ import { SharedBaseProps } from '../../../shared/types/BaseProps';
4
+ import { ToolbarItemType, ToolbarItem, SelectionSettings, EditSettings } from './EzTableEdit.types';
5
+ import { FilterSettings, SearchSettings, SortSettings, TextWrapSettings } from './EzTableFilter.types';
6
+ import { FilterGroup } from '../../../shared/types/common';
7
+ export interface EzTableChanges<TData> {
8
+ addedRecords: TData[];
9
+ changedRecords: TData[];
10
+ deletedRecords: TData[];
11
+ }
12
+ export interface EzTableValidateFieldParams<TData extends object> {
13
+ field: keyof TData | string;
14
+ value: unknown;
15
+ row?: TData;
16
+ rowIndex?: number;
17
+ column?: ColumnDef<TData>;
18
+ table?: Table<TData>;
19
+ }
20
+ export interface EzTableDataRequestParams {
21
+ pageIndex?: number;
22
+ pageSize?: number;
23
+ sorting?: import('@tanstack/react-table').SortingState;
24
+ filters?: import('@tanstack/react-table').ColumnFiltersState;
25
+ globalFilter?: EzGlobalFilterState;
26
+ query?: Record<string, unknown>;
27
+ }
28
+ export interface EzTableFilterEvent<TData extends object> {
29
+ columns: import('@tanstack/react-table').ColumnFiltersState;
30
+ table?: Table<TData>;
31
+ }
32
+ export interface EzTableContextMenuItemClickArgs<TData extends object> {
33
+ action: string;
34
+ row?: Row<TData>;
35
+ data?: TData;
36
+ originalEvent?: React.MouseEvent;
37
+ }
38
+ /**
39
+ * Custom CSS class names for internal table elements.
40
+ * @group Models
41
+ */
42
+ export interface EzTableClassNames<TData = unknown> {
43
+ /** Root container class. @group Properties */
44
+ root?: string;
45
+ /** Header class. @group Properties */
46
+ header?: string;
47
+ /** Body class. @group Properties */
48
+ body?: string;
49
+ /** Row class or function. @group Properties */
50
+ row?: string | ((row: Row<TData>) => string);
51
+ /** Cell class or function. @group Properties */
52
+ cell?: string | ((cell: unknown) => string);
53
+ /** Footer class. @group Properties */
54
+ footer?: string;
55
+ }
56
+ /**
57
+ * Custom icons for table elements.
58
+ * @group Models
59
+ */
60
+ export interface EzTableIcons {
61
+ /** Sorting ascending icon. @group Properties */
62
+ sortAsc?: React.ReactNode;
63
+ /** Sorting descending icon. @group Properties */
64
+ sortDesc?: React.ReactNode;
65
+ /** Filter icon. @group Properties */
66
+ filter?: React.ReactNode;
67
+ /** Context menu trigger icon. @group Properties */
68
+ contextMenu?: React.ReactNode;
69
+ /** Expanded row/group icon. @group Properties */
70
+ expanded?: React.ReactNode;
71
+ /** Collapsed row/group icon. @group Properties */
72
+ collapsed?: React.ReactNode;
73
+ /** First page icon. @group Properties */
74
+ firstPage?: React.ReactNode;
75
+ /** Last page icon. @group Properties */
76
+ lastPage?: React.ReactNode;
77
+ /** Next page icon. @group Properties */
78
+ nextPage?: React.ReactNode;
79
+ /** Previous page icon. @group Properties */
80
+ previousPage?: React.ReactNode;
81
+ }
82
+ /**
83
+ * Localization strings for the table component.
84
+ * @group Models
85
+ */
86
+ export interface EzTableLocalization {
87
+ /** "No records to display" label. @group Properties */
88
+ noRowsLabel?: string;
89
+ /** "Loading..." label. @group Properties */
90
+ loadingLabel?: string;
91
+ /** Column menu label. @group Properties */
92
+ columnMenuLabel?: string;
93
+ /** "Contains" filter operator label. @group Properties */
94
+ filterOperatorContains?: string;
95
+ /** Next page label. @group Properties */
96
+ nextPage?: string;
97
+ /** Previous page label. @group Properties */
98
+ previousPage?: string;
99
+ /** First page label. @group Properties */
100
+ firstPage?: string;
101
+ /** Last page label. @group Properties */
102
+ lastPage?: string;
103
+ /** Search input placeholder. @group Properties */
104
+ searchPlaceholder?: string;
105
+ /** Rows per page label. @group Properties */
106
+ rowsPerPageLabel?: string;
107
+ /** Rows label. @group Properties */
108
+ rowsLabel?: string;
109
+ /** Total label. @group Properties */
110
+ totalLabel?: string;
111
+ /** Records label. @group Properties */
112
+ recordsLabel?: string;
113
+ /** Page label. @group Properties */
114
+ pageLabel?: string;
115
+ /** "of" label. @group Properties */
116
+ ofLabel?: string;
117
+ /** "Go to" label. @group Properties */
118
+ goToLabel?: string;
119
+ /** Pager status message. @group Properties */
120
+ pagerMessage?: string;
121
+ }
122
+ /**
123
+ * Custom component slots for override.
124
+ * @group Models
125
+ */
126
+ export interface EzTableSlots<TData = unknown> {
127
+ /** Custom toolbar component. @group Properties */
128
+ toolbar?: React.ComponentType<unknown>;
129
+ /** Custom footer component. @group Properties */
130
+ footer?: React.ComponentType<unknown>;
131
+ /** Custom overlay for empty state. @group Properties */
132
+ noRowsOverlay?: React.ComponentType<unknown>;
133
+ /** Custom loading overlay. @group Properties */
134
+ loadingOverlay?: React.ComponentType<unknown>;
135
+ /** Custom header component. @group Properties */
136
+ header?: React.ComponentType<unknown>;
137
+ /** Custom row component. @group Properties */
138
+ row?: React.ComponentType<{
139
+ row: Row<TData>;
140
+ }>;
141
+ /** Custom empty record component. @group Properties */
142
+ emptyRecord?: React.ComponentType<unknown>;
143
+ /** Custom loading component. @group Properties */
144
+ loading?: React.ComponentType<unknown>;
145
+ }
146
+ /**
147
+ * Props for the EzTable component.
148
+ *
149
+ * @example
150
+ * ```tsx
151
+ * import { EzTable, useEzTable } from 'ezux';
152
+ *
153
+ * const table = useEzTable({
154
+ * data: [{ id: 1, name: 'John' }],
155
+ * columns: [{ accessorKey: 'name', header: 'Name' }]
156
+ * });
157
+ *
158
+ * return <EzTable table={table} />;
159
+ * ```
160
+ */
161
+ export interface EzTableProps<TData extends object> extends SharedBaseProps<TData> {
162
+ /**
163
+ * The data to display in the table.
164
+ * Can be an array of objects or an empty array.
165
+ * @group Properties
166
+ */
167
+ data: TData[];
168
+ /**
169
+ * Configuration for the table columns.
170
+ * Defines headers, accessors, cell rendering, and other per-column options.
171
+ * @group Properties
172
+ */
173
+ columns: ColumnDef<TData>[];
174
+ /**
175
+ * Controlled state object for the table.
176
+ * Use this to control pagination, sorting, filtering, etc. from outside.
177
+ * @group Properties
178
+ */
179
+ state?: Partial<TableState>;
180
+ /**
181
+ * Initial state object for the table.
182
+ * Use this to set the initial pagination, sorting, filtering, etc.
183
+ * @group Properties
184
+ */
185
+ initialState?: Partial<TableState>;
186
+ /**
187
+ * Callback fired when the table state changes.
188
+ * @group Events
189
+ */
190
+ onStateChange?: (updater: Updater<TableState>) => void;
191
+ /**
192
+ * Custom slots to override default internal components.
193
+ * @group Properties
194
+ */
195
+ slots?: EzTableSlots<TData>;
196
+ /**
197
+ * Props to pass to the custom slots.
198
+ * @group Properties
199
+ */
200
+ slotProps?: Record<string, unknown>;
201
+ /**
202
+ * Custom class names for internal table elements.
203
+ * Use strict mode class names or functions for dynamic styling.
204
+ * @group Properties
205
+ */
206
+ classNames?: EzTableClassNames<TData>;
207
+ /**
208
+ * Custom icons for table elements (sort, filter, pagination, etc.).
209
+ * @group Properties
210
+ */
211
+ icons?: EzTableIcons;
212
+ /**
213
+ * Function to derive a unique ID for a row.
214
+ * Defaults to looking for `id` property.
215
+ * @group Properties
216
+ */
217
+ getRowId?: (row: TData) => string;
218
+ /**
219
+ * Callback to process a row update before it is committed.
220
+ * Useful for validation or transformation.
221
+ * @group Events
222
+ */
223
+ onProcessRowUpdate?: (newRow: TData, oldRow: TData) => Promise<TData>;
224
+ /**
225
+ * Alias for onDataRequest. Triggered when data needs to be fetched (e.g. pagination/sorting in server-side mode).
226
+ * @group Events
227
+ */
228
+ onFetchData?: (params: EzTableDataRequestParams) => void;
229
+ /**
230
+ * Localization strings for the table (e.g. pagination labels, no rows message).
231
+ * @group Properties
232
+ */
233
+ localization?: EzTableLocalization;
234
+ /**
235
+ * Estimated row height for virtualization.
236
+ * Increase this if your rows are taller than 48px to improve scroll performance.
237
+ * Default: 48
238
+ * @group Properties
239
+ */
240
+ estimatedRowHeight?: number;
241
+ /**
242
+ * Progressive rendering for large datasets.
243
+ * Renders rows in chunks to keep the UI responsive.
244
+ * @group Properties
245
+ */
246
+ progressiveRendering?: boolean;
247
+ /**
248
+ * Distance in items to prefetch during scrolling.
249
+ * @group Properties
250
+ */
251
+ prefetchDistance?: number;
252
+ /**
253
+ * Number of items to render outside the visible area.
254
+ * Higher values reduce blank space during fast scrolling but increase memory usage.
255
+ * @group Properties
256
+ */
257
+ overscanCount?: number;
258
+ /**
259
+ * Enable debug logging for virtualization.
260
+ * @group Properties
261
+ */
262
+ debugVirtualization?: boolean;
263
+ /**
264
+ * Enable adaptive sizing for dynamic item heights.
265
+ * @group Properties
266
+ */
267
+ adaptiveSizing?: boolean;
268
+ /**
269
+ * Scroll padding start (pixels) to offset sticky elements or top padding.
270
+ * @group Properties
271
+ */
272
+ scrollPaddingStart?: number;
273
+ /**
274
+ * Scroll padding end (pixels) to offset sticky elements.
275
+ * @group Properties
276
+ */
277
+ scrollPaddingEnd?: number;
278
+ /**
279
+ * Scroll margin (pixels) to apply to scroll container.
280
+ * @group Properties
281
+ */
282
+ scrollMargin?: number;
283
+ /**
284
+ * Enable horizontal column virtualization.
285
+ * Recommended for tables with many columns (e.g. 50+).
286
+ * @group Properties
287
+ */
288
+ enableColumnVirtualization?: boolean;
289
+ /**
290
+ * Number of columns after which virtualization kicks in.
291
+ * @group Properties
292
+ */
293
+ columnVirtualizationThreshold?: number;
294
+ /**
295
+ * Enable Infinite Scrolling.
296
+ * If true, `onEndReached` will be called when the user scrolls to the bottom.
297
+ * @group Properties
298
+ */
299
+ enableInfiniteScroll?: boolean;
300
+ /**
301
+ * Callback when the table is scrolled to the bottom.
302
+ * Used for Infinite Scroll to load more data.
303
+ * @group Events
304
+ */
305
+ onEndReached?: () => void;
306
+ /**
307
+ * @deprecated Use `data` instead.
308
+ * @remarks Providing `dataSource` without `data` will trigger a runtime warning.
309
+ * @group Properties
310
+ */
311
+ dataSource?: TData[];
312
+ /**
313
+ * Configuration for pagination.
314
+ * Defines page size, available page sizes, and initial page.
315
+ * @group Properties
316
+ */
317
+ pageSettings?: {
318
+ pageSize?: number;
319
+ pageCount?: number;
320
+ currentPage?: number;
321
+ pageSizes?: number[];
322
+ };
323
+ /**
324
+ * Configuration for column aggregates (e.g. Sum, Average).
325
+ * Displayed in the table footer.
326
+ * @group Properties
327
+ */
328
+ aggregates?: {
329
+ field: string;
330
+ type: 'Sum' | 'Average' | 'Min' | 'Max' | 'Count' | 'Custom';
331
+ footerTemplate?: string;
332
+ }[];
333
+ /**
334
+ * Text clipping mode for all columns.
335
+ * - `clip`: Text is clipped.
336
+ * - `ellipsis`: Text is truncated with an ellipsis.
337
+ * - `ellipsis-tooltip`: Text is truncated and a tooltip is shown on hover.
338
+ * @group Properties
339
+ */
340
+ clipMode?: 'clip' | 'ellipsis' | 'ellipsis-tooltip';
341
+ /**
342
+ * Total expected rows if knowing beforehand.
343
+ * Crucial for server-side pagination to calculate total pages.
344
+ * @group Properties
345
+ */
346
+ rowCount?: number;
347
+ /**
348
+ * Enable pagination.
349
+ * @group Properties
350
+ */
351
+ pagination?: boolean;
352
+ /**
353
+ * Number of rows per page.
354
+ * @group Properties
355
+ */
356
+ pageSize?: number;
357
+ /**
358
+ * Grid line configuration.
359
+ * @group Properties
360
+ */
361
+ gridLines?: 'Both' | 'Horizontal' | 'Vertical' | 'None';
362
+ /**
363
+ * Enable keyboard navigation features.
364
+ * @group Properties
365
+ */
366
+ allowKeyboard?: boolean;
367
+ /**
368
+ * Enable alternating row background colors (zebra striping).
369
+ * @group Properties
370
+ */
371
+ enableAltRow?: boolean;
372
+ /**
373
+ * Enable row hover effect.
374
+ * @group Properties
375
+ */
376
+ enableHover?: boolean;
377
+ /**
378
+ * Enable HTML sanitizer for cell content.
379
+ * @group Properties
380
+ */
381
+ enableHtmlSanitizer?: boolean;
382
+ /**
383
+ * Width of the table.
384
+ * Accepts pixel number or CSS string (e.g. '100%').
385
+ * @group Properties
386
+ */
387
+ width?: string | number;
388
+ /**
389
+ * Height of the table.
390
+ * Accepts pixel number or CSS string (e.g. '500px').
391
+ * @group Properties
392
+ */
393
+ height?: string | number;
394
+ /**
395
+ * Fixed row height for all rows.
396
+ * Use this when every row has the same height for the most efficient virtualization.
397
+ * @group Properties
398
+ */
399
+ rowHeight?: number;
400
+ /**
401
+ * Controls how virtualized row heights are calculated.
402
+ * - `fixed`: use `rowHeight` or the density-based estimate for every row.
403
+ * - `dynamic`: measure rendered rows so wrapped content, editors, and detail panels scroll correctly.
404
+ * - `auto`: use dynamic sizing when variable-height features are detected.
405
+ * @default "auto"
406
+ * @group Properties
407
+ */
408
+ rowSizingMode?: 'auto' | 'fixed' | 'dynamic';
409
+ /**
410
+ * Configuration for row/cell selection behavior.
411
+ * @group Properties
412
+ */
413
+ selectionSettings?: SelectionSettings;
414
+ /**
415
+ * Configuration for filtering behavior (UI type, mode, etc).
416
+ * @group Properties
417
+ */
418
+ filterSettings?: FilterSettings;
419
+ /**
420
+ * Configuration for global search behavior.
421
+ * @group Properties
422
+ */
423
+ searchSettings?: SearchSettings;
424
+ /**
425
+ * Configuration for sorting behavior.
426
+ * @group Properties
427
+ */
428
+ sortSettings?: SortSettings;
429
+ /**
430
+ * Configuration for editing behavior (mode, new row position).
431
+ * @group Properties
432
+ */
433
+ editSettings?: EditSettings;
434
+ /**
435
+ * Configuration for text wrapping in cells and headers.
436
+ * @group Properties
437
+ */
438
+ textWrapSettings?: TextWrapSettings;
439
+ /**
440
+ * Toolbar items configuration.
441
+ * Accepts an array of item names (strings) or detailed item objects.
442
+ * @group Properties
443
+ */
444
+ toolbar?: (ToolbarItemType | ToolbarItem)[];
445
+ /**
446
+ * Generic query parameters for server-side operations.
447
+ * Passed to `onDataRequest`.
448
+ * @group Properties
449
+ */
450
+ query?: unknown;
451
+ /**
452
+ * Callback when grid renders starts.
453
+ * @group Events
454
+ */
455
+ onGridRenderStart?: () => void;
456
+ /**
457
+ * Callback when grid renders completes.
458
+ * @group Events
459
+ */
460
+ onGridRenderComplete?: () => void;
461
+ /**
462
+ * Callback when a cell is focused.
463
+ * @group Events
464
+ */
465
+ onCellFocus?: (args: {
466
+ cell: unknown;
467
+ row: Row<TData>;
468
+ }) => void;
469
+ /**
470
+ * Callback when a toolbar item is clicked.
471
+ * @group Events
472
+ */
473
+ onToolbarItemClick?: (args: {
474
+ item: ToolbarItem;
475
+ originalEvent: React.MouseEvent;
476
+ }) => void;
477
+ /**
478
+ * Callback when a row is deselected.
479
+ * @group Events
480
+ */
481
+ onRowDeselect?: (args: {
482
+ row?: Row<TData>;
483
+ data: TData;
484
+ rowIndex: number;
485
+ }) => void;
486
+ /**
487
+ * Callback when a row is clicked.
488
+ * @group Events
489
+ */
490
+ onRowClick?: (args: {
491
+ row: Row<TData>;
492
+ data: TData;
493
+ rowIndex: number;
494
+ originalEvent: React.MouseEvent;
495
+ }) => void;
496
+ /**
497
+ * Callback when a row is selected.
498
+ * @group Events
499
+ */
500
+ onRowSelect?: (args: {
501
+ row?: Row<TData>;
502
+ data: TData;
503
+ rowIndex: number;
504
+ originalEvent?: React.SyntheticEvent;
505
+ }) => void;
506
+ /**
507
+ * Callback when a row is double-clicked.
508
+ * @group Events
509
+ */
510
+ onRowDoubleClick?: (args: {
511
+ row: Row<TData>;
512
+ data: TData;
513
+ rowIndex: number;
514
+ originalEvent: React.MouseEvent;
515
+ }) => void;
516
+ /**
517
+ * Callback before a new row is added. Return false to cancel.
518
+ * @group Events
519
+ */
520
+ onRowAddStart?: (args: {
521
+ data: Partial<TData>;
522
+ }) => void;
523
+ /**
524
+ * Callback before a row is edited. Return false to cancel.
525
+ * @group Events
526
+ */
527
+ onRowEditStart?: (args: {
528
+ row: Row<TData>;
529
+ data: TData;
530
+ }) => void;
531
+ /**
532
+ * Callback when batch changes are saved.
533
+ * @group Events
534
+ */
535
+ onBatchSave?: (changes: EzTableChanges<TData>) => void;
536
+ /**
537
+ * Callback when a record fails validation before saving.
538
+ * @group Events
539
+ */
540
+ onActionFailure?: (args: {
541
+ error: unknown;
542
+ }) => void;
543
+ /**
544
+ * Callback when a record is successfully saved.
545
+ * @group Events
546
+ */
547
+ onActionComplete?: (args: {
548
+ action: 'add' | 'edit' | 'delete';
549
+ data: TData;
550
+ }) => void;
551
+ /**
552
+ * Formats cell data on the fly.
553
+ * @group Events
554
+ */
555
+ queryCellInfo?: (args: {
556
+ row: Row<TData>;
557
+ data: TData;
558
+ column: ColumnDef<TData>;
559
+ cell: unknown;
560
+ }) => void;
561
+ /**
562
+ * Sets class names for specific rows.
563
+ * @group Events
564
+ */
565
+ setRowClass?: (row: Row<TData>) => string;
566
+ /**
567
+ * Component validation hook for custom validation.
568
+ */
569
+ validateField?: (params: EzTableValidateFieldParams<TData>) => string | boolean;
570
+ enableSearchHighlighting?: boolean;
571
+ enableEditing?: boolean;
572
+ isRowEditable?: (row: TData) => boolean;
573
+ isCellEditable?: (row: TData, columnId: string) => boolean;
574
+ enableAdvancedFiltering?: boolean;
575
+ enableExport?: boolean;
576
+ onExportExcel?: (table: Table<TData>) => void;
577
+ onExportCSV?: (table: Table<TData>) => void;
578
+ onExportPDF?: (table: Table<TData>) => void;
579
+ enableStickyHeader?: boolean;
580
+ enableStickyPagination?: boolean;
581
+ enableChangeTracking?: boolean;
582
+ enableColumnPinning?: boolean;
583
+ enableTreeData?: boolean;
584
+ getSubRows?: (originalRow: TData, index: number) => TData[] | undefined;
585
+ manualPagination?: boolean;
586
+ manualSorting?: boolean;
587
+ manualFiltering?: boolean;
588
+ enablePersistence?: boolean;
589
+ persistenceKey?: string;
590
+ defaultGrouping?: string[];
591
+ onSortingChange?: (updaterOrValue: Updater<import('@tanstack/react-table').SortingState>) => void;
592
+ onSort?: (args: {
593
+ columns: {
594
+ direction: 'Ascending' | 'Descending' | 'None';
595
+ name: string;
596
+ }[];
597
+ }) => void;
598
+ onPaginationChange?: (updaterOrValue: Updater<import('@tanstack/react-table').PaginationState>) => void;
599
+ onPageChange?: (args: {
600
+ action: string;
601
+ currentPage: number;
602
+ }) => void;
603
+ onRowSelectionChange?: (updaterOrValue: Updater<import('@tanstack/react-table').RowSelectionState>) => void;
604
+ onColumnOrderChange?: (updaterOrValue: Updater<string[]>) => void;
605
+ onColumnFiltersChange?: (updaterOrValue: Updater<import('@tanstack/react-table').ColumnFiltersState>) => void;
606
+ onGlobalFilterChange?: (updaterOrValue: Updater<EzGlobalFilterState>) => void;
607
+ onFilter?: (args: EzTableFilterEvent<TData>) => void;
608
+ onSearch?: (query: string) => void;
609
+ onActionBegin?: (args: {
610
+ action: 'add' | 'edit' | 'delete' | 'save' | 'fetch';
611
+ data?: Partial<TData> | TData;
612
+ cancel?: boolean;
613
+ }) => void;
614
+ enableRangeSelection?: boolean;
615
+ pageCount?: number;
616
+ enableRowSelection?: boolean;
617
+ enableRowPinning?: boolean;
618
+ density?: 'standard' | 'comfortable' | 'compact';
619
+ service?: ITableService<TData>;
620
+ serviceName?: string;
621
+ isLoading?: boolean;
622
+ onBatchDiscard?: () => void;
623
+ enableContextMenu?: boolean;
624
+ onContextMenuItemClick?: (item: EzTableContextMenuItemClickArgs<TData>) => void;
625
+ renderDetailPanel?: (row: Row<TData>) => React.ReactNode;
626
+ enableGrouping?: boolean;
627
+ enableColumnReorder?: boolean;
628
+ onFormRender?: (props: unknown) => React.ReactNode;
629
+ scrollBehavior?: ScrollBehavior;
630
+ renderNoRowsOverlay?: () => React.ReactNode;
631
+ /**
632
+ * Whether to show the status bar at the bottom of the table.
633
+ * Defaults to true.
634
+ * @group Properties
635
+ */
636
+ enableStatusBar?: boolean;
637
+ /**
638
+ * Enable column visibility toggling.
639
+ * @group Properties
640
+ */
641
+ enableHiding?: boolean;
642
+ }
643
+ /**
644
+ * Shared state parameters passed between internal hooks.
645
+ * @internal
646
+ */
647
+ export interface TableParams<TData extends object> {
648
+ data: TData[];
649
+ columns: ColumnDef<TData>[];
650
+ state?: Partial<TableState>;
651
+ initialState?: Partial<TableState>;
652
+ onStateChange?: (updater: Updater<TableState>) => void;
653
+ filterSettings?: FilterSettings;
654
+ searchSettings?: SearchSettings;
655
+ sortSettings?: SortSettings;
656
+ pagination?: boolean;
657
+ enableColumnVirtualization?: boolean;
658
+ columnVirtualizationThreshold?: number;
659
+ rowCount?: number;
660
+ progressiveRendering?: boolean;
661
+ prefetchDistance?: number;
662
+ overscanCount?: number;
663
+ debugVirtualization?: boolean;
664
+ adaptiveSizing?: boolean;
665
+ scrollPaddingStart?: number;
666
+ scrollPaddingEnd?: number;
667
+ scrollMargin?: number;
668
+ pageSettings?: {
669
+ pageSize?: number;
670
+ pageCount?: number;
671
+ currentPage?: number;
672
+ pageSizes?: number[];
673
+ };
674
+ pageSize?: number;
675
+ enableInfiniteScroll?: boolean;
676
+ onEndReached?: () => void;
677
+ selectionSettings?: SelectionSettings;
678
+ getRowId?: (row: TData) => string;
679
+ onRowSelect?: (args: {
680
+ row?: Row<TData>;
681
+ data: TData;
682
+ rowIndex: number;
683
+ originalEvent?: React.SyntheticEvent;
684
+ }) => void;
685
+ onRowDeselect?: (args: {
686
+ row?: Row<TData>;
687
+ data: TData;
688
+ rowIndex: number;
689
+ }) => void;
690
+ enableChangeTracking?: boolean;
691
+ editSettings?: EditSettings;
692
+ onDataChange?: (changes: EzTableChanges<TData>) => void;
693
+ onFetchData?: (params: EzTableDataRequestParams) => void;
694
+ }
695
+ export type EzGlobalFilterState = string | {
696
+ quickSearch?: string;
697
+ advanced?: FilterGroup;
698
+ };
699
+ export interface EzTableColumnProps<TData extends object> {
700
+ field?: keyof TData | string;
701
+ headerText?: string;
702
+ width?: string | number;
703
+ minWidth?: string | number;
704
+ maxWidth?: string | number;
705
+ textAlign?: 'Left' | 'Center' | 'Right' | 'Justify';
706
+ format?: string;
707
+ visible?: boolean;
708
+ allowSorting?: boolean;
709
+ allowFiltering?: boolean;
710
+ allowEditing?: boolean;
711
+ allowSearching?: boolean;
712
+ allowReordering?: boolean;
713
+ allowResizing?: boolean;
714
+ isPrimaryKey?: boolean;
715
+ editType?: 'textedit' | 'numericedit' | 'datepickeredit' | 'dropdownedit' | 'booleanedit';
716
+ showColumnMenu?: boolean;
717
+ template?: React.ReactNode | ((props: unknown) => React.ReactNode);
718
+ editTemplate?: React.ReactNode | ((props: unknown) => React.ReactNode);
719
+ filterTemplate?: React.ReactNode | ((props: unknown) => React.ReactNode);
720
+ [key: string]: unknown;
721
+ }
722
+ export interface EzTableColumnDef {
723
+ children?: React.ReactNode;
724
+ }
725
+ export interface EzTableBaseRef<TData extends object> {
726
+ getState: () => TableState;
727
+ getSelectedRows: () => TData[];
728
+ saveChanges: () => Promise<void>;
729
+ cancelChanges: () => void;
730
+ getChanges: () => EzTableChanges<TData>;
731
+ validateField: (field: string) => boolean;
732
+ validateEditForm: () => boolean;
733
+ }
734
+ export type EzTableRef<TData extends object, TExtraApi extends object = Record<string, never>> = EzTableBaseRef<TData> & TExtraApi;
735
+ export interface ITableService<TData extends object> {
736
+ fetchData: (query: unknown) => Promise<{
737
+ data: TData[];
738
+ rowCount?: number;
739
+ }>;
740
+ getData: (params: TableParams<TData>) => Promise<{
741
+ data: TData[];
742
+ rowCount?: number;
743
+ } | {
744
+ data: TData[];
745
+ totalCount: number;
746
+ }>;
747
+ createRow: (row: Partial<TData>) => Promise<TData>;
748
+ updateRow: (id: string | number, updates: Partial<TData>) => Promise<TData>;
749
+ deleteRow: (id: string | number) => Promise<void>;
750
+ }