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,1252 @@
|
|
|
1
|
+
import { SharedBaseProps } from '../../shared/types/BaseProps';
|
|
2
|
+
import { IService } from '../../shared/services/ServiceRegistry';
|
|
3
|
+
/**
|
|
4
|
+
* Available view modes for the scheduler.
|
|
5
|
+
*/
|
|
6
|
+
export type View = 'Day' | 'Week' | 'WorkWeek' | 'Month' | 'TimelineDay' | 'TimelineWeek' | 'TimelineWorkWeek' | 'TimelineMonth' | 'Agenda' | 'MonthAgenda' | 'Year';
|
|
7
|
+
/**
|
|
8
|
+
* Editor mode.
|
|
9
|
+
*/
|
|
10
|
+
export type EditorMode = 'create' | 'edit' | 'view';
|
|
11
|
+
/**
|
|
12
|
+
* Action types for the scheduler editor.
|
|
13
|
+
*/
|
|
14
|
+
export type CurrentAction = 'Add' | 'Edit' | 'Delete';
|
|
15
|
+
export type ViewType = 'day' | 'week' | 'workweek' | 'month' | 'agenda' | 'timeline-day' | 'timeline-week' | 'timeline-month';
|
|
16
|
+
/**
|
|
17
|
+
* Configuration for event settings.
|
|
18
|
+
*/
|
|
19
|
+
export interface EventSettingsModel {
|
|
20
|
+
/**
|
|
21
|
+
* The data source for events.
|
|
22
|
+
* @group Models
|
|
23
|
+
*/
|
|
24
|
+
dataSource: Record<string, unknown>[] | unknown;
|
|
25
|
+
/**
|
|
26
|
+
* Custom field mapping.
|
|
27
|
+
* @group Models
|
|
28
|
+
*/
|
|
29
|
+
fields?: FieldModel;
|
|
30
|
+
/**
|
|
31
|
+
* Allow adding new events.
|
|
32
|
+
* @group Models
|
|
33
|
+
*/
|
|
34
|
+
allowAdding?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Allow deleting events.
|
|
37
|
+
* @group Models
|
|
38
|
+
*/
|
|
39
|
+
allowDeleting?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Allow editing events.
|
|
42
|
+
* @group Models
|
|
43
|
+
*/
|
|
44
|
+
allowEditing?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Enable event tooltips.
|
|
47
|
+
* @group Models
|
|
48
|
+
*/
|
|
49
|
+
enableTooltip?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Template for event content.
|
|
52
|
+
* @group Models
|
|
53
|
+
*/
|
|
54
|
+
template?: string | ((data: EventData) => React.ReactNode);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Event field mapping configuration.
|
|
58
|
+
*/
|
|
59
|
+
export interface FieldModel {
|
|
60
|
+
/**
|
|
61
|
+
* ID field name.
|
|
62
|
+
* @group Models
|
|
63
|
+
*/
|
|
64
|
+
id?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Subject/Title field name.
|
|
67
|
+
* @group Models
|
|
68
|
+
*/
|
|
69
|
+
subject?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Start time field name.
|
|
72
|
+
* @group Models
|
|
73
|
+
*/
|
|
74
|
+
startTime?: string;
|
|
75
|
+
/**
|
|
76
|
+
* End time field name.
|
|
77
|
+
* @group Models
|
|
78
|
+
*/
|
|
79
|
+
endTime?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Description field name.
|
|
82
|
+
* @group Models
|
|
83
|
+
*/
|
|
84
|
+
description?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Location field name.
|
|
87
|
+
* @group Models
|
|
88
|
+
*/
|
|
89
|
+
location?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Recurrence rule field name.
|
|
92
|
+
* @group Models
|
|
93
|
+
*/
|
|
94
|
+
recurrenceRule?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Recurrence ID field name.
|
|
97
|
+
* @group Models
|
|
98
|
+
*/
|
|
99
|
+
recurrenceID?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Recurrence exception field name.
|
|
102
|
+
* @group Models
|
|
103
|
+
*/
|
|
104
|
+
recurrenceException?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Is all day field name.
|
|
107
|
+
* @group Models
|
|
108
|
+
*/
|
|
109
|
+
isAllDay?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface EventData {
|
|
112
|
+
id: string | number;
|
|
113
|
+
subject: string;
|
|
114
|
+
startTime: Date;
|
|
115
|
+
endTime: Date;
|
|
116
|
+
isAllDay?: boolean;
|
|
117
|
+
recurrenceRule?: string;
|
|
118
|
+
resourceID?: string | number | (string | number)[];
|
|
119
|
+
[key: string]: unknown;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Attendee information for an event.
|
|
123
|
+
*/
|
|
124
|
+
export interface Attendee {
|
|
125
|
+
/**
|
|
126
|
+
* Unique identifier for the attendee.
|
|
127
|
+
* @group Models
|
|
128
|
+
*/
|
|
129
|
+
id: string;
|
|
130
|
+
/**
|
|
131
|
+
* Name of the attendee.
|
|
132
|
+
* @group Models
|
|
133
|
+
*/
|
|
134
|
+
name: string;
|
|
135
|
+
/**
|
|
136
|
+
* Email address.
|
|
137
|
+
* @group Models
|
|
138
|
+
*/
|
|
139
|
+
email?: string;
|
|
140
|
+
/**
|
|
141
|
+
* Avatar image URL.
|
|
142
|
+
* @group Models
|
|
143
|
+
*/
|
|
144
|
+
avatar?: string;
|
|
145
|
+
/**
|
|
146
|
+
* RSVP status.
|
|
147
|
+
* @group Models
|
|
148
|
+
*/
|
|
149
|
+
status?: 'accepted' | 'declined' | 'tentative' | 'needs-action';
|
|
150
|
+
/**
|
|
151
|
+
* Whether attendance is required.
|
|
152
|
+
* @group Models
|
|
153
|
+
*/
|
|
154
|
+
required?: boolean;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Reminder configuration for an event.
|
|
158
|
+
*/
|
|
159
|
+
export interface Reminder {
|
|
160
|
+
/**
|
|
161
|
+
* Unique identifier for the reminder.
|
|
162
|
+
* @group Models
|
|
163
|
+
*/
|
|
164
|
+
id: string;
|
|
165
|
+
/**
|
|
166
|
+
* Type of reminder.
|
|
167
|
+
* @group Models
|
|
168
|
+
*/
|
|
169
|
+
type: 'email' | 'popup' | 'sms';
|
|
170
|
+
/**
|
|
171
|
+
* Minutes before start to trigger.
|
|
172
|
+
* @group Models
|
|
173
|
+
*/
|
|
174
|
+
minutesBefore: number;
|
|
175
|
+
/**
|
|
176
|
+
* Current status.
|
|
177
|
+
* @group Models
|
|
178
|
+
*/
|
|
179
|
+
status?: 'pending' | 'sent' | 'dismissed';
|
|
180
|
+
}
|
|
181
|
+
export interface SchedulerAttachment {
|
|
182
|
+
id?: string;
|
|
183
|
+
name: string;
|
|
184
|
+
size?: number;
|
|
185
|
+
type?: string;
|
|
186
|
+
url?: string;
|
|
187
|
+
file?: File;
|
|
188
|
+
metadata?: Record<string, unknown>;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Timezone configuration for an event.
|
|
192
|
+
*/
|
|
193
|
+
export interface Timezone {
|
|
194
|
+
start?: string;
|
|
195
|
+
end?: string;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Recurrence configuration for an event.
|
|
199
|
+
*/
|
|
200
|
+
export interface Recurrence {
|
|
201
|
+
frequency: 'Never' | 'Daily' | 'Weekly' | 'Monthly' | 'Yearly';
|
|
202
|
+
interval?: number;
|
|
203
|
+
unit?: string;
|
|
204
|
+
end?: 'Never' | 'Until' | 'Count';
|
|
205
|
+
endCount?: number;
|
|
206
|
+
endUntil?: Date;
|
|
207
|
+
days?: string[];
|
|
208
|
+
repeatBy?: 'day' | 'ordinal';
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Represents a single event in the scheduler.
|
|
212
|
+
*/
|
|
213
|
+
export interface SchedulerEvent {
|
|
214
|
+
/** Unique identifier for the event */
|
|
215
|
+
id: string;
|
|
216
|
+
/** Title of the event displayed in the scheduler */
|
|
217
|
+
title: string;
|
|
218
|
+
/** Start date and time of the event */
|
|
219
|
+
start: Date;
|
|
220
|
+
/** End date and time of the event */
|
|
221
|
+
end: Date;
|
|
222
|
+
/** Resource ID associated with the event (single resource) */
|
|
223
|
+
resourceId?: string;
|
|
224
|
+
/** Resource IDs associated with the event (multiple resources) */
|
|
225
|
+
resourceIds?: string[];
|
|
226
|
+
/** Background color of the event */
|
|
227
|
+
color?: string;
|
|
228
|
+
/** Whether the event lasts all day */
|
|
229
|
+
allDay?: boolean;
|
|
230
|
+
/** Detailed description of the event */
|
|
231
|
+
description?: string;
|
|
232
|
+
/** Recurrence rule string (RRULE) */
|
|
233
|
+
rrule?: string;
|
|
234
|
+
/** Legacy recurrence rule property */
|
|
235
|
+
recurrenceRule?: string;
|
|
236
|
+
/** Excluded dates for recurrence */
|
|
237
|
+
exdate?: string[];
|
|
238
|
+
/** Recurrence exception dates */
|
|
239
|
+
recurrenceException?: string;
|
|
240
|
+
/** ID of the parent recurrence event */
|
|
241
|
+
recurrenceId?: string;
|
|
242
|
+
/** Original start date of the recurrence instance */
|
|
243
|
+
originalStart?: Date;
|
|
244
|
+
/** Files attached to the event */
|
|
245
|
+
attachedFiles?: File[];
|
|
246
|
+
/** Whether the event blocks the time slot (e.g., lunch break) */
|
|
247
|
+
isBlock?: boolean;
|
|
248
|
+
/** Location of the event */
|
|
249
|
+
location?: string;
|
|
250
|
+
/** List of attendees */
|
|
251
|
+
attendees?: Attendee[];
|
|
252
|
+
/** List of reminders */
|
|
253
|
+
reminders?: Reminder[];
|
|
254
|
+
/** Timezone configuration */
|
|
255
|
+
timezone?: Timezone;
|
|
256
|
+
/** Recurrence configuration */
|
|
257
|
+
recurrence?: Recurrence;
|
|
258
|
+
/** Files attached to the event (alias for attachedFiles) */
|
|
259
|
+
attachments?: (SchedulerAttachment | File)[];
|
|
260
|
+
/** Whether the event is a holiday */
|
|
261
|
+
isHoliday?: boolean;
|
|
262
|
+
/** Whether the event slot is fully booked */
|
|
263
|
+
isFullyBooked?: boolean;
|
|
264
|
+
[key: string]: unknown;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Metadata about resource collection.
|
|
268
|
+
*/
|
|
269
|
+
export interface ResourceModel {
|
|
270
|
+
/**
|
|
271
|
+
* Name of the field in the event data.
|
|
272
|
+
* @group Models
|
|
273
|
+
*/
|
|
274
|
+
field: string;
|
|
275
|
+
/**
|
|
276
|
+
* Title of the resource.
|
|
277
|
+
* @group Models
|
|
278
|
+
*/
|
|
279
|
+
title: string;
|
|
280
|
+
/**
|
|
281
|
+
* Unique name index.
|
|
282
|
+
* @group Models
|
|
283
|
+
*/
|
|
284
|
+
name: string;
|
|
285
|
+
/**
|
|
286
|
+
* Resource data array.
|
|
287
|
+
* @group Models
|
|
288
|
+
*/
|
|
289
|
+
dataSource: Record<string, unknown>[] | unknown;
|
|
290
|
+
/**
|
|
291
|
+
* Field for resource text.
|
|
292
|
+
* @group Models
|
|
293
|
+
*/
|
|
294
|
+
textField: string;
|
|
295
|
+
/**
|
|
296
|
+
* Field for resource ID.
|
|
297
|
+
* @group Models
|
|
298
|
+
*/
|
|
299
|
+
idField: string;
|
|
300
|
+
/**
|
|
301
|
+
* Field for grouping.
|
|
302
|
+
* @group Models
|
|
303
|
+
*/
|
|
304
|
+
groupIDField?: string;
|
|
305
|
+
/**
|
|
306
|
+
* Field for resource color.
|
|
307
|
+
* @group Models
|
|
308
|
+
*/
|
|
309
|
+
colorField?: string;
|
|
310
|
+
/**
|
|
311
|
+
* Allow multiple resources.
|
|
312
|
+
* @group Models
|
|
313
|
+
*/
|
|
314
|
+
allowMultiple?: boolean;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Represents a resource (e.g., person, room, equipment) in the scheduler.
|
|
318
|
+
*/
|
|
319
|
+
export interface Resource {
|
|
320
|
+
/** Unique identifier for the resource */
|
|
321
|
+
id: string;
|
|
322
|
+
/** Display name of the resource */
|
|
323
|
+
name: string;
|
|
324
|
+
/** Color associated with the resource */
|
|
325
|
+
color?: string;
|
|
326
|
+
/** URL to the resource's avatar image */
|
|
327
|
+
avatar?: string;
|
|
328
|
+
/** Type or designation of the resource */
|
|
329
|
+
type?: string;
|
|
330
|
+
/** Working hours configuration for this resource */
|
|
331
|
+
workingHours?: {
|
|
332
|
+
start: number;
|
|
333
|
+
end: number;
|
|
334
|
+
days: number[];
|
|
335
|
+
};
|
|
336
|
+
[key: string]: unknown;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Configuration for grouping resources.
|
|
340
|
+
*/
|
|
341
|
+
export interface GroupModel {
|
|
342
|
+
/**
|
|
343
|
+
* Group by date first.
|
|
344
|
+
* @group Models
|
|
345
|
+
*/
|
|
346
|
+
byDate?: boolean;
|
|
347
|
+
/**
|
|
348
|
+
* Group by group ID.
|
|
349
|
+
* @group Models
|
|
350
|
+
*/
|
|
351
|
+
byGroupID?: boolean;
|
|
352
|
+
/**
|
|
353
|
+
* List of resource names to group by.
|
|
354
|
+
* @group Models
|
|
355
|
+
*/
|
|
356
|
+
resources?: string[];
|
|
357
|
+
/**
|
|
358
|
+
* Enable compact view for groups.
|
|
359
|
+
* @group Models
|
|
360
|
+
*/
|
|
361
|
+
enableCompactView?: boolean;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* View configuration.
|
|
365
|
+
*/
|
|
366
|
+
export interface ViewsModel {
|
|
367
|
+
/**
|
|
368
|
+
* View mode.
|
|
369
|
+
* @group Models
|
|
370
|
+
*/
|
|
371
|
+
option: View;
|
|
372
|
+
/**
|
|
373
|
+
* Allow virtual scrolling in this view.
|
|
374
|
+
* @group Models
|
|
375
|
+
*/
|
|
376
|
+
allowVirtualScrolling?: boolean;
|
|
377
|
+
/**
|
|
378
|
+
* Display name for the view.
|
|
379
|
+
* @group Models
|
|
380
|
+
*/
|
|
381
|
+
displayName?: string;
|
|
382
|
+
/**
|
|
383
|
+
* Start hour for the view.
|
|
384
|
+
* @group Models
|
|
385
|
+
*/
|
|
386
|
+
startHour?: string;
|
|
387
|
+
/**
|
|
388
|
+
* End hour for the view.
|
|
389
|
+
* @group Models
|
|
390
|
+
*/
|
|
391
|
+
endHour?: string;
|
|
392
|
+
/**
|
|
393
|
+
* Time interval in minutes.
|
|
394
|
+
* @group Models
|
|
395
|
+
*/
|
|
396
|
+
interval?: number;
|
|
397
|
+
/**
|
|
398
|
+
* Show weekend.
|
|
399
|
+
* @group Models
|
|
400
|
+
*/
|
|
401
|
+
showWeekend?: boolean;
|
|
402
|
+
/**
|
|
403
|
+
* Is this view selected.
|
|
404
|
+
* @group Models
|
|
405
|
+
*/
|
|
406
|
+
isSelected?: boolean;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Working hours configuration.
|
|
410
|
+
*/
|
|
411
|
+
export interface WorkHoursModel {
|
|
412
|
+
/**
|
|
413
|
+
* Highlight working hours.
|
|
414
|
+
* @group Models
|
|
415
|
+
*/
|
|
416
|
+
highlight?: boolean;
|
|
417
|
+
/**
|
|
418
|
+
* Start hour.
|
|
419
|
+
* @group Models
|
|
420
|
+
*/
|
|
421
|
+
start?: string;
|
|
422
|
+
/**
|
|
423
|
+
* End hour.
|
|
424
|
+
* @group Models
|
|
425
|
+
*/
|
|
426
|
+
end?: string;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Time scale configuration.
|
|
430
|
+
*/
|
|
431
|
+
export interface TimeScaleModel {
|
|
432
|
+
/**
|
|
433
|
+
* Enable time scale.
|
|
434
|
+
* @group Models
|
|
435
|
+
*/
|
|
436
|
+
enable: boolean;
|
|
437
|
+
/**
|
|
438
|
+
* Time interval in minutes.
|
|
439
|
+
* @group Models
|
|
440
|
+
*/
|
|
441
|
+
interval: number;
|
|
442
|
+
/**
|
|
443
|
+
* Number of slots per interval.
|
|
444
|
+
* @group Models
|
|
445
|
+
*/
|
|
446
|
+
slotCount: number;
|
|
447
|
+
/**
|
|
448
|
+
* Template for major time slots.
|
|
449
|
+
* @group Models
|
|
450
|
+
*/
|
|
451
|
+
majorSlotTemplate?: string | ((props: SlotTemplateProps) => React.ReactNode);
|
|
452
|
+
/**
|
|
453
|
+
* Template for minor time slots.
|
|
454
|
+
* @group Models
|
|
455
|
+
*/
|
|
456
|
+
minorSlotTemplate?: string | ((props: SlotTemplateProps) => React.ReactNode);
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Props for the slot template.
|
|
460
|
+
*/
|
|
461
|
+
export interface SlotTemplateProps {
|
|
462
|
+
/**
|
|
463
|
+
* The date of the slot.
|
|
464
|
+
* @group Models
|
|
465
|
+
*/
|
|
466
|
+
date: Date;
|
|
467
|
+
/**
|
|
468
|
+
* Whether the slot is a working day.
|
|
469
|
+
* @group Models
|
|
470
|
+
*/
|
|
471
|
+
isWorkingDay: boolean;
|
|
472
|
+
/**
|
|
473
|
+
* The group index.
|
|
474
|
+
* @group Models
|
|
475
|
+
*/
|
|
476
|
+
groupIndex: number;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Header row configuration.
|
|
480
|
+
*/
|
|
481
|
+
export interface HeaderRowModel {
|
|
482
|
+
/**
|
|
483
|
+
* The header row option.
|
|
484
|
+
* @group Models
|
|
485
|
+
*/
|
|
486
|
+
option: 'Year' | 'Month' | 'Week' | 'Date' | 'Hour';
|
|
487
|
+
/**
|
|
488
|
+
* Template for the header row.
|
|
489
|
+
* @group Models
|
|
490
|
+
*/
|
|
491
|
+
template?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Toolbar item configuration.
|
|
495
|
+
*/
|
|
496
|
+
export interface ToolbarItemModel {
|
|
497
|
+
/**
|
|
498
|
+
* Text to display.
|
|
499
|
+
* @group Models
|
|
500
|
+
*/
|
|
501
|
+
text: string;
|
|
502
|
+
/**
|
|
503
|
+
* CSS class for the item.
|
|
504
|
+
* @group Models
|
|
505
|
+
*/
|
|
506
|
+
cssClass?: string;
|
|
507
|
+
/**
|
|
508
|
+
* CSS class for the icon.
|
|
509
|
+
* @group Models
|
|
510
|
+
*/
|
|
511
|
+
iconCss?: string;
|
|
512
|
+
/**
|
|
513
|
+
* Alignment of the item.
|
|
514
|
+
* @group Models
|
|
515
|
+
*/
|
|
516
|
+
align?: 'Left' | 'Center' | 'Right';
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Timezone field configuration.
|
|
520
|
+
*/
|
|
521
|
+
export interface TimezoneFields {
|
|
522
|
+
/**
|
|
523
|
+
* Display label.
|
|
524
|
+
* @group Models
|
|
525
|
+
*/
|
|
526
|
+
label: string;
|
|
527
|
+
/**
|
|
528
|
+
* Timezone value.
|
|
529
|
+
* @group Models
|
|
530
|
+
*/
|
|
531
|
+
value: string;
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Quick info templates configuration.
|
|
535
|
+
*/
|
|
536
|
+
export interface QuickInfoTemplatesModel {
|
|
537
|
+
/**
|
|
538
|
+
* Template for the content area.
|
|
539
|
+
* @group Models
|
|
540
|
+
*/
|
|
541
|
+
content?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
542
|
+
/**
|
|
543
|
+
* Template for the footer area.
|
|
544
|
+
* @group Models
|
|
545
|
+
*/
|
|
546
|
+
footer?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
547
|
+
/**
|
|
548
|
+
* Template for the header area.
|
|
549
|
+
* @group Models
|
|
550
|
+
*/
|
|
551
|
+
header?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
552
|
+
}
|
|
553
|
+
export type WeekRule = 'FirstDay' | 'FirstFourDayWeek' | 'FirstFullWeek';
|
|
554
|
+
/**
|
|
555
|
+
* Configuration for component slots and their props.
|
|
556
|
+
* @group Extensibility
|
|
557
|
+
*/
|
|
558
|
+
export interface SchedulerSlotConfig {
|
|
559
|
+
slots?: {
|
|
560
|
+
toolbar?: React.ComponentType<unknown>;
|
|
561
|
+
eventModal?: React.ComponentType<unknown>;
|
|
562
|
+
quickAdd?: React.ComponentType<unknown>;
|
|
563
|
+
resourceSidebar?: React.ComponentType<unknown>;
|
|
564
|
+
[key: string]: React.ComponentType<unknown> | undefined;
|
|
565
|
+
};
|
|
566
|
+
slotProps?: {
|
|
567
|
+
toolbar?: Record<string, unknown>;
|
|
568
|
+
eventModal?: Record<string, unknown>;
|
|
569
|
+
quickAdd?: Record<string, unknown>;
|
|
570
|
+
resourceSidebar?: Record<string, unknown>;
|
|
571
|
+
[key: string]: Record<string, unknown> | undefined;
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Custom component slots for override.
|
|
576
|
+
* @group Models
|
|
577
|
+
* @deprecated Use SchedulerSlotConfig
|
|
578
|
+
*/
|
|
579
|
+
export interface EzSchedulerSlots {
|
|
580
|
+
toolbar?: React.ComponentType<unknown>;
|
|
581
|
+
eventModal?: React.ComponentType<unknown>;
|
|
582
|
+
quickAdd?: React.ComponentType<unknown>;
|
|
583
|
+
resourceSidebar?: React.ComponentType<unknown>;
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Props for the EzScheduler component.
|
|
587
|
+
*
|
|
588
|
+
* @example
|
|
589
|
+
* ```tsx
|
|
590
|
+
* import { EzScheduler } from 'ezux';
|
|
591
|
+
*
|
|
592
|
+
* const events = [
|
|
593
|
+
* { id: 1, title: 'Meeting', start: new Date(), end: new Date() }
|
|
594
|
+
* ];
|
|
595
|
+
*
|
|
596
|
+
* return <EzScheduler events={events} />;
|
|
597
|
+
* ```
|
|
598
|
+
*/
|
|
599
|
+
export interface EzSchedulerProps extends SharedBaseProps {
|
|
600
|
+
/**
|
|
601
|
+
* Slots for modular composition.
|
|
602
|
+
* @group Extensibility
|
|
603
|
+
*/
|
|
604
|
+
slots?: SchedulerSlotConfig['slots'];
|
|
605
|
+
/**
|
|
606
|
+
* Props to pass to the custom slots.
|
|
607
|
+
* @group Properties
|
|
608
|
+
*/
|
|
609
|
+
slotProps?: SchedulerSlotConfig['slotProps'];
|
|
610
|
+
/**
|
|
611
|
+
* Allow event dragging.
|
|
612
|
+
* @group Properties
|
|
613
|
+
*/
|
|
614
|
+
eventDrag?: boolean;
|
|
615
|
+
/**
|
|
616
|
+
* Allow keyboard navigation.
|
|
617
|
+
* @group Properties
|
|
618
|
+
*/
|
|
619
|
+
keyboardNavigation?: boolean;
|
|
620
|
+
/**
|
|
621
|
+
* Allow selecting multiple cells.
|
|
622
|
+
* @group Properties
|
|
623
|
+
*/
|
|
624
|
+
allowMultiCellSelection?: boolean;
|
|
625
|
+
/**
|
|
626
|
+
* Allow event resizing.
|
|
627
|
+
* @group Properties
|
|
628
|
+
*/
|
|
629
|
+
eventResize?: boolean;
|
|
630
|
+
/**
|
|
631
|
+
* Allow copying/pasting events via clipboard.
|
|
632
|
+
* @group Properties
|
|
633
|
+
*/
|
|
634
|
+
allowClipboard?: boolean;
|
|
635
|
+
/**
|
|
636
|
+
* Allow inline editing of events.
|
|
637
|
+
* @group Properties
|
|
638
|
+
*/
|
|
639
|
+
allowInline?: boolean;
|
|
640
|
+
/**
|
|
641
|
+
* Allow dragging multiple events.
|
|
642
|
+
* @group Properties
|
|
643
|
+
*/
|
|
644
|
+
allowMultiDrag?: boolean;
|
|
645
|
+
/**
|
|
646
|
+
* Allow selecting multiple rows.
|
|
647
|
+
* @group Properties
|
|
648
|
+
*/
|
|
649
|
+
allowMultiRowSelection?: boolean;
|
|
650
|
+
/**
|
|
651
|
+
* Allow overlapping events to be displayed.
|
|
652
|
+
* @group Properties
|
|
653
|
+
*/
|
|
654
|
+
eventOverlap?: boolean;
|
|
655
|
+
/**
|
|
656
|
+
* Allow touch swiping to navigate views.
|
|
657
|
+
* @group Properties
|
|
658
|
+
*/
|
|
659
|
+
allowSwiping?: boolean;
|
|
660
|
+
/**
|
|
661
|
+
* Number of days to show in Agenda view.
|
|
662
|
+
* @group Properties
|
|
663
|
+
*/
|
|
664
|
+
agendaDaysCount?: number;
|
|
665
|
+
/**
|
|
666
|
+
* Calendar system to use.
|
|
667
|
+
* @group Properties
|
|
668
|
+
*/
|
|
669
|
+
calendarMode?: 'Gregorian' | 'Islamic';
|
|
670
|
+
/**
|
|
671
|
+
* Template for cell headers.
|
|
672
|
+
* @group Properties
|
|
673
|
+
*/
|
|
674
|
+
cellHeaderTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
675
|
+
/**
|
|
676
|
+
* Custom CSS class for the scheduler container.
|
|
677
|
+
* @group Properties
|
|
678
|
+
*/
|
|
679
|
+
cssClass?: string;
|
|
680
|
+
/**
|
|
681
|
+
* The initial view to display.
|
|
682
|
+
* @group Properties
|
|
683
|
+
*/
|
|
684
|
+
view?: View;
|
|
685
|
+
/**
|
|
686
|
+
* Date format for headers and tooltips.
|
|
687
|
+
* @group Properties
|
|
688
|
+
*/
|
|
689
|
+
dateFormat?: string;
|
|
690
|
+
/**
|
|
691
|
+
* Template for date headers.
|
|
692
|
+
* @group Properties
|
|
693
|
+
*/
|
|
694
|
+
dateHeader?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
695
|
+
/**
|
|
696
|
+
* Template for date range display.
|
|
697
|
+
* @group Properties
|
|
698
|
+
*/
|
|
699
|
+
dateRangeTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
700
|
+
/**
|
|
701
|
+
* Template for day headers.
|
|
702
|
+
* @group Properties
|
|
703
|
+
*/
|
|
704
|
+
dayHeaderTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
705
|
+
/**
|
|
706
|
+
* Enable adaptive UI for mobile devices.
|
|
707
|
+
* @group Properties
|
|
708
|
+
*/
|
|
709
|
+
enableAdaptiveUI?: boolean;
|
|
710
|
+
/**
|
|
711
|
+
* Enable scrolling for the All Day row.
|
|
712
|
+
* @group Properties
|
|
713
|
+
*/
|
|
714
|
+
enableAllDayScroll?: boolean;
|
|
715
|
+
/**
|
|
716
|
+
* Enable state persistence (save settings to local storage).
|
|
717
|
+
* @group Properties
|
|
718
|
+
*/
|
|
719
|
+
enablePersistence?: boolean;
|
|
720
|
+
/**
|
|
721
|
+
* Validation for recurrence rules.
|
|
722
|
+
* @group Properties
|
|
723
|
+
*/
|
|
724
|
+
enableRecurrenceValidation?: boolean;
|
|
725
|
+
/**
|
|
726
|
+
* Enable RTL (Right-to-Left) text direction.
|
|
727
|
+
* @group Properties
|
|
728
|
+
*/
|
|
729
|
+
enableRtl?: boolean;
|
|
730
|
+
/**
|
|
731
|
+
* End hour of the scheduler (e.g., '18:00').
|
|
732
|
+
* @group Properties
|
|
733
|
+
*/
|
|
734
|
+
endHour?: string;
|
|
735
|
+
/**
|
|
736
|
+
* Configuration for event fields and settings.
|
|
737
|
+
* @group Properties
|
|
738
|
+
*/
|
|
739
|
+
eventSettings?: EventSettingsModel;
|
|
740
|
+
/**
|
|
741
|
+
* First day of the week (0=Sunday, 1=Monday, etc.).
|
|
742
|
+
* @group Properties
|
|
743
|
+
*/
|
|
744
|
+
firstDayOfWeek?: number;
|
|
745
|
+
/**
|
|
746
|
+
* First month of the year (0=January, etc.).
|
|
747
|
+
* @group Properties
|
|
748
|
+
*/
|
|
749
|
+
firstMonthOfYear?: number;
|
|
750
|
+
/**
|
|
751
|
+
* Configuration for grouping resources.
|
|
752
|
+
* @group Properties
|
|
753
|
+
*/
|
|
754
|
+
group?: GroupModel;
|
|
755
|
+
/**
|
|
756
|
+
* Template for header indentation.
|
|
757
|
+
* @group Properties
|
|
758
|
+
*/
|
|
759
|
+
headerIndentTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
760
|
+
/**
|
|
761
|
+
* Custom header rows configuration.
|
|
762
|
+
* @group Properties
|
|
763
|
+
*/
|
|
764
|
+
headerRows?: HeaderRowModel[];
|
|
765
|
+
/**
|
|
766
|
+
* Height of the scheduler.
|
|
767
|
+
* @group Properties
|
|
768
|
+
*/
|
|
769
|
+
height?: string | number;
|
|
770
|
+
/**
|
|
771
|
+
* Hide days with no events in Agenda view.
|
|
772
|
+
* @group Properties
|
|
773
|
+
*/
|
|
774
|
+
hideEmptyAgendaDays?: boolean;
|
|
775
|
+
/**
|
|
776
|
+
* Whether the current view is All Day.
|
|
777
|
+
* @group Properties
|
|
778
|
+
*/
|
|
779
|
+
isAllDay?: boolean;
|
|
780
|
+
/**
|
|
781
|
+
* Locale for the scheduler.
|
|
782
|
+
* @group Properties
|
|
783
|
+
*/
|
|
784
|
+
locale?: string;
|
|
785
|
+
/**
|
|
786
|
+
* Maximum date navigable.
|
|
787
|
+
* @group Properties
|
|
788
|
+
*/
|
|
789
|
+
maxDate?: Date;
|
|
790
|
+
/**
|
|
791
|
+
* Minimum date navigable.
|
|
792
|
+
* @group Properties
|
|
793
|
+
*/
|
|
794
|
+
minDate?: Date;
|
|
795
|
+
/**
|
|
796
|
+
* Template for month view headers.
|
|
797
|
+
* @group Properties
|
|
798
|
+
*/
|
|
799
|
+
monthHeaderTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
800
|
+
/**
|
|
801
|
+
* Show quick info popup on selection end.
|
|
802
|
+
* @group Properties
|
|
803
|
+
*/
|
|
804
|
+
quickInfoOnSelectionEnd?: boolean;
|
|
805
|
+
/**
|
|
806
|
+
* Enable read-only mode.
|
|
807
|
+
* @group Properties
|
|
808
|
+
*/
|
|
809
|
+
readOnly?: boolean;
|
|
810
|
+
resourceHeaderTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
811
|
+
resources?: ResourceModel[] | Resource[];
|
|
812
|
+
rowAutoHeight?: boolean;
|
|
813
|
+
selectedDate?: Date;
|
|
814
|
+
showHeaderBar?: boolean;
|
|
815
|
+
showQuickInfoPopup?: boolean;
|
|
816
|
+
showResourceHeaders?: boolean;
|
|
817
|
+
showTimeIndicator?: boolean;
|
|
818
|
+
currentTimeIndicator?: boolean;
|
|
819
|
+
startHour?: string;
|
|
820
|
+
timeScale?: TimeScaleModel;
|
|
821
|
+
timezone?: string;
|
|
822
|
+
timezoneDataSource?: TimezoneFields[];
|
|
823
|
+
toolbarItems?: (string | ToolbarItemModel)[];
|
|
824
|
+
views?: (View | ViewsModel)[];
|
|
825
|
+
width?: string | number;
|
|
826
|
+
workDays?: number[];
|
|
827
|
+
workHours?: WorkHoursModel;
|
|
828
|
+
cell?: string | ((date: Date, resourceId?: string) => React.ReactNode);
|
|
829
|
+
cellTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
830
|
+
editorFooterTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
831
|
+
editorHeaderTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
832
|
+
editorHeaderFieldsTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
833
|
+
editorHiddenFields?: Array<'location'>;
|
|
834
|
+
editorTemplate?: string | ((props: Record<string, unknown>) => React.ReactNode);
|
|
835
|
+
enableHtmlSanitizer?: boolean;
|
|
836
|
+
eventDragArea?: string;
|
|
837
|
+
monthsCount?: number;
|
|
838
|
+
overscanCount?: number;
|
|
839
|
+
progressiveRendering?: boolean;
|
|
840
|
+
prefetchDistance?: number;
|
|
841
|
+
debugVirtualization?: boolean;
|
|
842
|
+
quickInfoTemplates?: QuickInfoTemplatesModel;
|
|
843
|
+
showWeekNumber?: boolean;
|
|
844
|
+
showWeekend?: boolean;
|
|
845
|
+
timeFormat?: string;
|
|
846
|
+
weekRule?: WeekRule;
|
|
847
|
+
recurrenceEngine?: unknown;
|
|
848
|
+
slotDuration?: number;
|
|
849
|
+
slotHeight?: number;
|
|
850
|
+
isLoading?: boolean;
|
|
851
|
+
allowPastEvents?: boolean;
|
|
852
|
+
is24Hour?: boolean;
|
|
853
|
+
onEventOverlap?: (args: {
|
|
854
|
+
event: SchedulerEvent;
|
|
855
|
+
existingEvents: SchedulerEvent[];
|
|
856
|
+
cancel: boolean;
|
|
857
|
+
}) => void;
|
|
858
|
+
onCellContextMenu?: (args: {
|
|
859
|
+
date: Date;
|
|
860
|
+
x: number;
|
|
861
|
+
y: number;
|
|
862
|
+
}) => void;
|
|
863
|
+
events?: SchedulerEvent[];
|
|
864
|
+
defaultView?: ViewType;
|
|
865
|
+
defaultSelectedDate?: Date;
|
|
866
|
+
showResourcesInDayView?: boolean;
|
|
867
|
+
showUnassignedLane?: boolean;
|
|
868
|
+
onViewChange?: (view: View) => void;
|
|
869
|
+
onDateChange?: (date: Date) => void;
|
|
870
|
+
onSlotDurationChange?: (duration: number) => void;
|
|
871
|
+
onCellClick?: (date: Date, resourceId?: string) => void;
|
|
872
|
+
onCellDoubleClick?: (date: Date, resourceId?: string) => void;
|
|
873
|
+
onEventClick?: (event: SchedulerEvent) => void;
|
|
874
|
+
onEventDoubleClick?: (event: SchedulerEvent) => void;
|
|
875
|
+
onEventCreate?: (event: Partial<SchedulerEvent>) => void | Promise<void>;
|
|
876
|
+
onEventDelete?: (eventId: string) => void | Promise<void>;
|
|
877
|
+
onEventChange?: (event: SchedulerEvent) => void | Promise<void>;
|
|
878
|
+
onBeforeEventCreate?: (args: SchedulerBeforeEventArgs<Partial<SchedulerEvent>>) => boolean | void;
|
|
879
|
+
onBeforeEventChange?: (args: SchedulerBeforeEventArgs<SchedulerEvent>) => boolean | void;
|
|
880
|
+
onBeforeEventDelete?: (args: SchedulerBeforeEventDeleteArgs) => boolean | void;
|
|
881
|
+
onBeforeEventResize?: (args: ResizeEventArgs) => boolean | void;
|
|
882
|
+
onBeforeEventDrop?: (args: DragEventArgs) => boolean | void;
|
|
883
|
+
onTimezoneConvert?: (args: SchedulerTimezoneConvertEvent) => void;
|
|
884
|
+
interactionPreset?: 'default' | 'outlook' | 'compact' | 'touch';
|
|
885
|
+
actionBegin?: (args: ActionEventArgs) => void;
|
|
886
|
+
actionComplete?: (args: ActionEventArgs) => void;
|
|
887
|
+
actionFailure?: (args: ActionFailureArgs) => void;
|
|
888
|
+
cellClick?: (args: CellClickEventArgs) => void;
|
|
889
|
+
cellDoubleClick?: (args: CellClickEventArgs) => void;
|
|
890
|
+
eventClick?: (args: EventClickEventArgs) => void;
|
|
891
|
+
eventDoubleClick?: (args: EventClickEventArgs) => void;
|
|
892
|
+
navigating?: (args: NavigatingEventArgs) => void;
|
|
893
|
+
popupClose?: (args: PopupCloseEventArgs) => void;
|
|
894
|
+
popupOpen?: (args: PopupOpenEventArgs) => void;
|
|
895
|
+
renderCell?: (args: RenderCellEventArgs) => void;
|
|
896
|
+
/** @deprecated Prefer `onBeforeEventResize` and modern `onEventChange` flows. */
|
|
897
|
+
resizeStart?: (args: ResizeEventArgs) => void;
|
|
898
|
+
/** @deprecated Prefer `onBeforeEventResize` and modern `onEventChange` flows. */
|
|
899
|
+
resizeStop?: (args: ResizeEventArgs) => void;
|
|
900
|
+
/** @deprecated Prefer `onBeforeEventDrop` and modern `onEventChange` flows. */
|
|
901
|
+
dragStart?: (args: DragEventArgs) => void;
|
|
902
|
+
/** @deprecated Prefer `onBeforeEventDrop` and modern `onEventChange` flows. */
|
|
903
|
+
drag?: (args: DragEventArgs) => void;
|
|
904
|
+
/** @deprecated Prefer `onBeforeEventDrop` and modern `onEventChange` flows. */
|
|
905
|
+
dragStop?: (args: DragEventArgs) => void;
|
|
906
|
+
select?: (args: SelectEventArgs) => void;
|
|
907
|
+
beforePaste?: (args: Record<string, unknown>) => void;
|
|
908
|
+
beforePrint?: (args: Record<string, unknown>) => void;
|
|
909
|
+
created?: (args: Record<string, unknown>) => void;
|
|
910
|
+
dataBinding?: (args: Record<string, unknown>) => void;
|
|
911
|
+
dataBound?: (args: Record<string, unknown>) => void;
|
|
912
|
+
destroyed?: (args: Record<string, unknown>) => void;
|
|
913
|
+
eventRendered?: (args: Record<string, unknown>) => void;
|
|
914
|
+
excelExport?: (args: Record<string, unknown>) => void;
|
|
915
|
+
hover?: (args: Record<string, unknown>) => void;
|
|
916
|
+
moreEventsClick?: (args: Record<string, unknown>) => void;
|
|
917
|
+
resizing?: (args: ResizeEventArgs) => void;
|
|
918
|
+
tooltipOpen?: (args: Record<string, unknown>) => void;
|
|
919
|
+
virtualScrollStart?: (args: Record<string, unknown>) => void;
|
|
920
|
+
virtualScrollStop?: (args: Record<string, unknown>) => void;
|
|
921
|
+
onExportExcel?: (events: SchedulerEvent[]) => void;
|
|
922
|
+
onExportCSV?: (events: SchedulerEvent[]) => void;
|
|
923
|
+
onExportICS?: (events: SchedulerEvent[]) => void;
|
|
924
|
+
}
|
|
925
|
+
/**
|
|
926
|
+
* Arguments for action events.
|
|
927
|
+
*/
|
|
928
|
+
export interface ActionEventArgs {
|
|
929
|
+
requestType: string;
|
|
930
|
+
cancel: boolean;
|
|
931
|
+
data?: Record<string, unknown>;
|
|
932
|
+
[key: string]: unknown;
|
|
933
|
+
}
|
|
934
|
+
/**
|
|
935
|
+
* Arguments for action failure events.
|
|
936
|
+
*/
|
|
937
|
+
export interface ActionFailureArgs {
|
|
938
|
+
requestType: string;
|
|
939
|
+
error: Error;
|
|
940
|
+
[key: string]: unknown;
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* Arguments for cell click events.
|
|
944
|
+
*/
|
|
945
|
+
export interface CellClickEventArgs {
|
|
946
|
+
startTime: Date;
|
|
947
|
+
endTime: Date;
|
|
948
|
+
element?: HTMLElement;
|
|
949
|
+
isAllDay: boolean;
|
|
950
|
+
groupIndex?: number;
|
|
951
|
+
}
|
|
952
|
+
/**
|
|
953
|
+
* Arguments for event click events.
|
|
954
|
+
*/
|
|
955
|
+
export interface EventClickEventArgs {
|
|
956
|
+
event: SchedulerEvent;
|
|
957
|
+
element?: HTMLElement;
|
|
958
|
+
cancel: boolean;
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* Arguments for navigation events.
|
|
962
|
+
*/
|
|
963
|
+
export interface NavigatingEventArgs {
|
|
964
|
+
previousDate: Date;
|
|
965
|
+
currentDate: Date;
|
|
966
|
+
previousView: View | ViewType;
|
|
967
|
+
currentView: View | ViewType;
|
|
968
|
+
cancel?: boolean;
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* Arguments for popup events.
|
|
972
|
+
*/
|
|
973
|
+
export interface PopupOpenEventArgs {
|
|
974
|
+
type: 'Editor' | 'QuickInfo' | string;
|
|
975
|
+
data?: EventData | Record<string, unknown>;
|
|
976
|
+
element?: HTMLElement;
|
|
977
|
+
cancel: boolean;
|
|
978
|
+
}
|
|
979
|
+
/**
|
|
980
|
+
* Arguments for popup close events.
|
|
981
|
+
*/
|
|
982
|
+
export interface PopupCloseEventArgs {
|
|
983
|
+
type: 'Editor' | 'QuickInfo' | string;
|
|
984
|
+
data?: EventData | Record<string, unknown>;
|
|
985
|
+
element?: HTMLElement;
|
|
986
|
+
cancel: boolean;
|
|
987
|
+
}
|
|
988
|
+
/**
|
|
989
|
+
* Arguments for cell rendering events.
|
|
990
|
+
*/
|
|
991
|
+
export interface RenderCellEventArgs {
|
|
992
|
+
date: Date;
|
|
993
|
+
element: HTMLElement;
|
|
994
|
+
view: View;
|
|
995
|
+
groupIndex?: number;
|
|
996
|
+
}
|
|
997
|
+
export interface SchedulerBeforeEventArgs<TEvent extends Partial<SchedulerEvent> = SchedulerEvent> {
|
|
998
|
+
event: TEvent;
|
|
999
|
+
originalEvent?: SchedulerEvent;
|
|
1000
|
+
proposedEvent?: TEvent;
|
|
1001
|
+
sourceResource?: Resource;
|
|
1002
|
+
targetResource?: Resource;
|
|
1003
|
+
sourceResourceId?: string;
|
|
1004
|
+
targetResourceId?: string;
|
|
1005
|
+
sourceTime?: Date;
|
|
1006
|
+
targetTime?: Date;
|
|
1007
|
+
cancel: boolean;
|
|
1008
|
+
}
|
|
1009
|
+
export interface SchedulerBeforeEventDeleteArgs {
|
|
1010
|
+
eventId: string;
|
|
1011
|
+
event?: SchedulerEvent;
|
|
1012
|
+
cancel: boolean;
|
|
1013
|
+
}
|
|
1014
|
+
export interface SchedulerTimezoneConvertEvent {
|
|
1015
|
+
event: SchedulerEvent;
|
|
1016
|
+
fromTimezone: string;
|
|
1017
|
+
toTimezone: string;
|
|
1018
|
+
convertedStart: Date;
|
|
1019
|
+
convertedEnd: Date;
|
|
1020
|
+
}
|
|
1021
|
+
/**
|
|
1022
|
+
* Arguments for resize events.
|
|
1023
|
+
*/
|
|
1024
|
+
export interface ResizeEventArgs {
|
|
1025
|
+
data: SchedulerEvent;
|
|
1026
|
+
event: SchedulerEvent;
|
|
1027
|
+
originalEvent?: SchedulerEvent;
|
|
1028
|
+
proposedEvent?: SchedulerEvent;
|
|
1029
|
+
sourceResource?: Resource;
|
|
1030
|
+
targetResource?: Resource;
|
|
1031
|
+
sourceResourceId?: string;
|
|
1032
|
+
targetResourceId?: string;
|
|
1033
|
+
sourceTime?: Date;
|
|
1034
|
+
targetTime?: Date;
|
|
1035
|
+
resizeEdge?: 'start' | 'end';
|
|
1036
|
+
element?: HTMLElement;
|
|
1037
|
+
cancel: boolean;
|
|
1038
|
+
}
|
|
1039
|
+
/**
|
|
1040
|
+
* Arguments for drag events.
|
|
1041
|
+
*/
|
|
1042
|
+
export interface DragEventArgs {
|
|
1043
|
+
data: SchedulerEvent;
|
|
1044
|
+
event: SchedulerEvent;
|
|
1045
|
+
originalEvent?: SchedulerEvent;
|
|
1046
|
+
proposedEvent?: SchedulerEvent;
|
|
1047
|
+
sourceResource?: Resource;
|
|
1048
|
+
targetResource?: Resource;
|
|
1049
|
+
sourceResourceId?: string;
|
|
1050
|
+
targetResourceId?: string;
|
|
1051
|
+
sourceTime?: Date;
|
|
1052
|
+
targetTime?: Date;
|
|
1053
|
+
element?: HTMLElement;
|
|
1054
|
+
cancel: boolean;
|
|
1055
|
+
target?: HTMLElement;
|
|
1056
|
+
}
|
|
1057
|
+
export type DropEventArgs = DragEventArgs;
|
|
1058
|
+
export type BeforeEventCreateArgs = SchedulerBeforeEventArgs<Partial<SchedulerEvent>>;
|
|
1059
|
+
export type BeforeEventChangeArgs = SchedulerBeforeEventArgs<SchedulerEvent>;
|
|
1060
|
+
export type BeforeEventDeleteArgs = SchedulerBeforeEventDeleteArgs;
|
|
1061
|
+
export type BeforeEventResizeArgs = ResizeEventArgs;
|
|
1062
|
+
export type BeforeEventDropArgs = DropEventArgs;
|
|
1063
|
+
/**
|
|
1064
|
+
* Arguments for selection events.
|
|
1065
|
+
*/
|
|
1066
|
+
export interface SelectEventArgs {
|
|
1067
|
+
element?: HTMLElement[];
|
|
1068
|
+
startTime: Date;
|
|
1069
|
+
endTime: Date;
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* Imperative API Reference
|
|
1073
|
+
*/
|
|
1074
|
+
export interface EzSchedulerRef {
|
|
1075
|
+
/**
|
|
1076
|
+
* Change the current view.
|
|
1077
|
+
* @group Methods
|
|
1078
|
+
*/
|
|
1079
|
+
changeView: (view: View) => void;
|
|
1080
|
+
/**
|
|
1081
|
+
* The current view mode.
|
|
1082
|
+
* @group Properties
|
|
1083
|
+
*/
|
|
1084
|
+
currentView: View;
|
|
1085
|
+
getCurrentDate: () => Date;
|
|
1086
|
+
setCurrentDate: (date: Date) => void;
|
|
1087
|
+
/**
|
|
1088
|
+
* Scroll to a specific row index.
|
|
1089
|
+
* @group Methods
|
|
1090
|
+
*/
|
|
1091
|
+
scrollToIndex: (index: number) => void;
|
|
1092
|
+
/**
|
|
1093
|
+
* Scroll to a specific time.
|
|
1094
|
+
* @group Methods
|
|
1095
|
+
*/
|
|
1096
|
+
scrollTo: (hour: string, minute?: number) => void;
|
|
1097
|
+
/**
|
|
1098
|
+
* Navigate to the next date range.
|
|
1099
|
+
* @group Methods
|
|
1100
|
+
*/
|
|
1101
|
+
next: () => void;
|
|
1102
|
+
/**
|
|
1103
|
+
* Navigate to the previous date range.
|
|
1104
|
+
* @group Methods
|
|
1105
|
+
*/
|
|
1106
|
+
prev: () => void;
|
|
1107
|
+
/**
|
|
1108
|
+
* Navigate to today.
|
|
1109
|
+
* @group Methods
|
|
1110
|
+
*/
|
|
1111
|
+
today: () => void;
|
|
1112
|
+
/**
|
|
1113
|
+
* Scroll to a specific time (legacy).
|
|
1114
|
+
* @group Methods
|
|
1115
|
+
*/
|
|
1116
|
+
scrollToTime: (hour: number, minute: number) => void;
|
|
1117
|
+
/**
|
|
1118
|
+
* Refresh the scheduler layout.
|
|
1119
|
+
* @group Methods
|
|
1120
|
+
*/
|
|
1121
|
+
refresh: () => void;
|
|
1122
|
+
/**
|
|
1123
|
+
* Get all events.
|
|
1124
|
+
* @group Methods
|
|
1125
|
+
*/
|
|
1126
|
+
getData: () => Promise<SchedulerEvent[]>;
|
|
1127
|
+
/**
|
|
1128
|
+
* Add a new event.
|
|
1129
|
+
* @group Methods
|
|
1130
|
+
*/
|
|
1131
|
+
addEvent: (event: SchedulerEvent | Record<string, unknown>) => Promise<void>;
|
|
1132
|
+
/**
|
|
1133
|
+
* Save an existing or new event.
|
|
1134
|
+
* @group Methods
|
|
1135
|
+
*/
|
|
1136
|
+
saveEvent: (event: SchedulerEvent | Record<string, unknown>) => Promise<void>;
|
|
1137
|
+
/**
|
|
1138
|
+
* Delete an event by ID.
|
|
1139
|
+
* @group Methods
|
|
1140
|
+
*/
|
|
1141
|
+
deleteEvent: (id: string | number) => Promise<void>;
|
|
1142
|
+
/**
|
|
1143
|
+
* Get all events.
|
|
1144
|
+
* @group Methods
|
|
1145
|
+
*/
|
|
1146
|
+
getEvents: () => Promise<SchedulerEvent[]>;
|
|
1147
|
+
/**
|
|
1148
|
+
* Get events in a specific date range.
|
|
1149
|
+
* @group Methods
|
|
1150
|
+
*/
|
|
1151
|
+
getEventsInDateRange: (start: Date, end: Date) => Promise<SchedulerEvent[]>;
|
|
1152
|
+
scrollToEvent: (eventId: string) => void;
|
|
1153
|
+
selectEvent: (eventId: string) => void;
|
|
1154
|
+
clearSelection: () => void;
|
|
1155
|
+
/**
|
|
1156
|
+
* Add a new resource.
|
|
1157
|
+
* @group Methods
|
|
1158
|
+
*/
|
|
1159
|
+
addResource: (resource: Resource | Record<string, unknown>) => Promise<void>;
|
|
1160
|
+
getResources: () => Promise<Resource[]>;
|
|
1161
|
+
updateResource: (resourceId: string | number, updates: Partial<Resource>) => Promise<void>;
|
|
1162
|
+
/**
|
|
1163
|
+
* Remove a resource by ID.
|
|
1164
|
+
* @group Methods
|
|
1165
|
+
*/
|
|
1166
|
+
removeResource: (resourceId: string | number) => Promise<void>;
|
|
1167
|
+
/**
|
|
1168
|
+
* Open the event editor.
|
|
1169
|
+
* @group Methods
|
|
1170
|
+
*/
|
|
1171
|
+
openEditor: (event: SchedulerEvent, action: CurrentAction) => void;
|
|
1172
|
+
/**
|
|
1173
|
+
* Close the event editor.
|
|
1174
|
+
* @group Methods
|
|
1175
|
+
*/
|
|
1176
|
+
closeEditor: () => void;
|
|
1177
|
+
/**
|
|
1178
|
+
* Close the quick info popup.
|
|
1179
|
+
* @group Methods
|
|
1180
|
+
*/
|
|
1181
|
+
closeQuickInfoPopup: () => void;
|
|
1182
|
+
/**
|
|
1183
|
+
* Show the loading spinner.
|
|
1184
|
+
* @group Methods
|
|
1185
|
+
*/
|
|
1186
|
+
showSpinner: () => void;
|
|
1187
|
+
/**
|
|
1188
|
+
* Hide the loading spinner.
|
|
1189
|
+
* @group Methods
|
|
1190
|
+
*/
|
|
1191
|
+
hideSpinner: () => void;
|
|
1192
|
+
/**
|
|
1193
|
+
* Export to Excel.
|
|
1194
|
+
* @group Methods
|
|
1195
|
+
*/
|
|
1196
|
+
exportToExcel: () => void;
|
|
1197
|
+
/**
|
|
1198
|
+
* Export to CSV.
|
|
1199
|
+
* @group Methods
|
|
1200
|
+
*/
|
|
1201
|
+
exportToCsv: () => void;
|
|
1202
|
+
/**
|
|
1203
|
+
* Print the scheduler.
|
|
1204
|
+
* @group Methods
|
|
1205
|
+
*/
|
|
1206
|
+
print: () => void;
|
|
1207
|
+
/**
|
|
1208
|
+
* Destroy the component instance.
|
|
1209
|
+
* @group Methods
|
|
1210
|
+
*/
|
|
1211
|
+
destroy: () => void;
|
|
1212
|
+
}
|
|
1213
|
+
/**
|
|
1214
|
+
* Interface defined for the Scheduler service.
|
|
1215
|
+
*/
|
|
1216
|
+
export interface ISchedulerService extends IService {
|
|
1217
|
+
/**
|
|
1218
|
+
* Retrieves events within a date range.
|
|
1219
|
+
* @group Services
|
|
1220
|
+
*/
|
|
1221
|
+
getEvents(start: Date, end: Date): Promise<SchedulerEvent[]>;
|
|
1222
|
+
/**
|
|
1223
|
+
* Adds a new event.
|
|
1224
|
+
* @group Services
|
|
1225
|
+
*/
|
|
1226
|
+
addEvent(event: Partial<SchedulerEvent>): Promise<SchedulerEvent>;
|
|
1227
|
+
/**
|
|
1228
|
+
* Updates an existing event.
|
|
1229
|
+
* @group Services
|
|
1230
|
+
*/
|
|
1231
|
+
updateEvent(event: SchedulerEvent): Promise<SchedulerEvent>;
|
|
1232
|
+
/**
|
|
1233
|
+
* Deletes an event by ID.
|
|
1234
|
+
* @group Services
|
|
1235
|
+
*/
|
|
1236
|
+
deleteEvent(id: string | number): Promise<void>;
|
|
1237
|
+
/**
|
|
1238
|
+
* Retrieves all resources.
|
|
1239
|
+
* @group Services
|
|
1240
|
+
*/
|
|
1241
|
+
getResources?(): Promise<Resource[]>;
|
|
1242
|
+
/**
|
|
1243
|
+
* Adds a new resource.
|
|
1244
|
+
* @group Services
|
|
1245
|
+
*/
|
|
1246
|
+
addResource?(resource: Resource): Promise<Resource>;
|
|
1247
|
+
/**
|
|
1248
|
+
* Initializes the service with data.
|
|
1249
|
+
* @group Services
|
|
1250
|
+
*/
|
|
1251
|
+
initializeWithData?(events: SchedulerEvent[], resources?: Resource[]): void;
|
|
1252
|
+
}
|