@timelinekit/core 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +200 -0
- package/dist/__tests__/calendar/sidebar/calendar-list.test.d.ts +1 -0
- package/dist/__tests__/calendar/sidebar/mini-calendar.test.d.ts +1 -0
- package/dist/__tests__/calendar/test-helpers.d.ts +169 -0
- package/dist/__tests__/calendar/tooltip/calendar-tooltip-renderer.test.d.ts +1 -0
- package/dist/__tests__/calendar/validation.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/agenda-view.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/day-view.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/drag-handlers.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/keyboard-navigation.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/month-view.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/swipe-navigation-handler.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/time-grid-helper.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/view-utils.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/week-view.test.d.ts +1 -0
- package/dist/__tests__/ganttchart/model/dependency-evaluator.test.d.ts +1 -0
- package/dist/__tests__/ganttchart/model/task-filters.test.d.ts +1 -0
- package/dist/__tests__/ganttchart/model/task-link.test.d.ts +1 -0
- package/dist/calendar/clipboard/calendar-clipboard.d.ts +19 -0
- package/dist/calendar/eventcalendar-context.d.ts +157 -0
- package/dist/calendar/eventcalendar-engine.d.ts +80 -0
- package/dist/calendar/eventcalendar-events.d.ts +40 -0
- package/dist/calendar/eventcalendar-settings.d.ts +30 -0
- package/dist/calendar/export/calendar-data-exporter.d.ts +32 -0
- package/dist/calendar/export/calendar-icalendar-exporter.d.ts +24 -0
- package/dist/calendar/export/calendar-image-exporter.d.ts +17 -0
- package/dist/calendar/export/calendar-pdf-exporter.d.ts +30 -0
- package/dist/calendar/import/calendar-icalendar-importer.d.ts +30 -0
- package/dist/calendar/model/calendar-data.d.ts +34 -0
- package/dist/calendar/model/calendar-entry.d.ts +44 -0
- package/dist/calendar/model/calendar-item.d.ts +151 -0
- package/dist/calendar/model/calendar.d.ts +29 -0
- package/dist/calendar/model/recurrence-editor.d.ts +25 -0
- package/dist/calendar/model/recurrence-exception.d.ts +34 -0
- package/dist/calendar/model/recurrence-expander.d.ts +17 -0
- package/dist/calendar/model/recurrence-rule.d.ts +42 -0
- package/dist/calendar/sidebar/calendar-list.d.ts +13 -0
- package/dist/calendar/sidebar/mini-calendar.d.ts +20 -0
- package/dist/calendar/themes/dark-theme.d.ts +4 -0
- package/dist/calendar/themes/eventcalendar-theme.d.ts +156 -0
- package/dist/calendar/themes/light-theme.d.ts +4 -0
- package/dist/calendar/tooltip/calendar-tooltip-renderer.d.ts +8 -0
- package/dist/calendar/views/agenda-view.d.ts +12 -0
- package/dist/calendar/views/base-view.d.ts +23 -0
- package/dist/calendar/views/day-view.d.ts +11 -0
- package/dist/calendar/views/handlers/allday-drag-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/allday-entry-drag-handler.d.ts +18 -0
- package/dist/calendar/views/handlers/month-drag-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/month-entry-drag-handler.d.ts +18 -0
- package/dist/calendar/views/handlers/swipe-navigation-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/time-grid-drag-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/time-grid-entry-drag-handler.d.ts +18 -0
- package/dist/calendar/views/month-view.d.ts +13 -0
- package/dist/calendar/views/time-grid-helper.d.ts +36 -0
- package/dist/calendar/views/view-utils.d.ts +38 -0
- package/dist/calendar/views/week-view.d.ts +16 -0
- package/dist/common/base-background-renderer.d.ts +9 -6
- package/dist/common/base-chart-handler.d.ts +19 -13
- package/dist/common/base-chart-handlers.d.ts +34 -0
- package/dist/common/base-chart-scroll-handler.d.ts +5 -3
- package/dist/common/base-chart.d.ts +98 -0
- package/dist/common/base-divider.d.ts +2 -0
- package/dist/common/base-engine.d.ts +112 -0
- package/dist/common/base-export-renderer.d.ts +26 -0
- package/dist/common/base-header-renderer.d.ts +8 -6
- package/dist/common/base-markers-renderer.d.ts +9 -6
- package/dist/common/base-theme.d.ts +107 -0
- package/dist/common/base-tooltip-renderer.d.ts +7 -0
- package/dist/common/chart-time-axis.d.ts +32 -0
- package/dist/common/common.d.ts +12 -2
- package/dist/common/custom-properties-container.d.ts +14 -0
- package/dist/common/drawing.d.ts +8 -2
- package/dist/common/export-utils.d.ts +34 -7
- package/dist/common/functions.d.ts +1 -1
- package/dist/common/locale.d.ts +101 -0
- package/dist/common/marker.d.ts +13 -0
- package/dist/common/subscription-manager.d.ts +17 -0
- package/dist/common/text.d.ts +9 -9
- package/dist/common/theme-utils.d.ts +5 -0
- package/dist/common/timeline-theme.d.ts +107 -0
- package/dist/common/undo-manager.d.ts +22 -0
- package/dist/common/working-calendar.d.ts +57 -0
- package/dist/ganttchart/chart/chart-scroll-handler.d.ts +1 -1
- package/dist/ganttchart/chart/chart-time-axis.d.ts +2 -32
- package/dist/ganttchart/chart/chart.d.ts +10 -4
- package/dist/ganttchart/chart/handlers/add-task-part.d.ts +14 -7
- package/dist/ganttchart/chart/handlers/connector-dots-handler.d.ts +10 -8
- package/dist/ganttchart/chart/handlers/gantt-drag-handler.d.ts +32 -0
- package/dist/ganttchart/chart/handlers/handler.d.ts +7 -4
- package/dist/ganttchart/chart/handlers/handlers.d.ts +5 -10
- package/dist/ganttchart/chart/handlers/move-milestone.d.ts +9 -7
- package/dist/ganttchart/chart/handlers/move-task-part.d.ts +9 -7
- package/dist/ganttchart/chart/handlers/resize-task-part.d.ts +18 -7
- package/dist/ganttchart/chart/handlers/select-link.d.ts +8 -6
- package/dist/ganttchart/chart/handlers/select-task.d.ts +13 -11
- package/dist/ganttchart/chart/handlers/set-task-progress.d.ts +14 -7
- package/dist/ganttchart/chart/renderers/chart-background-renderer.d.ts +3 -2
- package/dist/ganttchart/chart/renderers/chart-header-renderer.d.ts +2 -2
- package/dist/ganttchart/chart/renderers/chart-links-renderer.d.ts +4 -3
- package/dist/ganttchart/chart/renderers/chart-markers-renderer.d.ts +2 -2
- package/dist/ganttchart/chart/renderers/chart-tasks-renderer.d.ts +9 -9
- package/dist/ganttchart/chart/renderers/renderer-base.d.ts +2 -1
- package/dist/ganttchart/chart/tooltip/chart-tooltip-renderer.d.ts +4 -6
- package/dist/ganttchart/clipboard.d.ts +10 -3
- package/dist/ganttchart/divider/divider.d.ts +1 -1
- package/dist/ganttchart/export/data-exporter.d.ts +12 -7
- package/dist/ganttchart/export/export-common.d.ts +16 -16
- package/dist/ganttchart/export/image-exporter.d.ts +5 -4
- package/dist/ganttchart/export/pdf-exporter.d.ts +7 -6
- package/dist/ganttchart/ganttchart-engine.d.ts +134 -40
- package/dist/ganttchart/locale.d.ts +2 -66
- package/dist/ganttchart/model/dependency-evaluator.d.ts +16 -0
- package/dist/ganttchart/model/lag.d.ts +11 -0
- package/dist/ganttchart/model/length.d.ts +13 -2
- package/dist/ganttchart/model/marker.d.ts +1 -7
- package/dist/ganttchart/model/rate.d.ts +7 -1
- package/dist/ganttchart/model/resource-list.d.ts +11 -0
- package/dist/ganttchart/model/resource.d.ts +15 -1
- package/dist/ganttchart/model/task-filters.d.ts +10 -0
- package/dist/ganttchart/model/task-link.d.ts +15 -2
- package/dist/ganttchart/model/task-list-adapter.d.ts +22 -0
- package/dist/ganttchart/model/task-list.d.ts +55 -2
- package/dist/ganttchart/model/task-part.d.ts +20 -0
- package/dist/ganttchart/model/task-parts-manager.d.ts +44 -0
- package/dist/ganttchart/model/task-resource.d.ts +11 -0
- package/dist/ganttchart/model/task-serializer.d.ts +5 -0
- package/dist/ganttchart/model/task-warnings.d.ts +4 -0
- package/dist/ganttchart/model/task.d.ts +92 -19
- package/dist/ganttchart/model/work.d.ts +14 -1
- package/dist/ganttchart/model/working-calendar.d.ts +2 -32
- package/dist/ganttchart/sheet/renderers/sheet-icons-cell-renderer.d.ts +2 -0
- package/dist/ganttchart/sheet/sheet.d.ts +12 -7
- package/dist/ganttchart/themes/theme.d.ts +63 -108
- package/dist/ganttchart/undo-manager.d.ts +1 -13
- package/dist/index.d.ts +77 -8
- package/dist/index.js +6 -1
- package/dist/licensing/features.d.ts +3 -1
- package/dist/licensing/license-key.d.ts +1 -0
- package/dist/licensing/license-manager.d.ts +4 -1
- package/dist/licensing/watermark.d.ts +1 -0
- package/dist/locales/cs.d.ts +1 -1
- package/dist/locales/cs.js +1 -0
- package/dist/locales/de.d.ts +1 -1
- package/dist/locales/de.js +1 -0
- package/dist/locales/es.d.ts +1 -1
- package/dist/locales/es.js +1 -0
- package/dist/locales/fr.d.ts +1 -1
- package/dist/locales/fr.js +1 -0
- package/dist/locales/it.d.ts +1 -1
- package/dist/locales/it.js +1 -0
- package/dist/locales/ja.d.ts +1 -1
- package/dist/locales/ja.js +1 -0
- package/dist/locales/ko.d.ts +1 -1
- package/dist/locales/ko.js +1 -0
- package/dist/locales/nl.d.ts +1 -1
- package/dist/locales/nl.js +1 -0
- package/dist/locales/pl.d.ts +1 -1
- package/dist/locales/pl.js +1 -0
- package/dist/locales/pt.d.ts +1 -1
- package/dist/locales/pt.js +1 -0
- package/dist/locales/ru.d.ts +1 -1
- package/dist/locales/ru.js +1 -0
- package/dist/locales/sv.d.ts +1 -1
- package/dist/locales/sv.js +1 -0
- package/dist/locales/zh.d.ts +1 -1
- package/dist/locales/zh.js +1 -0
- package/dist/resourcescheduler/chart/handlers/add-event.d.ts +15 -8
- package/dist/resourcescheduler/chart/handlers/move-event.d.ts +10 -8
- package/dist/resourcescheduler/chart/handlers/resize-event.d.ts +21 -8
- package/dist/resourcescheduler/chart/handlers/scheduler-drag-handler.d.ts +32 -0
- package/dist/resourcescheduler/chart/handlers/scheduler-handler.d.ts +5 -3
- package/dist/resourcescheduler/chart/handlers/scheduler-handlers.d.ts +9 -10
- package/dist/resourcescheduler/chart/handlers/select-event.d.ts +10 -8
- package/dist/resourcescheduler/chart/renderers/scheduler-background-renderer.d.ts +2 -1
- package/dist/resourcescheduler/chart/renderers/scheduler-events-renderer.d.ts +2 -1
- package/dist/resourcescheduler/chart/renderers/scheduler-renderer-base.d.ts +1 -0
- package/dist/resourcescheduler/chart/scheduler-chart.d.ts +9 -4
- package/dist/resourcescheduler/chart/tooltip/scheduler-tooltip-renderer.d.ts +2 -4
- package/dist/resourcescheduler/clipboard.d.ts +8 -0
- package/dist/resourcescheduler/export/scheduler-data-exporter.d.ts +5 -0
- package/dist/resourcescheduler/export/scheduler-export-common.d.ts +12 -7
- package/dist/resourcescheduler/export/scheduler-image-exporter.d.ts +2 -1
- package/dist/resourcescheduler/export/scheduler-pdf-exporter.d.ts +3 -1
- package/dist/resourcescheduler/model/scheduler-data-adapter.d.ts +1 -0
- package/dist/resourcescheduler/model/scheduler-data.d.ts +45 -2
- package/dist/resourcescheduler/model/scheduler-event.d.ts +22 -2
- package/dist/resourcescheduler/model/scheduler-layout-calculator.d.ts +18 -0
- package/dist/resourcescheduler/model/scheduler-resource.d.ts +21 -2
- package/dist/resourcescheduler/resourcescheduler-engine.d.ts +134 -42
- package/dist/resourcescheduler/sheet/renderers/scheduler-icon-cell-renderer.d.ts +2 -0
- package/dist/resourcescheduler/sheet/scheduler-sheet.d.ts +11 -6
- package/dist/resourcescheduler/themes/scheduler-themes.d.ts +13 -0
- package/dist/styles/ec.css +1 -0
- package/dist/styles/gc.css +1 -1
- package/dist/styles/index.css +1 -0
- package/dist/styles/rs.css +1 -0
- package/dist/table/editors/input-editor.d.ts +1 -0
- package/dist/table/table-column.d.ts +7 -1
- package/dist/table/table-data-source.d.ts +2 -0
- package/dist/table/table-rows-selection.d.ts +1 -0
- package/dist/table/table.d.ts +11 -0
- package/dist/table/tree-table.d.ts +2 -0
- package/package.json +17 -6
- package/styles/_common.scss +12 -1
- package/styles/ec.scss +1225 -0
- package/styles/index.scss +3 -0
- package/dist/ganttchart/model/sheet-column.d.ts +0 -27
- package/dist/ganttchart/sheet/editors/cell-editor.d.ts +0 -23
- package/dist/ganttchart/sheet/editors/currency-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/date-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/decimal-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/dialog-editor.d.ts +0 -17
- package/dist/ganttchart/sheet/editors/input-editor.d.ts +0 -19
- package/dist/ganttchart/sheet/editors/integer-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/percent-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/text-editor.d.ts +0 -5
- package/dist/ganttchart/sheet/sheet-keyboard-navigation.d.ts +0 -26
- package/dist/ganttchart/sheet/sheet-rows-selection.d.ts +0 -24
- /package/dist/__tests__/{critical-path-calculator.test.d.ts → calendar/calendar-clipboard.test.d.ts} +0 -0
- /package/dist/__tests__/{model/lag.test.d.ts → calendar/eventcalendar-engine.test.d.ts} +0 -0
- /package/dist/__tests__/{model/length.test.d.ts → calendar/export/calendar-data-export.test.d.ts} +0 -0
- /package/dist/__tests__/{model/resource-list.test.d.ts → calendar/export/calendar-export.test.d.ts} +0 -0
- /package/dist/__tests__/{model/resource.test.d.ts → calendar/export/calendar-icalendar.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-list.test.d.ts → calendar/model/calendar-data.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-part.test.d.ts → calendar/model/calendar-item-recurrence.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-resource.test.d.ts → calendar/model/calendar-item-types.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-warnings.test.d.ts → calendar/model/calendar-occurrence.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task.test.d.ts → calendar/model/calendar.test.d.ts} +0 -0
- /package/dist/__tests__/{model/work.test.d.ts → calendar/model/recurrence-editor.test.d.ts} +0 -0
- /package/dist/__tests__/{model/working-calendar.test.d.ts → calendar/model/recurrence-expander.test.d.ts} +0 -0
- /package/dist/__tests__/{undo-manager.test.d.ts → calendar/model/recurrence-rule.test.d.ts} +0 -0
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# @timelinekit/core
|
|
2
|
+
|
|
3
|
+
The framework-agnostic engine behind [TimelineKit](https://timelinekit.com) — a suite of high-performance, canvas-rendered scheduling components for JavaScript and TypeScript.
|
|
4
|
+
|
|
5
|
+
> **Note:** This package is not intended to be used directly. Install a framework wrapper instead:
|
|
6
|
+
>
|
|
7
|
+
> - **React:** [`@timelinekit/react`](https://www.npmjs.com/package/@timelinekit/react)
|
|
8
|
+
> - **Angular:** [`@timelinekit/angular`](https://www.npmjs.com/package/@timelinekit/angular)
|
|
9
|
+
>
|
|
10
|
+
> `@timelinekit/core` is included automatically as a dependency and re-exports all types through the wrapper packages.
|
|
11
|
+
|
|
12
|
+
## Components
|
|
13
|
+
|
|
14
|
+
### Gantt Chart
|
|
15
|
+
|
|
16
|
+
Interactive project timeline with canvas rendering for 60 fps performance.
|
|
17
|
+
|
|
18
|
+
- Tasks, summary tasks, and milestones
|
|
19
|
+
- Four dependency types (FS, SS, FF, SF) with lag/lead
|
|
20
|
+
- Critical path analysis (CPM)
|
|
21
|
+
- Baseline comparison with visual overlay
|
|
22
|
+
- Resource management with overallocation detection
|
|
23
|
+
- Working calendars (business days, holidays, shifts)
|
|
24
|
+
- Markers and today line
|
|
25
|
+
- Zoom levels from hours to years
|
|
26
|
+
- Drag & drop editing with undo/redo
|
|
27
|
+
- Filtering and keyboard navigation
|
|
28
|
+
|
|
29
|
+
### Resource Scheduler
|
|
30
|
+
|
|
31
|
+
Visual resource planning with drag-and-drop event scheduling.
|
|
32
|
+
|
|
33
|
+
- Hierarchical resource lanes
|
|
34
|
+
- Automatic multi-lane event stacking
|
|
35
|
+
- Frozen (pinned) resource rows
|
|
36
|
+
- Conflict detection for overlapping events
|
|
37
|
+
- Time scales from hours to months
|
|
38
|
+
- Custom event rendering
|
|
39
|
+
- Drag & drop editing with undo/redo
|
|
40
|
+
- Filtering and keyboard navigation
|
|
41
|
+
|
|
42
|
+
### Event Calendar
|
|
43
|
+
|
|
44
|
+
Full-featured calendar with month, week, day, and agenda views.
|
|
45
|
+
|
|
46
|
+
- Recurring events (RFC 5545 RRULE with exceptions)
|
|
47
|
+
- Multiple color-coded calendars
|
|
48
|
+
- 9 built-in item types (Meeting, Appointment, Task, Deadline, Holiday, Birthday, Reminder, Resource Booking, Availability Block)
|
|
49
|
+
- iCalendar (.ics) import and export
|
|
50
|
+
- Mini calendar and sidebar
|
|
51
|
+
- All-day events
|
|
52
|
+
- Custom event rendering
|
|
53
|
+
- Drag & drop editing with undo/redo
|
|
54
|
+
- Keyboard navigation
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
### React
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npm install @timelinekit/react @timelinekit/core
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
import { useRef, useEffect } from 'react';
|
|
66
|
+
import { GanttChart, GanttChartRef } from '@timelinekit/react';
|
|
67
|
+
import { Task, TaskLink } from '@timelinekit/core';
|
|
68
|
+
import '@timelinekit/core/styles';
|
|
69
|
+
|
|
70
|
+
function App() {
|
|
71
|
+
const ref = useRef<GanttChartRef>(null);
|
|
72
|
+
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
const gantt = ref.current!;
|
|
75
|
+
const taskA = gantt.list.addTask(new Task({ id: '1', name: 'Design', startTime: '2027-01-05', endTime: '2027-01-09' }));
|
|
76
|
+
const taskB = gantt.list.addTask(new Task({ id: '2', name: 'Development', startTime: '2027-01-12', endTime: '2027-01-23' }));
|
|
77
|
+
gantt.list.addLink(new TaskLink({ id: 'l1', from: taskA, to: taskB, type: 'finishToStart' }));
|
|
78
|
+
gantt.zoomToFit();
|
|
79
|
+
}, []);
|
|
80
|
+
|
|
81
|
+
return <GanttChart ref={ref} style={{ height: '600px' }} />;
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Angular
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm install @timelinekit/angular @timelinekit/core
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
import { GanttChartComponent } from '@timelinekit/angular';
|
|
93
|
+
import { Task, TaskLink } from '@timelinekit/core';
|
|
94
|
+
|
|
95
|
+
@Component({
|
|
96
|
+
imports: [GanttChartComponent],
|
|
97
|
+
template: `<tk-gantt-chart #gantt style="height: 600px" />`,
|
|
98
|
+
})
|
|
99
|
+
export class AppComponent implements AfterViewInit {
|
|
100
|
+
@ViewChild('gantt') gantt!: GanttChartComponent;
|
|
101
|
+
|
|
102
|
+
ngAfterViewInit() {
|
|
103
|
+
const taskA = this.gantt.list.addTask(new Task({ id: '1', name: 'Design', startTime: '2027-01-05', endTime: '2027-01-09' }));
|
|
104
|
+
const taskB = this.gantt.list.addTask(new Task({ id: '2', name: 'Development', startTime: '2027-01-12', endTime: '2027-01-23' }));
|
|
105
|
+
this.gantt.list.addLink(new TaskLink({ id: 'l1', from: taskA, to: taskB, type: 'finishToStart' }));
|
|
106
|
+
this.gantt.zoomToFit();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Styles
|
|
112
|
+
|
|
113
|
+
Import the combined stylesheet for all components:
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
import '@timelinekit/core/styles';
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Or import individual component styles for smaller bundles:
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
import '@timelinekit/core/styles/gc'; // Gantt Chart
|
|
123
|
+
import '@timelinekit/core/styles/rs'; // Resource Scheduler
|
|
124
|
+
import '@timelinekit/core/styles/ec'; // Event Calendar
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
SCSS sources are also available for custom builds:
|
|
128
|
+
|
|
129
|
+
```scss
|
|
130
|
+
@use '@timelinekit/core/styles/scss'; // All components
|
|
131
|
+
@use '@timelinekit/core/styles/gc/scss'; // Gantt Chart
|
|
132
|
+
@use '@timelinekit/core/styles/rs/scss'; // Resource Scheduler
|
|
133
|
+
@use '@timelinekit/core/styles/ec/scss'; // Event Calendar
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Themes
|
|
137
|
+
|
|
138
|
+
Four built-in themes for each component, fully customizable via CSS variables:
|
|
139
|
+
|
|
140
|
+
| Theme | Gantt Chart | Resource Scheduler | Event Calendar |
|
|
141
|
+
|-------|-------------|--------------------|----------------|
|
|
142
|
+
| Light | `LightGanttChartTheme` | `LightSchedulerTheme` | `LightEventCalendarTheme` |
|
|
143
|
+
| Dark | `DarkGanttChartTheme` | `DarkSchedulerTheme` | `DarkEventCalendarTheme` |
|
|
144
|
+
| Modern | `ModernGanttChartTheme` | `ModernSchedulerTheme` | — |
|
|
145
|
+
| Classic | `ClassicGanttChartTheme` | `ClassicSchedulerTheme` | — |
|
|
146
|
+
|
|
147
|
+
## Localization
|
|
148
|
+
|
|
149
|
+
English is included by default. Additional locales are available as separate imports:
|
|
150
|
+
|
|
151
|
+
```typescript
|
|
152
|
+
import { csLocale } from '@timelinekit/core/locales/cs';
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
| Code | Language | Code | Language |
|
|
156
|
+
|------|----------|------|----------|
|
|
157
|
+
| `cs` | Czech | `ko` | Korean |
|
|
158
|
+
| `de` | German | `nl` | Dutch |
|
|
159
|
+
| `es` | Spanish | `pl` | Polish |
|
|
160
|
+
| `fr` | French | `pt` | Portuguese |
|
|
161
|
+
| `it` | Italian | `ru` | Russian |
|
|
162
|
+
| `ja` | Japanese | `sv` | Swedish |
|
|
163
|
+
| | | `zh` | Chinese |
|
|
164
|
+
|
|
165
|
+
## Export
|
|
166
|
+
|
|
167
|
+
All components support export to multiple formats (requires optional peer dependencies for some formats):
|
|
168
|
+
|
|
169
|
+
- **PNG** — requires `html2canvas` (Event Calendar only; Gantt and Scheduler use built-in canvas export)
|
|
170
|
+
- **PDF** — requires `jspdf` (and `html2canvas` for Event Calendar)
|
|
171
|
+
- **CSV** — built-in
|
|
172
|
+
- **Excel** — requires `exceljs`
|
|
173
|
+
- **ICS** — Event Calendar only, built-in
|
|
174
|
+
|
|
175
|
+
## Licensing
|
|
176
|
+
|
|
177
|
+
TimelineKit uses a commercial license with a free tier.
|
|
178
|
+
|
|
179
|
+
**Free** — All components and all features with a "TimelineKit.com" watermark. No license key required.
|
|
180
|
+
|
|
181
|
+
**Pro** — Remove the watermark and get email support. Licenses are per-developer and perpetual for the major version.
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
import { setLicense } from '@timelinekit/core';
|
|
185
|
+
|
|
186
|
+
setLicense('your-license-key');
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
See [pricing](https://timelinekit.com/pricing) for details.
|
|
190
|
+
|
|
191
|
+
## Resources
|
|
192
|
+
|
|
193
|
+
- [Documentation](https://timelinekit.com/docs)
|
|
194
|
+
- [Live Demos](https://timelinekit.com/gantt-chart/demo)
|
|
195
|
+
- [Examples](https://github.com/timelinekit/examples)
|
|
196
|
+
- [Support](mailto:support@timelinekit.com)
|
|
197
|
+
|
|
198
|
+
## License
|
|
199
|
+
|
|
200
|
+
See [LICENSE](./LICENSE) for details.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared DOM shim and factory functions for EventCalendar tests.
|
|
3
|
+
* No jsdom required — provides a MinimalElement that covers all DOM APIs
|
|
4
|
+
* used by views, drag handlers, and keyboard navigation.
|
|
5
|
+
*/
|
|
6
|
+
import { EventCalendarContext } from '../../calendar/eventcalendar-context';
|
|
7
|
+
import { Calendar } from '../../calendar/model/calendar';
|
|
8
|
+
import { CalendarEntry } from '../../calendar/model/calendar-entry';
|
|
9
|
+
import { Meeting, Appointment, type CalendarItem } from '../../calendar/model/calendar-item';
|
|
10
|
+
export declare class MinimalCSSStyleDeclaration {
|
|
11
|
+
#private;
|
|
12
|
+
visibility: string;
|
|
13
|
+
display: string;
|
|
14
|
+
fontFamily: string;
|
|
15
|
+
fontSize: string;
|
|
16
|
+
top: string;
|
|
17
|
+
left: string;
|
|
18
|
+
height: string;
|
|
19
|
+
width: string;
|
|
20
|
+
backgroundColor: string;
|
|
21
|
+
color: string;
|
|
22
|
+
borderLeft: string;
|
|
23
|
+
cursor: string;
|
|
24
|
+
position: string;
|
|
25
|
+
setProperty(name: string, value: string): void;
|
|
26
|
+
getPropertyValue(name: string): string;
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}
|
|
29
|
+
export interface BoundingRect {
|
|
30
|
+
top: number;
|
|
31
|
+
left: number;
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
right: number;
|
|
35
|
+
bottom: number;
|
|
36
|
+
}
|
|
37
|
+
export declare class MinimalElement {
|
|
38
|
+
#private;
|
|
39
|
+
tagName: string;
|
|
40
|
+
className: string;
|
|
41
|
+
id: string;
|
|
42
|
+
tabIndex: number;
|
|
43
|
+
textContent: string;
|
|
44
|
+
offsetHeight: number;
|
|
45
|
+
offsetWidth: number;
|
|
46
|
+
scrollTop: number;
|
|
47
|
+
dataset: Record<string, string>;
|
|
48
|
+
style: MinimalCSSStyleDeclaration;
|
|
49
|
+
children: MinimalElement[];
|
|
50
|
+
childNodes: MinimalElement[];
|
|
51
|
+
parentNode: MinimalElement | null;
|
|
52
|
+
parentElement: MinimalElement | null;
|
|
53
|
+
get innerHTML(): string;
|
|
54
|
+
set innerHTML(value: string);
|
|
55
|
+
get firstElementChild(): MinimalElement | null;
|
|
56
|
+
classList: {
|
|
57
|
+
add: (...classes: string[]) => void;
|
|
58
|
+
remove: (...classes: string[]) => void;
|
|
59
|
+
contains: (c: string) => boolean;
|
|
60
|
+
toggle: (c: string, force?: boolean) => void;
|
|
61
|
+
readonly length: number;
|
|
62
|
+
};
|
|
63
|
+
constructor(tag: string);
|
|
64
|
+
setAttribute(name: string, value: string): void;
|
|
65
|
+
getAttribute(name: string): string | null;
|
|
66
|
+
removeAttribute(name: string): void;
|
|
67
|
+
appendChild(child: any): any;
|
|
68
|
+
removeChild(child: any): any;
|
|
69
|
+
remove(): void;
|
|
70
|
+
cloneNode(deep?: boolean): MinimalElement;
|
|
71
|
+
querySelector(selector: string): MinimalElement | null;
|
|
72
|
+
querySelectorAll(selector: string): MinimalElement[];
|
|
73
|
+
closest(selector: string): MinimalElement | null;
|
|
74
|
+
addEventListener(type: string, handler: Function, _options?: any): void;
|
|
75
|
+
removeEventListener(type: string, handler: Function): void;
|
|
76
|
+
dispatchEvent(event: any): boolean;
|
|
77
|
+
focus(): void;
|
|
78
|
+
setPointerCapture(_pointerId: number): void;
|
|
79
|
+
releasePointerCapture(_pointerId: number): void;
|
|
80
|
+
attachShadow(_init: any): MinimalElement;
|
|
81
|
+
getBoundingClientRect(): BoundingRect;
|
|
82
|
+
/** Set the bounding rect returned by getBoundingClientRect(). */
|
|
83
|
+
setBoundingRect(rect: Partial<BoundingRect>): void;
|
|
84
|
+
}
|
|
85
|
+
export declare class MinimalTextNode {
|
|
86
|
+
textContent: string;
|
|
87
|
+
constructor(text: string);
|
|
88
|
+
}
|
|
89
|
+
/** Install global document/ResizeObserver/requestAnimationFrame shims. */
|
|
90
|
+
export declare function installDomShim(): void;
|
|
91
|
+
/** Create a minimal EventCalendarContext for testing. */
|
|
92
|
+
export declare function createTestContext(opts?: {
|
|
93
|
+
currentDate?: Date;
|
|
94
|
+
firstDayOfWeek?: number;
|
|
95
|
+
slotDuration?: number;
|
|
96
|
+
workingHours?: {
|
|
97
|
+
start: number;
|
|
98
|
+
end: number;
|
|
99
|
+
};
|
|
100
|
+
canEdit?: boolean;
|
|
101
|
+
}): EventCalendarContext;
|
|
102
|
+
export declare function createTestCalendar(id: string, opts?: {
|
|
103
|
+
name?: string;
|
|
104
|
+
color?: number;
|
|
105
|
+
isDefault?: boolean;
|
|
106
|
+
isVisible?: boolean;
|
|
107
|
+
}): Calendar;
|
|
108
|
+
export declare function createTestMeeting(id: string, calendarId: string, opts?: {
|
|
109
|
+
title?: string;
|
|
110
|
+
startTime?: Date;
|
|
111
|
+
endTime?: Date;
|
|
112
|
+
isAllDay?: boolean;
|
|
113
|
+
color?: number;
|
|
114
|
+
location?: string;
|
|
115
|
+
responseStatus?: 'accepted' | 'tentative' | 'needsAction' | 'declined';
|
|
116
|
+
}): {
|
|
117
|
+
item: Meeting;
|
|
118
|
+
entry: CalendarEntry;
|
|
119
|
+
};
|
|
120
|
+
export declare function createTestAppointment(id: string, calendarId: string, opts?: {
|
|
121
|
+
title?: string;
|
|
122
|
+
startTime?: Date;
|
|
123
|
+
endTime?: Date;
|
|
124
|
+
isAllDay?: boolean;
|
|
125
|
+
}): {
|
|
126
|
+
item: Appointment;
|
|
127
|
+
entry: CalendarEntry;
|
|
128
|
+
};
|
|
129
|
+
export interface TestScenario {
|
|
130
|
+
ec: EventCalendarContext;
|
|
131
|
+
calendar: Calendar;
|
|
132
|
+
items: CalendarItem[];
|
|
133
|
+
entries: CalendarEntry[];
|
|
134
|
+
}
|
|
135
|
+
/** Creates a context with one calendar and a set of meetings for a given week. */
|
|
136
|
+
export declare function createWeekScenario(opts?: {
|
|
137
|
+
currentDate?: Date;
|
|
138
|
+
firstDayOfWeek?: number;
|
|
139
|
+
}): TestScenario;
|
|
140
|
+
export declare function createPointerEvent(type: string, opts?: {
|
|
141
|
+
clientX?: number;
|
|
142
|
+
clientY?: number;
|
|
143
|
+
button?: number;
|
|
144
|
+
ctrlKey?: boolean;
|
|
145
|
+
metaKey?: boolean;
|
|
146
|
+
pointerId?: number;
|
|
147
|
+
pointerType?: string;
|
|
148
|
+
isPrimary?: boolean;
|
|
149
|
+
}): any;
|
|
150
|
+
/** @deprecated Use createPointerEvent instead. Kept for non-drag tests. */
|
|
151
|
+
export declare function createMouseEvent(type: string, opts?: {
|
|
152
|
+
clientX?: number;
|
|
153
|
+
clientY?: number;
|
|
154
|
+
button?: number;
|
|
155
|
+
ctrlKey?: boolean;
|
|
156
|
+
metaKey?: boolean;
|
|
157
|
+
}): any;
|
|
158
|
+
export declare function createKeyboardEvent(type: string, key: string, opts?: {
|
|
159
|
+
ctrlKey?: boolean;
|
|
160
|
+
metaKey?: boolean;
|
|
161
|
+
shiftKey?: boolean;
|
|
162
|
+
}): any;
|
|
163
|
+
/** Creates a grid of MinimalElement cells with sequential bounding rects. */
|
|
164
|
+
export declare function createCellGrid(rows: number, cols: number, opts?: {
|
|
165
|
+
cellWidth?: number;
|
|
166
|
+
cellHeight?: number;
|
|
167
|
+
startX?: number;
|
|
168
|
+
startY?: number;
|
|
169
|
+
}): MinimalElement[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { EventCalendarContext } from "../eventcalendar-context";
|
|
2
|
+
import type { CalendarEntry } from "../model/calendar-entry";
|
|
3
|
+
import { type CalendarItem } from "../model/calendar-item";
|
|
4
|
+
/** Emitted after a paste operation completes. */
|
|
5
|
+
export interface CalendarEntriesPastedEventArgs {
|
|
6
|
+
/** Newly created items. */
|
|
7
|
+
items: CalendarItem[];
|
|
8
|
+
}
|
|
9
|
+
/** Handles copy, cut, and paste of calendar entries via internal buffer and system clipboard. */
|
|
10
|
+
export declare class CalendarClipboardManager {
|
|
11
|
+
#private;
|
|
12
|
+
constructor(ec: EventCalendarContext);
|
|
13
|
+
/** Copy entries to the internal buffer and system clipboard (as TSV). */
|
|
14
|
+
copy(entries: CalendarEntry[]): Promise<void>;
|
|
15
|
+
/** Copy entries to the clipboard and remove the original items. */
|
|
16
|
+
cut(entries: CalendarEntry[]): Promise<void>;
|
|
17
|
+
/** Paste entries from the internal buffer. Shift times relative to targetDate. */
|
|
18
|
+
paste(targetDate: Date): Promise<CalendarEntriesPastedEventArgs | null>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { BehaviorSubject, Subject } from "rxjs";
|
|
2
|
+
import type { TimelineKitLocale } from "../common/locale";
|
|
3
|
+
import type { Calendar } from "./model/calendar";
|
|
4
|
+
import { CalendarData } from "./model/calendar-data";
|
|
5
|
+
import { CalendarEntry } from "./model/calendar-entry";
|
|
6
|
+
import type { EventCalendarEntryColor } from "./themes/eventcalendar-theme";
|
|
7
|
+
import { EventCalendarTheme } from "./themes/eventcalendar-theme";
|
|
8
|
+
import { EventCalendarSettings } from "./eventcalendar-settings";
|
|
9
|
+
/** Calendar view modes. */
|
|
10
|
+
export type ViewMode = 'month' | 'week' | 'day' | 'agenda';
|
|
11
|
+
/** Event args for entry interaction events. */
|
|
12
|
+
export interface EntryEventArgs {
|
|
13
|
+
entry: CalendarEntry;
|
|
14
|
+
domEvent: MouseEvent;
|
|
15
|
+
}
|
|
16
|
+
/** Event args for entry context menu. */
|
|
17
|
+
export interface EntryContextMenuArgs {
|
|
18
|
+
entry: CalendarEntry;
|
|
19
|
+
domEvent: MouseEvent;
|
|
20
|
+
}
|
|
21
|
+
/** Event args for clicking the "+N more" label in month view. */
|
|
22
|
+
export interface MoreClickArgs {
|
|
23
|
+
date: Date;
|
|
24
|
+
entries: CalendarEntry[];
|
|
25
|
+
}
|
|
26
|
+
/** Event args for clicking an empty date area. */
|
|
27
|
+
export interface DateClickArgs {
|
|
28
|
+
date: Date;
|
|
29
|
+
isAllDay: boolean;
|
|
30
|
+
domEvent: MouseEvent;
|
|
31
|
+
}
|
|
32
|
+
/** Event args for right-clicking an empty date area. */
|
|
33
|
+
export interface DateContextMenuArgs {
|
|
34
|
+
date: Date;
|
|
35
|
+
isAllDay: boolean;
|
|
36
|
+
entry: CalendarEntry | null;
|
|
37
|
+
domEvent: MouseEvent;
|
|
38
|
+
}
|
|
39
|
+
/** Event args for entry drag/move. Cancelable. */
|
|
40
|
+
export interface EntryMovingArgs {
|
|
41
|
+
entry: CalendarEntry;
|
|
42
|
+
newStartTime: Date;
|
|
43
|
+
newEndTime: Date;
|
|
44
|
+
cancel: boolean;
|
|
45
|
+
}
|
|
46
|
+
/** Event args for entry resize. Cancelable. */
|
|
47
|
+
export interface EntryResizingArgs {
|
|
48
|
+
entry: CalendarEntry;
|
|
49
|
+
newStartTime: Date;
|
|
50
|
+
newEndTime: Date;
|
|
51
|
+
edge: 'start' | 'end';
|
|
52
|
+
cancel: boolean;
|
|
53
|
+
}
|
|
54
|
+
/** Event args for entry creation via drag on empty area. Cancelable. */
|
|
55
|
+
export interface EntryCreatingArgs {
|
|
56
|
+
startTime: Date;
|
|
57
|
+
endTime: Date;
|
|
58
|
+
isAllDay: boolean;
|
|
59
|
+
cancel: boolean;
|
|
60
|
+
}
|
|
61
|
+
/** Event args for entry deletion. Cancelable. */
|
|
62
|
+
export interface EntryDeletingArgs {
|
|
63
|
+
entry: CalendarEntry;
|
|
64
|
+
/** Whether the entry belongs to a recurring series. */
|
|
65
|
+
isRecurring: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Scope of deletion for recurring entries: 'this' | 'thisAndFollowing' | 'all'.
|
|
68
|
+
* Defaults to 'all' for non-recurring entries.
|
|
69
|
+
* Subscribers can change this before the engine processes the deletion.
|
|
70
|
+
*/
|
|
71
|
+
scope: 'this' | 'thisAndFollowing' | 'all';
|
|
72
|
+
cancel: boolean;
|
|
73
|
+
}
|
|
74
|
+
/** Event args for calendar removal. Cancelable. */
|
|
75
|
+
export interface CalendarRemovingArgs {
|
|
76
|
+
calendar: Calendar;
|
|
77
|
+
cancel: boolean;
|
|
78
|
+
}
|
|
79
|
+
/** Arguments passed to the custom entry rendering callback. */
|
|
80
|
+
export interface EntryRenderArgs {
|
|
81
|
+
/** The calendar entry being rendered. */
|
|
82
|
+
entry: CalendarEntry;
|
|
83
|
+
/** The DOM element for the entry. Modify its content/style to customize rendering. */
|
|
84
|
+
element: HTMLElement;
|
|
85
|
+
/** Whether this entry is rendered in an all-day section. */
|
|
86
|
+
isAllDay: boolean;
|
|
87
|
+
/** Current view mode. */
|
|
88
|
+
viewMode: ViewMode;
|
|
89
|
+
/** Resolved color for this entry. */
|
|
90
|
+
color: EventCalendarEntryColor;
|
|
91
|
+
}
|
|
92
|
+
/** Custom entry rendering function. Called after default content is rendered.
|
|
93
|
+
* Return true if you handled the rendering (default content will be cleared first),
|
|
94
|
+
* or false/undefined to keep the default rendering. */
|
|
95
|
+
export type EntryRenderFn = (args: EntryRenderArgs) => boolean | void;
|
|
96
|
+
/** Arguments passed to the custom tooltip callback. */
|
|
97
|
+
export interface EntryTooltipArgs {
|
|
98
|
+
/** The calendar entry being hovered. */
|
|
99
|
+
entry: CalendarEntry;
|
|
100
|
+
/** Current view mode. */
|
|
101
|
+
viewMode: ViewMode;
|
|
102
|
+
}
|
|
103
|
+
/** Content to display in an entry tooltip. */
|
|
104
|
+
export interface EntryTooltipContent {
|
|
105
|
+
/** Tooltip title. */
|
|
106
|
+
title: string;
|
|
107
|
+
/** Key-value rows displayed below the title. */
|
|
108
|
+
rows?: {
|
|
109
|
+
label: string;
|
|
110
|
+
value: string;
|
|
111
|
+
}[];
|
|
112
|
+
}
|
|
113
|
+
/** Custom tooltip function. Return content to display, or null to hide the tooltip. */
|
|
114
|
+
export type EntryTooltipFn = (args: EntryTooltipArgs) => EntryTooltipContent | null | Promise<EntryTooltipContent | null>;
|
|
115
|
+
/** Internal shared state for all EventCalendar sub-components. */
|
|
116
|
+
export declare class EventCalendarContext {
|
|
117
|
+
data: CalendarData;
|
|
118
|
+
currentDate$: BehaviorSubject<Date>;
|
|
119
|
+
viewMode$: BehaviorSubject<ViewMode>;
|
|
120
|
+
locale$: BehaviorSubject<TimelineKitLocale>;
|
|
121
|
+
theme$: BehaviorSubject<EventCalendarTheme>;
|
|
122
|
+
firstDayOfWeek$: BehaviorSubject<number>;
|
|
123
|
+
workingHours$: BehaviorSubject<{
|
|
124
|
+
start: number;
|
|
125
|
+
end: number;
|
|
126
|
+
}>;
|
|
127
|
+
slotDuration$: BehaviorSubject<number>;
|
|
128
|
+
showWeekNumbers$: BehaviorSubject<boolean>;
|
|
129
|
+
agendaDays$: BehaviorSubject<number>;
|
|
130
|
+
canEdit$: BehaviorSubject<boolean>;
|
|
131
|
+
sidebarVisible$: BehaviorSubject<boolean>;
|
|
132
|
+
selectedEntries$: BehaviorSubject<CalendarEntry[]>;
|
|
133
|
+
hoveredEntry$: BehaviorSubject<CalendarEntry | null>;
|
|
134
|
+
entryRendering$: BehaviorSubject<EntryRenderFn | null>;
|
|
135
|
+
entryTooltip$: BehaviorSubject<EntryTooltipFn | null>;
|
|
136
|
+
entryClick$: Subject<EntryEventArgs>;
|
|
137
|
+
entryDblClick$: Subject<EntryEventArgs>;
|
|
138
|
+
entryContextMenu$: Subject<EntryContextMenuArgs>;
|
|
139
|
+
dateClick$: Subject<DateClickArgs>;
|
|
140
|
+
dateContextMenu$: Subject<DateContextMenuArgs>;
|
|
141
|
+
moreClick$: Subject<MoreClickArgs>;
|
|
142
|
+
entryMoving$: Subject<EntryMovingArgs>;
|
|
143
|
+
entryResizing$: Subject<EntryResizingArgs>;
|
|
144
|
+
entryCreating$: Subject<EntryCreatingArgs>;
|
|
145
|
+
entryDeleting$: Subject<EntryDeletingArgs>;
|
|
146
|
+
/** Emitted when the user clicks "Add calendar" in the sidebar. Host app should handle creation. */
|
|
147
|
+
calendarAddRequested$: Subject<void>;
|
|
148
|
+
/** Emitted before a calendar is removed via the sidebar. Set cancel=true to prevent removal. */
|
|
149
|
+
calendarRemoving$: Subject<CalendarRemovingArgs>;
|
|
150
|
+
/** Emitted when the visible date range changes (e.g. navigation, view switch). */
|
|
151
|
+
viewDateRangeChanged$: Subject<{
|
|
152
|
+
start: Date;
|
|
153
|
+
end: Date;
|
|
154
|
+
}>;
|
|
155
|
+
settings: EventCalendarSettings;
|
|
156
|
+
constructor();
|
|
157
|
+
}
|