ezux 1.1.13 → 1.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/README.md +58 -15
  2. package/dist/DeleteConfirmationModal-CukNDgtX.cjs +1 -0
  3. package/dist/DeleteConfirmationModal-p8XGDGIw.js +38 -0
  4. package/dist/EzContextMenu-BCUoEQp5.cjs +1 -0
  5. package/dist/EzContextMenu-srLxujt8.js +287 -0
  6. package/dist/EzErrorBoundary-C7a6VisX.js +74 -0
  7. package/dist/EzErrorBoundary-d_2g-_EK.cjs +1 -0
  8. package/dist/EzEventModal-C079wLjP.js +725 -0
  9. package/dist/EzEventModal-CAA9cAM0.cjs +1 -0
  10. package/dist/EzFlow-C74NbZA9.js +2545 -0
  11. package/dist/EzFlow-CQFeY7DL.cjs +5 -0
  12. package/dist/EzGroupingPanel-BVaAJaVU.js +107 -0
  13. package/dist/EzGroupingPanel-BwWDWEuW.cjs +1 -0
  14. package/dist/EzKanban-BlJWybKe.js +1575 -0
  15. package/dist/EzKanban-DdKODRRv.cjs +2 -0
  16. package/dist/EzLayout-BGnqFtvO.cjs +1 -0
  17. package/dist/EzLayout-CiaPLniV.js +7005 -0
  18. package/dist/EzProvider-AlmsYIDk.js +982 -0
  19. package/dist/EzProvider-L2qQMq-v.cjs +1 -0
  20. package/dist/EzScheduler-C1Jtvvju.js +2700 -0
  21. package/dist/EzScheduler-CkqTngI6.cjs +1 -0
  22. package/dist/EzSchedulerQuickAdd-BIC8xbSn.js +124 -0
  23. package/dist/EzSchedulerQuickAdd-BeNfGdWs.cjs +1 -0
  24. package/dist/EzSchedulerToolbar-BJwTpgas.cjs +1 -0
  25. package/dist/EzSchedulerToolbar-Ba4gbvUg.js +305 -0
  26. package/dist/EzSignature-7UHO5lSP.js +386 -0
  27. package/dist/EzSignature-Df7UZ-IS.cjs +1 -0
  28. package/dist/EzTable-CEXvJR1t.cjs +3 -0
  29. package/dist/EzTable-D2p1IWHc.js +4290 -0
  30. package/dist/EzTableEditDialog-BXnnYSSy.cjs +1 -0
  31. package/dist/EzTableEditDialog-Ccd5XoHm.js +84 -0
  32. package/dist/EzTableFooter-CtexeDAC.cjs +1 -0
  33. package/dist/EzTableFooter-DrLoWelo.js +35 -0
  34. package/dist/EzTableToolbar-BH5z9fSJ.js +160 -0
  35. package/dist/EzTableToolbar-DwuumvWP.cjs +1 -0
  36. package/dist/EzTreeView-D1G0Aomc.js +818 -0
  37. package/dist/EzTreeView-KMGlU4ax.cjs +1 -0
  38. package/dist/HighlightText-BViuwe03.cjs +1 -0
  39. package/dist/HighlightText-DNA2R2uf.js +56 -0
  40. package/dist/KanbanBoard-B7_Z5sh1.js +1697 -0
  41. package/dist/KanbanBoard-CyitudI1.cjs +1 -0
  42. package/dist/Modal-BmX1C448.cjs +1 -0
  43. package/dist/Modal-CrzpKyjK.js +74 -0
  44. package/dist/NotificationPanel-BzpDc10Q.js +54 -0
  45. package/dist/NotificationPanel-CFME00wq.cjs +1 -0
  46. package/dist/TooltipWrapper-BSAmUx9H.js +44 -0
  47. package/dist/TooltipWrapper-DfbFAZ1U.cjs +1 -0
  48. package/dist/advanced.cjs +10 -0
  49. package/dist/advanced.d.ts +44 -0
  50. package/dist/advanced.es.js +400 -0
  51. package/dist/avatar-BSdRHETK.cjs +1 -0
  52. package/dist/avatar-BvCUJ-_r.js +27 -0
  53. package/dist/button-BBMwzUtG.cjs +1 -0
  54. package/dist/button-CYyNwV8S.js +44 -0
  55. package/dist/calendar-DEHX32Cp.cjs +1 -0
  56. package/dist/calendar-DOIPGsyI.js +112 -0
  57. package/dist/card-CPlRZxbq.cjs +1 -0
  58. package/dist/card-ZUNxcdIM.js +60 -0
  59. package/dist/checkbox-BrCh_Iid.cjs +1 -0
  60. package/dist/checkbox-DRkQuB4W.js +21 -0
  61. package/dist/components/EzFlow/EzConnectionLine.d.ts +5 -0
  62. package/dist/components/EzFlow/EzFlow.examples.d.ts +5 -0
  63. package/dist/components/EzFlow/EzFlow.types.d.ts +260 -0
  64. package/dist/components/EzFlow/EzFlowBackground.d.ts +5 -0
  65. package/dist/components/EzFlow/EzFlowCanvas.d.ts +3 -0
  66. package/dist/components/EzFlow/EzFlowControls.d.ts +5 -0
  67. package/dist/components/EzFlow/EzFlowEdge.d.ts +5 -0
  68. package/dist/components/EzFlow/EzFlowHeader.d.ts +6 -0
  69. package/dist/components/EzFlow/EzFlowToolbox.d.ts +6 -0
  70. package/dist/components/EzFlow/EzWorkflow.d.ts +5 -0
  71. package/dist/components/EzFlow/EzWorkflowPerformance.d.ts +3 -0
  72. package/dist/components/EzFlow/EzWorkflowServiceAdapters.d.ts +24 -0
  73. package/dist/components/EzFlow/EzWorkflowValidation.d.ts +95 -0
  74. package/dist/components/EzFlow/index.d.ts +13 -0
  75. package/dist/components/EzFlow/nodes/ActionNode.d.ts +3 -0
  76. package/dist/components/EzFlow/nodes/ApprovalNode.d.ts +3 -0
  77. package/dist/components/EzFlow/nodes/DecisionNode.d.ts +3 -0
  78. package/dist/components/EzFlow/nodes/DelayNode.d.ts +3 -0
  79. package/dist/components/EzFlow/nodes/EndNode.d.ts +3 -0
  80. package/dist/components/EzFlow/nodes/GroupNode.d.ts +3 -0
  81. package/dist/components/EzFlow/nodes/LoopNode.d.ts +3 -0
  82. package/dist/components/EzFlow/nodes/RequestNode.d.ts +3 -0
  83. package/dist/components/EzFlow/nodes/StartNode.d.ts +3 -0
  84. package/dist/components/EzFlow/nodes/index.d.ts +9 -0
  85. package/dist/components/EzKanban/EzKanban.types.d.ts +808 -0
  86. package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
  87. package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
  88. package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
  89. package/dist/components/EzKanban/components/KanbanBoard.d.ts +59 -0
  90. package/dist/components/EzKanban/components/KanbanCard.d.ts +46 -0
  91. package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
  92. package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +45 -0
  93. package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
  94. package/dist/components/EzKanban/exports.d.ts +4 -0
  95. package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
  96. package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
  97. package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
  98. package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
  99. package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
  100. package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
  101. package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
  102. package/dist/components/EzKanban/index.d.ts +51 -0
  103. package/dist/components/EzKanban/services/KanbanService.d.ts +31 -0
  104. package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
  105. package/dist/components/EzKanban/useEzKanban.d.ts +87 -0
  106. package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
  107. package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
  108. package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
  109. package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
  110. package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
  111. package/dist/components/EzLayout/EzHeader.d.ts +48 -0
  112. package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
  113. package/dist/components/EzLayout/EzLayout.types.d.ts +261 -0
  114. package/dist/components/EzLayout/EzOrganizationSwitcher.d.ts +14 -0
  115. package/dist/components/EzLayout/EzSidebar.d.ts +24 -0
  116. package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
  117. package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
  118. package/dist/components/EzLayout/EzUserProfile.d.ts +27 -0
  119. package/dist/components/EzLayout/components/EzSidebarFooter.d.ts +8 -0
  120. package/dist/components/EzLayout/components/EzSidebarNav.d.ts +10 -0
  121. package/dist/components/EzLayout/components/EzSidebarNavItem.d.ts +11 -0
  122. package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
  123. package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
  124. package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
  125. package/dist/components/EzLayout/index.d.ts +23 -0
  126. package/dist/components/EzLayout/useEzLayout.d.ts +34 -0
  127. package/dist/components/EzScheduler/EzScheduler.types.d.ts +1252 -0
  128. package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
  129. package/dist/components/EzScheduler/components/EzEventModal.d.ts +23 -0
  130. package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
  131. package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
  132. package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
  133. package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +111 -0
  134. package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
  135. package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
  136. package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
  137. package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +24 -0
  138. package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
  139. package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
  140. package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +15 -0
  141. package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +27 -0
  142. package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +19 -0
  143. package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
  144. package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
  145. package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
  146. package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
  147. package/dist/components/EzScheduler/index.d.ts +43 -0
  148. package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
  149. package/dist/components/EzScheduler/models/View.d.ts +49 -0
  150. package/dist/components/EzScheduler/models/index.d.ts +2 -0
  151. package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
  152. package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
  153. package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
  154. package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
  155. package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
  156. package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
  157. package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
  158. package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
  159. package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
  160. package/dist/components/EzScheduler/services/SchedulerService.d.ts +71 -0
  161. package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
  162. package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
  163. package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
  164. package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
  165. package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
  166. package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
  167. package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
  168. package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
  169. package/dist/components/EzScheduler/useEzScheduler.d.ts +104 -0
  170. package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
  171. package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
  172. package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +18 -0
  173. package/dist/components/EzScheduler/views/AgendaView.d.ts +28 -0
  174. package/dist/components/EzScheduler/views/DayWeekView.d.ts +177 -0
  175. package/dist/components/EzScheduler/views/MonthView.d.ts +60 -0
  176. package/dist/components/EzScheduler/views/TimelineView.d.ts +116 -0
  177. package/dist/components/EzSignature/EzSignature.d.ts +42 -0
  178. package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
  179. package/dist/components/EzSignature/index.d.ts +2 -0
  180. package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
  181. package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
  182. package/dist/components/EzTable/EzExcelFilter.d.ts +8 -0
  183. package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
  184. package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
  185. package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
  186. package/dist/components/EzTable/EzPagination.d.ts +19 -0
  187. package/dist/components/EzTable/EzTable.types.d.ts +1 -0
  188. package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
  189. package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
  190. package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
  191. package/dist/components/EzTable/EzTableStatusBar.d.ts +10 -0
  192. package/dist/components/EzTable/EzTableToolbar.d.ts +60 -0
  193. package/dist/components/EzTable/SmartCell.d.ts +7 -0
  194. package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
  195. package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
  196. package/dist/components/EzTable/components/EzDraggableHeader.d.ts +10 -0
  197. package/dist/components/EzTable/components/EzHeaderDragPreview.d.ts +7 -0
  198. package/dist/components/EzTable/components/EzTableBodySection.d.ts +72 -0
  199. package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
  200. package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +23 -0
  201. package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
  202. package/dist/components/EzTable/components/EzTableRow.d.ts +58 -0
  203. package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
  204. package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
  205. package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
  206. package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
  207. package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
  208. package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
  209. package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
  210. package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
  211. package/dist/components/EzTable/context/TableStore.d.ts +17 -0
  212. package/dist/components/EzTable/filterUtils.d.ts +5 -0
  213. package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
  214. package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
  215. package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
  216. package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
  217. package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
  218. package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
  219. package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
  220. package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
  221. package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
  222. package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
  223. package/dist/components/EzTable/hooks/useTableState.d.ts +33 -0
  224. package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +35 -0
  225. package/dist/components/EzTable/index.d.ts +54 -0
  226. package/dist/components/EzTable/renderers/index.d.ts +6 -0
  227. package/dist/components/EzTable/services/TableService.d.ts +29 -0
  228. package/dist/components/EzTable/types/EzTableColumn.types.d.ts +146 -0
  229. package/dist/components/EzTable/types/EzTableEdit.types.d.ts +58 -0
  230. package/dist/components/EzTable/types/EzTableFilter.types.d.ts +50 -0
  231. package/dist/components/EzTable/types/EzTableProps.d.ts +750 -0
  232. package/dist/components/EzTable/types/index.d.ts +4 -0
  233. package/dist/components/EzTable/useEzTable.d.ts +17 -0
  234. package/dist/components/EzTable/utils/SizingUtils.d.ts +11 -0
  235. package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
  236. package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
  237. package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
  238. package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
  239. package/dist/components/EzTable/utils/index.d.ts +1 -0
  240. package/dist/components/EzTreeView/EzTreeView.types.d.ts +364 -0
  241. package/dist/components/EzTreeView/EzTreeViewItem.d.ts +89 -0
  242. package/dist/components/EzTreeView/EzVirtualTree.d.ts +84 -0
  243. package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
  244. package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
  245. package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
  246. package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
  247. package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
  248. package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
  249. package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
  250. package/dist/components/EzTreeView/index.d.ts +40 -0
  251. package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
  252. package/dist/components/EzTreeView/useEzTreeView.d.ts +50 -0
  253. package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
  254. package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
  255. package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
  256. package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
  257. package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
  258. package/dist/components/shared/components/EzSortableList.d.ts +12 -0
  259. package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
  260. package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
  261. package/dist/components/ui/avatar.d.ts +10 -0
  262. package/dist/components/ui/badge.d.ts +9 -0
  263. package/dist/components/ui/breadcrumb.d.ts +19 -0
  264. package/dist/components/ui/button.d.ts +13 -0
  265. package/dist/components/ui/calendar.d.ts +15 -0
  266. package/dist/components/ui/card.d.ts +10 -0
  267. package/dist/components/ui/checkbox.d.ts +7 -0
  268. package/dist/components/ui/combobox.d.ts +19 -0
  269. package/dist/components/ui/command.d.ts +78 -0
  270. package/dist/components/ui/context-menu.d.ts +27 -0
  271. package/dist/components/ui/date-time-picker.d.ts +14 -0
  272. package/dist/components/ui/dropdown-menu.d.ts +31 -0
  273. package/dist/components/ui/index.d.ts +27 -0
  274. package/dist/components/ui/input.d.ts +5 -0
  275. package/dist/components/ui/label.d.ts +9 -0
  276. package/dist/components/ui/modal.d.ts +9 -0
  277. package/dist/components/ui/password-input.d.ts +5 -0
  278. package/dist/components/ui/popover.d.ts +10 -0
  279. package/dist/components/ui/progress.d.ts +7 -0
  280. package/dist/components/ui/radio-group.d.ts +5 -0
  281. package/dist/components/ui/resizable.d.ts +8 -0
  282. package/dist/components/ui/scroll-area.d.ts +5 -0
  283. package/dist/components/ui/select.d.ts +26 -0
  284. package/dist/components/ui/skeleton.d.ts +2 -0
  285. package/dist/components/ui/switch.d.ts +6 -0
  286. package/dist/components/ui/table.d.ts +10 -0
  287. package/dist/components/ui/tabs.d.ts +22 -0
  288. package/dist/components/ui/textarea.d.ts +5 -0
  289. package/dist/components/ui/tooltip.d.ts +10 -0
  290. package/dist/date-time-picker-Bs-7XzHD.cjs +1 -0
  291. package/dist/date-time-picker-fUzf4TnU.js +127 -0
  292. package/dist/dropdown-menu-BRP0tyR_.cjs +1 -0
  293. package/dist/dropdown-menu-B_7_K13o.js +78 -0
  294. package/dist/ezux.css +2 -1
  295. package/dist/flow.cjs +1 -0
  296. package/dist/flow.d.ts +2 -0
  297. package/dist/flow.es.js +2 -0
  298. package/dist/index.cjs +3 -12
  299. package/dist/index.d.ts +66 -6404
  300. package/dist/index.es.js +229 -1041
  301. package/dist/input-CYlvlbF7.cjs +1 -0
  302. package/dist/input-Cj3sQK3M.js +14 -0
  303. package/dist/kanban.cjs +1 -1
  304. package/dist/kanban.d.ts +2 -1343
  305. package/dist/kanban.es.js +4 -17
  306. package/dist/label-BGgvoZWD.cjs +1 -0
  307. package/dist/label-DWEV--5W.js +16 -0
  308. package/dist/layout.cjs +1 -1
  309. package/dist/layout.d.ts +2 -690
  310. package/dist/layout.es.js +2 -20
  311. package/dist/lib/perfect-freehand.d.ts +221 -0
  312. package/dist/lib/utils.d.ts +2 -0
  313. package/dist/mock-services.cjs +1 -0
  314. package/dist/mock-services.d.ts +8 -0
  315. package/dist/mock-services.es.js +161 -0
  316. package/dist/popover-D1akYj0W.js +17 -0
  317. package/dist/popover-wZKNvYM5.cjs +1 -0
  318. package/dist/scheduler.cjs +1 -1
  319. package/dist/scheduler.d.ts +2 -1430
  320. package/dist/scheduler.es.js +2 -11
  321. package/dist/scroll-area-BJs87d45.js +35 -0
  322. package/dist/scroll-area-DSkE2KB_.cjs +1 -0
  323. package/dist/select-D4tFaSai.js +43 -0
  324. package/dist/select-sVieKbLu.cjs +1 -0
  325. package/dist/shared/components/AnimatedText.d.ts +44 -0
  326. package/dist/shared/components/BaseCell.d.ts +14 -0
  327. package/dist/shared/components/BooleanRenderer.d.ts +34 -0
  328. package/dist/shared/components/ChartRenderer.d.ts +19 -0
  329. package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
  330. package/dist/shared/components/EzContextMenu.d.ts +12 -0
  331. package/dist/shared/components/EzNotificationDropdown.d.ts +2 -0
  332. package/dist/shared/components/HighlightText.d.ts +4 -0
  333. package/dist/shared/components/Modal.d.ts +13 -0
  334. package/dist/shared/components/NotificationPanel.d.ts +2 -0
  335. package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
  336. package/dist/shared/components/SearchableSelect.d.ts +13 -0
  337. package/dist/shared/components/SelectRenderer.d.ts +33 -0
  338. package/dist/shared/components/StatusBadge.d.ts +21 -0
  339. package/dist/shared/components/TooltipWrapper.d.ts +12 -0
  340. package/dist/shared/components/index.d.ts +9 -0
  341. package/dist/shared/contexts/EzProvider.d.ts +56 -0
  342. package/dist/shared/hooks/index.d.ts +56 -0
  343. package/dist/shared/hooks/useBaseComponent.d.ts +59 -0
  344. package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
  345. package/dist/shared/hooks/useComponentState.d.ts +39 -0
  346. package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
  347. package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
  348. package/dist/shared/hooks/useDebounce.d.ts +10 -0
  349. package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
  350. package/dist/shared/hooks/useDialogState.d.ts +21 -0
  351. package/dist/shared/hooks/useDndHandlers.d.ts +19 -0
  352. package/dist/shared/hooks/useEditing.d.ts +107 -0
  353. package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
  354. package/dist/shared/hooks/useEzTheme.d.ts +22 -0
  355. package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
  356. package/dist/shared/hooks/useHistory.d.ts +13 -0
  357. package/dist/shared/hooks/useI18n.d.ts +8 -0
  358. package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
  359. package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
  360. package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
  361. package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
  362. package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
  363. package/dist/shared/hooks/useLoadingState.d.ts +17 -0
  364. package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
  365. package/dist/shared/hooks/useNotificationService.d.ts +8 -0
  366. package/dist/shared/hooks/usePerformanceMonitor.d.ts +22 -0
  367. package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
  368. package/dist/shared/hooks/useSelection.d.ts +73 -0
  369. package/dist/shared/hooks/useService.d.ts +12 -0
  370. package/dist/shared/hooks/useServiceState.d.ts +1 -0
  371. package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
  372. package/dist/shared/hooks/useTheme.d.ts +13 -0
  373. package/dist/shared/hooks/useVirtualization.d.ts +85 -0
  374. package/dist/shared/services/BaseService.d.ts +57 -0
  375. package/dist/shared/services/ContextMenuService.d.ts +58 -0
  376. package/dist/shared/services/ExportService.d.ts +35 -0
  377. package/dist/shared/services/FocusManagerService.d.ts +33 -0
  378. package/dist/shared/services/HierarchyService.d.ts +43 -0
  379. package/dist/shared/services/I18nService.d.ts +84 -0
  380. package/dist/shared/services/LayoutService.d.ts +80 -0
  381. package/dist/shared/services/NotificationService.d.ts +44 -0
  382. package/dist/shared/services/PersistenceService.d.ts +69 -0
  383. package/dist/shared/services/ServiceRegistry.d.ts +52 -0
  384. package/dist/shared/services/ThemeService.d.ts +49 -0
  385. package/dist/shared/services/VirtualizationService.d.ts +51 -0
  386. package/dist/shared/state/store.d.ts +10 -0
  387. package/dist/shared/themes.d.ts +25 -0
  388. package/dist/shared/types/BaseProps.d.ts +17 -0
  389. package/dist/shared/types/common.d.ts +373 -0
  390. package/dist/shared/types/index.d.ts +2 -0
  391. package/dist/shared/utils/canvasUtils.d.ts +16 -0
  392. package/dist/shared/utils/commonUtils.d.ts +28 -0
  393. package/dist/shared/utils/csvUtils.d.ts +7 -0
  394. package/dist/shared/utils/dateUtils.d.ts +5 -0
  395. package/dist/shared/utils/dndUtils.d.ts +16 -0
  396. package/dist/shared/utils/formatUtils.d.ts +20 -0
  397. package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
  398. package/dist/shared/utils/index.d.ts +11 -0
  399. package/dist/shared/utils/renderUtils.d.ts +6 -0
  400. package/dist/shared/utils/serviceUtils.d.ts +10 -0
  401. package/dist/shared/utils/styleUtils.d.ts +121 -0
  402. package/dist/shared/utils/validationUtils.d.ts +16 -0
  403. package/dist/signature.cjs +1 -1
  404. package/dist/signature.d.ts +2 -410
  405. package/dist/signature.es.js +2 -4
  406. package/dist/table.cjs +1 -1
  407. package/dist/table.d.ts +2 -1059
  408. package/dist/table.es.js +2 -17
  409. package/dist/theme-vars.css +143 -135
  410. package/dist/tooltip-B1wC9m05.js +16 -0
  411. package/dist/tooltip-Qmzrg5u5.cjs +1 -0
  412. package/dist/treeview.cjs +1 -1
  413. package/dist/treeview.d.ts +2 -656
  414. package/dist/treeview.es.js +2 -954
  415. package/dist/useComponentState-DiSFLYju.js +57 -0
  416. package/dist/useComponentState-Wcz6pjd6.cjs +1 -0
  417. package/dist/useImperativeAPI-Dbx2hMTb.js +7 -0
  418. package/dist/useImperativeAPI-VrgLwXEO.cjs +1 -0
  419. package/dist/useInitCoreServices-CuBrviDM.js +40 -0
  420. package/dist/useInitCoreServices-DlALVDNx.cjs +1 -0
  421. package/dist/useService-CnCBGG3G.js +10 -0
  422. package/dist/useService-CyF782jv.cjs +1 -0
  423. package/dist/useServiceState-CkrJZm1D.js +21 -0
  424. package/dist/useServiceState-PyYQWxHi.cjs +1 -0
  425. package/package.json +76 -56
  426. package/dist/EzContextMenu-B6HBUjWv.cjs +0 -5
  427. package/dist/EzContextMenu-BSA_B6Pr.js +0 -3500
  428. package/dist/EzErrorBoundary-CEdz_hDo.cjs +0 -41
  429. package/dist/EzErrorBoundary-D4NBadES.js +0 -3727
  430. package/dist/EzEventModal-BUMp_BFi.js +0 -689
  431. package/dist/EzEventModal-xzHfzi0O.cjs +0 -1
  432. package/dist/EzGroupingPanel-BUsIYDRi.js +0 -143
  433. package/dist/EzGroupingPanel-D0HdSomF.cjs +0 -1
  434. package/dist/EzSchedulerQuickAdd-C653LTGh.js +0 -118
  435. package/dist/EzSchedulerQuickAdd-UnOWCpJd.cjs +0 -1
  436. package/dist/EzSchedulerToolbar-C-5OdRY6.cjs +0 -1
  437. package/dist/EzSchedulerToolbar-CO5jjDQg.js +0 -240
  438. package/dist/EzSignature-BaNesxwC.cjs +0 -1
  439. package/dist/EzSignature-D4EYwo9W.js +0 -419
  440. package/dist/EzTableEditDialog-Cd948V1C.js +0 -63
  441. package/dist/EzTableEditDialog-NiOubaMT.cjs +0 -1
  442. package/dist/EzTableFooter-CWjfGCjL.cjs +0 -1
  443. package/dist/EzTableFooter-DveD12RC.js +0 -54
  444. package/dist/EzTableToolbar-Bz8UWv6j.js +0 -246
  445. package/dist/EzTableToolbar-DHE7Bb1R.cjs +0 -1
  446. package/dist/HighlightText-8D6KEyBw.js +0 -68
  447. package/dist/HighlightText-LtZmzCle.cjs +0 -1
  448. package/dist/NotificationPanel-D2Y-_ahk.js +0 -68
  449. package/dist/NotificationPanel-zLxrtTGf.cjs +0 -1
  450. package/dist/TooltipWrapper-BrRTi5EJ.js +0 -2021
  451. package/dist/TooltipWrapper-DWts4bAI.cjs +0 -1
  452. package/dist/avatar-BeK0E4mn.js +0 -41
  453. package/dist/avatar-DZAaTK2f.cjs +0 -1
  454. package/dist/bell-DAz8P0BR.js +0 -14
  455. package/dist/bell-DOX2y38e.cjs +0 -1
  456. package/dist/calendar-BMZ8ddOf.cjs +0 -1
  457. package/dist/calendar-Dy3rVMW2.js +0 -90
  458. package/dist/checkbox-B0lGHUyy.cjs +0 -1
  459. package/dist/checkbox-boJRxICT.js +0 -46
  460. package/dist/chevron-down-C3s8jU6B.js +0 -5
  461. package/dist/chevron-down-DZVL7VHW.cjs +0 -1
  462. package/dist/chevron-left-BFr8XZyF.js +0 -5
  463. package/dist/chevron-left-HWhRo6IH.cjs +0 -1
  464. package/dist/circle-alert-77QqFR-z.cjs +0 -1
  465. package/dist/circle-alert-B2AMDd8N.js +0 -9
  466. package/dist/circle-x-Cv7bfIC_.js +0 -9
  467. package/dist/circle-x-DwVXxhXr.cjs +0 -1
  468. package/dist/date-time-picker-DTxHdPgQ.cjs +0 -1
  469. package/dist/date-time-picker-Dj2eftJI.js +0 -1636
  470. package/dist/download-0ZhO2XaW.cjs +0 -1
  471. package/dist/download-panVHmk6.js +0 -9
  472. package/dist/ellipsis-CuqNthAj.js +0 -9
  473. package/dist/ellipsis-CzlqJf-i.cjs +0 -1
  474. package/dist/grip-vertical-CSyDKBul.js +0 -12
  475. package/dist/grip-vertical-DZNBW1Dn.cjs +0 -1
  476. package/dist/index-B3ipEEhH.cjs +0 -2
  477. package/dist/index-BPPb7bcs.js +0 -3220
  478. package/dist/index-BQKw_Vho.js +0 -9604
  479. package/dist/index-C5STgBSy.js +0 -5203
  480. package/dist/index-C6NfgycP.js +0 -4644
  481. package/dist/index-D4f2ZdrG.cjs +0 -2
  482. package/dist/index-DUY1SqMo.cjs +0 -1
  483. package/dist/index-c1Zg--dt.cjs +0 -7
  484. package/dist/input-BgM_la4k.cjs +0 -1
  485. package/dist/input-jYQ5VKNR.js +0 -21
  486. package/dist/isBefore-C3Y_wbk3.js +0 -15
  487. package/dist/isBefore-Cp1ttk6q.cjs +0 -1
  488. package/dist/label-ClOW9UCt.js +0 -55
  489. package/dist/label-Dx6oDB-X.cjs +0 -1
  490. package/dist/layers-BA4i1fYX.js +0 -27
  491. package/dist/layers-xSPd-hz3.cjs +0 -1
  492. package/dist/popover-BJq1CKmi.cjs +0 -1
  493. package/dist/popover-Cmlb7w3R.js +0 -341
  494. package/dist/scroll-area-9fwpVNxT.js +0 -573
  495. package/dist/scroll-area-CwwZSSA4.cjs +0 -1
  496. package/dist/select-GxA46anr.cjs +0 -1
  497. package/dist/select-mDCun_IR.js +0 -35
  498. package/dist/settings-CvyjK75A.js +0 -31
  499. package/dist/settings-DKPknrt8.cjs +0 -1
  500. package/dist/sortable.esm-CsRPuXyD.cjs +0 -1
  501. package/dist/sortable.esm-CzMCDPet.js +0 -477
  502. package/dist/tooltip-B41iztKT.cjs +0 -1
  503. package/dist/tooltip-BCtrEe0z.js +0 -490
  504. package/dist/useComponentState-C87xXa5d.js +0 -64
  505. package/dist/useComponentState-DDgGbBXv.cjs +0 -1
  506. package/dist/useImperativeAPI-DXmCQvPL.js +0 -7
  507. package/dist/useImperativeAPI-DbZ3owSV.cjs +0 -1
  508. package/dist/useInitCoreServices-CwXv2p4S.cjs +0 -1
  509. package/dist/useInitCoreServices-D1WaWlaI.js +0 -3929
  510. package/dist/useService-8OoezWr8.cjs +0 -1
  511. package/dist/useService-BUi3uAqE.js +0 -10
  512. package/dist/useServiceState-BjpCjUn2.cjs +0 -1
  513. package/dist/useServiceState-VE-viK8b.js +0 -24
@@ -0,0 +1,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
+ }