@primeui/scheduler-core 0.0.1-alpha.1

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 (63) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +1 -0
  3. package/dist/calendar/index.d.mts +57 -0
  4. package/dist/calendar/index.mjs +1 -0
  5. package/dist/chunk-2B3YLWHA.mjs +196 -0
  6. package/dist/chunk-2THQAZ26.mjs +1669 -0
  7. package/dist/chunk-5KORIWDT.mjs +41 -0
  8. package/dist/chunk-5N4ZOBJV.mjs +866 -0
  9. package/dist/chunk-6OZAPQZ5.mjs +229 -0
  10. package/dist/chunk-6PK5WSKT.mjs +369 -0
  11. package/dist/chunk-6VYWVIGM.mjs +1170 -0
  12. package/dist/chunk-AAVM7UCG.mjs +100 -0
  13. package/dist/chunk-C7ADJGNV.mjs +157 -0
  14. package/dist/chunk-DYW6WUHE.mjs +277 -0
  15. package/dist/chunk-F5W5HD7S.mjs +285 -0
  16. package/dist/chunk-FIBAZFC4.mjs +871 -0
  17. package/dist/chunk-HPC5B3AR.mjs +558 -0
  18. package/dist/chunk-KQGRXTP5.mjs +650 -0
  19. package/dist/chunk-NMX4BW42.mjs +672 -0
  20. package/dist/chunk-NX46LPLF.mjs +440 -0
  21. package/dist/chunk-NZGJN7HG.mjs +314 -0
  22. package/dist/chunk-QDMZBJDV.mjs +251 -0
  23. package/dist/chunk-QR2SVYAD.mjs +1144 -0
  24. package/dist/chunk-SYJ5O4KH.mjs +136 -0
  25. package/dist/chunk-TNKJPFGI.mjs +569 -0
  26. package/dist/chunk-UMAMDBU4.mjs +1 -0
  27. package/dist/chunk-W2SJW3QQ.mjs +3925 -0
  28. package/dist/chunk-WFUJWDST.mjs +352 -0
  29. package/dist/chunk-XUBQ2IQS.mjs +1 -0
  30. package/dist/chunk-ZUKUKGNK.mjs +613 -0
  31. package/dist/controllers/index.d.mts +384 -0
  32. package/dist/controllers/index.mjs +13 -0
  33. package/dist/date-D_CjQPmM.d.mts +74 -0
  34. package/dist/display-format-CLVvRt4I.d.mts +57 -0
  35. package/dist/event/index.d.mts +267 -0
  36. package/dist/event/index.mjs +8 -0
  37. package/dist/event-surface-_R_LHD95.d.mts +21 -0
  38. package/dist/event.positioning-BdzAVPk7.d.mts +51 -0
  39. package/dist/event.utils-QSNdd-3W.d.mts +35 -0
  40. package/dist/index.d.mts +1128 -0
  41. package/dist/index.mjs +1022 -0
  42. package/dist/interaction/index.d.mts +442 -0
  43. package/dist/interaction/index.mjs +9 -0
  44. package/dist/month/index.d.mts +104 -0
  45. package/dist/month/index.mjs +6 -0
  46. package/dist/overlay-BYM9B6nC.d.mts +64 -0
  47. package/dist/resource/index.d.mts +172 -0
  48. package/dist/resource/index.mjs +1 -0
  49. package/dist/selection-CO_98HdS.d.mts +56 -0
  50. package/dist/time-grid/index.d.mts +92 -0
  51. package/dist/time-grid/index.mjs +13 -0
  52. package/dist/timeline/index.d.mts +165 -0
  53. package/dist/timeline/index.mjs +6 -0
  54. package/dist/touch-BhsMWsjf.d.mts +69 -0
  55. package/dist/utils/index.d.mts +494 -0
  56. package/dist/utils/index.mjs +17 -0
  57. package/dist/views/index.d.mts +51 -0
  58. package/dist/views/index.mjs +8 -0
  59. package/dist/views/timeline/index.d.mts +37 -0
  60. package/dist/views/timeline/index.mjs +4 -0
  61. package/dist/year/index.d.mts +70 -0
  62. package/dist/year/index.mjs +6 -0
  63. package/package.json +58 -0
@@ -0,0 +1,442 @@
1
+ export { D as DEFAULT_DRAG_MIN_DISTANCE, a as DEFAULT_SNAP_DURATION, S as SchedulerDropCalendarOptions, b as SchedulerEventDropCandidate, c as SchedulerEventDropCandidateInput, d as SchedulerPointerInput, e as SchedulerRectInput, f as applyDeltaToEvent, g as calculateDayDelta, h as calculateDragDelta, i as calculateTimeDelta, j as clampTime, k as createDragState, l as createSchedulerEventDropCandidate, m as findOverlappingEvents, n as getDayIndexFromX, o as getPointerCoords, p as getSchedulerEventDropDelta, q as getSchedulerTimedInteractionDeltaMs, r as getTimeFromYPosition, s as getYPositionFromTime, t as isEventDraggable, u as snapTime, v as snapToSlot, w as updateDragState, x as validateDragPosition } from '../touch-BhsMWsjf.mjs';
2
+ import { SchedulerEventSelectionState, SchedulerEventSelectionOptions, SchedulerViewType, SchedulerEvent, EventResizeState, DragConstraints, TimeFormatOptions, QuickInfoOptions, InlineEditOptions, ConflictInfo, ConflictOptions, SchedulerResource, ConflictDetectedPayload, CapacityExceededPayload, ResourceCapacityInfo, SchedulerPermissionAction, SchedulerPermissionResolver, SchedulerPermissionContext } from '@primeui/scheduler-types/scheduler';
3
+ import { S as SchedulerGridCell } from '../date-D_CjQPmM.mjs';
4
+ export { D as DateSelectionResult, a as DragEndResult, b as DragMoveResult, c as DragSelectionState, d as DragStartResult, S as SelectionMode, e as SelectionState, T as TimeSelectionResult, f as calculateDragRange, g as clearSelection, h as finalizeDragSelection, i as getActiveRange, j as handleDateSelection, k as handleTimeSelection, l as hasSelection, m as isDateInSelectionRange, n as isDateSelected, o as isRangeEnd, p as isRangeStart, s as startDragSelection, u as updateDragPreview } from '../selection-CO_98HdS.mjs';
5
+ import { S as SchedulerCalendarDisplayConfigInput } from '../display-format-CLVvRt4I.mjs';
6
+ import { TimelineCell, TimelineEventPosition } from '@primeui/scheduler-types/timeline';
7
+ import '../calendar/index.mjs';
8
+ import '@internationalized/date';
9
+ import '@primeui/scheduler-types/date';
10
+
11
+ interface AutoScrollRect {
12
+ left: number;
13
+ right: number;
14
+ top: number;
15
+ bottom: number;
16
+ width: number;
17
+ height: number;
18
+ }
19
+ interface ResolveAutoScrollDeltaInput {
20
+ pointerX: number;
21
+ pointerY: number;
22
+ rect: AutoScrollRect;
23
+ canScrollX: boolean;
24
+ canScrollY: boolean;
25
+ threshold: number;
26
+ maxSpeed: number;
27
+ }
28
+ interface AutoScrollDelta {
29
+ x: number;
30
+ y: number;
31
+ }
32
+ interface AutoScrollTarget {
33
+ scrollLeft: number;
34
+ scrollTop: number;
35
+ scrollWidth: number;
36
+ scrollHeight: number;
37
+ clientWidth: number;
38
+ clientHeight: number;
39
+ measure: () => AutoScrollRect;
40
+ }
41
+ interface DragAutoScrollerOptions {
42
+ enabled?: boolean | (() => boolean);
43
+ getContainers: (point: {
44
+ clientX: number;
45
+ clientY: number;
46
+ }) => Array<AutoScrollTarget | null | undefined>;
47
+ threshold?: number;
48
+ maxSpeed?: number;
49
+ interval?: number;
50
+ }
51
+ interface DragAutoScroller {
52
+ update: (point: {
53
+ clientX: number;
54
+ clientY: number;
55
+ }) => void;
56
+ stop: () => void;
57
+ destroy: () => void;
58
+ isActive: () => boolean;
59
+ }
60
+ declare function resolveAutoScrollDelta(input: ResolveAutoScrollDeltaInput): AutoScrollDelta;
61
+ declare function createDragAutoScroller(options: DragAutoScrollerOptions): DragAutoScroller;
62
+
63
+ interface NormalizedEventSelectionOptions extends SchedulerEventSelectionOptions {
64
+ enabled: boolean;
65
+ }
66
+ declare const RESOURCE_VIEWS: SchedulerViewType[];
67
+ declare function isResourceView(view: SchedulerViewType): boolean;
68
+ declare function eventBelongsToResource(event: SchedulerEvent, resourceId: string | number): boolean;
69
+ declare function filterVisibleIdsByResource(visibleIds: (string | number)[], events: SchedulerEvent[], resourceId: string | number | undefined, currentView: SchedulerViewType): (string | number)[];
70
+ interface EventSelectionModifiers {
71
+ shiftKey?: boolean;
72
+ ctrlKey?: boolean;
73
+ metaKey?: boolean;
74
+ toggle?: boolean;
75
+ }
76
+ interface EventSelectionResult extends SchedulerEventSelectionState {
77
+ changed: boolean;
78
+ limitReached?: boolean;
79
+ }
80
+ declare function normalizeEventSelectionOptions(options?: boolean | SchedulerEventSelectionOptions): NormalizedEventSelectionOptions;
81
+ declare function applyEventSelection(params: {
82
+ eventId: string | number;
83
+ visibleIds: (string | number)[];
84
+ modifiers: EventSelectionModifiers;
85
+ options: NormalizedEventSelectionOptions;
86
+ state: SchedulerEventSelectionState;
87
+ }): EventSelectionResult;
88
+ declare function selectAllVisibleEvents(visibleIds: (string | number)[], options: NormalizedEventSelectionOptions): EventSelectionResult;
89
+ declare function invertSelection(currentIds: (string | number)[], visibleIds: (string | number)[], options: NormalizedEventSelectionOptions): EventSelectionResult;
90
+ declare function clearEventSelection(): SchedulerEventSelectionState;
91
+
92
+ declare const RESIZE_HANDLE_SIZE = 8;
93
+ type SchedulerEventResizeEdge = 'top' | 'bottom' | 'start' | 'end';
94
+ interface SchedulerEventResizePreview {
95
+ edge: SchedulerEventResizeEdge;
96
+ startDelta: number;
97
+ endDelta: number;
98
+ }
99
+ interface SchedulerEventResizePreviewResult extends SchedulerEventResizePreview {
100
+ event: SchedulerEvent;
101
+ }
102
+ declare function createResizeState(event: SchedulerEvent, edge: 'top' | 'bottom', startY: number): EventResizeState;
103
+ declare function updateResizeState(state: EventResizeState, currentY: number, slotHeight: number, slotDuration: number, snapDuration?: number): EventResizeState;
104
+ declare function applyResizeToEvent(event: SchedulerEvent, startDelta: number, endDelta: number): SchedulerEvent;
105
+ declare function getSchedulerTimedResizePreview(input: {
106
+ edge: Extract<SchedulerEventResizeEdge, 'top' | 'bottom'>;
107
+ event: SchedulerEvent;
108
+ start: Date;
109
+ end: Date;
110
+ deltaMinutes: number;
111
+ snapMinutes: number;
112
+ }): SchedulerEventResizePreviewResult;
113
+ declare function getSchedulerTimelineResizePreview(input: {
114
+ edge: Extract<SchedulerEventResizeEdge, 'start' | 'end'>;
115
+ event: SchedulerEvent;
116
+ start: Date;
117
+ end: Date;
118
+ deltaMs: number;
119
+ snapMinutes: number;
120
+ }): SchedulerEventResizePreviewResult;
121
+ declare function validateResize(event: SchedulerEvent, startDelta: number, endDelta: number, constraints: DragConstraints, allEvents: SchedulerEvent[], minDuration?: number): {
122
+ valid: boolean;
123
+ reason?: string;
124
+ };
125
+ declare function isEventResizable(event: SchedulerEvent, globalEditable?: boolean, eventDurationEditable?: boolean): boolean;
126
+ declare function detectResizeEdge(mouseY: number, eventTop: number, eventHeight: number): 'top' | 'bottom' | null;
127
+ declare function getResizeCursor(edge: 'top' | 'bottom' | null): string;
128
+ declare function calculateNewEventTimes(state: EventResizeState, slotMinTime: string, slotMaxTime: string): {
129
+ start: Date;
130
+ end: Date;
131
+ } | null;
132
+
133
+ type KeyboardAction = 'prev-day' | 'next-day' | 'prev-week' | 'next-week' | 'start-of-week' | 'end-of-week' | 'prev-month' | 'next-month' | 'prev-year' | 'next-year' | 'prev-time-slot' | 'next-time-slot' | 'select' | 'escape' | 'tab';
134
+ declare function getKeyboardAction(key: string, viewType: SchedulerViewType): KeyboardAction | null;
135
+ interface KeyboardNavigationOptions {
136
+ currentDate: Date;
137
+ firstDayOfWeek?: number;
138
+ slotDuration?: number;
139
+ slotMinTime?: string;
140
+ slotMaxTime?: string;
141
+ }
142
+ interface SchedulerKeyboardInput {
143
+ key: string;
144
+ altKey?: boolean;
145
+ ctrlKey?: boolean;
146
+ metaKey?: boolean;
147
+ shiftKey?: boolean;
148
+ }
149
+ declare function getStartOfWeek(date: Date, firstDayOfWeek?: number): Date;
150
+ declare function getEndOfWeek(date: Date, firstDayOfWeek?: number): Date;
151
+ declare function calculateNewFocusedDate(action: KeyboardAction, options: KeyboardNavigationOptions): Date | null;
152
+ interface KeyboardNavigationResult {
153
+ action: KeyboardAction;
154
+ newFocusedDate: Date | null;
155
+ shouldPreventDefault: boolean;
156
+ shouldNavigate: 'prev' | 'next' | null;
157
+ shouldSelect: boolean;
158
+ shouldClearFocus: boolean;
159
+ }
160
+ declare function handleKeyboardNavigation(input: SchedulerKeyboardInput, viewType: SchedulerViewType, currentFocusedDate: Date | null, options: Omit<KeyboardNavigationOptions, 'currentDate'>): KeyboardNavigationResult | null;
161
+ declare function getPeriodNavigationDirection(input: SchedulerKeyboardInput): 'prev' | 'next' | null;
162
+
163
+ interface FocusContext {
164
+ viewType: SchedulerViewType;
165
+ currentDate: Date;
166
+ firstDayOfWeek?: number;
167
+ slotMinTime?: string;
168
+ slotMaxTime?: string;
169
+ slotDuration?: number;
170
+ }
171
+ interface MonthFocusContext extends FocusContext {
172
+ viewType: 'month';
173
+ grid: SchedulerGridCell[][];
174
+ }
175
+ interface WeekFocusContext extends FocusContext {
176
+ viewType: 'week';
177
+ columns: {
178
+ date: Date;
179
+ isToday?: boolean;
180
+ }[];
181
+ }
182
+ interface DayFocusContext extends FocusContext {
183
+ viewType: 'day';
184
+ isToday: boolean;
185
+ }
186
+ interface YearFocusContext extends FocusContext {
187
+ viewType: 'year';
188
+ displayedYear: number;
189
+ }
190
+ type ViewFocusContext = MonthFocusContext | WeekFocusContext | DayFocusContext | YearFocusContext;
191
+ declare function snapTimeToSlot(date: Date, slotMinTime: string, slotDuration: number): Date;
192
+ declare function clampTimeToSlotBounds(date: Date, slotMinTime: string, slotMaxTime: string, slotDuration: number): Date;
193
+ declare function getDefaultFocusDateForMonth(grid: SchedulerGridCell[][]): Date;
194
+ declare function getDefaultFocusDateForWeek(columns: {
195
+ date: Date;
196
+ isToday?: boolean;
197
+ }[], slotMinTime: string, slotDuration: number): Date;
198
+ declare function getDefaultFocusDateForDay(date: Date, isToday: boolean, slotMinTime: string, slotDuration: number): Date;
199
+ declare function getDefaultFocusDateForYear(displayedYear: number): Date;
200
+ declare function getDefaultFocusDate(context: ViewFocusContext): Date;
201
+ declare function isDateInMonthView(date: Date, grid: SchedulerGridCell[][]): boolean;
202
+ declare function isDateInWeekView(date: Date, columns: {
203
+ date: Date;
204
+ }[]): boolean;
205
+ declare function isDateInDayView(date: Date, viewDate: Date): boolean;
206
+ declare function isDateInYearView(date: Date, displayedYear: number): boolean;
207
+ declare function getNavigationDirectionForMonth(targetDate: Date, grid: SchedulerGridCell[][]): 'prev' | 'next' | null;
208
+ declare function getNavigationDirectionForWeek(targetDate: Date, columns: {
209
+ date: Date;
210
+ }[]): 'prev' | 'next' | null;
211
+ declare function getNavigationDirectionForDay(targetDate: Date, viewDate: Date): 'prev' | 'next' | null;
212
+ declare function getNavigationDirectionForYear(targetDate: Date, displayedYear: number): 'prev' | 'next' | null;
213
+ declare function findCellForDate(date: Date, grid: SchedulerGridCell[][]): SchedulerGridCell | null;
214
+ declare function getDisplayedMonthFromGrid(grid: SchedulerGridCell[][]): {
215
+ month: number;
216
+ year: number;
217
+ };
218
+ declare function getStartOfWeekForFocus(date: Date, firstDayOfWeek?: number): Date;
219
+ declare function getEndOfWeekForFocus(date: Date, firstDayOfWeek?: number): Date;
220
+
221
+ declare function formatEventTimeRange(event: SchedulerEvent, locale?: string, options?: TimeFormatOptions, timeZone?: string, displayConfig?: SchedulerCalendarDisplayConfigInput): string;
222
+ declare function formatEventDate(event: SchedulerEvent, locale?: string, displayConfig?: SchedulerCalendarDisplayConfigInput): string;
223
+ declare function formatEventDuration(event: SchedulerEvent): string;
224
+
225
+ interface VirtualScrollState {
226
+ scrollLeft: number;
227
+ containerWidth: number;
228
+ totalWidth: number;
229
+ overscan: number;
230
+ }
231
+ interface VirtualRange {
232
+ startIndex: number;
233
+ endIndex: number;
234
+ startOffset: number;
235
+ visibleCells: TimelineCell[];
236
+ }
237
+ interface VirtualEventRange {
238
+ visibleEvents: TimelineEventPosition[];
239
+ leftBuffer: TimelineEventPosition[];
240
+ rightBuffer: TimelineEventPosition[];
241
+ }
242
+ declare const DEFAULT_OVERSCAN = 2;
243
+ declare const VIRTUAL_THRESHOLD = 100;
244
+ declare function shouldUseVirtualScrolling(totalCells: number, threshold?: number): boolean;
245
+ declare function createVirtualScrollState(scrollLeft: number, containerWidth: number, totalWidth: number, overscan?: number): VirtualScrollState;
246
+ declare function calculateVirtualRange(state: VirtualScrollState, cells: TimelineCell[]): VirtualRange;
247
+ declare function calculateVisibleEvents(events: TimelineEventPosition[], scrollLeft: number, containerWidth: number, bufferWidth?: number): VirtualEventRange;
248
+ declare function updateVirtualScrollState(state: VirtualScrollState, scrollLeft: number): VirtualScrollState;
249
+ declare function getScrollPositionForDate(targetDate: Date, viewStart: Date, totalWidth: number, totalDuration: number, containerWidth: number, centerInView?: boolean): number;
250
+ declare function getScrollPositionForNow(viewStart: Date, viewEnd: Date, totalWidth: number, containerWidth: number): number | null;
251
+ declare function isDateInVisibleRange(date: Date, viewStart: Date, scrollLeft: number, containerWidth: number, totalWidth: number, totalDuration: number): boolean;
252
+ interface ChunkedCells {
253
+ chunks: TimelineCell[][];
254
+ chunkWidth: number;
255
+ totalChunks: number;
256
+ }
257
+ declare function createChunkedCells(cells: TimelineCell[], chunkSize?: number): ChunkedCells;
258
+ declare function getVisibleChunks(chunkedCells: ChunkedCells, scrollLeft: number, containerWidth: number, overscan?: number): {
259
+ startChunk: number;
260
+ endChunk: number;
261
+ visibleCells: TimelineCell[];
262
+ };
263
+ declare function calculateTotalWidth(cells: TimelineCell[]): number;
264
+ declare function getEstimatedScrollPosition(targetIndex: number, averageCellWidth: number): number;
265
+ declare function getCellAtPosition(scrollLeft: number, cells: TimelineCell[]): {
266
+ cell: TimelineCell;
267
+ index: number;
268
+ } | null;
269
+
270
+ interface NormalizedQuickInfoOptions extends Required<QuickInfoOptions> {
271
+ }
272
+ declare function normalizeQuickInfoOptions(options?: boolean | QuickInfoOptions): NormalizedQuickInfoOptions;
273
+
274
+ interface NormalizedInlineEditOptions extends InlineEditOptions {
275
+ enabled: boolean;
276
+ }
277
+ declare function normalizeInlineEditOptions(options?: boolean | InlineEditOptions): NormalizedInlineEditOptions;
278
+
279
+ interface ParsedTime {
280
+ hours: number;
281
+ minutes: number;
282
+ }
283
+ interface ParsedInlineEditTime {
284
+ start: Date;
285
+ end?: Date;
286
+ normalizedValue: string;
287
+ }
288
+ declare function toValidDate(value: Date | string | undefined): Date | null;
289
+ declare function formatTimeToken(date: Date): string;
290
+ declare function parseInlineTimeToken(input: string): ParsedTime | null;
291
+ declare function getInlineEditTimeValue(event: SchedulerEvent): string;
292
+ declare function parseInlineEditTimeValue(input: string, event: SchedulerEvent): ParsedInlineEditTime | null;
293
+ declare function hasInlineTimeChanged(event: SchedulerEvent, start: Date, end?: Date): boolean;
294
+
295
+ interface ResourceConflictDecision {
296
+ canProceed: boolean;
297
+ conflicts: ConflictInfo[];
298
+ }
299
+ interface ResourceConflictEvaluationInput {
300
+ event: SchedulerEvent;
301
+ options: ConflictOptions;
302
+ resources: SchedulerResource[];
303
+ events: SchedulerEvent[];
304
+ targetResourceId?: string | number;
305
+ }
306
+ interface ResourceConflictRuntimeInput {
307
+ event: SchedulerEvent;
308
+ options: ConflictOptions;
309
+ resources: SchedulerResource[];
310
+ events: SchedulerEvent[];
311
+ currentDate: Date;
312
+ conflictedEventIds: (string | number)[];
313
+ decision: ResourceConflictDecision;
314
+ }
315
+ interface ResourceConflictRuntimeResult {
316
+ conflictedEventIds: (string | number)[];
317
+ conflictDetectedPayload?: ConflictDetectedPayload;
318
+ capacityExceededPayloads: CapacityExceededPayload[];
319
+ }
320
+ declare function dedupeConflicts(conflicts: ConflictInfo[]): ConflictInfo[];
321
+ declare function projectEventsWithCandidate(events: SchedulerEvent[], event: SchedulerEvent): SchedulerEvent[];
322
+ declare function updateConflictedEventIds(conflictedEventIds: (string | number)[], eventId: string | number, hasConflict: boolean): (string | number)[];
323
+ declare function evaluateResourceConflictDecision(input: ResourceConflictEvaluationInput): ResourceConflictDecision;
324
+ declare function resolveCapacityExceededPayloads(event: SchedulerEvent, conflicts: ConflictInfo[], resources: SchedulerResource[], events: SchedulerEvent[], currentDate: Date): CapacityExceededPayload[];
325
+ declare function resolveResourceConflictRuntime(input: ResourceConflictRuntimeInput): ResourceConflictRuntimeResult;
326
+
327
+ interface ConflictEmitInstruction {
328
+ conflictDetected?: ConflictDetectedPayload;
329
+ capacityExceeded: CapacityExceededPayload[];
330
+ }
331
+ interface ConflictWorkflowResult {
332
+ decision: ResourceConflictDecision;
333
+ conflictedEventIds: (string | number)[];
334
+ emits: ConflictEmitInstruction;
335
+ }
336
+ interface ProcessConflictDecisionInput {
337
+ event: SchedulerEvent;
338
+ options: ConflictOptions;
339
+ resources: SchedulerResource[];
340
+ events: SchedulerEvent[];
341
+ currentDate: Date;
342
+ conflictedEventIds: (string | number)[];
343
+ targetResourceId?: string | number;
344
+ }
345
+ interface EvaluateDropConflictInput {
346
+ event: SchedulerEvent;
347
+ options: ConflictOptions;
348
+ resources: SchedulerResource[];
349
+ events: SchedulerEvent[];
350
+ dropStart: Date;
351
+ dropEnd: Date;
352
+ dropResourceId?: string | number;
353
+ }
354
+ interface BuildResourceCapacityMapInput {
355
+ options: ConflictOptions;
356
+ flatResources: SchedulerResource[];
357
+ events: SchedulerEvent[];
358
+ currentDate: Date;
359
+ }
360
+ declare function processConflictDecision(input: ProcessConflictDecisionInput): ConflictWorkflowResult;
361
+ declare function evaluateDropConflict(input: EvaluateDropConflictInput): boolean;
362
+ declare function buildResourceCapacityMap(input: BuildResourceCapacityMapInput): Record<string, ResourceCapacityInfo>;
363
+
364
+ interface GlobalKeyboardContext {
365
+ key: string;
366
+ ctrlKey: boolean;
367
+ metaKey: boolean;
368
+ altKey: boolean;
369
+ shiftKey: boolean;
370
+ popoverVisible: boolean;
371
+ quickInfoVisible: boolean;
372
+ morePopoverVisible: boolean;
373
+ focusedEventId: string | null;
374
+ isInsideRoot: boolean;
375
+ isEditableElement: boolean;
376
+ selectedEventCount: number;
377
+ eventSelectionEnabled: boolean;
378
+ availableViewCount: number;
379
+ }
380
+ type GlobalKeyAction = {
381
+ type: 'dismiss-popover';
382
+ } | {
383
+ type: 'dismiss-quickinfo';
384
+ } | {
385
+ type: 'dismiss-more-popover';
386
+ } | {
387
+ type: 'activate-event';
388
+ eventId: string;
389
+ } | {
390
+ type: 'escape-event-focus';
391
+ } | {
392
+ type: 'delete-events';
393
+ } | {
394
+ type: 'switch-view';
395
+ viewIndex: number;
396
+ } | {
397
+ type: 'navigate';
398
+ direction: 'prev' | 'next';
399
+ } | {
400
+ type: 'go-today';
401
+ } | {
402
+ type: 'select-all';
403
+ } | {
404
+ type: 'clear-event-selection';
405
+ } | {
406
+ type: 'none';
407
+ };
408
+ declare function resolveGlobalKeyAction(ctx: GlobalKeyboardContext): GlobalKeyAction;
409
+ interface OutsideClickContext {
410
+ isOutside: boolean;
411
+ isDragging: boolean;
412
+ unselectOnOutsideClick: boolean;
413
+ hasFocus: boolean;
414
+ hasDateSelection: boolean;
415
+ hasEventSelection: boolean;
416
+ eventSelectionEnabled: boolean;
417
+ }
418
+ interface OutsideClickAction {
419
+ clearFocus: boolean;
420
+ clearDateSelection: boolean;
421
+ clearEventSelection: boolean;
422
+ }
423
+ declare function resolveOutsideClickAction(ctx: OutsideClickContext): OutsideClickAction;
424
+
425
+ interface ColumnTimedOffset {
426
+ colIndexOffset: number;
427
+ milliseconds: number;
428
+ }
429
+ declare function getTimeOfDayMs(date: Date): number;
430
+ declare function getDayOffset(anchor: Date, target: Date): number;
431
+ declare function getSelectedEventsForMultiDrag(selectedIds: (string | number)[], events: SchedulerEvent[]): SchedulerEvent[];
432
+ declare function isMultiDragCandidate(selectedIds: (string | number)[], anchorId: string | number): boolean;
433
+ declare function computeTimedMultiDragOffsets(anchorStart: Date, selectedEvents: SchedulerEvent[]): Map<string | number, number>;
434
+ declare function computeColumnTimedMultiDragOffsets(anchorStart: Date, anchorColIndex: number, selectedEvents: SchedulerEvent[], getColumnIndex: (date: Date) => number): Map<string | number, ColumnTimedOffset>;
435
+ declare function computeDayMultiDragOffsets(anchorStart: Date, selectedEvents: SchedulerEvent[]): Map<string | number, number>;
436
+
437
+ declare function isPermissionAllowed<TNativeEvent = unknown>(resolver: SchedulerPermissionResolver<TNativeEvent> | undefined, ctx: SchedulerPermissionContext<TNativeEvent>): boolean;
438
+ declare function filterEventsByPermission<TNativeEvent = unknown>(events: SchedulerEvent[], action: SchedulerPermissionAction, resolver: SchedulerPermissionResolver<TNativeEvent> | undefined, view: SchedulerViewType): SchedulerEvent[];
439
+ declare function isEventDraggableWithPermission<TNativeEvent = unknown>(event: SchedulerEvent, globalEditable: boolean, eventStartEditable: boolean, resolver: SchedulerPermissionResolver<TNativeEvent> | undefined, view: SchedulerViewType): boolean;
440
+ declare function isEventResizableWithPermission<TNativeEvent = unknown>(event: SchedulerEvent, globalEditable: boolean, eventDurationEditable: boolean, resolver: SchedulerPermissionResolver<TNativeEvent> | undefined, view: SchedulerViewType): boolean;
441
+
442
+ export { type AutoScrollDelta, type AutoScrollRect, type AutoScrollTarget, type BuildResourceCapacityMapInput, type ChunkedCells, type ColumnTimedOffset, type ConflictEmitInstruction, type ConflictWorkflowResult, DEFAULT_OVERSCAN, type DayFocusContext, type DragAutoScroller, type DragAutoScrollerOptions, type EvaluateDropConflictInput, type EventSelectionModifiers, type EventSelectionResult, type FocusContext, type GlobalKeyAction, type GlobalKeyboardContext, type KeyboardAction, type KeyboardNavigationOptions, type KeyboardNavigationResult, type MonthFocusContext, type NormalizedEventSelectionOptions, type NormalizedInlineEditOptions, type NormalizedQuickInfoOptions, type OutsideClickAction, type OutsideClickContext, type ParsedInlineEditTime, type ParsedTime, type ProcessConflictDecisionInput, RESIZE_HANDLE_SIZE, RESOURCE_VIEWS, type ResolveAutoScrollDeltaInput, type ResourceConflictDecision, type ResourceConflictEvaluationInput, type ResourceConflictRuntimeInput, type ResourceConflictRuntimeResult, type SchedulerEventResizeEdge, type SchedulerEventResizePreview, type SchedulerEventResizePreviewResult, type SchedulerKeyboardInput, VIRTUAL_THRESHOLD, type ViewFocusContext, type VirtualEventRange, type VirtualRange, type VirtualScrollState, type WeekFocusContext, type YearFocusContext, applyEventSelection, applyResizeToEvent, buildResourceCapacityMap, calculateNewEventTimes, calculateNewFocusedDate, calculateTotalWidth, calculateVirtualRange, calculateVisibleEvents, clampTimeToSlotBounds, clearEventSelection, computeColumnTimedMultiDragOffsets, computeDayMultiDragOffsets, computeTimedMultiDragOffsets, createChunkedCells, createDragAutoScroller, createResizeState, createVirtualScrollState, dedupeConflicts, detectResizeEdge, evaluateDropConflict, evaluateResourceConflictDecision, eventBelongsToResource, filterEventsByPermission, filterVisibleIdsByResource, findCellForDate, formatEventDate, formatEventDuration, formatEventTimeRange, formatTimeToken, getCellAtPosition, getDayOffset, getDefaultFocusDate, getDefaultFocusDateForDay, getDefaultFocusDateForMonth, getDefaultFocusDateForWeek, getDefaultFocusDateForYear, getDisplayedMonthFromGrid, getEndOfWeek, getEndOfWeekForFocus, getEstimatedScrollPosition, getInlineEditTimeValue, getKeyboardAction, getNavigationDirectionForDay, getNavigationDirectionForMonth, getNavigationDirectionForWeek, getNavigationDirectionForYear, getPeriodNavigationDirection, getResizeCursor, getSchedulerTimedResizePreview, getSchedulerTimelineResizePreview, getScrollPositionForDate, getScrollPositionForNow, getSelectedEventsForMultiDrag, getStartOfWeek, getStartOfWeekForFocus, getTimeOfDayMs, getVisibleChunks, handleKeyboardNavigation, hasInlineTimeChanged, invertSelection, isDateInDayView, isDateInMonthView, isDateInVisibleRange, isDateInWeekView, isDateInYearView, isEventDraggableWithPermission, isEventResizable, isEventResizableWithPermission, isMultiDragCandidate, isPermissionAllowed, isResourceView, normalizeEventSelectionOptions, normalizeInlineEditOptions, normalizeQuickInfoOptions, parseInlineEditTimeValue, parseInlineTimeToken, processConflictDecision, projectEventsWithCandidate, resolveAutoScrollDelta, resolveCapacityExceededPayloads, resolveGlobalKeyAction, resolveOutsideClickAction, resolveResourceConflictRuntime, selectAllVisibleEvents, shouldUseVirtualScrolling, snapTimeToSlot, toValidDate, updateConflictedEventIds, updateResizeState, updateVirtualScrollState, validateResize };
@@ -0,0 +1,9 @@
1
+ export { DEFAULT_DRAG_MIN_DISTANCE, DEFAULT_OVERSCAN, DEFAULT_SNAP_DURATION, RESIZE_HANDLE_SIZE, RESOURCE_VIEWS, VIRTUAL_THRESHOLD, applyDeltaToEvent, applyEventSelection, applyResizeToEvent, buildResourceCapacityMap, calculateDayDelta, calculateDragDelta, calculateNewEventTimes, calculateNewFocusedDate, calculateTimeDelta, calculateTotalWidth, calculateVirtualRange, calculateVisibleEvents, clampTime, clampTimeToSlotBounds, clearEventSelection, computeColumnTimedMultiDragOffsets, computeDayMultiDragOffsets, computeTimedMultiDragOffsets, createChunkedCells, createDragAutoScroller, createDragState, createResizeState, createSchedulerEventDropCandidate, createVirtualScrollState, dedupeConflicts, detectResizeEdge, evaluateDropConflict, evaluateResourceConflictDecision, eventBelongsToResource, filterEventsByPermission, filterVisibleIdsByResource, findCellForDate, findOverlappingEvents, formatEventDate, formatEventDuration, formatEventTimeRange, formatTimeToken, getCellAtPosition, getDayIndexFromX, getDayOffset, getDefaultFocusDate, getDefaultFocusDateForDay, getDefaultFocusDateForMonth, getDefaultFocusDateForWeek, getDefaultFocusDateForYear, getDisplayedMonthFromGrid, getEndOfWeek, getEndOfWeekForFocus, getEstimatedScrollPosition, getInlineEditTimeValue, getKeyboardAction, getNavigationDirectionForDay, getNavigationDirectionForMonth, getNavigationDirectionForWeek, getNavigationDirectionForYear, getPeriodNavigationDirection, getPointerCoords, getResizeCursor, getSchedulerEventDropDelta, getSchedulerTimedInteractionDeltaMs, getSchedulerTimedResizePreview, getSchedulerTimelineResizePreview, getScrollPositionForDate, getScrollPositionForNow, getSelectedEventsForMultiDrag, getStartOfWeek, getStartOfWeekForFocus, getTimeFromYPosition, getTimeOfDayMs, getVisibleChunks, getYPositionFromTime, handleKeyboardNavigation, hasInlineTimeChanged, invertSelection, isDateInDayView, isDateInMonthView, isDateInVisibleRange, isDateInWeekView, isDateInYearView, isEventDraggable, isEventDraggableWithPermission, isEventResizable, isEventResizableWithPermission, isMultiDragCandidate, isPermissionAllowed, isResourceView, normalizeEventSelectionOptions, normalizeInlineEditOptions, normalizeQuickInfoOptions, parseInlineEditTimeValue, parseInlineTimeToken, processConflictDecision, projectEventsWithCandidate, resolveAutoScrollDelta, resolveCapacityExceededPayloads, resolveGlobalKeyAction, resolveOutsideClickAction, resolveResourceConflictRuntime, selectAllVisibleEvents, shouldUseVirtualScrolling, snapTime, snapTimeToSlot, snapToSlot, toValidDate, updateConflictedEventIds, updateDragState, updateResizeState, updateVirtualScrollState, validateDragPosition, validateResize } from '../chunk-2THQAZ26.mjs';
2
+ export { calculateDragRange, clearSelection, finalizeDragSelection, getActiveRange, handleDateSelection, handleTimeSelection, hasSelection, isDateInSelectionRange, isDateSelected, isRangeEnd, isRangeStart, startDragSelection, updateDragPreview } from '../chunk-NX46LPLF.mjs';
3
+ import '../chunk-2B3YLWHA.mjs';
4
+ import '../chunk-HPC5B3AR.mjs';
5
+ import '../chunk-FIBAZFC4.mjs';
6
+ import '../chunk-WFUJWDST.mjs';
7
+ import '../chunk-TNKJPFGI.mjs';
8
+ import '../chunk-DYW6WUHE.mjs';
9
+ import '../chunk-QR2SVYAD.mjs';
@@ -0,0 +1,104 @@
1
+ import { SchedulerEvent, SchedulerCalendarMode, SchedulerNumberingSystem, DateRange } from '@primeui/scheduler-types/scheduler';
2
+ import { WeekNumbering } from '@primeui/scheduler-types/date';
3
+
4
+ interface MonthSpanningEventLayout {
5
+ event: SchedulerEvent;
6
+ row: number;
7
+ startCol: number;
8
+ endCol: number;
9
+ isContinuationStart: boolean;
10
+ isContinuationEnd: boolean;
11
+ }
12
+ interface MonthWeekEventLayout {
13
+ positioned: MonthSpanningEventLayout[];
14
+ overflowByDay: Record<string, SchedulerEvent[]>;
15
+ timedByDay: Record<string, SchedulerEvent[]>;
16
+ dayStats: Array<{
17
+ spanningDepth: number;
18
+ overflowCount: number;
19
+ }>;
20
+ }
21
+ declare function daysBetween(a: Date, b: Date): number;
22
+ declare function durationDays(event: SchedulerEvent): number;
23
+ declare function getEventsForMonthWeek(events: SchedulerEvent[], days: Date[]): SchedulerEvent[];
24
+ declare function getEventsForMonthDay(events: SchedulerEvent[], date: Date): SchedulerEvent[];
25
+ declare function getMonthSpanningEventLayout(event: SchedulerEvent, weekStart: Date): {
26
+ gridColumnStart: number;
27
+ gridColumnEnd: number;
28
+ row: number;
29
+ } | null;
30
+ declare function buildMonthWeekEventLayout(input: {
31
+ events: SchedulerEvent[];
32
+ weekStart: Date;
33
+ maxVisibleRows: number;
34
+ stackingMode?: 'stack' | 'collapse' | 'expand';
35
+ }): MonthWeekEventLayout;
36
+
37
+ interface MonthGridViewModelInput {
38
+ currentDate: Date;
39
+ firstDayOfWeek: number;
40
+ events: SchedulerEvent[];
41
+ locale?: string;
42
+ calendar?: SchedulerCalendarMode;
43
+ numberingSystem?: SchedulerNumberingSystem;
44
+ weekNumbering?: WeekNumbering;
45
+ minDate?: Date | null;
46
+ maxDate?: Date | null;
47
+ selectedDates?: Date[];
48
+ selectedRange?: DateRange | null;
49
+ maxVisibleRows: number;
50
+ stackingMode?: 'stack' | 'collapse' | 'expand';
51
+ now?: Date;
52
+ schedulerTimezone?: string;
53
+ resolvedDisplayTimezone?: string;
54
+ }
55
+ interface MonthGridDayCellViewModel {
56
+ date: Date;
57
+ dateKey: string;
58
+ dayOfMonth: number;
59
+ dayOfMonthLabel: string;
60
+ dayNumberLabel: string;
61
+ isCurrentMonth: boolean;
62
+ isToday: boolean;
63
+ isWeekend: boolean;
64
+ isDisabled: boolean;
65
+ isSelected: boolean;
66
+ isInRange: boolean;
67
+ isRangeStart: boolean;
68
+ isRangeEnd: boolean;
69
+ events: SchedulerEvent[];
70
+ timedEvents: SchedulerEvent[];
71
+ visibleEvents: SchedulerEvent[];
72
+ overflowEvents: SchedulerEvent[];
73
+ spanningDepth: number;
74
+ overflowCount: number;
75
+ eventCount: number;
76
+ owningEventCount: number;
77
+ }
78
+ interface MonthGridWeekViewModel {
79
+ days: MonthGridDayCellViewModel[];
80
+ weekNumber: number;
81
+ events: SchedulerEvent[];
82
+ layout: MonthWeekEventLayout;
83
+ }
84
+ interface MonthGridViewModel {
85
+ monthStart: Date;
86
+ monthEnd: Date;
87
+ monthTitle: string;
88
+ events: SchedulerEvent[];
89
+ weeks: MonthGridWeekViewModel[];
90
+ dayCells: MonthGridDayCellViewModel[];
91
+ getEventsForDay: (date: Date) => SchedulerEvent[];
92
+ getEventsForWeek: (days: Date[]) => SchedulerEvent[];
93
+ getEventLayout: (event: SchedulerEvent, weekStart: Date) => {
94
+ gridColumnStart: number;
95
+ gridColumnEnd: number;
96
+ row: number;
97
+ } | null;
98
+ getWeekLayout: (weekStart: Date) => MonthWeekEventLayout;
99
+ getOverflowCount: (date: Date, maxRows?: number) => number;
100
+ getOverflowEvents: (date: Date) => SchedulerEvent[];
101
+ }
102
+ declare function buildMonthGridViewModel(input: MonthGridViewModelInput): MonthGridViewModel;
103
+
104
+ export { type MonthGridDayCellViewModel, type MonthGridViewModel, type MonthGridViewModelInput, type MonthGridWeekViewModel, type MonthSpanningEventLayout, type MonthWeekEventLayout, buildMonthGridViewModel, buildMonthWeekEventLayout, daysBetween, durationDays, getEventsForMonthDay, getEventsForMonthWeek, getMonthSpanningEventLayout };
@@ -0,0 +1,6 @@
1
+ import '../chunk-UMAMDBU4.mjs';
2
+ export { buildMonthGridViewModel, buildMonthWeekEventLayout, daysBetween, durationDays, getEventsForMonthDay, getEventsForMonthWeek, getMonthSpanningEventLayout } from '../chunk-6PK5WSKT.mjs';
3
+ import '../chunk-QDMZBJDV.mjs';
4
+ import '../chunk-WFUJWDST.mjs';
5
+ import '../chunk-TNKJPFGI.mjs';
6
+ import '../chunk-DYW6WUHE.mjs';
@@ -0,0 +1,64 @@
1
+ import { TimeFormatOptions, AppointmentSlot, AppointmentSlotStatus, AppointmentSlotDisplayMode, AppointmentSlotsOptions, SchedulerEvent, SchedulerResource, ExpandedBlockedInterval, BlockedIntervalsOptions, BusinessHours } from '@primeui/scheduler-types/scheduler';
2
+ import { S as SchedulerCalendarDisplayConfigInput } from './display-format-CLVvRt4I.mjs';
3
+
4
+ declare const DEFAULT_APPOINTMENT_SLOTS_OPTIONS: AppointmentSlotsOptions;
5
+ declare function normalizeAppointmentSlotsOptions(options: boolean | Partial<AppointmentSlotsOptions> | undefined): AppointmentSlotsOptions;
6
+ declare function generateAppointmentSlots(date: Date, slotDuration: number, minTime: string, maxTime: string, resourceId?: string | number): AppointmentSlot[];
7
+ declare function getSlotsForDay(options: AppointmentSlotsOptions, date: Date, resource?: SchedulerResource, minTime?: string, maxTime?: string): AppointmentSlot[];
8
+ declare function getSlotsForTimeRange(options: AppointmentSlotsOptions, startDate: Date, endDate: Date, resource?: SchedulerResource, minTime?: string, maxTime?: string): AppointmentSlot[];
9
+ declare function updateSlotAvailability(slot: AppointmentSlot, events: SchedulerEvent[]): AppointmentSlot;
10
+ declare function updateSlotsAvailability(slots: AppointmentSlot[], events: SchedulerEvent[]): AppointmentSlot[];
11
+ declare function canBookSlot(slot: AppointmentSlot): boolean;
12
+ declare function getSlotAtTime(slots: AppointmentSlot[], date: Date, resourceId?: string | number): AppointmentSlot | undefined;
13
+ declare function getSlotsInTimeRange(slots: AppointmentSlot[], start: Date, end: Date, resourceId?: string | number): AppointmentSlot[];
14
+ declare function getAvailableSlots(slots: AppointmentSlot[]): AppointmentSlot[];
15
+ declare function getSlotCapacityDisplay(slot: AppointmentSlot): string;
16
+ declare function getSlotById(slots: AppointmentSlot[], id: string | number): AppointmentSlot | undefined;
17
+ declare function createSlotFromTimeRange(start: Date, end: Date, resourceId?: string | number, options?: Partial<AppointmentSlot>): AppointmentSlot;
18
+ interface AppointmentSlotOverlay {
19
+ slot: AppointmentSlot;
20
+ top: number;
21
+ height: number;
22
+ status: AppointmentSlotStatus;
23
+ capacityDisplay?: string;
24
+ displayMode: AppointmentSlotDisplayMode;
25
+ }
26
+ interface AppointmentSlotIndicator {
27
+ timeSlotMinutes: number;
28
+ top: number;
29
+ slots: AppointmentSlot[];
30
+ availableCount: number;
31
+ bookedCount: number;
32
+ blockedCount: number;
33
+ tentativeCount: number;
34
+ primaryStatus: AppointmentSlotStatus;
35
+ }
36
+ interface AppointmentSlotDisplayOptions extends SchedulerCalendarDisplayConfigInput {
37
+ timeFormat?: TimeFormatOptions;
38
+ dateOptions?: Intl.DateTimeFormatOptions;
39
+ includeDate?: boolean;
40
+ }
41
+ interface AppointmentSlotDisplayLabels {
42
+ dateLabel: string;
43
+ timeRangeLabel: string;
44
+ summaryLabel: string;
45
+ ariaLabel: string;
46
+ }
47
+ declare function getAppointmentSlotDisplayLabels(slot: AppointmentSlot, options?: AppointmentSlotDisplayOptions): AppointmentSlotDisplayLabels;
48
+ declare function getAppointmentSlotOverlays(options: AppointmentSlotsOptions, date: Date, events: SchedulerEvent[], slotMinTime: string, slotMaxTime: string, slotDuration: number, slotHeight: number, resourceId?: string | number): AppointmentSlotOverlay[];
49
+ declare function getAppointmentSlotIndicators(options: AppointmentSlotsOptions, date: Date, events: SchedulerEvent[], slotMinTime: string, slotMaxTime: string, slotDuration: number, slotHeight: number, resourceId?: string | number): AppointmentSlotIndicator[];
50
+ declare function getSlotOverlayClasses(overlay: AppointmentSlotOverlay): string[];
51
+ declare function getSlotOverlayStyle(overlay: AppointmentSlotOverlay): Record<string, string>;
52
+
53
+ interface TimedOverlay {
54
+ style: Record<string, string>;
55
+ title?: string;
56
+ className?: string;
57
+ interval?: ExpandedBlockedInterval;
58
+ }
59
+ declare function getTimedBusinessHoursOverlays(date: Date, businessHours: BusinessHours, slotMinTime: string, slotMaxTime: string, slotDuration: number, slotHeight: number): Array<Record<string, string>>;
60
+ declare function getTimedBlockedIntervalsOverlays(date: Date, blockedIntervals: BlockedIntervalsOptions | undefined, slotMinTime: string, slotMaxTime: string, slotDuration: number, slotHeight: number, resourceId?: string | number): TimedOverlay[];
61
+ declare function isSlotInBusinessHours(slotTime: Date, date: Date, businessHours: BusinessHours | undefined): boolean;
62
+ declare function isSlotInBlockedInterval(slotTime: Date, date: Date, slotDuration: number, blockedIntervals: BlockedIntervalsOptions | undefined, resourceId?: string | number): boolean;
63
+
64
+ export { type AppointmentSlotDisplayLabels as A, DEFAULT_APPOINTMENT_SLOTS_OPTIONS as D, type TimedOverlay as T, type AppointmentSlotDisplayOptions as a, type AppointmentSlotIndicator as b, type AppointmentSlotOverlay as c, canBookSlot as d, createSlotFromTimeRange as e, getAppointmentSlotDisplayLabels as f, generateAppointmentSlots as g, getAppointmentSlotIndicators as h, getAppointmentSlotOverlays as i, getAvailableSlots as j, getSlotAtTime as k, getSlotById as l, getSlotCapacityDisplay as m, getSlotOverlayClasses as n, getSlotOverlayStyle as o, getSlotsForDay as p, getSlotsForTimeRange as q, getSlotsInTimeRange as r, getTimedBlockedIntervalsOverlays as s, getTimedBusinessHoursOverlays as t, isSlotInBlockedInterval as u, isSlotInBusinessHours as v, normalizeAppointmentSlotsOptions as w, updateSlotAvailability as x, updateSlotsAvailability as y };