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.
- package/README.md +58 -15
- package/dist/DeleteConfirmationModal-CukNDgtX.cjs +1 -0
- package/dist/DeleteConfirmationModal-p8XGDGIw.js +38 -0
- package/dist/EzContextMenu-BCUoEQp5.cjs +1 -0
- package/dist/EzContextMenu-srLxujt8.js +287 -0
- package/dist/EzErrorBoundary-C7a6VisX.js +74 -0
- package/dist/EzErrorBoundary-d_2g-_EK.cjs +1 -0
- package/dist/EzEventModal-C079wLjP.js +725 -0
- package/dist/EzEventModal-CAA9cAM0.cjs +1 -0
- package/dist/EzFlow-C74NbZA9.js +2545 -0
- package/dist/EzFlow-CQFeY7DL.cjs +5 -0
- package/dist/EzGroupingPanel-BVaAJaVU.js +107 -0
- package/dist/EzGroupingPanel-BwWDWEuW.cjs +1 -0
- package/dist/EzKanban-BlJWybKe.js +1575 -0
- package/dist/EzKanban-DdKODRRv.cjs +2 -0
- package/dist/EzLayout-BGnqFtvO.cjs +1 -0
- package/dist/EzLayout-CiaPLniV.js +7005 -0
- package/dist/EzProvider-AlmsYIDk.js +982 -0
- package/dist/EzProvider-L2qQMq-v.cjs +1 -0
- package/dist/EzScheduler-C1Jtvvju.js +2700 -0
- package/dist/EzScheduler-CkqTngI6.cjs +1 -0
- package/dist/EzSchedulerQuickAdd-BIC8xbSn.js +124 -0
- package/dist/EzSchedulerQuickAdd-BeNfGdWs.cjs +1 -0
- package/dist/EzSchedulerToolbar-BJwTpgas.cjs +1 -0
- package/dist/EzSchedulerToolbar-Ba4gbvUg.js +305 -0
- package/dist/EzSignature-7UHO5lSP.js +386 -0
- package/dist/EzSignature-Df7UZ-IS.cjs +1 -0
- package/dist/EzTable-CEXvJR1t.cjs +3 -0
- package/dist/EzTable-D2p1IWHc.js +4290 -0
- package/dist/EzTableEditDialog-BXnnYSSy.cjs +1 -0
- package/dist/EzTableEditDialog-Ccd5XoHm.js +84 -0
- package/dist/EzTableFooter-CtexeDAC.cjs +1 -0
- package/dist/EzTableFooter-DrLoWelo.js +35 -0
- package/dist/EzTableToolbar-BH5z9fSJ.js +160 -0
- package/dist/EzTableToolbar-DwuumvWP.cjs +1 -0
- package/dist/EzTreeView-D1G0Aomc.js +818 -0
- package/dist/EzTreeView-KMGlU4ax.cjs +1 -0
- package/dist/HighlightText-BViuwe03.cjs +1 -0
- package/dist/HighlightText-DNA2R2uf.js +56 -0
- package/dist/KanbanBoard-B7_Z5sh1.js +1697 -0
- package/dist/KanbanBoard-CyitudI1.cjs +1 -0
- package/dist/Modal-BmX1C448.cjs +1 -0
- package/dist/Modal-CrzpKyjK.js +74 -0
- package/dist/NotificationPanel-BzpDc10Q.js +54 -0
- package/dist/NotificationPanel-CFME00wq.cjs +1 -0
- package/dist/TooltipWrapper-BSAmUx9H.js +44 -0
- package/dist/TooltipWrapper-DfbFAZ1U.cjs +1 -0
- package/dist/advanced.cjs +10 -0
- package/dist/advanced.d.ts +44 -0
- package/dist/advanced.es.js +400 -0
- package/dist/avatar-BSdRHETK.cjs +1 -0
- package/dist/avatar-BvCUJ-_r.js +27 -0
- package/dist/button-BBMwzUtG.cjs +1 -0
- package/dist/button-CYyNwV8S.js +44 -0
- package/dist/calendar-DEHX32Cp.cjs +1 -0
- package/dist/calendar-DOIPGsyI.js +112 -0
- package/dist/card-CPlRZxbq.cjs +1 -0
- package/dist/card-ZUNxcdIM.js +60 -0
- package/dist/checkbox-BrCh_Iid.cjs +1 -0
- package/dist/checkbox-DRkQuB4W.js +21 -0
- package/dist/components/EzFlow/EzConnectionLine.d.ts +5 -0
- package/dist/components/EzFlow/EzFlow.examples.d.ts +5 -0
- package/dist/components/EzFlow/EzFlow.types.d.ts +260 -0
- package/dist/components/EzFlow/EzFlowBackground.d.ts +5 -0
- package/dist/components/EzFlow/EzFlowCanvas.d.ts +3 -0
- package/dist/components/EzFlow/EzFlowControls.d.ts +5 -0
- package/dist/components/EzFlow/EzFlowEdge.d.ts +5 -0
- package/dist/components/EzFlow/EzFlowHeader.d.ts +6 -0
- package/dist/components/EzFlow/EzFlowToolbox.d.ts +6 -0
- package/dist/components/EzFlow/EzWorkflow.d.ts +5 -0
- package/dist/components/EzFlow/EzWorkflowPerformance.d.ts +3 -0
- package/dist/components/EzFlow/EzWorkflowServiceAdapters.d.ts +24 -0
- package/dist/components/EzFlow/EzWorkflowValidation.d.ts +95 -0
- package/dist/components/EzFlow/index.d.ts +13 -0
- package/dist/components/EzFlow/nodes/ActionNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/ApprovalNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/DecisionNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/DelayNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/EndNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/GroupNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/LoopNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/RequestNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/StartNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/index.d.ts +9 -0
- package/dist/components/EzKanban/EzKanban.types.d.ts +808 -0
- package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
- package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
- package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
- package/dist/components/EzKanban/components/KanbanBoard.d.ts +59 -0
- package/dist/components/EzKanban/components/KanbanCard.d.ts +46 -0
- package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
- package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +45 -0
- package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
- package/dist/components/EzKanban/exports.d.ts +4 -0
- package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
- package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
- package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
- package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
- package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
- package/dist/components/EzKanban/index.d.ts +51 -0
- package/dist/components/EzKanban/services/KanbanService.d.ts +31 -0
- package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
- package/dist/components/EzKanban/useEzKanban.d.ts +87 -0
- package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
- package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
- package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
- package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
- package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
- package/dist/components/EzLayout/EzHeader.d.ts +48 -0
- package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
- package/dist/components/EzLayout/EzLayout.types.d.ts +261 -0
- package/dist/components/EzLayout/EzOrganizationSwitcher.d.ts +14 -0
- package/dist/components/EzLayout/EzSidebar.d.ts +24 -0
- package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
- package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
- package/dist/components/EzLayout/EzUserProfile.d.ts +27 -0
- package/dist/components/EzLayout/components/EzSidebarFooter.d.ts +8 -0
- package/dist/components/EzLayout/components/EzSidebarNav.d.ts +10 -0
- package/dist/components/EzLayout/components/EzSidebarNavItem.d.ts +11 -0
- package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
- package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
- package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
- package/dist/components/EzLayout/index.d.ts +23 -0
- package/dist/components/EzLayout/useEzLayout.d.ts +34 -0
- package/dist/components/EzScheduler/EzScheduler.types.d.ts +1252 -0
- package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
- package/dist/components/EzScheduler/components/EzEventModal.d.ts +23 -0
- package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
- package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
- package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
- package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +111 -0
- package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
- package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
- package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
- package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +24 -0
- package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
- package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +15 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +27 -0
- package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +19 -0
- package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
- package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
- package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
- package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
- package/dist/components/EzScheduler/index.d.ts +43 -0
- package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
- package/dist/components/EzScheduler/models/View.d.ts +49 -0
- package/dist/components/EzScheduler/models/index.d.ts +2 -0
- package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
- package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
- package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
- package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
- package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
- package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
- package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
- package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
- package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
- package/dist/components/EzScheduler/services/SchedulerService.d.ts +71 -0
- package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
- package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
- package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
- package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
- package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
- package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
- package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
- package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
- package/dist/components/EzScheduler/useEzScheduler.d.ts +104 -0
- package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
- package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
- package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +18 -0
- package/dist/components/EzScheduler/views/AgendaView.d.ts +28 -0
- package/dist/components/EzScheduler/views/DayWeekView.d.ts +177 -0
- package/dist/components/EzScheduler/views/MonthView.d.ts +60 -0
- package/dist/components/EzScheduler/views/TimelineView.d.ts +116 -0
- package/dist/components/EzSignature/EzSignature.d.ts +42 -0
- package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
- package/dist/components/EzSignature/index.d.ts +2 -0
- package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
- package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
- package/dist/components/EzTable/EzExcelFilter.d.ts +8 -0
- package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
- package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
- package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
- package/dist/components/EzTable/EzPagination.d.ts +19 -0
- package/dist/components/EzTable/EzTable.types.d.ts +1 -0
- package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
- package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
- package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
- package/dist/components/EzTable/EzTableStatusBar.d.ts +10 -0
- package/dist/components/EzTable/EzTableToolbar.d.ts +60 -0
- package/dist/components/EzTable/SmartCell.d.ts +7 -0
- package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
- package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
- package/dist/components/EzTable/components/EzDraggableHeader.d.ts +10 -0
- package/dist/components/EzTable/components/EzHeaderDragPreview.d.ts +7 -0
- package/dist/components/EzTable/components/EzTableBodySection.d.ts +72 -0
- package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
- package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +23 -0
- package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
- package/dist/components/EzTable/components/EzTableRow.d.ts +58 -0
- package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
- package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
- package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
- package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
- package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
- package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
- package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
- package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
- package/dist/components/EzTable/context/TableStore.d.ts +17 -0
- package/dist/components/EzTable/filterUtils.d.ts +5 -0
- package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
- package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
- package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
- package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
- package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
- package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
- package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
- package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
- package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
- package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
- package/dist/components/EzTable/hooks/useTableState.d.ts +33 -0
- package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +35 -0
- package/dist/components/EzTable/index.d.ts +54 -0
- package/dist/components/EzTable/renderers/index.d.ts +6 -0
- package/dist/components/EzTable/services/TableService.d.ts +29 -0
- package/dist/components/EzTable/types/EzTableColumn.types.d.ts +146 -0
- package/dist/components/EzTable/types/EzTableEdit.types.d.ts +58 -0
- package/dist/components/EzTable/types/EzTableFilter.types.d.ts +50 -0
- package/dist/components/EzTable/types/EzTableProps.d.ts +750 -0
- package/dist/components/EzTable/types/index.d.ts +4 -0
- package/dist/components/EzTable/useEzTable.d.ts +17 -0
- package/dist/components/EzTable/utils/SizingUtils.d.ts +11 -0
- package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
- package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
- package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
- package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
- package/dist/components/EzTable/utils/index.d.ts +1 -0
- package/dist/components/EzTreeView/EzTreeView.types.d.ts +364 -0
- package/dist/components/EzTreeView/EzTreeViewItem.d.ts +89 -0
- package/dist/components/EzTreeView/EzVirtualTree.d.ts +84 -0
- package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
- package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
- package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
- package/dist/components/EzTreeView/index.d.ts +40 -0
- package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
- package/dist/components/EzTreeView/useEzTreeView.d.ts +50 -0
- package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
- package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
- package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
- package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzSortableList.d.ts +12 -0
- package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
- package/dist/components/ui/avatar.d.ts +10 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/breadcrumb.d.ts +19 -0
- package/dist/components/ui/button.d.ts +13 -0
- package/dist/components/ui/calendar.d.ts +15 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/checkbox.d.ts +7 -0
- package/dist/components/ui/combobox.d.ts +19 -0
- package/dist/components/ui/command.d.ts +78 -0
- package/dist/components/ui/context-menu.d.ts +27 -0
- package/dist/components/ui/date-time-picker.d.ts +14 -0
- package/dist/components/ui/dropdown-menu.d.ts +31 -0
- package/dist/components/ui/index.d.ts +27 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/label.d.ts +9 -0
- package/dist/components/ui/modal.d.ts +9 -0
- package/dist/components/ui/password-input.d.ts +5 -0
- package/dist/components/ui/popover.d.ts +10 -0
- package/dist/components/ui/progress.d.ts +7 -0
- package/dist/components/ui/radio-group.d.ts +5 -0
- package/dist/components/ui/resizable.d.ts +8 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/select.d.ts +26 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/switch.d.ts +6 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/components/ui/tabs.d.ts +22 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/tooltip.d.ts +10 -0
- package/dist/date-time-picker-Bs-7XzHD.cjs +1 -0
- package/dist/date-time-picker-fUzf4TnU.js +127 -0
- package/dist/dropdown-menu-BRP0tyR_.cjs +1 -0
- package/dist/dropdown-menu-B_7_K13o.js +78 -0
- package/dist/ezux.css +2 -1
- package/dist/flow.cjs +1 -0
- package/dist/flow.d.ts +2 -0
- package/dist/flow.es.js +2 -0
- package/dist/index.cjs +3 -12
- package/dist/index.d.ts +66 -6404
- package/dist/index.es.js +229 -1041
- package/dist/input-CYlvlbF7.cjs +1 -0
- package/dist/input-Cj3sQK3M.js +14 -0
- package/dist/kanban.cjs +1 -1
- package/dist/kanban.d.ts +2 -1343
- package/dist/kanban.es.js +4 -17
- package/dist/label-BGgvoZWD.cjs +1 -0
- package/dist/label-DWEV--5W.js +16 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.ts +2 -690
- package/dist/layout.es.js +2 -20
- package/dist/lib/perfect-freehand.d.ts +221 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/mock-services.cjs +1 -0
- package/dist/mock-services.d.ts +8 -0
- package/dist/mock-services.es.js +161 -0
- package/dist/popover-D1akYj0W.js +17 -0
- package/dist/popover-wZKNvYM5.cjs +1 -0
- package/dist/scheduler.cjs +1 -1
- package/dist/scheduler.d.ts +2 -1430
- package/dist/scheduler.es.js +2 -11
- package/dist/scroll-area-BJs87d45.js +35 -0
- package/dist/scroll-area-DSkE2KB_.cjs +1 -0
- package/dist/select-D4tFaSai.js +43 -0
- package/dist/select-sVieKbLu.cjs +1 -0
- package/dist/shared/components/AnimatedText.d.ts +44 -0
- package/dist/shared/components/BaseCell.d.ts +14 -0
- package/dist/shared/components/BooleanRenderer.d.ts +34 -0
- package/dist/shared/components/ChartRenderer.d.ts +19 -0
- package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
- package/dist/shared/components/EzContextMenu.d.ts +12 -0
- package/dist/shared/components/EzNotificationDropdown.d.ts +2 -0
- package/dist/shared/components/HighlightText.d.ts +4 -0
- package/dist/shared/components/Modal.d.ts +13 -0
- package/dist/shared/components/NotificationPanel.d.ts +2 -0
- package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
- package/dist/shared/components/SearchableSelect.d.ts +13 -0
- package/dist/shared/components/SelectRenderer.d.ts +33 -0
- package/dist/shared/components/StatusBadge.d.ts +21 -0
- package/dist/shared/components/TooltipWrapper.d.ts +12 -0
- package/dist/shared/components/index.d.ts +9 -0
- package/dist/shared/contexts/EzProvider.d.ts +56 -0
- package/dist/shared/hooks/index.d.ts +56 -0
- package/dist/shared/hooks/useBaseComponent.d.ts +59 -0
- package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
- package/dist/shared/hooks/useComponentState.d.ts +39 -0
- package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
- package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
- package/dist/shared/hooks/useDebounce.d.ts +10 -0
- package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
- package/dist/shared/hooks/useDialogState.d.ts +21 -0
- package/dist/shared/hooks/useDndHandlers.d.ts +19 -0
- package/dist/shared/hooks/useEditing.d.ts +107 -0
- package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
- package/dist/shared/hooks/useEzTheme.d.ts +22 -0
- package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
- package/dist/shared/hooks/useHistory.d.ts +13 -0
- package/dist/shared/hooks/useI18n.d.ts +8 -0
- package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
- package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
- package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
- package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
- package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
- package/dist/shared/hooks/useLoadingState.d.ts +17 -0
- package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
- package/dist/shared/hooks/useNotificationService.d.ts +8 -0
- package/dist/shared/hooks/usePerformanceMonitor.d.ts +22 -0
- package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
- package/dist/shared/hooks/useSelection.d.ts +73 -0
- package/dist/shared/hooks/useService.d.ts +12 -0
- package/dist/shared/hooks/useServiceState.d.ts +1 -0
- package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
- package/dist/shared/hooks/useTheme.d.ts +13 -0
- package/dist/shared/hooks/useVirtualization.d.ts +85 -0
- package/dist/shared/services/BaseService.d.ts +57 -0
- package/dist/shared/services/ContextMenuService.d.ts +58 -0
- package/dist/shared/services/ExportService.d.ts +35 -0
- package/dist/shared/services/FocusManagerService.d.ts +33 -0
- package/dist/shared/services/HierarchyService.d.ts +43 -0
- package/dist/shared/services/I18nService.d.ts +84 -0
- package/dist/shared/services/LayoutService.d.ts +80 -0
- package/dist/shared/services/NotificationService.d.ts +44 -0
- package/dist/shared/services/PersistenceService.d.ts +69 -0
- package/dist/shared/services/ServiceRegistry.d.ts +52 -0
- package/dist/shared/services/ThemeService.d.ts +49 -0
- package/dist/shared/services/VirtualizationService.d.ts +51 -0
- package/dist/shared/state/store.d.ts +10 -0
- package/dist/shared/themes.d.ts +25 -0
- package/dist/shared/types/BaseProps.d.ts +17 -0
- package/dist/shared/types/common.d.ts +373 -0
- package/dist/shared/types/index.d.ts +2 -0
- package/dist/shared/utils/canvasUtils.d.ts +16 -0
- package/dist/shared/utils/commonUtils.d.ts +28 -0
- package/dist/shared/utils/csvUtils.d.ts +7 -0
- package/dist/shared/utils/dateUtils.d.ts +5 -0
- package/dist/shared/utils/dndUtils.d.ts +16 -0
- package/dist/shared/utils/formatUtils.d.ts +20 -0
- package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
- package/dist/shared/utils/index.d.ts +11 -0
- package/dist/shared/utils/renderUtils.d.ts +6 -0
- package/dist/shared/utils/serviceUtils.d.ts +10 -0
- package/dist/shared/utils/styleUtils.d.ts +121 -0
- package/dist/shared/utils/validationUtils.d.ts +16 -0
- package/dist/signature.cjs +1 -1
- package/dist/signature.d.ts +2 -410
- package/dist/signature.es.js +2 -4
- package/dist/table.cjs +1 -1
- package/dist/table.d.ts +2 -1059
- package/dist/table.es.js +2 -17
- package/dist/theme-vars.css +143 -135
- package/dist/tooltip-B1wC9m05.js +16 -0
- package/dist/tooltip-Qmzrg5u5.cjs +1 -0
- package/dist/treeview.cjs +1 -1
- package/dist/treeview.d.ts +2 -656
- package/dist/treeview.es.js +2 -954
- package/dist/useComponentState-DiSFLYju.js +57 -0
- package/dist/useComponentState-Wcz6pjd6.cjs +1 -0
- package/dist/useImperativeAPI-Dbx2hMTb.js +7 -0
- package/dist/useImperativeAPI-VrgLwXEO.cjs +1 -0
- package/dist/useInitCoreServices-CuBrviDM.js +40 -0
- package/dist/useInitCoreServices-DlALVDNx.cjs +1 -0
- package/dist/useService-CnCBGG3G.js +10 -0
- package/dist/useService-CyF782jv.cjs +1 -0
- package/dist/useServiceState-CkrJZm1D.js +21 -0
- package/dist/useServiceState-PyYQWxHi.cjs +1 -0
- package/package.json +76 -56
- package/dist/EzContextMenu-B6HBUjWv.cjs +0 -5
- package/dist/EzContextMenu-BSA_B6Pr.js +0 -3500
- package/dist/EzErrorBoundary-CEdz_hDo.cjs +0 -41
- package/dist/EzErrorBoundary-D4NBadES.js +0 -3727
- package/dist/EzEventModal-BUMp_BFi.js +0 -689
- package/dist/EzEventModal-xzHfzi0O.cjs +0 -1
- package/dist/EzGroupingPanel-BUsIYDRi.js +0 -143
- package/dist/EzGroupingPanel-D0HdSomF.cjs +0 -1
- package/dist/EzSchedulerQuickAdd-C653LTGh.js +0 -118
- package/dist/EzSchedulerQuickAdd-UnOWCpJd.cjs +0 -1
- package/dist/EzSchedulerToolbar-C-5OdRY6.cjs +0 -1
- package/dist/EzSchedulerToolbar-CO5jjDQg.js +0 -240
- package/dist/EzSignature-BaNesxwC.cjs +0 -1
- package/dist/EzSignature-D4EYwo9W.js +0 -419
- package/dist/EzTableEditDialog-Cd948V1C.js +0 -63
- package/dist/EzTableEditDialog-NiOubaMT.cjs +0 -1
- package/dist/EzTableFooter-CWjfGCjL.cjs +0 -1
- package/dist/EzTableFooter-DveD12RC.js +0 -54
- package/dist/EzTableToolbar-Bz8UWv6j.js +0 -246
- package/dist/EzTableToolbar-DHE7Bb1R.cjs +0 -1
- package/dist/HighlightText-8D6KEyBw.js +0 -68
- package/dist/HighlightText-LtZmzCle.cjs +0 -1
- package/dist/NotificationPanel-D2Y-_ahk.js +0 -68
- package/dist/NotificationPanel-zLxrtTGf.cjs +0 -1
- package/dist/TooltipWrapper-BrRTi5EJ.js +0 -2021
- package/dist/TooltipWrapper-DWts4bAI.cjs +0 -1
- package/dist/avatar-BeK0E4mn.js +0 -41
- package/dist/avatar-DZAaTK2f.cjs +0 -1
- package/dist/bell-DAz8P0BR.js +0 -14
- package/dist/bell-DOX2y38e.cjs +0 -1
- package/dist/calendar-BMZ8ddOf.cjs +0 -1
- package/dist/calendar-Dy3rVMW2.js +0 -90
- package/dist/checkbox-B0lGHUyy.cjs +0 -1
- package/dist/checkbox-boJRxICT.js +0 -46
- package/dist/chevron-down-C3s8jU6B.js +0 -5
- package/dist/chevron-down-DZVL7VHW.cjs +0 -1
- package/dist/chevron-left-BFr8XZyF.js +0 -5
- package/dist/chevron-left-HWhRo6IH.cjs +0 -1
- package/dist/circle-alert-77QqFR-z.cjs +0 -1
- package/dist/circle-alert-B2AMDd8N.js +0 -9
- package/dist/circle-x-Cv7bfIC_.js +0 -9
- package/dist/circle-x-DwVXxhXr.cjs +0 -1
- package/dist/date-time-picker-DTxHdPgQ.cjs +0 -1
- package/dist/date-time-picker-Dj2eftJI.js +0 -1636
- package/dist/download-0ZhO2XaW.cjs +0 -1
- package/dist/download-panVHmk6.js +0 -9
- package/dist/ellipsis-CuqNthAj.js +0 -9
- package/dist/ellipsis-CzlqJf-i.cjs +0 -1
- package/dist/grip-vertical-CSyDKBul.js +0 -12
- package/dist/grip-vertical-DZNBW1Dn.cjs +0 -1
- package/dist/index-B3ipEEhH.cjs +0 -2
- package/dist/index-BPPb7bcs.js +0 -3220
- package/dist/index-BQKw_Vho.js +0 -9604
- package/dist/index-C5STgBSy.js +0 -5203
- package/dist/index-C6NfgycP.js +0 -4644
- package/dist/index-D4f2ZdrG.cjs +0 -2
- package/dist/index-DUY1SqMo.cjs +0 -1
- package/dist/index-c1Zg--dt.cjs +0 -7
- package/dist/input-BgM_la4k.cjs +0 -1
- package/dist/input-jYQ5VKNR.js +0 -21
- package/dist/isBefore-C3Y_wbk3.js +0 -15
- package/dist/isBefore-Cp1ttk6q.cjs +0 -1
- package/dist/label-ClOW9UCt.js +0 -55
- package/dist/label-Dx6oDB-X.cjs +0 -1
- package/dist/layers-BA4i1fYX.js +0 -27
- package/dist/layers-xSPd-hz3.cjs +0 -1
- package/dist/popover-BJq1CKmi.cjs +0 -1
- package/dist/popover-Cmlb7w3R.js +0 -341
- package/dist/scroll-area-9fwpVNxT.js +0 -573
- package/dist/scroll-area-CwwZSSA4.cjs +0 -1
- package/dist/select-GxA46anr.cjs +0 -1
- package/dist/select-mDCun_IR.js +0 -35
- package/dist/settings-CvyjK75A.js +0 -31
- package/dist/settings-DKPknrt8.cjs +0 -1
- package/dist/sortable.esm-CsRPuXyD.cjs +0 -1
- package/dist/sortable.esm-CzMCDPet.js +0 -477
- package/dist/tooltip-B41iztKT.cjs +0 -1
- package/dist/tooltip-BCtrEe0z.js +0 -490
- package/dist/useComponentState-C87xXa5d.js +0 -64
- package/dist/useComponentState-DDgGbBXv.cjs +0 -1
- package/dist/useImperativeAPI-DXmCQvPL.js +0 -7
- package/dist/useImperativeAPI-DbZ3owSV.cjs +0 -1
- package/dist/useInitCoreServices-CwXv2p4S.cjs +0 -1
- package/dist/useInitCoreServices-D1WaWlaI.js +0 -3929
- package/dist/useService-8OoezWr8.cjs +0 -1
- package/dist/useService-BUi3uAqE.js +0 -10
- package/dist/useServiceState-BjpCjUn2.cjs +0 -1
- package/dist/useServiceState-VE-viK8b.js +0 -24
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { SetStateAction } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Supported action types for table history tracking.
|
|
4
|
+
*/
|
|
5
|
+
export type TableActionType = 'ADD_ROW' | 'DELETE_ROW' | 'EDIT_CELL';
|
|
6
|
+
/**
|
|
7
|
+
* Represents a single action in the table history.
|
|
8
|
+
* @group Models
|
|
9
|
+
*/
|
|
10
|
+
export interface TableAction<TData> {
|
|
11
|
+
/** Type of action performed. @group Properties */
|
|
12
|
+
type: TableActionType;
|
|
13
|
+
/** Metadata about the action (row, column, values). @group Properties */
|
|
14
|
+
payload: {
|
|
15
|
+
rowIndex?: number;
|
|
16
|
+
rowId?: string | number;
|
|
17
|
+
columnId?: string;
|
|
18
|
+
oldValue?: any;
|
|
19
|
+
newValue?: any;
|
|
20
|
+
row?: TData;
|
|
21
|
+
};
|
|
22
|
+
/** Execution timestamp. @group Properties */
|
|
23
|
+
timestamp: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* State container for undo/redo history.
|
|
27
|
+
* @group Models
|
|
28
|
+
*/
|
|
29
|
+
export interface HistoryState<TData> {
|
|
30
|
+
/** List of past actions (undo stack). @group Properties */
|
|
31
|
+
past: TableAction<TData>[];
|
|
32
|
+
/** List of future actions (redo stack). @group Properties */
|
|
33
|
+
future: TableAction<TData>[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Internal state structure for the history hook.
|
|
37
|
+
* @group Models
|
|
38
|
+
*/
|
|
39
|
+
export interface TableHistoryState<TData> {
|
|
40
|
+
/** Current table data. @group Properties */
|
|
41
|
+
data: TData[];
|
|
42
|
+
/** History stacks. @group Properties */
|
|
43
|
+
history: HistoryState<TData>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Optimized hook for managing table data with undo/redo capabilities.
|
|
47
|
+
* Tracks added, edited, and deleted rows relative to the initial dataset.
|
|
48
|
+
*
|
|
49
|
+
* @param initialData - The baseline data for the table
|
|
50
|
+
* @param idField - Field name used as a unique identifier (default: 'id')
|
|
51
|
+
* @returns State and methods for data manipulation and history tracking
|
|
52
|
+
* @group Hooks
|
|
53
|
+
*/
|
|
54
|
+
export declare const useTableHistory: <TData extends object>(initialData: TData[], idField?: string) => {
|
|
55
|
+
/** Current table data including uncommitted changes. @group State */
|
|
56
|
+
data: TData[];
|
|
57
|
+
/** Programmatically set the table data. @group Methods */
|
|
58
|
+
setData: (action: SetStateAction<TData[]>) => void;
|
|
59
|
+
/** Perform a cell edit at a specific coordinate. @group Methods */
|
|
60
|
+
performEdit: (rowIndex: number, columnId: string, newValue: any) => void;
|
|
61
|
+
/** Add a new row to the data. @group Methods */
|
|
62
|
+
addRow: (newRow: TData, index?: number) => void;
|
|
63
|
+
/** Delete one or more rows by index. @group Methods */
|
|
64
|
+
deleteRows: (rowIndices: number[]) => void;
|
|
65
|
+
/** Undo the last recorded action. @group Methods */
|
|
66
|
+
undo: () => void;
|
|
67
|
+
/** Redo the last undone action. @group Methods */
|
|
68
|
+
redo: () => void;
|
|
69
|
+
/** Whether undo is currently available. @group State */
|
|
70
|
+
canUndo: boolean;
|
|
71
|
+
/** Whether redo is currently available. @group State */
|
|
72
|
+
canRedo: boolean;
|
|
73
|
+
/** Dictionary of change counts (added, edited, deleted) relative to initialData. @group State */
|
|
74
|
+
changes: {
|
|
75
|
+
added: number;
|
|
76
|
+
edited: number;
|
|
77
|
+
deleted: number;
|
|
78
|
+
};
|
|
79
|
+
/** Detailed lists of added, changed, and deleted records. @group State */
|
|
80
|
+
batchChanges: {
|
|
81
|
+
addedRecords: TData[];
|
|
82
|
+
changedRecords: TData[];
|
|
83
|
+
deletedRecords: TData[];
|
|
84
|
+
};
|
|
85
|
+
/** Reset all changes back to the initial state. @group Methods */
|
|
86
|
+
resetData: () => void;
|
|
87
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Table } from '@tanstack/react-table';
|
|
2
|
+
import { EzTableProps, EzTableRef } from '../EzTable.types';
|
|
3
|
+
/**
|
|
4
|
+
* Consolidates the massive imperative API for EzTable using shared factory utilities.
|
|
5
|
+
* Reduces boilerplate and ensures consistent naming conventions.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useTableImperative: <TData extends object>(props: EzTableProps<TData>, table: Table<TData>, data: TData[], methods: {
|
|
8
|
+
refresh: () => void;
|
|
9
|
+
setData: React.Dispatch<React.SetStateAction<TData[]>>;
|
|
10
|
+
performEdit: (rowIndex: number, columnId: string, value: unknown) => void;
|
|
11
|
+
showSpinner: () => void;
|
|
12
|
+
hideSpinner: () => void;
|
|
13
|
+
scrollToIndex: (index: number) => void;
|
|
14
|
+
toggleRowEditing: (rowIndex: number, editing?: boolean) => void;
|
|
15
|
+
forceUpdate: () => void;
|
|
16
|
+
resetData: () => void;
|
|
17
|
+
setPagerMessage: (msg: string | undefined) => void;
|
|
18
|
+
batchChanges: {
|
|
19
|
+
addedRecords: TData[];
|
|
20
|
+
changedRecords: TData[];
|
|
21
|
+
deletedRecords: TData[];
|
|
22
|
+
};
|
|
23
|
+
changes: {
|
|
24
|
+
added: number;
|
|
25
|
+
edited: number;
|
|
26
|
+
deleted: number;
|
|
27
|
+
};
|
|
28
|
+
addRow: (row: TData, index?: number) => void;
|
|
29
|
+
deleteRows: (indices: number[]) => void;
|
|
30
|
+
setFocusedCell: (cell: {
|
|
31
|
+
r: number;
|
|
32
|
+
c: number;
|
|
33
|
+
} | null) => void;
|
|
34
|
+
autoFitColumn: (columnId: string, options?: {
|
|
35
|
+
onlyVisible?: boolean;
|
|
36
|
+
maxWidth?: number;
|
|
37
|
+
}) => void;
|
|
38
|
+
addMutation?: any;
|
|
39
|
+
updateMutation?: any;
|
|
40
|
+
deleteMutation?: any;
|
|
41
|
+
service?: any;
|
|
42
|
+
}, ref: React.Ref<EzTableRef<TData>>, extraApi?: any) => EzTableRef<TData>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Table } from '@tanstack/react-table';
|
|
2
|
+
import { EzTableProps } from '../EzTable.types';
|
|
3
|
+
/**
|
|
4
|
+
* Handles selection logic for EzTable, including range selection.
|
|
5
|
+
* Integrates with TanStack table's selection state for row selection.
|
|
6
|
+
*
|
|
7
|
+
* @param props - Table properties of type {@link EzTableProps}
|
|
8
|
+
* @param table - The TanStack Table instance
|
|
9
|
+
* @returns Selection state and event handlers
|
|
10
|
+
* @group Hooks
|
|
11
|
+
*/
|
|
12
|
+
export declare const useTableSelection: <TData extends object>(props: EzTableProps<TData>, table: Table<TData>) => {
|
|
13
|
+
/** Cell-based range selection state. @group State */
|
|
14
|
+
rangeSelection: {
|
|
15
|
+
start: {
|
|
16
|
+
r: number;
|
|
17
|
+
c: number;
|
|
18
|
+
};
|
|
19
|
+
end: {
|
|
20
|
+
r: number;
|
|
21
|
+
c: number;
|
|
22
|
+
};
|
|
23
|
+
} | null;
|
|
24
|
+
/** Handler for mouse down event on a cell. @group Events */
|
|
25
|
+
onCellMouseDown: (rowIndex: number, colIndex: number) => void;
|
|
26
|
+
/** Handler for mouse enter event on a cell. @group Events */
|
|
27
|
+
onCellMouseEnter: (rowIndex: number, colIndex: number) => void;
|
|
28
|
+
/** Imperatively select a range of rows. @group Methods */
|
|
29
|
+
selectRowByRange: (startIndex: number, endIndex: number) => void;
|
|
30
|
+
/** Whether a selection operation is currently active. @group State */
|
|
31
|
+
isSelecting: boolean;
|
|
32
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SortingState, ColumnFiltersState, PaginationState, RowSelectionState, GroupingState, ExpandedState, RowPinningState, ColumnPinningState, Table } from '@tanstack/react-table';
|
|
2
|
+
import { EzTableProps, EzGlobalFilterState } from '../EzTable.types';
|
|
3
|
+
/**
|
|
4
|
+
* Core state and TanStack table instance initialization for EzTable.
|
|
5
|
+
* Handles persistence and basic state synchronization via unified useComponentState.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useTableState: <TData extends object>(props: EzTableProps<TData>, currentData: TData[]) => {
|
|
8
|
+
table: Table<TData>;
|
|
9
|
+
states: {
|
|
10
|
+
sorting: SortingState;
|
|
11
|
+
setSorting: (updater: any) => void;
|
|
12
|
+
columnFilters: ColumnFiltersState;
|
|
13
|
+
setColumnFilters: (updater: any) => void;
|
|
14
|
+
globalFilter: EzGlobalFilterState;
|
|
15
|
+
setGlobalFilter: (updater: any) => void;
|
|
16
|
+
rowSelection: RowSelectionState;
|
|
17
|
+
setRowSelection: (updater: any) => void;
|
|
18
|
+
paginationState: PaginationState;
|
|
19
|
+
setPaginationState: (updater: any) => void;
|
|
20
|
+
grouping: GroupingState;
|
|
21
|
+
setGrouping: (updater: any) => void;
|
|
22
|
+
expanded: ExpandedState;
|
|
23
|
+
setExpanded: (updater: any) => void;
|
|
24
|
+
rowPinning: RowPinningState;
|
|
25
|
+
setRowPinning: (updater: any) => void;
|
|
26
|
+
columnPinning: ColumnPinningState;
|
|
27
|
+
setColumnPinning: (updater: any) => void;
|
|
28
|
+
columnVisibility: Record<string, boolean>;
|
|
29
|
+
setColumnVisibility: (updater: any) => void;
|
|
30
|
+
columnOrder: string[];
|
|
31
|
+
setColumnOrder: (updater: any) => void;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Table } from '@tanstack/react-table';
|
|
2
|
+
import { EzTableProps } from '../EzTable.types';
|
|
3
|
+
/**
|
|
4
|
+
* Handles table virtualization using the shared useVirtualization hook.
|
|
5
|
+
* Maps table density and column sizes to virtualization parameters.
|
|
6
|
+
*
|
|
7
|
+
* @param props - Table properties of type {@link EzTableProps}
|
|
8
|
+
* @param table - The TanStack Table instance
|
|
9
|
+
* @returns Virtualization state and scroll methods
|
|
10
|
+
* @group Hooks
|
|
11
|
+
*/
|
|
12
|
+
export declare const useTableVirtualization: <TData extends object>(props: EzTableProps<TData>, table: Table<TData>, dir?: "ltr" | "rtl") => {
|
|
13
|
+
/** Reference to the scrollable container. @group Properties */
|
|
14
|
+
parentRef: import('react').RefObject<HTMLDivElement | null>;
|
|
15
|
+
/** Row virtualizer instance. @group Properties */
|
|
16
|
+
rowVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element>;
|
|
17
|
+
/** Column virtualizer instance (if enabled). @group Properties */
|
|
18
|
+
columnVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element> | undefined;
|
|
19
|
+
/** Scroll to a specific item index. @group Methods */
|
|
20
|
+
scrollToIndex: (index: number, options?: {
|
|
21
|
+
align?: "start" | "center" | "end" | "auto";
|
|
22
|
+
}) => void;
|
|
23
|
+
/** Scroll to a specific row. @group Methods */
|
|
24
|
+
scrollToRow: (index: number, options?: {
|
|
25
|
+
align?: "start" | "center" | "end" | "auto";
|
|
26
|
+
}) => void;
|
|
27
|
+
/** Scroll to a specific column. @group Methods */
|
|
28
|
+
scrollToColumn: ((index: number, options?: {
|
|
29
|
+
align?: "start" | "center" | "end" | "auto";
|
|
30
|
+
}) => void) | undefined;
|
|
31
|
+
/** Calculated row height based on density or props. @group Properties */
|
|
32
|
+
effectiveRowHeight: number;
|
|
33
|
+
/** Whether rows are measured from rendered content. @group Properties */
|
|
34
|
+
dynamicRowSizing: boolean;
|
|
35
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { EzTableProps, EzTableRef } from './EzTable.types';
|
|
3
|
+
export declare const EzTablePrimitive: <TData extends object>({ ref, ...props }: EzTableProps<TData> & {
|
|
4
|
+
ref?: React.Ref<EzTableRef<TData>>;
|
|
5
|
+
}) => React.JSX.Element;
|
|
6
|
+
/**
|
|
7
|
+
* EzTable is a high-performance, enterprise-grade data grid engine.
|
|
8
|
+
* Built on TanStack Table v8, it combines lightweight core logic with powerful
|
|
9
|
+
* features like virtualization, advanced filtering, and modular editing.
|
|
10
|
+
*
|
|
11
|
+
|
|
12
|
+
* ### Core Capabilities
|
|
13
|
+
* - **Superior Performance**: Row and column virtualization for smooth handling of 100k+ records.
|
|
14
|
+
* - **Smart Data Fetching**: Support for infinite scroll, server-side pagination, and caching via React Query.
|
|
15
|
+
* - **Flexible Editing**: Choose between `Normal` (inline), `Dialog` (form-based), or `Batch` editing modes.
|
|
16
|
+
* - **Advanced Interactivity**: Range selection, drag-and-drop column reordering, and context menus.
|
|
17
|
+
* - **Data Intelligence**: Built-in export (Excel/CSV/PDF), column pinning, and grouping.
|
|
18
|
+
*
|
|
19
|
+
* ### Minimal Example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <EzTable
|
|
22
|
+
* data={employees}
|
|
23
|
+
* columns={[
|
|
24
|
+
* { accessorKey: 'name', header: 'Name' },
|
|
25
|
+
* { accessorKey: 'role', header: 'Role' }
|
|
26
|
+
* ]}
|
|
27
|
+
* pagination
|
|
28
|
+
* enableFiltering
|
|
29
|
+
* />
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* ### Advanced Config: Editing & Persistence
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <EzTable
|
|
35
|
+
* data={data}
|
|
36
|
+
* columns={columns}
|
|
37
|
+
* editSettings={{
|
|
38
|
+
* allowEditing: true,
|
|
39
|
+
* mode: 'Batch',
|
|
40
|
+
* primaryKey: 'id'
|
|
41
|
+
* }}
|
|
42
|
+
* enablePersistence
|
|
43
|
+
* persistenceKey="user-table-grid"
|
|
44
|
+
* onBatchSave={(changes) => saveToDatabase(changes)}
|
|
45
|
+
* />
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @group Core Components
|
|
49
|
+
*/
|
|
50
|
+
export declare function EzTable<TData extends object>({ ref, ...props }: EzTableProps<TData> & {
|
|
51
|
+
ref?: React.Ref<EzTableRef<TData>>;
|
|
52
|
+
}): React.JSX.Element;
|
|
53
|
+
export * from './context/EzTableContext';
|
|
54
|
+
export * from './utils/SizingUtils';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from '../../../shared/components/BaseCell';
|
|
2
|
+
export * from '../../../shared/components/PrimitiveRenderer';
|
|
3
|
+
export * from '../../../shared/components/BooleanRenderer';
|
|
4
|
+
export * from '../../../shared/components/SelectRenderer';
|
|
5
|
+
export * from '../../../shared/components/ChartRenderer';
|
|
6
|
+
export * from '../../../shared/components/SearchableSelect';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ITableService, TableParams } from '../EzTable.types';
|
|
2
|
+
/**
|
|
3
|
+
* TableService implementation following the ServiceRegistry pattern.
|
|
4
|
+
* Provides mock server-side operations like sorting, filtering, and pagination.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TableService<T extends Record<string, unknown>> implements ITableService<T> {
|
|
7
|
+
name: string;
|
|
8
|
+
init(): Promise<void>;
|
|
9
|
+
cleanup(): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Seeds the mock database with initial data.
|
|
12
|
+
*/
|
|
13
|
+
initializeWithData(data: T[]): void;
|
|
14
|
+
/**
|
|
15
|
+
* Simulates fetching data from a server with support for sorting, filtering, and pagination.
|
|
16
|
+
*/
|
|
17
|
+
getData(params: TableParams<T>): Promise<{
|
|
18
|
+
data: T[];
|
|
19
|
+
totalCount: number;
|
|
20
|
+
}>;
|
|
21
|
+
fetchData(query: unknown): Promise<{
|
|
22
|
+
data: T[];
|
|
23
|
+
rowCount?: number;
|
|
24
|
+
}>;
|
|
25
|
+
createRow(row: Partial<T>): Promise<T>;
|
|
26
|
+
updateRow(id: string | number, updates: Partial<T>): Promise<T>;
|
|
27
|
+
deleteRow(id: string | number): Promise<void>;
|
|
28
|
+
private simulateLatency;
|
|
29
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Row, Column, Table, RowData, ColumnDef as TanStackColumnDef } from '@tanstack/react-table';
|
|
3
|
+
import { FilterSettings, SearchSettings, SortSettings, TextWrapSettings } from './EzTableFilter.types';
|
|
4
|
+
import { SelectionSettings, EditSettings } from './EzTableEdit.types';
|
|
5
|
+
import { EzTableClassNames, EzTableIcons, EzTableSlots, EzTableLocalization } from './EzTableProps';
|
|
6
|
+
/**
|
|
7
|
+
* Props passed to custom cell renderers.
|
|
8
|
+
* @group Models
|
|
9
|
+
*/
|
|
10
|
+
export interface EzTableCellProps<TData = Record<string, unknown>, TValue = unknown> {
|
|
11
|
+
/** Returns the current cell value. @group Properties */
|
|
12
|
+
getValue: () => TValue;
|
|
13
|
+
/** The TanStack Row instance. @group Properties */
|
|
14
|
+
row: Row<TData>;
|
|
15
|
+
/** The TanStack Column instance. @group Properties */
|
|
16
|
+
column: Column<TData, TValue>;
|
|
17
|
+
/** The TanStack Table instance. @group Properties */
|
|
18
|
+
table: Table<TData>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Props passed to custom editor components.
|
|
22
|
+
* @group Models
|
|
23
|
+
*/
|
|
24
|
+
export interface EzTableEditorProps<TData = Record<string, unknown>, TValue = unknown> extends EzTableCellProps<TData, TValue> {
|
|
25
|
+
/** Current value in the editor. @group Properties */
|
|
26
|
+
value: TValue;
|
|
27
|
+
/** Callback to update the value. @group Events */
|
|
28
|
+
onChange: (value: TValue) => void;
|
|
29
|
+
/** Callback when the editor loses focus. @group Events */
|
|
30
|
+
onBlur: () => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Extended metadata for EzTable columns, supporting rich features
|
|
34
|
+
* like editor types, chart options, and formatting.
|
|
35
|
+
* @group Models
|
|
36
|
+
*/
|
|
37
|
+
export type EzColumnMeta = {
|
|
38
|
+
/** Custom cell component. @group Components */
|
|
39
|
+
Cell?: React.ComponentType<EzTableCellProps<Record<string, unknown>, unknown>>;
|
|
40
|
+
/** Custom editor component. @group Components */
|
|
41
|
+
Editor?: React.ComponentType<EzTableEditorProps<Record<string, unknown>, unknown>>;
|
|
42
|
+
/** Custom filter component. @group Components */
|
|
43
|
+
Filter?: React.ComponentType<unknown>;
|
|
44
|
+
/** Filter UI variant. @group Properties */
|
|
45
|
+
filterVariant?: 'text' | 'range' | 'select';
|
|
46
|
+
/** Column content alignment. @group Properties */
|
|
47
|
+
align?: 'left' | 'center' | 'right';
|
|
48
|
+
/** Column header icon. @group Properties */
|
|
49
|
+
icon?: React.ReactNode;
|
|
50
|
+
/** Whether to wrap text in cells. @group Properties */
|
|
51
|
+
wrapText?: boolean;
|
|
52
|
+
/** Text clipping mode. @group Properties */
|
|
53
|
+
clipMode?: 'clip' | 'ellipsis' | 'ellipsis-tooltip';
|
|
54
|
+
/** Whether to automatically fit column width to content. @group Properties */
|
|
55
|
+
autoFit?: boolean;
|
|
56
|
+
/** Predefined column type for automatic formatting/editing. @group Properties */
|
|
57
|
+
columnType?: 'text' | 'longtext' | 'number' | 'boolean' | 'date' | 'datetime' | 'select' | 'multiselect' | 'chart' | 'sparkline' | 'progress';
|
|
58
|
+
/** Options for boolean columns. @group Properties */
|
|
59
|
+
booleanOptions?: {
|
|
60
|
+
trueLabel?: string;
|
|
61
|
+
falseLabel?: string;
|
|
62
|
+
nullLabel?: string;
|
|
63
|
+
showIcon?: boolean;
|
|
64
|
+
showLabel?: boolean;
|
|
65
|
+
variant?: 'checkbox' | 'switch';
|
|
66
|
+
};
|
|
67
|
+
/** Options for chart/progress columns. @group Properties */
|
|
68
|
+
chartOptions?: {
|
|
69
|
+
color?: 'default' | 'success' | 'warning' | 'danger' | 'info';
|
|
70
|
+
size?: 'sm' | 'md' | 'lg';
|
|
71
|
+
showLabel?: boolean;
|
|
72
|
+
height?: number;
|
|
73
|
+
width?: number;
|
|
74
|
+
showDots?: boolean;
|
|
75
|
+
};
|
|
76
|
+
/** Options for long text columns. @group Properties */
|
|
77
|
+
longTextOptions?: {
|
|
78
|
+
previewLength?: number;
|
|
79
|
+
};
|
|
80
|
+
/** Options for numeric columns. @group Properties */
|
|
81
|
+
numberOptions?: {
|
|
82
|
+
format?: 'integer' | 'float' | 'currency' | 'percentage';
|
|
83
|
+
decimals?: number;
|
|
84
|
+
currency?: string;
|
|
85
|
+
locale?: string;
|
|
86
|
+
};
|
|
87
|
+
/** Options for date columns. @group Properties */
|
|
88
|
+
dateOptions?: {
|
|
89
|
+
format?: 'short' | 'medium' | 'long' | 'full';
|
|
90
|
+
locale?: string;
|
|
91
|
+
};
|
|
92
|
+
/** Options for date-time columns. @group Properties */
|
|
93
|
+
dateTimeOptions?: {
|
|
94
|
+
format?: 'short' | 'medium' | 'long' | 'full' | 'relative';
|
|
95
|
+
showIcon?: boolean;
|
|
96
|
+
locale?: string;
|
|
97
|
+
};
|
|
98
|
+
/** Options for select/dropdown columns. @group Properties */
|
|
99
|
+
selectOptions?: {
|
|
100
|
+
options?: {
|
|
101
|
+
value: unknown;
|
|
102
|
+
label: string;
|
|
103
|
+
color?: string;
|
|
104
|
+
icon?: React.ReactNode;
|
|
105
|
+
}[];
|
|
106
|
+
multiSelect?: boolean;
|
|
107
|
+
variant?: 'dropdown' | 'radio' | 'combobox';
|
|
108
|
+
};
|
|
109
|
+
/** Grid lines configuration for this column. @group Properties */
|
|
110
|
+
gridLines?: 'Both' | 'Horizontal' | 'Vertical' | 'None';
|
|
111
|
+
};
|
|
112
|
+
declare module '@tanstack/react-table' {
|
|
113
|
+
interface TableMeta<TData extends RowData> {
|
|
114
|
+
updateData?: (rowIndex: number, columnId: string, value: unknown) => void;
|
|
115
|
+
editingRows?: Record<string, boolean>;
|
|
116
|
+
toggleRowEditing?: (rowIndex: number, editing?: boolean) => void;
|
|
117
|
+
focusedCell?: {
|
|
118
|
+
r: number;
|
|
119
|
+
c: number;
|
|
120
|
+
} | null;
|
|
121
|
+
setFocusedCell?: (cell: {
|
|
122
|
+
r: number;
|
|
123
|
+
c: number;
|
|
124
|
+
} | null) => void;
|
|
125
|
+
navigateFocus?: (dr: number, dc: number) => void;
|
|
126
|
+
enableEditing?: boolean;
|
|
127
|
+
isRowEditable?: (row: TData) => boolean;
|
|
128
|
+
isCellEditable?: (row: TData, columnId: string) => boolean;
|
|
129
|
+
enableSearchHighlighting?: boolean;
|
|
130
|
+
selectionSettings?: SelectionSettings;
|
|
131
|
+
editSettings?: EditSettings;
|
|
132
|
+
filterSettings?: FilterSettings;
|
|
133
|
+
searchSettings?: SearchSettings;
|
|
134
|
+
sortSettings?: SortSettings;
|
|
135
|
+
textWrapSettings?: TextWrapSettings;
|
|
136
|
+
classNames?: EzTableClassNames<TData>;
|
|
137
|
+
icons?: EzTableIcons;
|
|
138
|
+
slots?: EzTableSlots<TData>;
|
|
139
|
+
slotProps?: Record<string, unknown>;
|
|
140
|
+
localization?: EzTableLocalization;
|
|
141
|
+
gridLines?: 'Both' | 'Horizontal' | 'Vertical' | 'None';
|
|
142
|
+
}
|
|
143
|
+
interface ColumnMeta<TData extends RowData, TValue> extends EzColumnMeta {
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
export type ColumnDef<TData, TValue = unknown> = TanStackColumnDef<TData, TValue>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for row/cell selection behavior.
|
|
4
|
+
* @group Models
|
|
5
|
+
*/
|
|
6
|
+
export interface SelectionSettings {
|
|
7
|
+
/** Selection mode. @group Properties */
|
|
8
|
+
mode?: 'Row' | 'Cell' | 'Both';
|
|
9
|
+
/** Selection type. @group Properties */
|
|
10
|
+
type?: 'Single' | 'Multiple';
|
|
11
|
+
/** Whether to allow selection only via checkbox. @group Properties */
|
|
12
|
+
checkboxOnly?: boolean;
|
|
13
|
+
/** Whether to persist selection across data updates. @group Properties */
|
|
14
|
+
persistSelection?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Configuration for editing behavior.
|
|
18
|
+
* @group Models
|
|
19
|
+
*/
|
|
20
|
+
export interface EditSettings {
|
|
21
|
+
/** Whether to allow adding new rows. @group Properties */
|
|
22
|
+
allowAdding?: boolean;
|
|
23
|
+
/** Whether to allow editing existing rows. @group Properties */
|
|
24
|
+
allowEditing?: boolean;
|
|
25
|
+
/** Whether to allow deleting rows. @group Properties */
|
|
26
|
+
allowDeleting?: boolean;
|
|
27
|
+
/** Edit mode. @group Properties */
|
|
28
|
+
mode?: 'Normal' | 'Dialog' | 'Batch';
|
|
29
|
+
/** Position for newly added rows. @group Properties */
|
|
30
|
+
newRowPosition?: 'Top' | 'Bottom';
|
|
31
|
+
/** Whether to allow editing on double-click. @group Properties */
|
|
32
|
+
allowEditOnDblClick?: boolean;
|
|
33
|
+
/** Primary key field(s) for identification. @group Properties */
|
|
34
|
+
primaryKey?: string | string[];
|
|
35
|
+
}
|
|
36
|
+
export type ToolbarItemType = 'Search' | 'Print' | 'Export' | 'Add' | 'Edit' | 'Delete' | 'Update' | 'Cancel' | 'ColumnChooser' | string;
|
|
37
|
+
/**
|
|
38
|
+
* Represents an item in the table toolbar.
|
|
39
|
+
* @group Models
|
|
40
|
+
*/
|
|
41
|
+
export interface ToolbarItem {
|
|
42
|
+
/** Display text for the item. @group Properties */
|
|
43
|
+
text?: string;
|
|
44
|
+
/** Tooltip text for the item. @group Properties */
|
|
45
|
+
tooltipText?: string;
|
|
46
|
+
/** Prefix icon for the item. @group Properties */
|
|
47
|
+
prefixIcon?: string | React.ReactNode;
|
|
48
|
+
/** Unique identifier for the item. @group Properties */
|
|
49
|
+
id?: string;
|
|
50
|
+
/** Alignment in the toolbar. @group Properties */
|
|
51
|
+
align?: 'Left' | 'Right' | 'Center';
|
|
52
|
+
/** Predefined or custom type. @group Properties */
|
|
53
|
+
type?: ToolbarItemType;
|
|
54
|
+
/** Custom template for rendering the item. @group Properties */
|
|
55
|
+
template?: React.ReactNode;
|
|
56
|
+
/** Callback when the item is clicked. @group Events */
|
|
57
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FilterOperator as SharedFilterOperator, FilterRule as SharedFilterRule, FilterGroup as SharedFilterGroup } from '../../../shared/types/common';
|
|
2
|
+
export type FilterOperator = SharedFilterOperator;
|
|
3
|
+
export type FilterRule = SharedFilterRule;
|
|
4
|
+
export type FilterGroup = SharedFilterGroup;
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for filtering behavior.
|
|
7
|
+
* @group Models
|
|
8
|
+
*/
|
|
9
|
+
export interface FilterSettings {
|
|
10
|
+
/** Filter UI type. @group Properties */
|
|
11
|
+
type?: 'Menu' | 'CheckBox' | 'Excel';
|
|
12
|
+
/** Whether to ignore accents during filtering. @group Properties */
|
|
13
|
+
ignoreAccent?: boolean;
|
|
14
|
+
/** Filter application mode. @group Properties */
|
|
15
|
+
mode?: 'Immediate' | 'OnEnter';
|
|
16
|
+
/** Whether to show the filter bar status. @group Properties */
|
|
17
|
+
showFilterBarStatus?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Configuration for global search behavior.
|
|
21
|
+
* @group Models
|
|
22
|
+
*/
|
|
23
|
+
export interface SearchSettings {
|
|
24
|
+
/** Specific fields to search in. @group Properties */
|
|
25
|
+
fields?: string[];
|
|
26
|
+
/** Search operator. @group Properties */
|
|
27
|
+
operator?: 'contains' | 'startsWith' | 'endsWith' | 'equal';
|
|
28
|
+
/** Search key/term. @group Properties */
|
|
29
|
+
key?: string;
|
|
30
|
+
/** Whether to ignore case during search. @group Properties */
|
|
31
|
+
ignoreCase?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Configuration for sorting behavior.
|
|
35
|
+
* @group Models
|
|
36
|
+
*/
|
|
37
|
+
export interface SortSettings {
|
|
38
|
+
/** Sort mode (single or multiple columns). @group Properties */
|
|
39
|
+
mode?: 'Single' | 'Multiple';
|
|
40
|
+
/** Whether to allow unsorting columns. @group Properties */
|
|
41
|
+
allowUnsort?: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Configuration for text wrapping.
|
|
45
|
+
* @group Models
|
|
46
|
+
*/
|
|
47
|
+
export interface TextWrapSettings {
|
|
48
|
+
/** Wrap mode for header, content or both. @group Properties */
|
|
49
|
+
wrapMode?: 'Both' | 'Header' | 'Content';
|
|
50
|
+
}
|