@dayflow/angular 3.2.0 → 3.2.2

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/README.md CHANGED
@@ -1,10 +1,8 @@
1
- # DayFlow
1
+ # DayFlow Angular
2
2
 
3
- **English** | [中文](README.zh.md) | [日本語](README.ja.md) | [Getting Started & Contributing](CONTRIBUTING.md)
3
+ A flexible and feature-rich Angular calendar component library with drag-and-drop support, multiple views, and plugin architecture.
4
4
 
5
- A flexible and feature-rich calendar component library for **React, Vue, Angular, and Svelte** with drag-and-drop support, multiple views, and plugin architecture.
6
-
7
- [![npm](https://img.shields.io/npm/v/@dayflow/core?logo=npm&color=blue&label=version)](https://www.npmjs.com/package/@dayflow/core)
5
+ [![npm](https://img.shields.io/npm/v/@dayflow/angular?logo=npm&color=blue&label=version)](https://www.npmjs.com/package/@dayflow/angular)
8
6
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?logo=github)](https://github.com/dayflow-js/dayflow/pulls)
9
7
  [![License](https://img.shields.io/github/license/dayflow-js/dayflow)](https://github.com/dayflow-js/dayflow/blob/main/LICENSE)
10
8
  [![Discord](https://img.shields.io/badge/Discord-Join%20Chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/9vdFZKJqBb)
@@ -15,47 +13,47 @@ A flexible and feature-rich calendar component library for **React, Vue, Angular
15
13
 
16
14
  #### Day View
17
15
 
18
- ![Day View](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/DayView.png)
16
+ ![Day View](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/DayView.png)
19
17
 
20
18
  #### Week View
21
19
 
22
- ![Week View](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/WeekView.png)
20
+ ![Week View](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/WeekView.png)
23
21
 
24
22
  #### Month View
25
23
 
26
- ![Month View](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/MonthView.png)
24
+ ![Month View](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/MonthView.png)
27
25
 
28
26
  #### Year View(Fixed-Week)
29
27
 
30
- ![Year View](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/Year-Fixed-Week.png)
28
+ ![Year View](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/Year-Fixed-Week.png)
31
29
 
32
30
  #### Year View(Year-Canvas)
33
31
 
34
- ![Year Canvas View](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/Year-Canvas.png)
32
+ ![Year Canvas View](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/Year-Canvas.png)
35
33
 
36
34
  ### Mobile View Support
37
35
 
38
36
  #### Mobile Day & Year View
39
37
 
40
- ![Mobile Day and Year View](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/Mobile-Day-Year.png)
38
+ ![Mobile Day and Year View](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/Mobile-Day-Year.png)
41
39
 
42
40
  #### Mobile Week & Month View
43
41
 
44
- ![Mobile Week and Month View](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/Mobile-Week-Month.png)
42
+ ![Mobile Week and Month View](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/Mobile-Week-Month.png)
45
43
 
46
44
  ### Multiple Event Detail Panel options
47
45
 
48
46
  #### Detail Popup
49
47
 
50
- ![Popup](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/popup.png)
48
+ ![Popup](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/popup.png)
51
49
 
52
50
  #### Detail Dialog
53
51
 
54
- ![Dialog](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/dialog.png)
52
+ ![Dialog](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/dialog.png)
55
53
 
56
54
  ### Dark Mode Support
57
55
 
58
- ![Dark Mode](https://raw.githubusercontent.com/dayflow-js/calendar/main/assets/images/DarkMode.png)
56
+ ![Dark Mode](https://raw.githubusercontent.com/dayflow-js/dayflow/main/assets/images/DarkMode.png)
59
57
 
60
58
  ### Easy to resize and drag
61
59
 
@@ -74,5 +72,3 @@ If you find a bug, please file an issue on [GitHub Issues](https://github.com/da
74
72
  ## Support
75
73
 
76
74
  For questions and support, please open an issue on GitHub or go to discord.
77
-
78
- ---
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5Zmxvdy1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RheWZsb3ctYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,197 @@
1
+ import { Component, Input, ViewChild, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { CalendarRenderer, CalendarApp } from '@dayflow/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "./day-flow-portal.directive";
6
+ export class DayFlowCalendarComponent {
7
+ cdr;
8
+ calendar;
9
+ // Templates for custom content injection
10
+ eventContent;
11
+ eventDetailContent;
12
+ eventDetailDialog;
13
+ headerContent;
14
+ createCalendarDialog;
15
+ titleBarSlot;
16
+ colorPicker;
17
+ colorPickerWrapper;
18
+ collapsedSafeAreaLeft;
19
+ container;
20
+ customRenderings = [];
21
+ renderer;
22
+ unsubscribe;
23
+ internalApp;
24
+ constructor(cdr) {
25
+ this.cdr = cdr;
26
+ }
27
+ get app() {
28
+ if (this.internalApp) {
29
+ return this.internalApp;
30
+ }
31
+ if (this.calendar instanceof CalendarApp) {
32
+ return this.calendar;
33
+ }
34
+ if (this.calendar.app) {
35
+ return this.calendar.app;
36
+ }
37
+ // If it's a config object, we create an internal instance
38
+ if (this.calendar.views !==
39
+ undefined) {
40
+ this.internalApp = new CalendarApp(this.calendar);
41
+ return this.internalApp;
42
+ }
43
+ return this.calendar;
44
+ }
45
+ ngAfterViewInit() {
46
+ this.initCalendar();
47
+ }
48
+ ngOnChanges(changes) {
49
+ if (changes['calendar'] && !changes['calendar'].firstChange) {
50
+ this.internalApp = undefined;
51
+ this.destroyCalendar();
52
+ this.initCalendar();
53
+ }
54
+ else if (changes['collapsedSafeAreaLeft'] && this.renderer) {
55
+ this.renderer.setProps({
56
+ collapsedSafeAreaLeft: this.collapsedSafeAreaLeft,
57
+ });
58
+ }
59
+ }
60
+ ngOnDestroy() {
61
+ this.destroyCalendar();
62
+ }
63
+ initCalendar() {
64
+ if (!this.container || !this.calendar) {
65
+ return;
66
+ }
67
+ this.renderer = new CalendarRenderer(this.app);
68
+ this.renderer.setProps({
69
+ collapsedSafeAreaLeft: this.collapsedSafeAreaLeft,
70
+ });
71
+ this.renderer.mount(this.container.nativeElement);
72
+ this.unsubscribe = this.renderer
73
+ .getCustomRenderingStore()
74
+ .subscribe(renderings => {
75
+ this.customRenderings = [...renderings.values()];
76
+ this.cdr.markForCheck();
77
+ });
78
+ }
79
+ destroyCalendar() {
80
+ if (this.unsubscribe) {
81
+ this.unsubscribe();
82
+ }
83
+ if (this.renderer) {
84
+ this.renderer.unmount();
85
+ }
86
+ this.unsubscribe = undefined;
87
+ this.renderer = undefined;
88
+ }
89
+ getTemplate(name) {
90
+ // Switch avoids allocating a new Record on every change-detection cycle.
91
+ switch (name) {
92
+ case 'eventContent': {
93
+ return this.eventContent ?? null;
94
+ }
95
+ case 'eventDetailContent': {
96
+ return this.eventDetailContent ?? null;
97
+ }
98
+ case 'eventDetailDialog': {
99
+ return this.eventDetailDialog ?? null;
100
+ }
101
+ case 'headerContent': {
102
+ return this.headerContent ?? null;
103
+ }
104
+ case 'createCalendarDialog': {
105
+ return this.createCalendarDialog ?? null;
106
+ }
107
+ case 'titleBarSlot': {
108
+ return this.titleBarSlot ?? null;
109
+ }
110
+ case 'colorPicker': {
111
+ return this.colorPicker ?? null;
112
+ }
113
+ case 'colorPickerWrapper': {
114
+ return this.colorPickerWrapper ?? null;
115
+ }
116
+ default: {
117
+ return null;
118
+ }
119
+ }
120
+ }
121
+ // eslint-disable-next-line class-methods-use-this
122
+ trackById(_index, item) {
123
+ return item.id;
124
+ }
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DayFlowCalendarComponent, selector: "dayflow-calendar", inputs: { calendar: "calendar", eventContent: "eventContent", eventDetailContent: "eventDetailContent", eventDetailDialog: "eventDetailDialog", headerContent: "headerContent", createCalendarDialog: "createCalendarDialog", titleBarSlot: "titleBarSlot", colorPicker: "colorPicker", colorPickerWrapper: "colorPickerWrapper", collapsedSafeAreaLeft: "collapsedSafeAreaLeft" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
127
+ <div #container class="df-calendar-wrapper"></div>
128
+
129
+ <!-- Hidden area to render Angular templates before they are portaled -->
130
+ <div style="display: none">
131
+ <ng-container *ngFor="let rendering of customRenderings; trackBy: trackById">
132
+ <div
133
+ *ngIf="getTemplate(rendering.generatorName)"
134
+ [dayflowPortal]="rendering.containerEl"
135
+ >
136
+ <ng-container
137
+ *ngTemplateOutlet="
138
+ getTemplate(rendering.generatorName)!;
139
+ context: { $implicit: rendering.generatorArgs }
140
+ "
141
+ ></ng-container>
142
+ </div>
143
+ </ng-container>
144
+ </div>
145
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DayFlowPortalDirective, selector: "[dayflowPortal]", inputs: ["dayflowPortal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarComponent, decorators: [{
148
+ type: Component,
149
+ args: [{
150
+ selector: 'dayflow-calendar',
151
+ template: `
152
+ <div #container class="df-calendar-wrapper"></div>
153
+
154
+ <!-- Hidden area to render Angular templates before they are portaled -->
155
+ <div style="display: none">
156
+ <ng-container *ngFor="let rendering of customRenderings; trackBy: trackById">
157
+ <div
158
+ *ngIf="getTemplate(rendering.generatorName)"
159
+ [dayflowPortal]="rendering.containerEl"
160
+ >
161
+ <ng-container
162
+ *ngTemplateOutlet="
163
+ getTemplate(rendering.generatorName)!;
164
+ context: { $implicit: rendering.generatorArgs }
165
+ "
166
+ ></ng-container>
167
+ </div>
168
+ </ng-container>
169
+ </div>
170
+ `,
171
+ changeDetection: ChangeDetectionStrategy.OnPush,
172
+ }]
173
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { calendar: [{
174
+ type: Input
175
+ }], eventContent: [{
176
+ type: Input
177
+ }], eventDetailContent: [{
178
+ type: Input
179
+ }], eventDetailDialog: [{
180
+ type: Input
181
+ }], headerContent: [{
182
+ type: Input
183
+ }], createCalendarDialog: [{
184
+ type: Input
185
+ }], titleBarSlot: [{
186
+ type: Input
187
+ }], colorPicker: [{
188
+ type: Input
189
+ }], colorPickerWrapper: [{
190
+ type: Input
191
+ }], collapsedSafeAreaLeft: [{
192
+ type: Input
193
+ }], container: [{
194
+ type: ViewChild,
195
+ args: ['container']
196
+ }] } });
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWZsb3ctY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kYXktZmxvdy1jYWxlbmRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQVFMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBMEI5RCxNQUFNLE9BQU8sd0JBQXdCO0lBdUJmO0lBcEJYLFFBQVEsQ0FBMkQ7SUFFNUUseUNBQXlDO0lBQ2hDLFlBQVksQ0FBd0I7SUFDcEMsa0JBQWtCLENBQXdCO0lBQzFDLGlCQUFpQixDQUF3QjtJQUN6QyxhQUFhLENBQXdCO0lBQ3JDLG9CQUFvQixDQUF3QjtJQUM1QyxZQUFZLENBQXdCO0lBQ3BDLFdBQVcsQ0FBd0I7SUFDbkMsa0JBQWtCLENBQXdCO0lBQzFDLHFCQUFxQixDQUFVO0lBRWhCLFNBQVMsQ0FBMkI7SUFFNUQsZ0JBQWdCLEdBQXNCLEVBQUUsQ0FBQztJQUNqQyxRQUFRLENBQW9CO0lBQzVCLFdBQVcsQ0FBYztJQUN6QixXQUFXLENBQWdCO0lBRW5DLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUcsQ0FBQztJQUU5QyxJQUFZLEdBQUc7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUssSUFBSSxDQUFDLFFBQXNELENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckUsT0FBUSxJQUFJLENB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QWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIEFmdGVyVmlld0luaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIElDYWxlbmRhckFwcCxcbiAgQ2FsZW5kYXJBcHBDb25maWcsXG4gIFVzZUNhbGVuZGFyQXBwUmV0dXJuLFxuICBDdXN0b21SZW5kZXJpbmcsXG59IGZyb20gJ0BkYXlmbG93L2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJSZW5kZXJlciwgQ2FsZW5kYXJBcHAgfSBmcm9tICdAZGF5Zmxvdy9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF5Zmxvdy1jYWxlbmRhcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAjY29udGFpbmVyIGNsYXNzPVwiZGYtY2FsZW5kYXItd3JhcHBlclwiPjwvZGl2PlxuXG4gICAgPCEtLSBIaWRkZW4gYXJlYSB0byByZW5kZXIgQW5ndWxhciB0ZW1wbGF0ZXMgYmVmb3JlIHRoZXkgYXJlIHBvcnRhbGVkIC0tPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZW5kZXJpbmcgb2YgY3VzdG9tUmVuZGVyaW5nczsgdHJhY2tCeTogdHJhY2tCeUlkXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cImdldFRlbXBsYXRlKHJlbmRlcmluZy5nZW5lcmF0b3JOYW1lKVwiXG4gICAgICAgICAgW2RheWZsb3dQb3J0YWxdPVwicmVuZGVyaW5nLmNvbnRhaW5lckVsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgIGdldFRlbXBsYXRlKHJlbmRlcmluZy5nZW5lcmF0b3JOYW1lKSE7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiByZW5kZXJpbmcuZ2VuZXJhdG9yQXJncyB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERheUZsb3dDYWxlbmRhckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIGNhbGVuZGFyITogSUNhbGVuZGFyQXBwIHwgVXNlQ2FsZW5kYXJBcHBSZXR1cm4gfCBDYWxlbmRhckFwcENvbmZpZztcblxuICAvLyBUZW1wbGF0ZXMgZm9yIGN1c3RvbSBjb250ZW50IGluamVjdGlvblxuICBASW5wdXQoKSBldmVudENvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQElucHV0KCkgZXZlbnREZXRhaWxDb250ZW50PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBJbnB1dCgpIGV2ZW50RGV0YWlsRGlhbG9nPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBJbnB1dCgpIGhlYWRlckNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQElucHV0KCkgY3JlYXRlQ2FsZW5kYXJEaWFsb2c/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQElucHV0KCkgdGl0bGVCYXJTbG90PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBJbnB1dCgpIGNvbG9yUGlja2VyPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIEBJbnB1dCgpIGNvbG9yUGlja2VyV3JhcHBlcj86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICBASW5wdXQoKSBjb2xsYXBzZWRTYWZlQXJlYUxlZnQ/OiBudW1iZXI7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgY29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY3VzdG9tUmVuZGVyaW5nczogQ3VzdG9tUmVuZGVyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZW5kZXJlcj86IENhbGVuZGFyUmVuZGVyZXI7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmU/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIGludGVybmFsQXBwPzogSUNhbGVuZGFyQXBwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBwcml2YXRlIGdldCBhcHAoKTogSUNhbGVuZGFyQXBwIHtcbiAgICBpZiAodGhpcy5pbnRlcm5hbEFwcCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxBcHA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2FsZW5kYXIgaW5zdGFuY2VvZiBDYWxlbmRhckFwcCkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXI7XG4gICAgfVxuXG4gICAgaWYgKCh0aGlzLmNhbGVuZGFyIGFzIHsgYXBwPzogSUNhbGVuZGFyQXBwOyB2aWV3cz86IHVua25vd25bXSB9KS5hcHApIHtcbiAgICAgIHJldHVybiAodGhpcy5jYWxlbmRhciBhcyB7IGFwcD86IElDYWxlbmRhckFwcDsgdmlld3M/OiB1bmtub3duW10gfSkuYXBwITtcbiAgICB9XG5cbiAgICAvLyBJZiBpdCdzIGEgY29uZmlnIG9iamVjdCwgd2UgY3JlYXRlIGFuIGludGVybmFsIGluc3RhbmNlXG4gICAgaWYgKFxuICAgICAgKHRoaXMuY2FsZW5kYXIgYXMgeyBhcHA/OiBJQ2FsZW5kYXJBcHA7IHZpZXdzPzogdW5rbm93bltdIH0pLnZpZXdzICE9PVxuICAgICAgdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICB0aGlzLmludGVybmFsQXBwID0gbmV3IENhbGVuZGFyQXBwKHRoaXMuY2FsZW5kYXIgYXMgQ2FsZW5kYXJBcHBDb25maWcpO1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxBcHA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXIgYXMgSUNhbGVuZGFyQXBwO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdENhbGVuZGFyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2NhbGVuZGFyJ10gJiYgIWNoYW5nZXNbJ2NhbGVuZGFyJ10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxBcHAgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmRlc3Ryb3lDYWxlbmRhcigpO1xuICAgICAgdGhpcy5pbml0Q2FsZW5kYXIoKTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ2NvbGxhcHNlZFNhZmVBcmVhTGVmdCddICYmIHRoaXMucmVuZGVyZXIpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcHMoe1xuICAgICAgICBjb2xsYXBzZWRTYWZlQXJlYUxlZnQ6IHRoaXMuY29sbGFwc2VkU2FmZUFyZWFMZWZ0LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENhbGVuZGFyKCkge1xuICAgIGlmICghdGhpcy5jb250YWluZXIgfHwgIXRoaXMuY2FsZW5kYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyID0gbmV3IENhbGVuZGFyUmVuZGVyZXIodGhpcy5hcHApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcHMoe1xuICAgICAgY29sbGFwc2VkU2FmZUFyZWFMZWZ0OiB0aGlzLmNvbGxhcHNlZFNhZmVBcmVhTGVmdCxcbiAgICB9KTtcbiAgICB0aGlzLnJlbmRlcmVyLm1vdW50KHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgdGhpcy51bnN1YnNjcmliZSA9IHRoaXMucmVuZGVyZXJcbiAgICAgIC5nZXRDdXN0b21SZW5kZXJpbmdTdG9yZSgpXG4gICAgICAuc3Vic2NyaWJlKHJlbmRlcmluZ3MgPT4ge1xuICAgICAgICB0aGlzLmN1c3RvbVJlbmRlcmluZ3MgPSBbLi4ucmVuZGVyaW5ncy52YWx1ZXMoKV07XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lDYWxlbmRhcigpIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZSkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZW5kZXJlcikge1xuICAgICAgdGhpcy5yZW5kZXJlci51bm1vdW50KCk7XG4gICAgfVxuICAgIHRoaXMudW5zdWJzY3JpYmUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5yZW5kZXJlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFRlbXBsYXRlKG5hbWU6IHN0cmluZyk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCB7XG4gICAgLy8gU3dpdGNoIGF2b2lkcyBhbGxvY2F0aW5nIGEgbmV3IFJlY29yZCBvbiBldmVyeSBjaGFuZ2UtZGV0ZWN0aW9uIGN5Y2xlLlxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAnZXZlbnRDb250ZW50Jzoge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudENvbnRlbnQgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2V2ZW50RGV0YWlsQ29udGVudCc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZlbnREZXRhaWxDb250ZW50ID8/IG51bGw7XG4gICAgICB9XG4gICAgICBjYXNlICdldmVudERldGFpbERpYWxvZyc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZlbnREZXRhaWxEaWFsb2cgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2hlYWRlckNvbnRlbnQnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhlYWRlckNvbnRlbnQgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NyZWF0ZUNhbGVuZGFyRGlhbG9nJzoge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVDYWxlbmRhckRpYWxvZyA/PyBudWxsO1xuICAgICAgfVxuICAgICAgY2FzZSAndGl0bGVCYXJTbG90Jzoge1xuICAgICAgICByZXR1cm4gdGhpcy50aXRsZUJhclNsb3QgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NvbG9yUGlja2VyJzoge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclBpY2tlciA/PyBudWxsO1xuICAgICAgfVxuICAgICAgY2FzZSAnY29sb3JQaWNrZXJXcmFwcGVyJzoge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclBpY2tlcldyYXBwZXIgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgdHJhY2tCeUlkKF9pbmRleDogbnVtYmVyLCBpdGVtOiBDdXN0b21SZW5kZXJpbmcpIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { DayFlowCalendarComponent } from './day-flow-calendar.component';
4
+ import { DayFlowPortalDirective } from './day-flow-portal.directive';
5
+ import * as i0 from "@angular/core";
6
+ // eslint-disable-next-line @typescript-eslint/no-extraneous-class
7
+ export class DayFlowCalendarModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, declarations: [DayFlowCalendarComponent, DayFlowPortalDirective], imports: [CommonModule], exports: [DayFlowCalendarComponent, DayFlowPortalDirective] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, imports: [CommonModule] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [DayFlowCalendarComponent, DayFlowPortalDirective],
16
+ imports: [CommonModule],
17
+ exports: [DayFlowCalendarComponent, DayFlowPortalDirective],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWZsb3ctY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kYXktZmxvdy1jYWxlbmRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBT3JFLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8scUJBQXFCO3dHQUFyQixxQkFBcUI7eUdBQXJCLHFCQUFxQixpQkFMakIsd0JBQXdCLEVBQUUsc0JBQXNCLGFBQ3JELFlBQVksYUFDWix3QkFBd0IsRUFBRSxzQkFBc0I7eUdBRy9DLHFCQUFxQixZQUp0QixZQUFZOzs0RkFJWCxxQkFBcUI7a0JBTmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUM7aUJBQzVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERheUZsb3dDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vZGF5LWZsb3ctY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IERheUZsb3dQb3J0YWxEaXJlY3RpdmUgfSBmcm9tICcuL2RheS1mbG93LXBvcnRhbC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEYXlGbG93Q2FsZW5kYXJDb21wb25lbnQsIERheUZsb3dQb3J0YWxEaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0RheUZsb3dDYWxlbmRhckNvbXBvbmVudCwgRGF5Rmxvd1BvcnRhbERpcmVjdGl2ZV0sXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHRyYW5lb3VzLWNsYXNzXG5leHBvcnQgY2xhc3MgRGF5Rmxvd0NhbGVuZGFyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Directive, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DayFlowPortalDirective {
4
+ el;
5
+ targetEl;
6
+ constructor(el) {
7
+ this.el = el;
8
+ }
9
+ ngOnChanges(changes) {
10
+ if (changes['targetEl'] && this.targetEl) {
11
+ this.targetEl.append(this.el.nativeElement);
12
+ }
13
+ }
14
+ ngOnDestroy() {
15
+ if (this.el.nativeElement.parentNode === this.targetEl) {
16
+ this.el.nativeElement.remove();
17
+ }
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowPortalDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DayFlowPortalDirective, selector: "[dayflowPortal]", inputs: { targetEl: ["dayflowPortal", "targetEl"] }, usesOnChanges: true, ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowPortalDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[dayflowPortal]',
26
+ }]
27
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { targetEl: [{
28
+ type: Input,
29
+ args: ['dayflowPortal']
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWZsb3ctcG9ydGFsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZGF5LWZsb3ctcG9ydGFsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLHNCQUFzQjtJQUdiO0lBRkksUUFBUSxDQUFlO0lBRS9DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV0QyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO3dHQWZVLHNCQUFzQjs0RkFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOytFQUV5QixRQUFRO3NCQUEvQixLQUFLO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYXlmbG93UG9ydGFsXScsXG59KVxuZXhwb3J0IGNsYXNzIERheUZsb3dQb3J0YWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnZGF5Zmxvd1BvcnRhbCcpIHRhcmdldEVsITogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3RhcmdldEVsJ10gJiYgdGhpcy50YXJnZXRFbCkge1xuICAgICAgdGhpcy50YXJnZXRFbC5hcHBlbmQodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUgPT09IHRoaXMudGFyZ2V0RWwpIHtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Public API Surface of @dayflow/angular
3
+ */
4
+ export * from './lib/day-flow-calendar.component';
5
+ export * from './lib/day-flow-calendar.module';
6
+ export * from './lib/day-flow-portal.directive';
7
+ export { CalendarApp, CalendarRegistry, createEventsPlugin, createDayView, createWeekView, createMonthView, createYearView, ViewType, } from '@dayflow/core';
8
+ export * from '@dayflow/core';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixjQUFjLEVBQ2QsZUFBZSxFQUNmLGNBQWMsRUFDZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEBkYXlmbG93L2FuZ3VsYXJcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXktZmxvdy1jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF5LWZsb3ctY2FsZW5kYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RheS1mbG93LXBvcnRhbC5kaXJlY3RpdmUnO1xuXG5leHBvcnQge1xuICBDYWxlbmRhckFwcCxcbiAgQ2FsZW5kYXJSZWdpc3RyeSxcbiAgY3JlYXRlRXZlbnRzUGx1Z2luLFxuICBjcmVhdGVEYXlWaWV3LFxuICBjcmVhdGVXZWVrVmlldyxcbiAgY3JlYXRlTW9udGhWaWV3LFxuICBjcmVhdGVZZWFyVmlldyxcbiAgVmlld1R5cGUsXG59IGZyb20gJ0BkYXlmbG93L2NvcmUnO1xuXG5leHBvcnQgKiBmcm9tICdAZGF5Zmxvdy9jb3JlJztcbiJdfQ==
@@ -0,0 +1,254 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Input, Directive, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import { CalendarApp, CalendarRenderer } from '@dayflow/core';
4
+ export * from '@dayflow/core';
5
+ export { CalendarApp, CalendarRegistry, ViewType, createDayView, createEventsPlugin, createMonthView, createWeekView, createYearView } from '@dayflow/core';
6
+ import * as i1 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+
9
+ class DayFlowPortalDirective {
10
+ el;
11
+ targetEl;
12
+ constructor(el) {
13
+ this.el = el;
14
+ }
15
+ ngOnChanges(changes) {
16
+ if (changes['targetEl'] && this.targetEl) {
17
+ this.targetEl.append(this.el.nativeElement);
18
+ }
19
+ }
20
+ ngOnDestroy() {
21
+ if (this.el.nativeElement.parentNode === this.targetEl) {
22
+ this.el.nativeElement.remove();
23
+ }
24
+ }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowPortalDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
26
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DayFlowPortalDirective, selector: "[dayflowPortal]", inputs: { targetEl: ["dayflowPortal", "targetEl"] }, usesOnChanges: true, ngImport: i0 });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowPortalDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[dayflowPortal]',
32
+ }]
33
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { targetEl: [{
34
+ type: Input,
35
+ args: ['dayflowPortal']
36
+ }] } });
37
+
38
+ class DayFlowCalendarComponent {
39
+ cdr;
40
+ calendar;
41
+ // Templates for custom content injection
42
+ eventContent;
43
+ eventDetailContent;
44
+ eventDetailDialog;
45
+ headerContent;
46
+ createCalendarDialog;
47
+ titleBarSlot;
48
+ colorPicker;
49
+ colorPickerWrapper;
50
+ collapsedSafeAreaLeft;
51
+ container;
52
+ customRenderings = [];
53
+ renderer;
54
+ unsubscribe;
55
+ internalApp;
56
+ constructor(cdr) {
57
+ this.cdr = cdr;
58
+ }
59
+ get app() {
60
+ if (this.internalApp) {
61
+ return this.internalApp;
62
+ }
63
+ if (this.calendar instanceof CalendarApp) {
64
+ return this.calendar;
65
+ }
66
+ if (this.calendar.app) {
67
+ return this.calendar.app;
68
+ }
69
+ // If it's a config object, we create an internal instance
70
+ if (this.calendar.views !==
71
+ undefined) {
72
+ this.internalApp = new CalendarApp(this.calendar);
73
+ return this.internalApp;
74
+ }
75
+ return this.calendar;
76
+ }
77
+ ngAfterViewInit() {
78
+ this.initCalendar();
79
+ }
80
+ ngOnChanges(changes) {
81
+ if (changes['calendar'] && !changes['calendar'].firstChange) {
82
+ this.internalApp = undefined;
83
+ this.destroyCalendar();
84
+ this.initCalendar();
85
+ }
86
+ else if (changes['collapsedSafeAreaLeft'] && this.renderer) {
87
+ this.renderer.setProps({
88
+ collapsedSafeAreaLeft: this.collapsedSafeAreaLeft,
89
+ });
90
+ }
91
+ }
92
+ ngOnDestroy() {
93
+ this.destroyCalendar();
94
+ }
95
+ initCalendar() {
96
+ if (!this.container || !this.calendar) {
97
+ return;
98
+ }
99
+ this.renderer = new CalendarRenderer(this.app);
100
+ this.renderer.setProps({
101
+ collapsedSafeAreaLeft: this.collapsedSafeAreaLeft,
102
+ });
103
+ this.renderer.mount(this.container.nativeElement);
104
+ this.unsubscribe = this.renderer
105
+ .getCustomRenderingStore()
106
+ .subscribe(renderings => {
107
+ this.customRenderings = [...renderings.values()];
108
+ this.cdr.markForCheck();
109
+ });
110
+ }
111
+ destroyCalendar() {
112
+ if (this.unsubscribe) {
113
+ this.unsubscribe();
114
+ }
115
+ if (this.renderer) {
116
+ this.renderer.unmount();
117
+ }
118
+ this.unsubscribe = undefined;
119
+ this.renderer = undefined;
120
+ }
121
+ getTemplate(name) {
122
+ // Switch avoids allocating a new Record on every change-detection cycle.
123
+ switch (name) {
124
+ case 'eventContent': {
125
+ return this.eventContent ?? null;
126
+ }
127
+ case 'eventDetailContent': {
128
+ return this.eventDetailContent ?? null;
129
+ }
130
+ case 'eventDetailDialog': {
131
+ return this.eventDetailDialog ?? null;
132
+ }
133
+ case 'headerContent': {
134
+ return this.headerContent ?? null;
135
+ }
136
+ case 'createCalendarDialog': {
137
+ return this.createCalendarDialog ?? null;
138
+ }
139
+ case 'titleBarSlot': {
140
+ return this.titleBarSlot ?? null;
141
+ }
142
+ case 'colorPicker': {
143
+ return this.colorPicker ?? null;
144
+ }
145
+ case 'colorPickerWrapper': {
146
+ return this.colorPickerWrapper ?? null;
147
+ }
148
+ default: {
149
+ return null;
150
+ }
151
+ }
152
+ }
153
+ // eslint-disable-next-line class-methods-use-this
154
+ trackById(_index, item) {
155
+ return item.id;
156
+ }
157
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
158
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DayFlowCalendarComponent, selector: "dayflow-calendar", inputs: { calendar: "calendar", eventContent: "eventContent", eventDetailContent: "eventDetailContent", eventDetailDialog: "eventDetailDialog", headerContent: "headerContent", createCalendarDialog: "createCalendarDialog", titleBarSlot: "titleBarSlot", colorPicker: "colorPicker", colorPickerWrapper: "colorPickerWrapper", collapsedSafeAreaLeft: "collapsedSafeAreaLeft" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
159
+ <div #container class="df-calendar-wrapper"></div>
160
+
161
+ <!-- Hidden area to render Angular templates before they are portaled -->
162
+ <div style="display: none">
163
+ <ng-container *ngFor="let rendering of customRenderings; trackBy: trackById">
164
+ <div
165
+ *ngIf="getTemplate(rendering.generatorName)"
166
+ [dayflowPortal]="rendering.containerEl"
167
+ >
168
+ <ng-container
169
+ *ngTemplateOutlet="
170
+ getTemplate(rendering.generatorName)!;
171
+ context: { $implicit: rendering.generatorArgs }
172
+ "
173
+ ></ng-container>
174
+ </div>
175
+ </ng-container>
176
+ </div>
177
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DayFlowPortalDirective, selector: "[dayflowPortal]", inputs: ["dayflowPortal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
178
+ }
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarComponent, decorators: [{
180
+ type: Component,
181
+ args: [{
182
+ selector: 'dayflow-calendar',
183
+ template: `
184
+ <div #container class="df-calendar-wrapper"></div>
185
+
186
+ <!-- Hidden area to render Angular templates before they are portaled -->
187
+ <div style="display: none">
188
+ <ng-container *ngFor="let rendering of customRenderings; trackBy: trackById">
189
+ <div
190
+ *ngIf="getTemplate(rendering.generatorName)"
191
+ [dayflowPortal]="rendering.containerEl"
192
+ >
193
+ <ng-container
194
+ *ngTemplateOutlet="
195
+ getTemplate(rendering.generatorName)!;
196
+ context: { $implicit: rendering.generatorArgs }
197
+ "
198
+ ></ng-container>
199
+ </div>
200
+ </ng-container>
201
+ </div>
202
+ `,
203
+ changeDetection: ChangeDetectionStrategy.OnPush,
204
+ }]
205
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { calendar: [{
206
+ type: Input
207
+ }], eventContent: [{
208
+ type: Input
209
+ }], eventDetailContent: [{
210
+ type: Input
211
+ }], eventDetailDialog: [{
212
+ type: Input
213
+ }], headerContent: [{
214
+ type: Input
215
+ }], createCalendarDialog: [{
216
+ type: Input
217
+ }], titleBarSlot: [{
218
+ type: Input
219
+ }], colorPicker: [{
220
+ type: Input
221
+ }], colorPickerWrapper: [{
222
+ type: Input
223
+ }], collapsedSafeAreaLeft: [{
224
+ type: Input
225
+ }], container: [{
226
+ type: ViewChild,
227
+ args: ['container']
228
+ }] } });
229
+
230
+ // eslint-disable-next-line @typescript-eslint/no-extraneous-class
231
+ class DayFlowCalendarModule {
232
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
233
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, declarations: [DayFlowCalendarComponent, DayFlowPortalDirective], imports: [CommonModule], exports: [DayFlowCalendarComponent, DayFlowPortalDirective] });
234
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, imports: [CommonModule] });
235
+ }
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DayFlowCalendarModule, decorators: [{
237
+ type: NgModule,
238
+ args: [{
239
+ declarations: [DayFlowCalendarComponent, DayFlowPortalDirective],
240
+ imports: [CommonModule],
241
+ exports: [DayFlowCalendarComponent, DayFlowPortalDirective],
242
+ }]
243
+ }] });
244
+
245
+ /*
246
+ * Public API Surface of @dayflow/angular
247
+ */
248
+
249
+ /**
250
+ * Generated bundle index. Do not edit.
251
+ */
252
+
253
+ export { DayFlowCalendarComponent, DayFlowCalendarModule, DayFlowPortalDirective };
254
+ //# sourceMappingURL=dayflow-angular.mjs.map
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@dayflow/angular" />
5
+ export * from './public-api';
@@ -0,0 +1,32 @@
1
+ import { ElementRef, OnChanges, OnDestroy, AfterViewInit, SimpleChanges, TemplateRef, ChangeDetectorRef } from '@angular/core';
2
+ import type { ICalendarApp, CalendarAppConfig, UseCalendarAppReturn, CustomRendering } from '@dayflow/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class DayFlowCalendarComponent implements AfterViewInit, OnChanges, OnDestroy {
5
+ private cdr;
6
+ calendar: ICalendarApp | UseCalendarAppReturn | CalendarAppConfig;
7
+ eventContent?: TemplateRef<unknown>;
8
+ eventDetailContent?: TemplateRef<unknown>;
9
+ eventDetailDialog?: TemplateRef<unknown>;
10
+ headerContent?: TemplateRef<unknown>;
11
+ createCalendarDialog?: TemplateRef<unknown>;
12
+ titleBarSlot?: TemplateRef<unknown>;
13
+ colorPicker?: TemplateRef<unknown>;
14
+ colorPickerWrapper?: TemplateRef<unknown>;
15
+ collapsedSafeAreaLeft?: number;
16
+ container: ElementRef<HTMLElement>;
17
+ customRenderings: CustomRendering[];
18
+ private renderer?;
19
+ private unsubscribe?;
20
+ private internalApp?;
21
+ constructor(cdr: ChangeDetectorRef);
22
+ private get app();
23
+ ngAfterViewInit(): void;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ ngOnDestroy(): void;
26
+ private initCalendar;
27
+ private destroyCalendar;
28
+ getTemplate(name: string): TemplateRef<unknown> | null;
29
+ trackById(_index: number, item: CustomRendering): string;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<DayFlowCalendarComponent, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<DayFlowCalendarComponent, "dayflow-calendar", never, { "calendar": { "alias": "calendar"; "required": false; }; "eventContent": { "alias": "eventContent"; "required": false; }; "eventDetailContent": { "alias": "eventDetailContent"; "required": false; }; "eventDetailDialog": { "alias": "eventDetailDialog"; "required": false; }; "headerContent": { "alias": "headerContent"; "required": false; }; "createCalendarDialog": { "alias": "createCalendarDialog"; "required": false; }; "titleBarSlot": { "alias": "titleBarSlot"; "required": false; }; "colorPicker": { "alias": "colorPicker"; "required": false; }; "colorPickerWrapper": { "alias": "colorPickerWrapper"; "required": false; }; "collapsedSafeAreaLeft": { "alias": "collapsedSafeAreaLeft"; "required": false; }; }, {}, never, never, false, never>;
32
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./day-flow-calendar.component";
3
+ import * as i2 from "./day-flow-portal.directive";
4
+ import * as i3 from "@angular/common";
5
+ export declare class DayFlowCalendarModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DayFlowCalendarModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DayFlowCalendarModule, [typeof i1.DayFlowCalendarComponent, typeof i2.DayFlowPortalDirective], [typeof i3.CommonModule], [typeof i1.DayFlowCalendarComponent, typeof i2.DayFlowPortalDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<DayFlowCalendarModule>;
9
+ }
@@ -0,0 +1,11 @@
1
+ import { ElementRef, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DayFlowPortalDirective implements OnChanges, OnDestroy {
4
+ private el;
5
+ targetEl: HTMLElement;
6
+ constructor(el: ElementRef);
7
+ ngOnChanges(changes: SimpleChanges): void;
8
+ ngOnDestroy(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DayFlowPortalDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DayFlowPortalDirective, "[dayflowPortal]", never, { "targetEl": { "alias": "dayflowPortal"; "required": false; }; }, {}, never, never, false, never>;
11
+ }
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "@dayflow/angular",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "Angular adapter for DayFlow calendar",
5
5
  "files": [
6
- "dist",
6
+ "**/*.mjs",
7
+ "**/*.d.ts",
8
+ "**/*.json",
7
9
  "README.md",
8
10
  "LICENSE"
9
11
  ],
@@ -25,7 +27,7 @@
25
27
  "peerDependencies": {
26
28
  "@angular/common": ">=14.0.0",
27
29
  "@angular/core": ">=14.0.0",
28
- "@dayflow/core": "workspace:*"
30
+ "@dayflow/core": "3.2.0"
29
31
  },
30
32
  "sideEffects": false,
31
33
  "dependencies": {
@@ -0,0 +1,5 @@
1
+ export * from './lib/day-flow-calendar.component';
2
+ export * from './lib/day-flow-calendar.module';
3
+ export * from './lib/day-flow-portal.directive';
4
+ export { CalendarApp, CalendarRegistry, createEventsPlugin, createDayView, createWeekView, createMonthView, createYearView, ViewType, } from '@dayflow/core';
5
+ export * from '@dayflow/core';