ezux 1.0.0

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 (293) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -0
  3. package/dist/EzEventModal-DtpvYwGr.js +684 -0
  4. package/dist/EzGroupingPanel-CFwKUrF_.js +59 -0
  5. package/dist/EzTableEditDialog-BIk_mNpI.js +60 -0
  6. package/dist/components/EzKanban/EzKanban.types.d.ts +789 -0
  7. package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
  8. package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
  9. package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
  10. package/dist/components/EzKanban/components/KanbanBoard.d.ts +62 -0
  11. package/dist/components/EzKanban/components/KanbanCard.d.ts +38 -0
  12. package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
  13. package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +46 -0
  14. package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
  15. package/dist/components/EzKanban/exports.d.ts +4 -0
  16. package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
  17. package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
  18. package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
  19. package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
  20. package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
  21. package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
  22. package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
  23. package/dist/components/EzKanban/index.d.ts +45 -0
  24. package/dist/components/EzKanban/services/KanbanService.d.ts +30 -0
  25. package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
  26. package/dist/components/EzKanban/useEzKanban.d.ts +162 -0
  27. package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
  28. package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
  29. package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
  30. package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
  31. package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
  32. package/dist/components/EzLayout/EzHeader.d.ts +33 -0
  33. package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
  34. package/dist/components/EzLayout/EzLayout.types.d.ts +223 -0
  35. package/dist/components/EzLayout/EzSidebar.d.ts +14 -0
  36. package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
  37. package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
  38. package/dist/components/EzLayout/EzUserProfile.d.ts +23 -0
  39. package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
  40. package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
  41. package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
  42. package/dist/components/EzLayout/index.d.ts +19 -0
  43. package/dist/components/EzLayout/useEzLayout.d.ts +26 -0
  44. package/dist/components/EzScheduler/EzScheduler.types.d.ts +1658 -0
  45. package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
  46. package/dist/components/EzScheduler/components/EzEventModal.d.ts +17 -0
  47. package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
  48. package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
  49. package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
  50. package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +123 -0
  51. package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
  52. package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
  53. package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
  54. package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +21 -0
  55. package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
  56. package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
  57. package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +11 -0
  58. package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +26 -0
  59. package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +15 -0
  60. package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
  61. package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
  62. package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
  63. package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
  64. package/dist/components/EzScheduler/index.d.ts +41 -0
  65. package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
  66. package/dist/components/EzScheduler/models/View.d.ts +49 -0
  67. package/dist/components/EzScheduler/models/index.d.ts +2 -0
  68. package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
  69. package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
  70. package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
  71. package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
  72. package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
  73. package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
  74. package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
  75. package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
  76. package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
  77. package/dist/components/EzScheduler/services/SchedulerService.d.ts +69 -0
  78. package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
  79. package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
  80. package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
  81. package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
  82. package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
  83. package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
  84. package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
  85. package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
  86. package/dist/components/EzScheduler/tests/phase1_rendering.spec.d.ts +1 -0
  87. package/dist/components/EzScheduler/tests/phase2_events.spec.d.ts +1 -0
  88. package/dist/components/EzScheduler/tests/phase3_templates.spec.d.ts +1 -0
  89. package/dist/components/EzScheduler/tests/phase4_export.spec.d.ts +1 -0
  90. package/dist/components/EzScheduler/tests/phase5_advanced.spec.d.ts +1 -0
  91. package/dist/components/EzScheduler/tests/phase6_security.spec.d.ts +1 -0
  92. package/dist/components/EzScheduler/tests/phase7_regression.spec.d.ts +1 -0
  93. package/dist/components/EzScheduler/useEzScheduler.d.ts +152 -0
  94. package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
  95. package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
  96. package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +17 -0
  97. package/dist/components/EzScheduler/views/AgendaView.d.ts +33 -0
  98. package/dist/components/EzScheduler/views/DayWeekView.d.ts +182 -0
  99. package/dist/components/EzScheduler/views/MonthView.d.ts +65 -0
  100. package/dist/components/EzScheduler/views/TimelineView.d.ts +121 -0
  101. package/dist/components/EzSignature/EzSignature.d.ts +42 -0
  102. package/dist/components/EzSignature/EzSignature.test.d.ts +1 -0
  103. package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
  104. package/dist/components/EzSignature/index.d.ts +2 -0
  105. package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
  106. package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
  107. package/dist/components/EzTable/EzExcelFilter.d.ts +6 -0
  108. package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
  109. package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
  110. package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
  111. package/dist/components/EzTable/EzPagination.d.ts +19 -0
  112. package/dist/components/EzTable/EzTable.types.d.ts +1481 -0
  113. package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
  114. package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
  115. package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
  116. package/dist/components/EzTable/EzTableStatusBar.d.ts +6 -0
  117. package/dist/components/EzTable/EzTableToolbar.d.ts +58 -0
  118. package/dist/components/EzTable/SmartCell.d.ts +7 -0
  119. package/dist/components/EzTable/__tests__/EzTableDX.test.d.ts +0 -0
  120. package/dist/components/EzTable/__tests__/EzTableEnterprise.test.d.ts +1 -0
  121. package/dist/components/EzTable/__tests__/useEzTable.test.d.ts +1 -0
  122. package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
  123. package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
  124. package/dist/components/EzTable/components/DraggableHeader.d.ts +10 -0
  125. package/dist/components/EzTable/components/EzTableBodySection.d.ts +70 -0
  126. package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
  127. package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +22 -0
  128. package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
  129. package/dist/components/EzTable/components/EzTableRow.d.ts +56 -0
  130. package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
  131. package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
  132. package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
  133. package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
  134. package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
  135. package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
  136. package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
  137. package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
  138. package/dist/components/EzTable/context/TableStore.d.ts +17 -0
  139. package/dist/components/EzTable/filterUtils.d.ts +5 -0
  140. package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
  141. package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
  142. package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
  143. package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
  144. package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
  145. package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
  146. package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
  147. package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
  148. package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
  149. package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
  150. package/dist/components/EzTable/hooks/useTableState.d.ts +31 -0
  151. package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +33 -0
  152. package/dist/components/EzTable/index.d.ts +50 -0
  153. package/dist/components/EzTable/renderers/index.d.ts +6 -0
  154. package/dist/components/EzTable/services/TableService.d.ts +26 -0
  155. package/dist/components/EzTable/useEzTable.d.ts +17 -0
  156. package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
  157. package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
  158. package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
  159. package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
  160. package/dist/components/EzTable/utils/index.d.ts +1 -0
  161. package/dist/components/EzTreeView/EzTreeView.types.d.ts +395 -0
  162. package/dist/components/EzTreeView/EzTreeViewItem.d.ts +77 -0
  163. package/dist/components/EzTreeView/EzVirtualTree.d.ts +72 -0
  164. package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
  165. package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
  166. package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
  167. package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
  168. package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
  169. package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
  170. package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
  171. package/dist/components/EzTreeView/index.d.ts +40 -0
  172. package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
  173. package/dist/components/EzTreeView/useEzTreeView.d.ts +62 -0
  174. package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
  175. package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
  176. package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
  177. package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
  178. package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
  179. package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
  180. package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
  181. package/dist/components/ui/avatar.d.ts +5 -0
  182. package/dist/components/ui/badge.d.ts +9 -0
  183. package/dist/components/ui/breadcrumb.d.ts +19 -0
  184. package/dist/components/ui/button.d.ts +12 -0
  185. package/dist/components/ui/calendar.d.ts +15 -0
  186. package/dist/components/ui/card.d.ts +8 -0
  187. package/dist/components/ui/checkbox.d.ts +7 -0
  188. package/dist/components/ui/command.d.ts +78 -0
  189. package/dist/components/ui/context-menu.d.ts +27 -0
  190. package/dist/components/ui/date-time-picker.d.ts +13 -0
  191. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  192. package/dist/components/ui/index.d.ts +26 -0
  193. package/dist/components/ui/input.d.ts +5 -0
  194. package/dist/components/ui/label.d.ts +5 -0
  195. package/dist/components/ui/modal.d.ts +9 -0
  196. package/dist/components/ui/password-input.d.ts +5 -0
  197. package/dist/components/ui/popover.d.ts +4 -0
  198. package/dist/components/ui/progress.d.ts +7 -0
  199. package/dist/components/ui/radio-group.d.ts +5 -0
  200. package/dist/components/ui/scroll-area.d.ts +5 -0
  201. package/dist/components/ui/select.d.ts +24 -0
  202. package/dist/components/ui/skeleton.d.ts +2 -0
  203. package/dist/components/ui/switch.d.ts +4 -0
  204. package/dist/components/ui/table.d.ts +10 -0
  205. package/dist/components/ui/tabs.d.ts +14 -0
  206. package/dist/components/ui/textarea.d.ts +5 -0
  207. package/dist/components/ui/tooltip.d.ts +7 -0
  208. package/dist/ezux.es.js +149 -0
  209. package/dist/ezux.umd.js +68 -0
  210. package/dist/index-DBwoXp4n.js +30656 -0
  211. package/dist/index.d.ts +70 -0
  212. package/dist/lib/perfect-freehand.d.ts +221 -0
  213. package/dist/lib/utils.d.ts +2 -0
  214. package/dist/shared/components/AnimatedText.d.ts +44 -0
  215. package/dist/shared/components/BaseCell.d.ts +14 -0
  216. package/dist/shared/components/BooleanRenderer.d.ts +34 -0
  217. package/dist/shared/components/ChartRenderer.d.ts +19 -0
  218. package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
  219. package/dist/shared/components/EzContextMenu.d.ts +12 -0
  220. package/dist/shared/components/EzNotificationDropdown.d.ts +1 -0
  221. package/dist/shared/components/HighlightText.d.ts +4 -0
  222. package/dist/shared/components/Modal.d.ts +13 -0
  223. package/dist/shared/components/NotificationPanel.d.ts +2 -0
  224. package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
  225. package/dist/shared/components/SearchableSelect.d.ts +13 -0
  226. package/dist/shared/components/SelectRenderer.d.ts +33 -0
  227. package/dist/shared/components/StatusBadge.d.ts +12 -0
  228. package/dist/shared/components/TooltipWrapper.d.ts +12 -0
  229. package/dist/shared/components/index.d.ts +9 -0
  230. package/dist/shared/hooks/index.d.ts +56 -0
  231. package/dist/shared/hooks/useBaseComponent.d.ts +60 -0
  232. package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
  233. package/dist/shared/hooks/useComponentState.d.ts +39 -0
  234. package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
  235. package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
  236. package/dist/shared/hooks/useDebounce.d.ts +10 -0
  237. package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
  238. package/dist/shared/hooks/useDialogState.d.ts +21 -0
  239. package/dist/shared/hooks/useDndHandlers.d.ts +17 -0
  240. package/dist/shared/hooks/useEditing.d.ts +107 -0
  241. package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
  242. package/dist/shared/hooks/useEzTheme.d.ts +22 -0
  243. package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
  244. package/dist/shared/hooks/useHistory.d.ts +13 -0
  245. package/dist/shared/hooks/useI18n.d.ts +9 -0
  246. package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
  247. package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
  248. package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
  249. package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
  250. package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
  251. package/dist/shared/hooks/useLoadingState.d.ts +17 -0
  252. package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
  253. package/dist/shared/hooks/useNotificationService.d.ts +8 -0
  254. package/dist/shared/hooks/usePerformanceMonitor.d.ts +15 -0
  255. package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
  256. package/dist/shared/hooks/useSelection.d.ts +73 -0
  257. package/dist/shared/hooks/useService.d.ts +12 -0
  258. package/dist/shared/hooks/useServiceState.d.ts +12 -0
  259. package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
  260. package/dist/shared/hooks/useTheme.d.ts +13 -0
  261. package/dist/shared/hooks/useVirtualization.d.ts +85 -0
  262. package/dist/shared/services/BaseService.d.ts +56 -0
  263. package/dist/shared/services/ContextMenuService.d.ts +58 -0
  264. package/dist/shared/services/ExportService.d.ts +35 -0
  265. package/dist/shared/services/FocusManagerService.d.ts +33 -0
  266. package/dist/shared/services/HierarchyService.d.ts +43 -0
  267. package/dist/shared/services/I18nService.d.ts +65 -0
  268. package/dist/shared/services/LayoutService.d.ts +80 -0
  269. package/dist/shared/services/NotificationService.d.ts +44 -0
  270. package/dist/shared/services/PersistenceService.d.ts +69 -0
  271. package/dist/shared/services/ServiceRegistry.d.ts +51 -0
  272. package/dist/shared/services/ThemeService.d.ts +49 -0
  273. package/dist/shared/services/VirtualizationService.d.ts +51 -0
  274. package/dist/shared/state/store.d.ts +10 -0
  275. package/dist/shared/themes.d.ts +25 -0
  276. package/dist/shared/types/BaseProps.d.ts +18 -0
  277. package/dist/shared/types/common.d.ts +292 -0
  278. package/dist/shared/types/commonTypes.d.ts +101 -0
  279. package/dist/shared/types/index.d.ts +2 -0
  280. package/dist/shared/utils/canvasUtils.d.ts +16 -0
  281. package/dist/shared/utils/commonUtils.d.ts +28 -0
  282. package/dist/shared/utils/csvUtils.d.ts +7 -0
  283. package/dist/shared/utils/dateUtils.d.ts +5 -0
  284. package/dist/shared/utils/dndUtils.d.ts +16 -0
  285. package/dist/shared/utils/ezStyleUtils.d.ts +64 -0
  286. package/dist/shared/utils/formatUtils.d.ts +20 -0
  287. package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
  288. package/dist/shared/utils/index.d.ts +11 -0
  289. package/dist/shared/utils/renderUtils.d.ts +6 -0
  290. package/dist/shared/utils/serviceUtils.d.ts +10 -0
  291. package/dist/shared/utils/styleUtils.d.ts +66 -0
  292. package/dist/shared/utils/validationUtils.d.ts +16 -0
  293. package/package.json +101 -0
@@ -0,0 +1,117 @@
1
+ import { ViewType, View, ViewsModel } from './EzScheduler.types';
2
+ /**
3
+ * Props for the EzSchedulerToolbar component.
4
+ */
5
+ interface EzSchedulerToolbarProps {
6
+ /**
7
+ * The current date displayed in the scheduler.
8
+ * @group Properties
9
+ */
10
+ currentDate: Date;
11
+ /**
12
+ * Current view type (legacy support).
13
+ * @group Properties
14
+ */
15
+ view: ViewType;
16
+ /**
17
+ * Sets the view type (legacy support).
18
+ * @group Methods
19
+ */
20
+ setView: (view: ViewType) => void;
21
+ /**
22
+ * Navigates to the next period (legacy support).
23
+ * @group Methods
24
+ */
25
+ next: () => void;
26
+ /**
27
+ * Navigates to the previous period (legacy support).
28
+ * @group Methods
29
+ */
30
+ prev: () => void;
31
+ /**
32
+ * Navigates to today (legacy support).
33
+ * @group Methods
34
+ */
35
+ today: () => void;
36
+ /**
37
+ * Callback when the "Add" button is clicked.
38
+ * @group Events
39
+ */
40
+ onAddClick: () => void;
41
+ /**
42
+ * Duration of each time slot in minutes.
43
+ * @group Properties
44
+ */
45
+ slotDuration: number;
46
+ /**
47
+ * Sets the duration of each time slot.
48
+ * @group Methods
49
+ */
50
+ setSlotDuration: (duration: number) => void;
51
+ /**
52
+ * Sets the current date.
53
+ * @group Methods
54
+ */
55
+ setCurrentDate: (date: Date) => void;
56
+ /**
57
+ * Callback to navigate to the previous period.
58
+ * @group Events
59
+ */
60
+ onPrev: () => void;
61
+ /**
62
+ * Callback to navigate to the next period.
63
+ * @group Events
64
+ */
65
+ onNext: () => void;
66
+ /**
67
+ * Callback to navigate to today.
68
+ * @group Events
69
+ */
70
+ onToday: () => void;
71
+ /**
72
+ * The currently active view mode.
73
+ * @group Properties
74
+ */
75
+ currentView: View;
76
+ /**
77
+ * Callback when the view mode changes.
78
+ * @group Events
79
+ */
80
+ onViewChange: (view: View) => void;
81
+ /**
82
+ * List of available views.
83
+ * @group Properties
84
+ */
85
+ views: (View | ViewsModel)[];
86
+ /**
87
+ * Callback for Excel export.
88
+ * @group Events
89
+ */
90
+ onExportExcel?: () => void;
91
+ /**
92
+ * Callback for CSV export.
93
+ * @group Events
94
+ */
95
+ onExportCSV?: () => void;
96
+ /**
97
+ * Callback for ICS export.
98
+ * @group Events
99
+ */
100
+ /**
101
+ * Callback for ICS export.
102
+ * @group Events
103
+ */
104
+ onExportICS?: () => void;
105
+ /**
106
+ * Text direction.
107
+ * @group Appearance
108
+ */
109
+ dir?: 'ltr' | 'rtl' | 'auto';
110
+ }
111
+ /**
112
+ * Toolbar component for the EzScheduler.
113
+ * Provides navigation, view switching, and action buttons.
114
+ * @group Subcomponents
115
+ */
116
+ export declare const EzSchedulerToolbar: import('react').MemoExoticComponent<({ currentDate, next, prev, today, slotDuration, setSlotDuration, setCurrentDate, onPrev, onNext, onToday, currentView, onViewChange, views, onExportExcel, onExportCSV, onExportICS, dir }: EzSchedulerToolbarProps) => import("react/jsx-runtime").JSX.Element>;
117
+ export {};
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { SchedulerEvent, Resource } from '../EzScheduler.types';
3
+ interface EzEventModalProps {
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ mode: 'create' | 'edit' | 'view';
7
+ event?: Partial<SchedulerEvent>;
8
+ onSave: (event: Partial<SchedulerEvent>) => void;
9
+ onDelete?: (eventId: string) => void;
10
+ resources?: Resource[];
11
+ locale?: string;
12
+ editorTemplate?: (event: Partial<SchedulerEvent>) => React.ReactNode;
13
+ headerTemplate?: (event: Partial<SchedulerEvent>, mode: string) => React.ReactNode;
14
+ footerTemplate?: (event: Partial<SchedulerEvent>, mode: string, onSave: () => void, onClose: () => void) => React.ReactNode;
15
+ }
16
+ export declare const EzEventModal: React.FC<EzEventModalProps>;
17
+ export {};
@@ -0,0 +1,12 @@
1
+ import { SchedulerEvent } from '../EzScheduler.types';
2
+ interface EzOverlapAlertProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ conflicts: SchedulerEvent[];
6
+ onResolve?: (action: 'keep-both' | 'cancel') => void;
7
+ }
8
+ /**
9
+ * Overlap alert dialog - warns when events overlap and allowOverlap is false
10
+ */
11
+ export declare const EzOverlapAlert: import('react').MemoExoticComponent<({ isOpen, onClose, conflicts, onResolve, }: EzOverlapAlertProps) => import("react/jsx-runtime").JSX.Element | null>;
12
+ export {};
@@ -0,0 +1,22 @@
1
+ import { SchedulerEvent } from '../EzScheduler.types';
2
+ interface EzQuickInfoPopupProps {
3
+ event: SchedulerEvent;
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ onEdit?: (event: SchedulerEvent) => void;
7
+ onDelete?: (id: string) => void;
8
+ position?: {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ templates?: {
13
+ header?: (event: SchedulerEvent) => React.ReactNode;
14
+ content?: (event: SchedulerEvent) => React.ReactNode;
15
+ footer?: (event: SchedulerEvent, onEdit: () => void, onDelete: () => void) => React.ReactNode;
16
+ };
17
+ }
18
+ /**
19
+ * Quick info popup component - displays event summary on hover/click
20
+ */
21
+ export declare const EzQuickInfoPopup: import('react').MemoExoticComponent<({ event, isOpen, onClose, onEdit, onDelete, position, templates, }: EzQuickInfoPopupProps) => import("react/jsx-runtime").JSX.Element | null>;
22
+ export {};
@@ -0,0 +1,33 @@
1
+ import { default as React } from 'react';
2
+ import { Resource } from '../EzScheduler.types';
3
+ /**
4
+ * Props for the EzResourceSidebar component.
5
+ */
6
+ interface EzResourceSidebarProps {
7
+ /**
8
+ * List of available resources.
9
+ * @group Properties
10
+ */
11
+ resources: Resource[];
12
+ /**
13
+ * List of selected resource IDs.
14
+ * @group Properties
15
+ */
16
+ selectedResourceIds: string[];
17
+ /**
18
+ * Callback when selection changes.
19
+ * @group Events
20
+ */
21
+ onSelectionChange: (selectedIds: string[]) => void;
22
+ /**
23
+ * Custom class name.
24
+ * @group Properties
25
+ */
26
+ className?: string;
27
+ }
28
+ /**
29
+ * Sidebar component for filtering resources.
30
+ * @group Subcomponents
31
+ */
32
+ export declare const EzResourceSidebar: React.FC<EzResourceSidebarProps>;
33
+ export {};
@@ -0,0 +1,123 @@
1
+ import { default as React } from 'react';
2
+ import { Store } from '@tanstack/store';
3
+ import { SchedulerState, SchedulerActions } from '../state/scheduler.store';
4
+ import { ViewType, SchedulerEvent, Resource, EzSchedulerProps } from '../EzScheduler.types';
5
+ /**
6
+ * Props for the EzSchedulerContent component.
7
+ */
8
+ interface EzSchedulerContentProps {
9
+ /**
10
+ * The scheduler state store.
11
+ * @group Properties
12
+ */
13
+ store: Store<SchedulerState>;
14
+ /**
15
+ * Actions for state mutation.
16
+ * @group Methods
17
+ */
18
+ actions: SchedulerActions;
19
+ /**
20
+ * The currently active view type.
21
+ * @group Properties
22
+ */
23
+ view: ViewType | string;
24
+ /**
25
+ * List of days to display in the current view.
26
+ * @group Properties
27
+ */
28
+ daysInView: Date[];
29
+ /**
30
+ * List of events to display.
31
+ * @group Properties
32
+ */
33
+ visibleEvents: SchedulerEvent[];
34
+ /**
35
+ * Virtualizer for row rendering.
36
+ * @group Properties
37
+ */
38
+ rowVirtualizer: any;
39
+ /**
40
+ * List of resources to display.
41
+ * @group Properties
42
+ */
43
+ resources: Resource[];
44
+ /**
45
+ * Callback for slot double-click.
46
+ * @group Events
47
+ */
48
+ handleSlotDoubleClick: (date: Date, resourceId?: string) => void;
49
+ /**
50
+ * Callback for event double-click.
51
+ * @group Events
52
+ */
53
+ handleEventDoubleClick: (event: SchedulerEvent) => void;
54
+ /**
55
+ * Callback for event deletion.
56
+ * @group Events
57
+ */
58
+ handleEventDelete: (eventId: string) => void;
59
+ /**
60
+ * Reference to the scroll container.
61
+ * @group Properties
62
+ */
63
+ parentRef: React.RefObject<HTMLDivElement | null>;
64
+ /**
65
+ * Callback to change the view.
66
+ * @group Methods
67
+ */
68
+ setView: (view: ViewType) => void;
69
+ /**
70
+ * Callback to change the current date.
71
+ * @group Methods
72
+ */
73
+ setCurrentDate: (date: Date) => void;
74
+ /**
75
+ * The original props passed to EzScheduler.
76
+ * @group Properties
77
+ */
78
+ props: EzSchedulerProps;
79
+ /**
80
+ * Callback for range selection.
81
+ * @group Events
82
+ */
83
+ handleRangeSelect: (start: Date, end: Date, resourceId?: string, position?: {
84
+ x: number;
85
+ y: number;
86
+ }) => void;
87
+ /**
88
+ * The currently displayed date.
89
+ * @group Properties
90
+ */
91
+ currentDate: Date;
92
+ /**
93
+ * Whether to show an unassigned lane.
94
+ * @group Properties
95
+ */
96
+ showUnassignedLane?: boolean;
97
+ /**
98
+ * Duration of a time slot in minutes.
99
+ * @group Properties
100
+ */
101
+ slotDuration: number;
102
+ /**
103
+ * Whether to use 24-hour time format.
104
+ * @group Properties
105
+ */
106
+ is24Hour: boolean;
107
+ /**
108
+ * Callback to toggle 24-hour format.
109
+ * @group Methods
110
+ */
111
+ setIs24Hour: (is24: boolean) => void;
112
+ /**
113
+ * Text direction.
114
+ * @group Appearance
115
+ */
116
+ dir?: 'ltr' | 'rtl' | 'auto';
117
+ }
118
+ /**
119
+ * Layout manager that switches between different scheduler views based on the active view type.
120
+ * @group Subcomponents
121
+ */
122
+ export declare function EzSchedulerContent({ view, daysInView, visibleEvents, rowVirtualizer, resources, handleSlotDoubleClick, handleEventDoubleClick, handleEventDelete, parentRef, setView, setCurrentDate, props, handleRangeSelect, currentDate, showUnassignedLane, slotDuration, is24Hour, setIs24Hour, dir }: EzSchedulerContentProps): import("react/jsx-runtime").JSX.Element;
123
+ export {};
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { SchedulerEvent, Resource } from '../EzScheduler.types';
3
+ interface EzSchedulerQuickAddProps {
4
+ start: Date;
5
+ end: Date;
6
+ resourceId?: string;
7
+ resources?: Resource[];
8
+ onSave: (event: Partial<SchedulerEvent>) => void;
9
+ onCancel: () => void;
10
+ onMoreOptions: (event: Partial<SchedulerEvent>) => void;
11
+ position: {
12
+ x: number;
13
+ y: number;
14
+ };
15
+ }
16
+ export declare const EzSchedulerQuickAdd: React.FC<EzSchedulerQuickAddProps>;
17
+ export {};
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ export interface RecurrenceEditorProps {
3
+ value?: string;
4
+ onChange: (rrule: string) => void;
5
+ startDate?: Date;
6
+ }
7
+ export declare const RecurrenceEditor: React.FC<RecurrenceEditorProps>;
@@ -0,0 +1,2 @@
1
+ import { default as React } from 'react';
2
+ export declare const SchedulerLoadingSpinner: React.FC;
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ import { SchedulerEvent, EzSchedulerComponents } from '../../EzScheduler.types';
3
+ interface DraggableEventProps {
4
+ event: SchedulerEvent;
5
+ style?: React.CSSProperties;
6
+ components?: EzSchedulerComponents;
7
+ onClick?: (event: SchedulerEvent) => void;
8
+ onDoubleClick?: (event: SchedulerEvent) => void;
9
+ onDelete?: (eventId: string) => void;
10
+ orientation?: 'vertical' | 'horizontal';
11
+ resizable?: boolean;
12
+ className?: string;
13
+ showTime?: boolean;
14
+ isBlocked?: boolean;
15
+ isPast?: boolean;
16
+ isHighlighted?: boolean;
17
+ slotDuration?: number;
18
+ pixelsPerSlot?: number;
19
+ }
20
+ export declare const DraggableEvent: ({ event, style, onClick, onDoubleClick, onDelete, orientation, resizable, className, showTime, isBlocked, isPast, isHighlighted, slotDuration, pixelsPerSlot }: DraggableEventProps) => import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+ interface DroppableSlotProps {
3
+ date: Date;
4
+ resourceId?: string;
5
+ children?: React.ReactNode;
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ onClick?: () => void;
9
+ onDoubleClick?: () => void;
10
+ onMouseDown?: () => void;
11
+ onMouseEnter?: () => void;
12
+ onContextMenu?: (e: React.MouseEvent) => void;
13
+ data?: any;
14
+ isSelected?: boolean;
15
+ isWorkHour?: boolean;
16
+ width?: number;
17
+ }
18
+ export declare const DroppableSlot: ({ date, resourceId, children, className, style, onClick, onDoubleClick, onMouseDown, onMouseEnter, onContextMenu, data, isSelected, isWorkHour }: DroppableSlotProps) => import("react/jsx-runtime").JSX.Element;
19
+ export {};
@@ -0,0 +1,2 @@
1
+ import { SchedulerEvent } from '../EzScheduler.types';
2
+ export declare const useRecurrence: (events: SchedulerEvent[], rangeStart: Date, rangeEnd: Date) => SchedulerEvent[];
@@ -0,0 +1,11 @@
1
+ import { SchedulerEvent } from '../EzScheduler.types';
2
+ interface UseSchedulerEventHandlersProps {
3
+ events: SchedulerEvent[];
4
+ onEventChange?: (updatedEvent: SchedulerEvent) => void;
5
+ slotDuration?: number;
6
+ }
7
+ export declare const useSchedulerEventHandlers: ({ events, onEventChange, slotDuration }: UseSchedulerEventHandlersProps) => {
8
+ sensors: import('@dnd-kit/core').SensorDescriptor<import('@dnd-kit/core').SensorOptions>[];
9
+ handleDragEnd: (event: any) => void;
10
+ };
11
+ export {};
@@ -0,0 +1,26 @@
1
+ import { EzSchedulerProps, ViewType, SchedulerEvent } from '../EzScheduler.types';
2
+ import { SchedulerService } from '../services/SchedulerService';
3
+ /**
4
+ * Handles event management, recurrence expansion, and view filtering
5
+ * Uses SchedulerService (Singleton/MockDB) and TanStack Query with Standardized Optimistic Updates
6
+ */
7
+ export declare const useSchedulerEvents: (props: EzSchedulerProps, view: ViewType, currentDate: Date) => {
8
+ schedulerService: SchedulerService;
9
+ recurrenceEngine: any;
10
+ daysInView: Date[];
11
+ visibleEvents: any;
12
+ allEvents: SchedulerEvent[];
13
+ addEvent: import('@tanstack/react-query').UseMutateAsyncFunction<SchedulerEvent, Error, Partial<SchedulerEvent>, {
14
+ previousEvents: unknown;
15
+ queryKey: string[];
16
+ }>;
17
+ updateEvent: import('@tanstack/react-query').UseMutateAsyncFunction<SchedulerEvent, Error, SchedulerEvent, {
18
+ previousEvents: unknown;
19
+ queryKey: string[];
20
+ }>;
21
+ deleteEvent: import('@tanstack/react-query').UseMutateAsyncFunction<string | number, Error, string | number, {
22
+ previousEvents: unknown;
23
+ queryKey: string[];
24
+ }>;
25
+ isUpdating: boolean;
26
+ };
@@ -0,0 +1,15 @@
1
+ import { ViewType, View, SchedulerEvent, Resource, EzSchedulerRef } from '../EzScheduler.types';
2
+ import { SchedulerService } from '../services/SchedulerService';
3
+ export declare const useSchedulerImperative: (view: ViewType, currentDate: Date, schedulerService: SchedulerService, visibleEvents: SchedulerEvent[], methods: {
4
+ setEditorState: (state: any) => void;
5
+ setResources: (res: Resource[] | ((prev: Resource[]) => Resource[])) => void;
6
+ scrollToIndex: (index: number) => void;
7
+ forceUpdate: () => void;
8
+ showSpinner: () => void;
9
+ hideSpinner: () => void;
10
+ closeQuickInfoPopup: () => void;
11
+ changeView: (view: View) => void;
12
+ next: () => void;
13
+ prev: () => void;
14
+ today: () => void;
15
+ }, ref: React.Ref<EzSchedulerRef>, extraApi?: any) => void;
@@ -0,0 +1,9 @@
1
+ import { ViewType } from '../EzScheduler.types';
2
+ /**
3
+ * Encapsulates navigation arithmetic for the scheduler
4
+ */
5
+ export declare const useSchedulerNavigation: (currentDate: Date, setCurrentDate: (date: Date) => void, view: ViewType, onDateChange?: (date: Date) => void) => {
6
+ next: () => void;
7
+ prev: () => void;
8
+ today: () => void;
9
+ };
@@ -0,0 +1,10 @@
1
+ import { Resource, ResourceModel } from '../EzScheduler.types';
2
+ interface UseSchedulerResourcesProps {
3
+ resources: Resource[] | ResourceModel[] | undefined;
4
+ }
5
+ export declare const useSchedulerResources: ({ resources }: UseSchedulerResourcesProps) => {
6
+ resources: Resource[];
7
+ internalResources: Resource[];
8
+ setInternalResources: import('react').Dispatch<import('react').SetStateAction<Resource[]>>;
9
+ };
10
+ export {};
@@ -0,0 +1,14 @@
1
+ import { EzSchedulerProps, ViewType } from '../EzScheduler.types';
2
+ /**
3
+ * Manages the core navigation and view state for EzScheduler
4
+ */
5
+ export declare const useSchedulerState: (props: EzSchedulerProps) => {
6
+ view: ViewType;
7
+ setView: (newView: ViewType) => void;
8
+ currentDate: Date;
9
+ setCurrentDate: (newDate: Date) => void;
10
+ slotDuration: number;
11
+ setSlotDuration: (duration: number) => void;
12
+ is24Hour: boolean;
13
+ setIs24Hour: (is24: boolean) => void;
14
+ };
@@ -0,0 +1,9 @@
1
+ import { EzSchedulerProps } from '../EzScheduler.types';
2
+ /**
3
+ * Manages virtualization for the scheduler time axis
4
+ */
5
+ export declare const useSchedulerVirtualization: (props: EzSchedulerProps) => {
6
+ parentRef: import('react').RefObject<HTMLDivElement | null>;
7
+ rowVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element>;
8
+ columnVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element> | undefined;
9
+ };
@@ -0,0 +1,41 @@
1
+ import { default as React } from 'react';
2
+ import { EzSchedulerProps, EzSchedulerRef } from './EzScheduler.types';
3
+ /**
4
+ * EzScheduler is a comprehensive event management and resource scheduling engine.
5
+ * It provides a fluid user experience for managing complex schedules across
6
+ * various view modes with full drag-and-drop and resizing support.
7
+ *
8
+
9
+ * ### Key Features
10
+ * - **Multi-View System**: Switch between Day, Week, Work Week, Month, and various Timeline views.
11
+ * - **Resource Management**: Group events by resources (people, rooms, equipment) with dedicated lanes.
12
+ * - **Interactive Editing**: Intuitive drag-and-drop event movement, resizing, and double-click creation.
13
+ * - **Intelligent Overlap**: Customizable overlap detection and blocking for intervals like lunch breaks.
14
+ * - **Quick Info & Editor**: Built-in popovers for quick summaries and a full modal for detailed editing.
15
+ * - **Virtualization**: Efficient rendering of large resource lists and event densities.
16
+ *
17
+ * ### Minimal Example
18
+ * ```tsx
19
+ * <EzScheduler
20
+ * events={myEvents}
21
+ * view="Week"
22
+ * onEventChange={(event) => updateEvent(event)}
23
+ * />
24
+ * ```
25
+ *
26
+ * ### Resource Grouping Example
27
+ * ```tsx
28
+ * <EzScheduler
29
+ * resources={[
30
+ * { id: '1', name: 'Meeting Room A', color: '#e11d48' },
31
+ * { id: '2', name: 'Meeting Room B', color: '#2563eb' }
32
+ * ]}
33
+ * events={events}
34
+ * view="TimelineDay"
35
+ * onEventCreate={(event) => createNewMeeting(event)}
36
+ * />
37
+ * ```
38
+ *
39
+ * @group Core Components
40
+ */
41
+ export declare const EzScheduler: React.ForwardRefExoticComponent<EzSchedulerProps & React.RefAttributes<EzSchedulerRef>>;
@@ -0,0 +1,11 @@
1
+ import { EventSettingsModel, FieldModel, EventData } from '../EzScheduler.types';
2
+ export declare class EventSettings implements EventSettingsModel {
3
+ dataSource: Object[] | any;
4
+ fields: FieldModel;
5
+ allowAdding: boolean;
6
+ allowDeleting: boolean;
7
+ allowEditing: boolean;
8
+ enableTooltip: boolean;
9
+ template?: string | ((data: EventData) => React.ReactNode);
10
+ constructor(settings: Partial<EventSettingsModel>);
11
+ }
@@ -0,0 +1,49 @@
1
+ import { View, ViewsModel, ViewType } from '../EzScheduler.types';
2
+ /**
3
+ * Implementation model for scheduler view configuration.
4
+ * @group Models
5
+ */
6
+ export declare class ViewModel implements ViewsModel {
7
+ /**
8
+ * The view mode.
9
+ * @group Properties
10
+ */
11
+ option: View;
12
+ /**
13
+ * Whether virtual scrolling is enabled.
14
+ * @group Properties
15
+ */
16
+ allowVirtualScrolling: boolean;
17
+ /**
18
+ * Display name for the view.
19
+ * @group Properties
20
+ */
21
+ displayName?: string;
22
+ /**
23
+ * Start hour for the view.
24
+ * @group Properties
25
+ */
26
+ startHour?: string;
27
+ /**
28
+ * End hour for the view.
29
+ * @group Properties
30
+ */
31
+ endHour?: string;
32
+ /**
33
+ * Time interval in minutes.
34
+ * @group Properties
35
+ */
36
+ interval?: number;
37
+ /**
38
+ * Whether to show weekends.
39
+ * @group Properties
40
+ */
41
+ showWeekend?: boolean;
42
+ /**
43
+ * Whether this view is currently selected.
44
+ * @group Properties
45
+ */
46
+ isSelected?: boolean;
47
+ constructor(view: View | ViewsModel);
48
+ static normalize(view: View | ViewsModel | ViewType): ViewModel;
49
+ }
@@ -0,0 +1,2 @@
1
+ export * from './EventSettings';
2
+ export * from './View';
@@ -0,0 +1,15 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { Attendee } from '../EzScheduler.types';
3
+ export declare class AttendeeService implements IService {
4
+ name: string;
5
+ constructor();
6
+ /**
7
+ * Validates attendee email format
8
+ */
9
+ isValidEmail(email: string): boolean;
10
+ /**
11
+ * Format status for display
12
+ */
13
+ getStatusLabel(status: Attendee['status']): string;
14
+ cleanup(): void;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ export interface AuditLog {
3
+ timestamp: Date;
4
+ action: string;
5
+ userId: string;
6
+ details: any;
7
+ tenantId?: string;
8
+ }
9
+ export declare class AuditService implements IService {
10
+ name: string;
11
+ private logs;
12
+ log(action: string, userId: string, details: any, tenantId?: string): void;
13
+ getLogs(): AuditLog[];
14
+ cleanup(): void;
15
+ }
@@ -0,0 +1,19 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { SchedulerEvent } from '../EzScheduler.types';
3
+ export declare class CollisionDetectionService implements IService {
4
+ name: string;
5
+ /**
6
+ * Checks if a new event overlaps with any existing events.
7
+ * @param event The event to check.
8
+ * @param events List of existing events.
9
+ * @returns True if overlap is found, otherwise false.
10
+ */
11
+ hasOverlap(event: SchedulerEvent, events: SchedulerEvent[]): boolean;
12
+ /**
13
+ * Groups events that overlap to determine rendering columns/positions.
14
+ * @param events Sorted list of events.
15
+ * @returns Array of event groups (arrays).
16
+ */
17
+ groupOverlappingEvents(events: SchedulerEvent[]): SchedulerEvent[][];
18
+ cleanup(): void;
19
+ }