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,16 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { SchedulerEvent } from '../EzScheduler.types';
3
+ import { DragEndEvent } from '@dnd-kit/core';
4
+ export declare class DragAndDropService implements IService {
5
+ name: string;
6
+ calculateNewTimes(event: SchedulerEvent, deltaMinutes: number): {
7
+ start: Date;
8
+ end: Date;
9
+ };
10
+ handleDragEnd(event: DragEndEvent, events: SchedulerEvent[], _slotDuration?: number): {
11
+ eventId: string;
12
+ newStart: Date;
13
+ newEnd: Date;
14
+ } | null;
15
+ cleanup(): void;
16
+ }
@@ -0,0 +1,31 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { BaseService } from '../../../shared/services/BaseService';
3
+ import { SchedulerEvent } from '../EzScheduler.types';
4
+ export interface HistoryState {
5
+ canUndo: boolean;
6
+ canRedo: boolean;
7
+ }
8
+ export type HistoryActionType = 'ADD_EVENT' | 'UPDATE_EVENT' | 'DELETE_EVENT' | 'BATCH_UPDATE';
9
+ export interface HistoryAction {
10
+ type: HistoryActionType;
11
+ previousState: SchedulerEvent[] | SchedulerEvent | null;
12
+ newState: SchedulerEvent[] | SchedulerEvent | null;
13
+ timestamp: number;
14
+ description: string;
15
+ }
16
+ export declare class HistoryService extends BaseService<HistoryState> implements IService {
17
+ name: string;
18
+ private undoStack;
19
+ private redoStack;
20
+ private maxHistorySize;
21
+ constructor();
22
+ /**
23
+ * Records an action for potential undo
24
+ */
25
+ record(action: Omit<HistoryAction, 'timestamp'>): void;
26
+ undo(): HistoryAction | null;
27
+ redo(): HistoryAction | null;
28
+ clear(): void;
29
+ private updateState;
30
+ cleanup(): void;
31
+ }
@@ -0,0 +1,16 @@
1
+ import { SchedulerEvent } from '../EzScheduler.types';
2
+ /**
3
+ * Service for importing iCalendar (.ics) files
4
+ */
5
+ export declare class ICalendarImportService {
6
+ /**
7
+ * Parse iCalendar content and convert to Scheduler events
8
+ */
9
+ parse(content: string | Blob): Promise<SchedulerEvent[]>;
10
+ private parseICalendarText;
11
+ private parseVEvent;
12
+ private unfoldLines;
13
+ private parseLine;
14
+ private parseDateTime;
15
+ private unescapeValue;
16
+ }
@@ -0,0 +1,7 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { SchedulerEvent } from '../EzScheduler.types';
3
+ export declare class PrintService implements IService {
4
+ name: string;
5
+ print(_schedulerElementId: string, _events: SchedulerEvent[]): void;
6
+ cleanup(): void;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { SchedulerEvent } from '../EzScheduler.types';
3
+ export declare class RecurrenceEngine implements IService {
4
+ name: string;
5
+ expandEvents(events: SchedulerEvent[], start: Date, end: Date): SchedulerEvent[];
6
+ cleanup(): void;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { SchedulerEvent, Reminder } from '../EzScheduler.types';
3
+ export declare class ReminderService implements IService {
4
+ name: string;
5
+ private timer;
6
+ private checkInterval;
7
+ private onReminderTriggered?;
8
+ constructor();
9
+ start(onTrigger: (event: SchedulerEvent, reminder: Reminder) => void): void;
10
+ stop(): void;
11
+ private checkReminders;
12
+ /**
13
+ * Calculates trigger time for a reminder
14
+ */
15
+ getTriggerTime(eventStart: Date, minutesBefore: number): Date;
16
+ cleanup(): void;
17
+ }
@@ -0,0 +1,69 @@
1
+ import { SchedulerEvent, Resource, ISchedulerService } from '../EzScheduler.types';
2
+ /**
3
+ * Service for managing scheduler data and operations.
4
+ * @group Services
5
+ */
6
+ export declare class SchedulerService implements ISchedulerService {
7
+ name: string;
8
+ constructor(initialEvents?: SchedulerEvent[]);
9
+ /**
10
+ * Initializes the service.
11
+ * @group Methods
12
+ */
13
+ init(): Promise<void>;
14
+ /**
15
+ * Cleans up the service.
16
+ * @group Methods
17
+ */
18
+ cleanup(): Promise<void>;
19
+ /**
20
+ * Seeds the mock database with initial data.
21
+ * @param events Initial events
22
+ * @param resources Initial resources
23
+ * @group Methods
24
+ */
25
+ initializeWithData(events: SchedulerEvent[], resources?: Resource[]): void;
26
+ /**
27
+ * Retrieves events within a date range.
28
+ * @param start Start date
29
+ * @param end End date
30
+ * @returns Promise resolving to an array of scheduler events
31
+ * @group Methods
32
+ */
33
+ getEvents(start?: Date, end?: Date): Promise<SchedulerEvent[]>;
34
+ /**
35
+ * Adds a new event to the scheduler.
36
+ * @param event The event to add
37
+ * @returns Promise resolving to the added event
38
+ * @group Methods
39
+ */
40
+ addEvent(event: Partial<SchedulerEvent>): Promise<SchedulerEvent>;
41
+ /**
42
+ * Updates an existing event.
43
+ * @param event The event to update
44
+ * @returns Promise resolving to the updated event
45
+ * @group Methods
46
+ */
47
+ updateEvent(event: SchedulerEvent): Promise<SchedulerEvent>;
48
+ /**
49
+ * Deletes an event by ID.
50
+ * @param id The ID of the event to delete
51
+ * @returns Promise void
52
+ * @group Methods
53
+ */
54
+ deleteEvent(id: string | number): Promise<void>;
55
+ /**
56
+ * Retrieves all resources.
57
+ * @returns Promise resolving to an array of resources
58
+ * @group Methods
59
+ */
60
+ getResources(): Promise<Resource[]>;
61
+ /**
62
+ * Adds a new resource.
63
+ * @param resource The resource to add
64
+ * @returns Promise resolving to the added resource
65
+ * @group Methods
66
+ */
67
+ addResource(resource: Resource): Promise<Resource>;
68
+ private simulateLatency;
69
+ }
@@ -0,0 +1,11 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { SchedulerEvent } from '../EzScheduler.types';
3
+ export interface SearchOptions {
4
+ fields?: ('title' | 'description' | 'location')[];
5
+ matchCase?: boolean;
6
+ }
7
+ export declare class SearchService implements IService {
8
+ name: string;
9
+ search(events: SchedulerEvent[], query: string, options?: SearchOptions): SchedulerEvent[];
10
+ cleanup(): void;
11
+ }
@@ -0,0 +1,25 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ export interface UserContext {
3
+ userId: string;
4
+ tenantId: string;
5
+ roles: string[];
6
+ permissions?: string[];
7
+ }
8
+ export declare class SecurityService implements IService {
9
+ name: string;
10
+ private currentUser;
11
+ setUser(user: UserContext): void;
12
+ getUser(): UserContext | null;
13
+ /**
14
+ * Checks if the current user has permission for a specific action.
15
+ * @param action The action to check (e.g., 'edit_event', 'delete_event').
16
+ * @param resourceId Optional resource ID if checking specific resource access.
17
+ */
18
+ hasPermission(action: string, _resourceId?: string): boolean;
19
+ /**
20
+ * Checks if the data belongs to the current user's tenant.
21
+ * @param dataTenantId The tenant ID associated with the data.
22
+ */
23
+ validateTenant(dataTenantId: string): boolean;
24
+ cleanup(): void;
25
+ }
@@ -0,0 +1,20 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ export declare class TimezoneService implements IService {
3
+ name: string;
4
+ constructor();
5
+ /**
6
+ * Converts a date to a specific timezone
7
+ * @param date Date object
8
+ * @param timeZone Target time zone (e.g., 'America/New_York')
9
+ */
10
+ toTimezone(date: Date | string | number, timeZone: string): Date;
11
+ /**
12
+ * Formats a date in a specific timezone
13
+ */
14
+ formatInTimezone(date: Date | string | number, timeZone: string, options?: Intl.DateTimeFormatOptions): string;
15
+ /**
16
+ * Get local browser timezone name
17
+ */
18
+ getLocalTimezone(): string;
19
+ cleanup(): void;
20
+ }
@@ -0,0 +1,34 @@
1
+ import { IService } from '../../../shared/services/ServiceRegistry';
2
+ import { BaseService } from '../../../shared/services/BaseService';
3
+ export interface VirtualScrollState {
4
+ offsets: Record<string, {
5
+ top: number;
6
+ left: number;
7
+ }>;
8
+ }
9
+ export type ScrollDirection = 'vertical' | 'horizontal' | 'both';
10
+ /**
11
+ * High-performance service for coordinating virtualization state across components.
12
+ * Supports bidirectional syncing for complex layouts (Timeline, Resource Headers).
13
+ */
14
+ export declare class VirtualScrollingService extends BaseService<VirtualScrollState> implements IService {
15
+ name: string;
16
+ private registrants;
17
+ constructor();
18
+ /**
19
+ * Registers a callback for external scroll control
20
+ */
21
+ register(id: string, onUpdate: (offset: {
22
+ top: number;
23
+ left: number;
24
+ }) => void): () => boolean;
25
+ /**
26
+ * Updates the scroll offset and syncs with all other registrants
27
+ * @param id The source component ID
28
+ * @param top Vertical offset
29
+ * @param left Horizontal offset
30
+ * @param direction Which axis to sync (optimization)
31
+ */
32
+ setScrollOffset(id: string, top: number, left: number, _direction?: ScrollDirection): void;
33
+ cleanup(): void;
34
+ }
@@ -0,0 +1,27 @@
1
+ import { Store } from '@tanstack/store';
2
+ import { SchedulerEvent, Resource, ViewType, ResourceModel } from '../EzScheduler.types';
3
+ export interface SchedulerState {
4
+ events: SchedulerEvent[];
5
+ resources: Resource[] | ResourceModel[];
6
+ view: ViewType;
7
+ currentDate: Date;
8
+ selectedDate: Date;
9
+ selectedEventId: string | null;
10
+ slotDuration: number;
11
+ is24Hour: boolean;
12
+ }
13
+ export declare const createSchedulerStore: (initialState: Partial<SchedulerState>) => Store<SchedulerState, (cb: SchedulerState) => SchedulerState>;
14
+ export declare const createSchedulerActions: (store: Store<SchedulerState>) => {
15
+ setEvents: (events: SchedulerEvent[]) => void;
16
+ addEvent: (event: SchedulerEvent) => void;
17
+ updateEvent: (updatedEvent: SchedulerEvent) => void;
18
+ deleteEvent: (id: string | number) => void;
19
+ setResources: (resources: Resource[] | ResourceModel[]) => void;
20
+ setView: (view: ViewType) => void;
21
+ setCurrentDate: (date: Date) => void;
22
+ setSelectedDate: (date: Date) => void;
23
+ setSelectedEventId: (id: string | null) => void;
24
+ setSlotDuration: (duration: number) => void;
25
+ setIs24Hour: (is24: boolean) => void;
26
+ };
27
+ export type SchedulerActions = ReturnType<typeof createSchedulerActions>;
@@ -0,0 +1,42 @@
1
+ import { default as React } from 'react';
2
+ import { SchedulerEvent } from '../EzScheduler.types';
3
+ /**
4
+ * Props for the CellTemplate component.
5
+ */
6
+ export interface CellTemplateProps {
7
+ /**
8
+ * The date representing this cell.
9
+ * @group Properties
10
+ */
11
+ date: Date;
12
+ /**
13
+ * The type of view context.
14
+ * @group Properties
15
+ */
16
+ type: 'month' | 'week' | 'day';
17
+ /**
18
+ * Events occurring on this date.
19
+ * @group Properties
20
+ */
21
+ events?: SchedulerEvent[];
22
+ /**
23
+ * Custom content for the cell.
24
+ * @group Properties
25
+ */
26
+ children?: React.ReactNode;
27
+ /**
28
+ * Custom CSS class name.
29
+ * @group Properties
30
+ */
31
+ className?: string;
32
+ /**
33
+ * Callback when the cell is clicked.
34
+ * @group Events
35
+ */
36
+ onClick?: (date: Date) => void;
37
+ }
38
+ /**
39
+ * Default template for rendering a scheduler cell.
40
+ * @group Models
41
+ */
42
+ export declare const CellTemplate: React.FC<CellTemplateProps>;
@@ -0,0 +1,32 @@
1
+ import { default as React } from 'react';
2
+ import { SchedulerEvent } from '../EzScheduler.types';
3
+ /**
4
+ * Props for the EditorTemplate component.
5
+ */
6
+ export interface EditorTemplateProps {
7
+ /**
8
+ * The event being edited or created.
9
+ * @group Properties
10
+ */
11
+ event?: Partial<SchedulerEvent>;
12
+ /**
13
+ * Callback when the event is saved.
14
+ * @group Events
15
+ */
16
+ onSave: (event: SchedulerEvent) => void;
17
+ /**
18
+ * Callback when editing is cancelled.
19
+ * @group Events
20
+ */
21
+ onCancel: () => void;
22
+ /**
23
+ * Callback when the event is deleted.
24
+ * @group Events
25
+ */
26
+ onDelete?: (id: string) => void;
27
+ }
28
+ /**
29
+ * Default template for the event editor dialog.
30
+ * @group Models
31
+ */
32
+ export declare const EditorTemplate: React.FC<EditorTemplateProps>;
@@ -0,0 +1,36 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * Props for the HeaderTemplate component.
4
+ */
5
+ export interface HeaderTemplateProps {
6
+ /**
7
+ * The date representing this header.
8
+ * @group Properties
9
+ */
10
+ date: Date;
11
+ /**
12
+ * The type of header.
13
+ * @group Properties
14
+ */
15
+ type: 'day' | 'week' | 'month' | 'resource';
16
+ /**
17
+ * Date format string for display.
18
+ * @group Properties
19
+ */
20
+ formatString?: string;
21
+ /**
22
+ * Custom text for the header.
23
+ * @group Properties
24
+ */
25
+ text?: string;
26
+ /**
27
+ * Custom CSS class name.
28
+ * @group Properties
29
+ */
30
+ className?: string;
31
+ }
32
+ /**
33
+ * Default template for rendering a scheduler header.
34
+ * @group Models
35
+ */
36
+ export declare const HeaderTemplate: React.FC<HeaderTemplateProps>;
@@ -0,0 +1,152 @@
1
+ import { EzSchedulerProps } from './EzScheduler.types';
2
+ import { HistoryService } from './services/HistoryService';
3
+ import { SearchService } from './services/SearchService';
4
+ import { TimezoneService } from './services/TimezoneService';
5
+ import { AttendeeService } from './services/AttendeeService';
6
+ import { ReminderService } from './services/ReminderService';
7
+ /**
8
+ * Orchestrator hook for EzScheduler.
9
+ * Delegates responsibilities to specialized sub-hooks and provides a unified interface for managing scheduler state and operations.
10
+ *
11
+ * @param props - Scheduler properties of type {@link EzSchedulerProps}
12
+ * @returns An object containing the consolidated state and API methods for the scheduler
13
+ * @group Hooks
14
+ */
15
+ export declare const useEzScheduler: (props: EzSchedulerProps) => {
16
+ useSchedulerImperative: (view: import('./EzScheduler.types').ViewType, currentDate: Date, schedulerService: import('./services/SchedulerService').SchedulerService, visibleEvents: import('./EzScheduler.types').SchedulerEvent[], methods: {
17
+ setEditorState: (state: any) => void;
18
+ setResources: (res: import('./EzScheduler.types').Resource[] | ((prev: import('./EzScheduler.types').Resource[]) => import('./EzScheduler.types').Resource[])) => void;
19
+ scrollToIndex: (index: number) => void;
20
+ forceUpdate: () => void;
21
+ showSpinner: () => void;
22
+ hideSpinner: () => void;
23
+ closeQuickInfoPopup: () => void;
24
+ changeView: (view: import('./EzScheduler.types').View) => void;
25
+ next: () => void;
26
+ prev: () => void;
27
+ today: () => void;
28
+ }, ref: React.Ref<import('./EzScheduler.types').EzSchedulerRef>, extraApi?: any) => void;
29
+ store: import('@tanstack/store').Store<import('./state/scheduler.store').SchedulerState, (cb: import('./state/scheduler.store').SchedulerState) => import('./state/scheduler.store').SchedulerState>;
30
+ actions: {
31
+ setEvents: (events: import('./EzScheduler.types').SchedulerEvent[]) => void;
32
+ addEvent: (event: import('./EzScheduler.types').SchedulerEvent) => void;
33
+ updateEvent: (updatedEvent: import('./EzScheduler.types').SchedulerEvent) => void;
34
+ deleteEvent: (id: string | number) => void;
35
+ setResources: (resources: import('./EzScheduler.types').Resource[] | import('./EzScheduler.types').ResourceModel[]) => void;
36
+ setView: (view: import('./EzScheduler.types').ViewType) => void;
37
+ setCurrentDate: (date: Date) => void;
38
+ setSelectedDate: (date: Date) => void;
39
+ setSelectedEventId: (id: string | null) => void;
40
+ setSlotDuration: (duration: number) => void;
41
+ setIs24Hour: (is24: boolean) => void;
42
+ };
43
+ view: import('./EzScheduler.types').ViewType;
44
+ visibleEvents: any;
45
+ currentDate: Date;
46
+ setCurrentDate: (date: Date) => void;
47
+ next: () => void;
48
+ prev: () => void;
49
+ daysInView: Date[];
50
+ allEvents: import('./EzScheduler.types').SchedulerEvent[];
51
+ slotDuration: number;
52
+ setSlotDuration: (duration: number) => void;
53
+ is24Hour: boolean;
54
+ setIs24Hour: (is24: boolean) => void;
55
+ today: () => void;
56
+ parentRef: import('react').RefObject<HTMLDivElement | null>;
57
+ rowVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element>;
58
+ columnVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element> | undefined;
59
+ schedulerService: import('./services/SchedulerService').SchedulerService;
60
+ recurrenceEngine: any;
61
+ historyService: HistoryService;
62
+ searchService: SearchService;
63
+ timezoneService: TimezoneService;
64
+ attendeeService: AttendeeService;
65
+ reminderService: ReminderService;
66
+ serviceRegistry: import('../../shared/services/ServiceRegistry').ServiceRegistry;
67
+ showWeekend: boolean;
68
+ timeFormat: string | undefined;
69
+ weekRule: import('./EzScheduler.types').WeekRule;
70
+ monthsCount: number;
71
+ eventDragArea: string | undefined;
72
+ dir: "ltr" | "rtl";
73
+ /**
74
+ * Current view mode.
75
+ * @group State
76
+ */
77
+ currentView: import('./EzScheduler.types').ViewType;
78
+ /**
79
+ * Selected date.
80
+ * @group State
81
+ */
82
+ selectedDate: Date;
83
+ /**
84
+ * List of events.
85
+ * @group State
86
+ */
87
+ events: import('./EzScheduler.types').SchedulerEvent[];
88
+ /**
89
+ * List of resources.
90
+ * @group State
91
+ */
92
+ resources: import('./EzScheduler.types').ResourceModel[] | import('./EzScheduler.types').Resource[];
93
+ /**
94
+ * View-specific events.
95
+ * @group State
96
+ */
97
+ viewEvents: any;
98
+ /**
99
+ * Navigates to the next period.
100
+ * @group Methods
101
+ */
102
+ nextPeriod: () => void;
103
+ /**
104
+ * Navigates to the previous period.
105
+ * @group Methods
106
+ */
107
+ prevPeriod: () => void;
108
+ /**
109
+ * Sets the current view.
110
+ * @group Methods
111
+ */
112
+ setView: (view: import('./EzScheduler.types').ViewType) => void;
113
+ /**
114
+ * Sets the selected date.
115
+ * @group Methods
116
+ */
117
+ setDate: (date: Date) => void;
118
+ /**
119
+ * Adds a new event.
120
+ * @group Methods
121
+ */
122
+ addEvent: import('@tanstack/react-query').UseMutateAsyncFunction<import('./EzScheduler.types').SchedulerEvent, Error, Partial<import('./EzScheduler.types').SchedulerEvent>, {
123
+ previousEvents: unknown;
124
+ queryKey: string[];
125
+ }>;
126
+ /**
127
+ * Updates an existing event.
128
+ * @group Methods
129
+ */
130
+ updateEvent: import('@tanstack/react-query').UseMutateAsyncFunction<import('./EzScheduler.types').SchedulerEvent, Error, import('./EzScheduler.types').SchedulerEvent, {
131
+ previousEvents: unknown;
132
+ queryKey: string[];
133
+ }>;
134
+ /**
135
+ * Deletes an event.
136
+ * @group Methods
137
+ */
138
+ deleteEvent: import('@tanstack/react-query').UseMutateAsyncFunction<string | number, Error, string | number, {
139
+ previousEvents: unknown;
140
+ queryKey: string[];
141
+ }>;
142
+ isUpdating: boolean;
143
+ selectedIndex: number;
144
+ setSelectedIndex: import('react').Dispatch<import('react').SetStateAction<number>>;
145
+ highlightedEventId: string | null;
146
+ setHighlightedEventId: import('react').Dispatch<import('react').SetStateAction<string | null>>;
147
+ baseState: import('../../shared/hooks').BaseComponentState;
148
+ baseApi: {
149
+ showSpinner: () => void;
150
+ hideSpinner: () => void;
151
+ };
152
+ };
@@ -0,0 +1,7 @@
1
+ import { Modifier } from '@dnd-kit/core';
2
+ /**
3
+ * Creates a drag constraint modifier that restricts dragging to a specified area
4
+ * @param selector - CSS selector for the constraint boundary element
5
+ * @returns Modifier function or undefined if no selector provided
6
+ */
7
+ export declare function createDragConstraint(selector?: string): Modifier | undefined;
@@ -0,0 +1,8 @@
1
+ import { WeekRule } from '../EzScheduler.types';
2
+ /**
3
+ * Calculate week number based on the specified week rule
4
+ * @param date - The date to calculate week number for
5
+ * @param weekRule - The week numbering rule to use
6
+ * @returns Week number
7
+ */
8
+ export declare function getWeekNumber(date: Date, weekRule?: WeekRule): number;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Sanitizes HTML content using DOMPurify
3
+ * @param html - The HTML string to sanitize
4
+ * @param enabled - Whether sanitization is enabled
5
+ * @returns Sanitized HTML string or original if disabled
6
+ */
7
+ export declare function sanitizeHtml(html: string, enabled?: boolean): string;
8
+ /**
9
+ * Renders template content safely
10
+ * @param template - Template content (React node or HTML string)
11
+ * @param data - Data to pass to template function
12
+ * @param enableSanitizer - Whether to sanitize HTML strings
13
+ * @returns Rendered content
14
+ */
15
+ export declare function renderTemplate(template: ((data: any) => React.ReactNode) | string | undefined, data: any, enableSanitizer?: boolean): React.ReactNode | {
16
+ __html: string;
17
+ } | null;
@@ -0,0 +1,33 @@
1
+ import { default as React } from 'react';
2
+ import { SchedulerEvent, EzSchedulerComponents } from '../EzScheduler.types';
3
+ /**
4
+ * Props for the AgendaView component.
5
+ */
6
+ interface AgendaViewProps {
7
+ /**
8
+ * List of days to display in the agenda.
9
+ * @group Properties
10
+ */
11
+ daysInView: Date[];
12
+ /**
13
+ * List of events to display.
14
+ * @group Properties
15
+ */
16
+ visibleEvents: SchedulerEvent[];
17
+ /**
18
+ * Callback when an event is clicked.
19
+ * @group Events
20
+ */
21
+ onEventClick?: (event: SchedulerEvent) => void;
22
+ /**
23
+ * Custom components for injection.
24
+ * @group Properties
25
+ */
26
+ components?: EzSchedulerComponents;
27
+ }
28
+ /**
29
+ * A linear list view of events, grouped by day.
30
+ * @group Views
31
+ */
32
+ export declare const AgendaView: React.FC<AgendaViewProps>;
33
+ export {};