@acpaas-ui/ngx-calendar 6.0.0-beta.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/esm2020/lib/components/calendar/calendar.component.mjs +2 -2
- package/esm2020/lib/components/month/month.component.mjs +4 -4
- package/esm2020/lib/components/year/year.component.mjs +3 -3
- package/esm2020/lib/services/calendar.service.mjs +2 -2
- package/fesm2015/acpaas-ui-ngx-calendar.mjs +3 -3
- package/fesm2015/acpaas-ui-ngx-calendar.mjs.map +1 -1
- package/fesm2020/acpaas-ui-ngx-calendar.mjs +3 -3
- package/fesm2020/acpaas-ui-ngx-calendar.mjs.map +1 -1
- package/lib/components/calendar/calendar.component.d.ts +1 -1
- package/lib/components/month/month.component.d.ts +1 -1
- package/lib/services/calendar.service.d.ts +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -14,13 +14,13 @@ Visit our [documentation site](https://antwerp-ui.digipolis.be/) for full how-to
|
|
|
14
14
|
|
|
15
15
|
### API
|
|
16
16
|
|
|
17
|
-
| Name
|
|
18
|
-
|
|
|
19
|
-
| `@Input() selectedDate: Date;`
|
|
20
|
-
| `@Input() range: DateRange;`
|
|
21
|
-
| `@Input() weekdayLabels: WeekdayLabelsConfig;` | -
|
|
22
|
-
| `@Input() monthLabels: MonthLabelsConfig;`
|
|
23
|
-
| `@Output() selectDate: EventEmitter<any>`
|
|
17
|
+
| Name | Default value | Description |
|
|
18
|
+
| ---------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------- |
|
|
19
|
+
| `@Input() selectedDate: Date;` | - | The date the user selected. Will be used as a base for the different calendar views. |
|
|
20
|
+
| `@Input() range: DateRange;` | - | A date range to decide which dates are available for selection. |
|
|
21
|
+
| `@Input() weekdayLabels: WeekdayLabelsConfig;` | - | Override the default weekday labels. Can also be done in the `forChild` method. |
|
|
22
|
+
| `@Input() monthLabels: MonthLabelsConfig;` | - | Override the default month labels. Can also be done in the `forChild` method. |
|
|
23
|
+
| `@Output() selectDate: EventEmitter<any>` | - | Will emit the selected date and completion state (the date is complete when a day is picked). |
|
|
24
24
|
|
|
25
25
|
### Example
|
|
26
26
|
|
|
@@ -41,7 +41,7 @@ export class AppModule {};
|
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
```
|
|
44
|
-
import { DateRange } from '@acpaas-ui/
|
|
44
|
+
import { DateRange } from '@acpaas-ui/ngx-utils';
|
|
45
45
|
|
|
46
46
|
public clickedDate: Date = new Date();
|
|
47
47
|
public range: DateRange = [1, 6];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Output, } from '@angular/core';
|
|
2
|
-
import { DateHelper } from '@acpaas-ui/
|
|
2
|
+
import { DateHelper } from '@acpaas-ui/ngx-utils';
|
|
3
3
|
import { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_MONTH_LABELS, CALENDAR_WEEKDAY_LABELS, } from '../../calendar.conf';
|
|
4
4
|
import { CALENDAR_VIEW_DECENNIA, CALENDAR_VIEW_MONTH, CALENDAR_VIEW_YEAR, } from '../../types/calendar.types';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -211,4 +211,4 @@ export class CalendarComponent {
|
|
|
211
211
|
}], selectDate: [{
|
|
212
212
|
type: Output
|
|
213
213
|
}] }); })();
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBR25CLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7SUNGcEMsOENBUUM7SUFQQywwTUFBYyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFPaEMsaUJBQXFCOzs7SUFMcEIsOENBQXlCLHVCQUFBLDZCQUFBLHFDQUFBLHVDQUFBOzs7O0lBTTNCLDZDQU1DO0lBTEMsd01BQWMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBS2hDLGlCQUFvQjs7O0lBSG5CLDhDQUF5QixtQ0FBQSxxQ0FBQTs7OztJQUkzQixpREFLQztJQUpDLGdOQUFjLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUloQyxpQkFBd0I7OztJQUZ2Qiw4Q0FBeUIscUNBQUE7O0FEUjNCLE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQ3dDLG9CQUFvQiw2QkFBNkIsRUFDL0Msc0JBQXNCLCtCQUErQixFQUNyRixlQUFnQztRQUZGLHNC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dUJBQUMscUJBQXFCOztzQkFDNUIsTUFBTTt1QkFBQyx1QkFBdUI7c0RBekJQLElBQUk7a0JBQTdCLFdBQVc7bUJBQUMsV0FBVztZQUNTLFVBQVU7a0JBQTFDLFdBQVc7bUJBQUMsa0JBQWtCO1lBRXRCLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRU4sUUFBUTtrQkFEUCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDSSxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERhdGVIZWxwZXIsIERhdGVSYW5nZSB9IGZyb20gJ0BhY3BhYXMtdWkvanMtZGF0ZS11dGlscyc7XG5cbmltcG9ydCB7XG4gIENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICBDQUxFTkRBUl9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX1dFRUtEQVlfTEFCRUxTLFxufSBmcm9tICcuLi8uLi9jYWxlbmRhci5jb25mJztcbmltcG9ydCB7XG4gIENBTEVOREFSX1ZJRVdfREVDRU5OSUEsXG4gIENBTEVOREFSX1ZJRVdfTU9OVEgsXG4gIENBTEVOREFSX1ZJRVdfWUVBUixcbiAgTW9udGhMYWJlbHNDb25maWcsXG4gIFdlZWtkYXlMYWJlbHNDb25maWcsXG59IGZyb20gJy4uLy4uL3R5cGVzL2NhbGVuZGFyLnR5cGVzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50ZXJ2YWwgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2FwcGxpY2F0aW9uJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYWhpZGRlbiA9ICdmYWxzZSc7XG5cbiAgQElucHV0KCkgYXJpYVByZXZpb3VzTGFiZWxzID0gWydHYSBuYWFyIHZvcmlnZSBtYWFuZCcsICdHYSBuYWFyIHZvcmlnIGphYXInLCAnR2EgbmFhciB2b3JpZ2UgMTggamFyZW4nXTtcbiAgQElucHV0KCkgYXJpYU5leHRMYWJlbHMgPSBbJ0dhIG5hYXIgdm9sZ2VuZGUgbWFhbmQnLCAnR2EgbmFhciB2b2xnZW5kIGphYXInLCAnR2EgbmFhciB2b2xnZW5kZSAxOCBqYXJlbiddO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgcmFuZ2U6IERhdGVSYW5nZTtcbiAgQElucHV0KClcbiAgaW50ZXJ2YWw/OiBJbnRlcnZhbC5JSW50ZXJ2YWw8RGF0ZT47XG4gIEBJbnB1dCgpIHdlZWtkYXlMYWJlbHM6IFdlZWtkYXlMYWJlbHNDb25maWc7XG4gIEBJbnB1dCgpIG1vbnRoTGFiZWxzOiBNb250aExhYmVsc0NvbmZpZztcbiAgQE91dHB1dCgpIHNlbGVjdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIENBTEVOREFSX1ZJRVdfTU9OVEggPSBDQUxFTkRBUl9WSUVXX01PTlRIO1xuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19ZRUFSID0gQ0FMRU5EQVJfVklFV19ZRUFSO1xuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19ERUNFTk5JQSA9IENBTEVOREFSX1ZJRVdfREVDRU5OSUE7XG4gIHB1YmxpYyBhY3RpdmVEYXRlOiBEYXRlO1xuICBwdWJsaWMgYWN0aXZlVmlldzogc3RyaW5nID0gQ0FMRU5EQVJfVklFV19NT05USDtcbiAgcHVibGljIGhlYWRlckxhYmVsID0gJyc7XG4gIHB1YmxpYyBhcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzBdO1xuICBwdWJsaWMgYXJpYU5leHRMYWJlbCA9IHRoaXMuYXJpYU5leHRMYWJlbHNbMF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9NT05USF9MQUJFTFMpIHB1YmxpYyBtb2R1bGVNb250aExhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMpIHB1YmxpYyBtb2R1bGVXZWVrZGF5TGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9XRUVLREFZX0xBQkVMUyxcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0Q29udHJvbCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IGNoYW5nZXMuc2VsZWN0ZWREYXRlICYmIGNoYW5nZXMuc2VsZWN0ZWREYXRlLmN1cnJlbnRWYWx1ZSA/IGNoYW5nZXMuc2VsZWN0ZWREYXRlIDogbnVsbDtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiB0aGlzLm1vbnRoTGFiZWxzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgc2VsZWN0ZWREYXRlICYmXG4gICAgICAhRGF0ZUhlbHBlci5kYXRlc0FyZUVxdWFsKHNlbGVjdGVkRGF0ZS5jdXJyZW50VmFsdWUsIHNlbGVjdGVkRGF0ZS5wcmV2aW91c1ZhbHVlKVxuICAgICkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBhY3RpdmVEYXRlVG9TZXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICBpZiAodGhpcy5pbnRlcnZhbCAmJiB0aGlzLmludGVydmFsLmlzSW5SYW5nZShhY3RpdmVEYXRlVG9TZXQpKSB7XG4gICAgICAgIGFjdGl2ZURhdGVUb1NldCA9IHRoaXMuaW50ZXJ2YWwubWluO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBEYXRlSGVscGVyLnBhcnNlRGF0ZShhY3RpdmVEYXRlVG9TZXQpO1xuXG4gICAgICB0aGlzLmluaXRDb250cm9sKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQWN0aXZlRGF0ZShmYWN0b3I6IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVEYXRlID0gdGhpcy5hY3RpdmVEYXRlID8gbmV3IERhdGUodGhpcy5hY3RpdmVEYXRlKSA6IG5ldyBEYXRlKCk7XG5cbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgY2FzZSBDQUxFTkRBUl9WSUVXX01PTlRIOlxuICAgICAgICBhY3RpdmVEYXRlLnNldE1vbnRoKGFjdGl2ZURhdGUuZ2V0TW9udGgoKSArIGZhY3Rvcik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDQUxFTkRBUl9WSUVXX1lFQVI6XG4gICAgICAgIGFjdGl2ZURhdGUuc2V0RnVsbFllYXIoYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpICsgZmFjdG9yKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfREVDRU5OSUE6XG4gICAgICAgIGFjdGl2ZURhdGUuc2V0RnVsbFllYXIoYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpICsgMTggKiBmYWN0b3IpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZURhdGUgPSBhY3RpdmVEYXRlO1xuICAgIHRoaXMudXBkYXRlSGVhZGVyTGFiZWwoKTtcbiAgfVxuXG4gIHN3aXRjaFZpZXcoZmFjdG9yOiBudW1iZXIgPSAxKTogdm9pZCB7XG4gICAgY29uc3Qgdmlld3MgPSBbQ0FMRU5EQVJfVklFV19NT05USCwgQ0FMRU5EQVJfVklFV19ZRUFSLCBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBXTtcblxuICAgIGNvbnN0IGN1cnJWaWV3ID0gdmlld3MuaW5kZXhPZih0aGlzLmFjdGl2ZVZpZXcpO1xuICAgIGxldCBuZXh0VmlldyA9IGN1cnJWaWV3ICsgZmFjdG9yID49IHZpZXdzLmxlbmd0aCA/IDAgOiBjdXJyVmlldyArIGZhY3RvcjtcbiAgICBuZXh0VmlldyA9IG5leHRWaWV3IDwgMCA/IHZpZXdzLmxlbmd0aCAtIDEgOiBuZXh0VmlldztcblxuICAgIHRoaXMuYWN0aXZlVmlldyA9IHZpZXdzW25leHRWaWV3XTtcblxuICAgIC8vIHJlc2V0IGFjdGl2ZURhdGUgd2hlbiByZXR1cm5pbmcgdG8gbW9udGggdmlldyB3aXRob3V0IG1vZGVsIHVwZGF0ZVxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSAmJiBuZXh0VmlldyA9PT0gMCAmJiBmYWN0b3IgPT09IDEpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlSGVhZGVyTGFiZWwoKTtcbiAgfVxuXG4gIHVwZGF0ZUhlYWRlckxhYmVsKCk6IHZvaWQge1xuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfTU9OVEg6XG4gICAgICAgIHRoaXMuaGVhZGVyTGFiZWwgPSB0aGlzLm1vbnRoTGFiZWxzW3RoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpXSArICcgJyArIHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB0aGlzLmFyaWFQcmV2aW91c0xhYmVsID0gdGhpcy5hcmlhUHJldmlvdXNMYWJlbHNbMF07XG4gICAgICAgIHRoaXMuYXJpYU5leHRMYWJlbCA9IHRoaXMuYXJpYU5leHRMYWJlbHNbMF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDQUxFTkRBUl9WSUVXX1lFQVI6XG4gICAgICAgIHRoaXMuaGVhZGVyTGFiZWwgPSBTdHJpbmcodGhpcy5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkpO1xuICAgICAgICB0aGlzLmFyaWFQcmV2aW91c0xhYmVsID0gdGhpcy5hcmlhUHJldmlvdXNMYWJlbHNbMV07XG4gICAgICAgIHRoaXMuYXJpYU5leHRMYWJlbCA9IHRoaXMuYXJpYU5leHRMYWJlbHNbMV07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBOlxuICAgICAgICBjb25zdCBzdGFydFllYXIgPSB0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IGAke3N0YXJ0WWVhcn0gLSAke3N0YXJ0WWVhciArIDE3fWA7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1syXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1syXTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcGlja0RhdGUoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBsZXRlID0gdGhpcy5hY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX01PTlRIO1xuXG4gICAgdGhpcy5zZWxlY3REYXRlLmVtaXQoe1xuICAgICAgZGF0ZSxcbiAgICAgIGNvbXBsZXRlLFxuICAgIH0pO1xuXG4gICAgaWYgKCFjb21wbGV0ZSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gZGF0ZTtcbiAgICAgIHRoaXMuc3dpdGNoVmlldygtMSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q29udHJvbCgpOiB2b2lkIHtcbiAgICB0aGlzLndlZWtkYXlMYWJlbHMgPSB0aGlzLndlZWtkYXlMYWJlbHMgfHwgdGhpcy5tb2R1bGVXZWVrZGF5TGFiZWxzO1xuICAgIHRoaXMubW9udGhMYWJlbHMgPSB0aGlzLm1vbnRoTGFiZWxzIHx8IHRoaXMubW9kdWxlTW9udGhMYWJlbHM7XG4gICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuZ2V0Q2xvc2VzdERhdGVGb3JSYW5nZSh0aGlzLmFjdGl2ZURhdGUsIHRoaXMucmFuZ2UpO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibS1kYXRlcGlja2VyX19uYXZcIj5cbiAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVmlldygpXCIgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX25hdi10aXRsZVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICB7eyBoZWFkZXJMYWJlbCB8IHRpdGxlY2FzZSB9fVxuICAgIDxhdWktaWNvbiBuYW1lPVwiYWktYXJyb3ctZG93bi0xXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIC8+XG4gIDwvYnV0dG9uPlxuXG4gIDxkaXYgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX25hdi1wYWdpbmF0aW9uXCI+XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInVwZGF0ZUFjdGl2ZURhdGUoLTEpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYVByZXZpb3VzTGFiZWxcIlxuICAgICAgY2xhc3M9XCJhLWJ1dHRvbiBhLWJ1dHRvbi0tdGV4dCBhLWJ1dHRvbi0tcHJpbWFyeSBoYXMtaWNvblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gbmFtZT1cImFpLWFycm93LWxlZnQtMVwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInVwZGF0ZUFjdGl2ZURhdGUoMSlcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTmV4dExhYmVsXCJcbiAgICAgIGNsYXNzPVwiYS1idXR0b24gYS1idXR0b24tLXRleHQgYS1idXR0b24tLXByaW1hcnkgaGFzLWljb25cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1yaWdodC0xXCI+PC9hdWktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxhdWktY2FsZW5kYXItbW9udGhcbiAgKHNlbGVjdERhdGUpPVwicGlja0RhdGUoJGV2ZW50KVwiXG4gICpuZ0lmPVwiYWN0aXZlVmlldyA9PT0gQ0FMRU5EQVJfVklFV19NT05USFwiXG4gIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICBbcmFuZ2VdPVwicmFuZ2VcIlxuICBbaW50ZXJ2YWxdPVwiaW50ZXJ2YWxcIlxuICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gIFt3ZWVrZGF5TGFiZWxzXT1cIndlZWtkYXlMYWJlbHNcIlxuPjwvYXVpLWNhbGVuZGFyLW1vbnRoPlxuPGF1aS1jYWxlbmRhci15ZWFyXG4gIChzZWxlY3REYXRlKT1cInBpY2tEYXRlKCRldmVudClcIlxuICAqbmdJZj1cImFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfWUVBUlwiXG4gIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICBbbW9udGhMYWJlbHNdPVwibW9udGhMYWJlbHNcIlxuICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4+PC9hdWktY2FsZW5kYXIteWVhcj5cbjxhdWktY2FsZW5kYXItZGVjZW5uaWFcbiAgKHNlbGVjdERhdGUpPVwicGlja0RhdGUoJGV2ZW50KVwiXG4gICpuZ0lmPVwiYWN0aXZlVmlldyA9PT0gQ0FMRU5EQVJfVklFV19ERUNFTk5JQVwiXG4gIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4+PC9hdWktY2FsZW5kYXItZGVjZW5uaWE+Il19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBR25CLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7SUNGcEMsOENBUUM7SUFQQywwTUFBYyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFPaEMsaUJBQXFCOzs7SUFMcEIsOENBQXlCLHVCQUFBLDZCQUFBLHFDQUFBLHVDQUFBOzs7O0lBTTNCLDZDQU1DO0lBTEMsd01BQWMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBS2hDLGlCQUFvQjs7O0lBSG5CLDhDQUF5QixtQ0FBQSxxQ0FBQTs7OztJQUkzQixpREFLQztJQUpDLGdOQUFjLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUloQyxpQkFBd0I7OztJQUZ2Qiw4Q0FBeUIscUNBQUE7O0FEUjNCLE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQ3dDLG9CQUFvQiw2QkFBNkIsRUFDL0Msc0JBQXNCLCtCQUErQixFQUNyRixlQUFnQztRQUZGLHNC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dUJBQUMscUJBQXFCOztzQkFDNUIsTUFBTTt1QkFBQyx1QkFBdUI7c0RBekJQLElBQUk7a0JBQTdCLFdBQVc7bUJBQUMsV0FBVztZQUNTLFVBQVU7a0JBQTFDLFdBQVc7bUJBQUMsa0JBQWtCO1lBRXRCLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRU4sUUFBUTtrQkFEUCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDSSxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERhdGVIZWxwZXIsIERhdGVSYW5nZSB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcblxuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gIENBTEVOREFSX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMsXG59IGZyb20gJy4uLy4uL2NhbGVuZGFyLmNvbmYnO1xuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfVklFV19ERUNFTk5JQSxcbiAgQ0FMRU5EQVJfVklFV19NT05USCxcbiAgQ0FMRU5EQVJfVklFV19ZRUFSLFxuICBNb250aExhYmVsc0NvbmZpZyxcbiAgV2Vla2RheUxhYmVsc0NvbmZpZyxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvY2FsZW5kYXIudHlwZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbnRlcnZhbCB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnYXBwbGljYXRpb24nO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBhcmlhaGlkZGVuID0gJ2ZhbHNlJztcblxuICBASW5wdXQoKSBhcmlhUHJldmlvdXNMYWJlbHMgPSBbJ0dhIG5hYXIgdm9yaWdlIG1hYW5kJywgJ0dhIG5hYXIgdm9yaWcgamFhcicsICdHYSBuYWFyIHZvcmlnZSAxOCBqYXJlbiddO1xuICBASW5wdXQoKSBhcmlhTmV4dExhYmVscyA9IFsnR2EgbmFhciB2b2xnZW5kZSBtYWFuZCcsICdHYSBuYWFyIHZvbGdlbmQgamFhcicsICdHYSBuYWFyIHZvbGdlbmRlIDE4IGphcmVuJ107XG5cbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBASW5wdXQoKSByYW5nZTogRGF0ZVJhbmdlO1xuICBASW5wdXQoKVxuICBpbnRlcnZhbD86IEludGVydmFsLklJbnRlcnZhbDxEYXRlPjtcbiAgQElucHV0KCkgd2Vla2RheUxhYmVsczogV2Vla2RheUxhYmVsc0NvbmZpZztcbiAgQElucHV0KCkgbW9udGhMYWJlbHM6IE1vbnRoTGFiZWxzQ29uZmlnO1xuICBAT3V0cHV0KCkgc2VsZWN0RGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19NT05USCA9IENBTEVOREFSX1ZJRVdfTU9OVEg7XG4gIHB1YmxpYyBDQUxFTkRBUl9WSUVXX1lFQVIgPSBDQUxFTkRBUl9WSUVXX1lFQVI7XG4gIHB1YmxpYyBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBID0gQ0FMRU5EQVJfVklFV19ERUNFTk5JQTtcbiAgcHVibGljIGFjdGl2ZURhdGU6IERhdGU7XG4gIHB1YmxpYyBhY3RpdmVWaWV3OiBzdHJpbmcgPSBDQUxFTkRBUl9WSUVXX01PTlRIO1xuICBwdWJsaWMgaGVhZGVyTGFiZWwgPSAnJztcbiAgcHVibGljIGFyaWFQcmV2aW91c0xhYmVsID0gdGhpcy5hcmlhUHJldmlvdXNMYWJlbHNbMF07XG4gIHB1YmxpYyBhcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1swXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENBTEVOREFSX01PTlRIX0xBQkVMUykgcHVibGljIG1vZHVsZU1vbnRoTGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gICAgQEluamVjdChDQUxFTkRBUl9XRUVLREFZX0xBQkVMUykgcHVibGljIG1vZHVsZVdlZWtkYXlMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRDb250cm9sKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gY2hhbmdlcy5zZWxlY3RlZERhdGUgJiYgY2hhbmdlcy5zZWxlY3RlZERhdGUuY3VycmVudFZhbHVlID8gY2hhbmdlcy5zZWxlY3RlZERhdGUgOiBudWxsO1xuXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIHRoaXMubW9udGhMYWJlbHMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICBzZWxlY3RlZERhdGUgJiZcbiAgICAgICFEYXRlSGVscGVyLmRhdGVzQXJlRXF1YWwoc2VsZWN0ZWREYXRlLmN1cnJlbnRWYWx1ZSwgc2VsZWN0ZWREYXRlLnByZXZpb3VzVmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlSGVhZGVyTGFiZWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGFjdGl2ZURhdGVUb1NldCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgIGlmICh0aGlzLmludGVydmFsICYmIHRoaXMuaW50ZXJ2YWwuaXNJblJhbmdlKGFjdGl2ZURhdGVUb1NldCkpIHtcbiAgICAgICAgYWN0aXZlRGF0ZVRvU2V0ID0gdGhpcy5pbnRlcnZhbC5taW47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGFjdGl2ZURhdGVUb1NldCk7XG5cbiAgICAgIHRoaXMuaW5pdENvbnRyb2woKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVBY3RpdmVEYXRlKGZhY3RvcjogbnVtYmVyID0gMCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZURhdGUgPSB0aGlzLmFjdGl2ZURhdGUgPyBuZXcgRGF0ZSh0aGlzLmFjdGl2ZURhdGUpIDogbmV3IERhdGUoKTtcblxuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfTU9OVEg6XG4gICAgICAgIGFjdGl2ZURhdGUuc2V0TW9udGgoYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgZmFjdG9yKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyBmYWN0b3IpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19ERUNFTk5JQTpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyAxOCAqIGZhY3Rvcik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGFjdGl2ZURhdGU7XG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgc3dpdGNoVmlldyhmYWN0b3I6IG51bWJlciA9IDEpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3cyA9IFtDQUxFTkRBUl9WSUVXX01PTlRILCBDQUxFTkRBUl9WSUVXX1lFQVIsIENBTEVOREFSX1ZJRVdfREVDRU5OSUFdO1xuXG4gICAgY29uc3QgY3VyclZpZXcgPSB2aWV3cy5pbmRleE9mKHRoaXMuYWN0aXZlVmlldyk7XG4gICAgbGV0IG5leHRWaWV3ID0gY3VyclZpZXcgKyBmYWN0b3IgPj0gdmlld3MubGVuZ3RoID8gMCA6IGN1cnJWaWV3ICsgZmFjdG9yO1xuICAgIG5leHRWaWV3ID0gbmV4dFZpZXcgPCAwID8gdmlld3MubGVuZ3RoIC0gMSA6IG5leHRWaWV3O1xuXG4gICAgdGhpcy5hY3RpdmVWaWV3ID0gdmlld3NbbmV4dFZpZXddO1xuXG4gICAgLy8gcmVzZXQgYWN0aXZlRGF0ZSB3aGVuIHJldHVybmluZyB0byBtb250aCB2aWV3IHdpdGhvdXQgbW9kZWwgdXBkYXRlXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlICYmIG5leHRWaWV3ID09PSAwICYmIGZhY3RvciA9PT0gMSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgdXBkYXRlSGVhZGVyTGFiZWwoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19NT05USDpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IHRoaXMubW9udGhMYWJlbHNbdGhpcy5hY3RpdmVEYXRlLmdldE1vbnRoKCldICsgJyAnICsgdGhpcy5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1swXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IFN0cmluZyh0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1sxXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1sxXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfREVDRU5OSUE6XG4gICAgICAgIGNvbnN0IHN0YXJ0WWVhciA9IHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB0aGlzLmhlYWRlckxhYmVsID0gYCR7c3RhcnRZZWFyfSAtICR7c3RhcnRZZWFyICsgMTd9YDtcbiAgICAgICAgdGhpcy5hcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzJdO1xuICAgICAgICB0aGlzLmFyaWFOZXh0TGFiZWwgPSB0aGlzLmFyaWFOZXh0TGFiZWxzWzJdO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwaWNrRGF0ZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgY29uc3QgY29tcGxldGUgPSB0aGlzLmFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfTU9OVEg7XG5cbiAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh7XG4gICAgICBkYXRlLFxuICAgICAgY29tcGxldGUsXG4gICAgfSk7XG5cbiAgICBpZiAoIWNvbXBsZXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5zd2l0Y2hWaWV3KC0xKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRDb250cm9sKCk6IHZvaWQge1xuICAgIHRoaXMud2Vla2RheUxhYmVscyA9IHRoaXMud2Vla2RheUxhYmVscyB8fCB0aGlzLm1vZHVsZVdlZWtkYXlMYWJlbHM7XG4gICAgdGhpcy5tb250aExhYmVscyA9IHRoaXMubW9udGhMYWJlbHMgfHwgdGhpcy5tb2R1bGVNb250aExhYmVscztcbiAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRDbG9zZXN0RGF0ZUZvclJhbmdlKHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5yYW5nZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX25hdlwiPlxuICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hWaWV3KClcIiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fbmF2LXRpdGxlXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgIHt7IGhlYWRlckxhYmVsIHwgdGl0bGVjYXNlIH19XG4gICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1kb3duLTFcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIgLz5cbiAgPC9idXR0b24+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fbmF2LXBhZ2luYXRpb25cIj5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwidXBkYXRlQWN0aXZlRGF0ZSgtMSlcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhUHJldmlvdXNMYWJlbFwiXG4gICAgICBjbGFzcz1cImEtYnV0dG9uIGEtYnV0dG9uLS10ZXh0IGEtYnV0dG9uLS1wcmltYXJ5IGhhcy1pY29uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBuYW1lPVwiYWktYXJyb3ctbGVmdC0xXCI+PC9hdWktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwidXBkYXRlQWN0aXZlRGF0ZSgxKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFOZXh0TGFiZWxcIlxuICAgICAgY2xhc3M9XCJhLWJ1dHRvbiBhLWJ1dHRvbi0tdGV4dCBhLWJ1dHRvbi0tcHJpbWFyeSBoYXMtaWNvblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gbmFtZT1cImFpLWFycm93LXJpZ2h0LTFcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGF1aS1jYWxlbmRhci1tb250aFxuICAoc2VsZWN0RGF0ZSk9XCJwaWNrRGF0ZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJhY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX01PTlRIXCJcbiAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gIFtyYW5nZV09XCJyYW5nZVwiXG4gIFtpbnRlcnZhbF09XCJpbnRlcnZhbFwiXG4gIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbiAgW3dlZWtkYXlMYWJlbHNdPVwid2Vla2RheUxhYmVsc1wiXG4+PC9hdWktY2FsZW5kYXItbW9udGg+XG48YXVpLWNhbGVuZGFyLXllYXJcbiAgKHNlbGVjdERhdGUpPVwicGlja0RhdGUoJGV2ZW50KVwiXG4gICpuZ0lmPVwiYWN0aXZlVmlldyA9PT0gQ0FMRU5EQVJfVklFV19ZRUFSXCJcbiAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gIFttb250aExhYmVsc109XCJtb250aExhYmVsc1wiXG4gIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbj48L2F1aS1jYWxlbmRhci15ZWFyPlxuPGF1aS1jYWxlbmRhci1kZWNlbm5pYVxuICAoc2VsZWN0RGF0ZSk9XCJwaWNrRGF0ZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJhY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBXCJcbiAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbj48L2F1aS1jYWxlbmRhci1kZWNlbm5pYT4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, } from '@angular/core';
|
|
2
2
|
import { get } from 'lodash-es';
|
|
3
|
-
import { DateHelper } from '@acpaas-ui/
|
|
3
|
+
import { DateHelper } from '@acpaas-ui/ngx-utils';
|
|
4
4
|
import { CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_WEEKDAY_LABELS } from '../../calendar.conf';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "../../services/calendar.service";
|
|
@@ -28,7 +28,7 @@ function CalendarMonthComponent_tr_6_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
28
28
|
const day_r5 = ctx.$implicit;
|
|
29
29
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
30
30
|
i0.ɵɵadvance(1);
|
|
31
|
-
i0.ɵɵproperty("disabled", !day_r5.available)("ngClass", i0.ɵɵpureFunction4(3, _c0, !day_r5.date || day_r5.padding, !day_r5.padding && day_r5.date === ctx_r4.selectedDay, !day_r5.padding && day_r5.date === ctx_r4.current, !day_r5.available));
|
|
31
|
+
i0.ɵɵproperty("disabled", !day_r5.available)("ngClass", i0.ɵɵpureFunction4(3, _c0, !day_r5.date || day_r5.padding, !day_r5.padding && ctx_r4.selectedDate && day_r5.date === ctx_r4.selectedDay && ctx_r4.selectedDay && ctx_r4.selectedDate.getFullYear() === ctx_r4.activeDate.getFullYear(), !day_r5.padding && day_r5.date === ctx_r4.current, !day_r5.available));
|
|
32
32
|
i0.ɵɵadvance(1);
|
|
33
33
|
i0.ɵɵtextInterpolate1(" ", day_r5.date, " ");
|
|
34
34
|
} }
|
|
@@ -138,7 +138,7 @@ export class CalendarMonthComponent {
|
|
|
138
138
|
} }, dependencies: [i2.NgClass, i2.NgForOf, i2.SlicePipe], encapsulation: 2, changeDetection: 0 });
|
|
139
139
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CalendarMonthComponent, [{
|
|
140
140
|
type: Component,
|
|
141
|
-
args: [{ selector: 'aui-calendar-month', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected'
|
|
141
|
+
args: [{ selector: 'aui-calendar-month', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected':\n !day.padding &&\n selectedDate &&\n day.date === selectedDay &&\n selectedDay &&\n selectedDate.getFullYear() === activeDate.getFullYear(),\n 'is-current': !day.padding && day.date === current,\n 'is-unavailable': !day.available\n }\"\n type=\"button\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
|
|
142
142
|
}], function () { return [{ type: undefined, decorators: [{
|
|
143
143
|
type: Inject,
|
|
144
144
|
args: [CALENDAR_WEEKDAY_LABELS]
|
|
@@ -155,4 +155,4 @@ export class CalendarMonthComponent {
|
|
|
155
155
|
}], selectDate: [{
|
|
156
156
|
type: Output
|
|
157
157
|
}] }); })();
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbnRoL21vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb250aC9tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUF5QixNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ1R2Riw2QkFBa0QsY0FBQTtJQUNGLFlBQXlCOztJQUFBLGlCQUFPLEVBQUE7OztJQUF4RSxlQUFhO0lBQWIsOEJBQWE7SUFBMkIsZUFBeUI7SUFBekIsd0RBQXlCOzs7OztJQU96RSwwQkFBNkIsZ0JBQUE7SUFFekIsd09BQVMsZUFBQSwrQkFBcUIsQ0FBQSxJQUFDO0lBVS9CLFlBQ0Y7SUFBQSxpQkFBUyxFQUFBOzs7O0lBVlAsZUFBMkI7SUFBM0IsNENBQTJCLG9NQUFBO0lBUzNCLGVBQ0Y7SUFERSw0Q0FDRjs7O0lBZEosMEJBQStCO0lBQzdCLDBFQWNLO0lBQ1AsaUJBQUs7OztJQWZpQixlQUFPO0lBQVAsaUNBQU87O0FEV25DLE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFDMkMsc0JBQXNCLCtCQUErQixFQUN0RixlQUFnQztRQURDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBa0M7UUFDdEYsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBVGpDLGtCQUFhLEdBQXdCLCtCQUErQixDQUFD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LFlBQUEsWUFBQSxZQUFBO1FBSXhCLHFFQUVLO1FBQ1AsaUJBQUssRUFBQTtRQUdQLGdDQUF1QztRQUNyQyxxRUFnQks7UUFDUCxpQkFBUSxFQUFBLEVBQUE7O1FBeEJnQixlQUFnQjtRQUFoQiwyQ0FBZ0I7UUFPakIsZUFBUTtRQUFSLG1DQUFROzt1RkRZdEIsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0Usb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU07O3NCQWdCNUMsTUFBTTt1QkFBQyx1QkFBdUI7c0RBYnhCLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRU4sUUFBUTtrQkFEUCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGVIZWxwZXIsIERhdGVSYW5nZSwgRGF5LCBNb250aCB9IGZyb20gJ0BhY3BhYXMtdWkvanMtZGF0ZS11dGlscyc7XG5pbXBvcnQgeyBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLCBDQUxFTkRBUl9XRUVLREFZX0xBQkVMUyB9IGZyb20gJy4uLy4uL2NhbGVuZGFyLmNvbmYnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VNYXAsIFdlZWtkYXlMYWJlbHNDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcy9jYWxlbmRhci50eXBlcyc7XG5pbXBvcnQgeyBJbnRlcnZhbCB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWNhbGVuZGFyLW1vbnRoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vbnRoLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWN0aXZlRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgcmFuZ2U6IERhdGVSYW5nZTtcbiAgQElucHV0KClcbiAgaW50ZXJ2YWw/OiBJbnRlcnZhbC5JSW50ZXJ2YWw8RGF0ZT47XG4gIEBJbnB1dCgpIHdlZWtkYXlMYWJlbHM6IFdlZWtkYXlMYWJlbHNDb25maWcgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTO1xuICBAT3V0cHV0KCkgc2VsZWN0RGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgZGF0ZXM6IE1vbnRoID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZERheSA9IC0xO1xuICBwdWJsaWMgY3VycmVudDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMpIHByaXZhdGUgbW9kdWxlV2Vla2RheUxhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMud2Vla2RheUxhYmVscyA9IHRoaXMud2Vla2RheUxhYmVscyB8fCB0aGlzLm1vZHVsZVdlZWtkYXlMYWJlbHM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlQ2hhbmdlZCA9IHRoaXMuaGFzQ2hhbmdlZChjaGFuZ2VzLCAnc2VsZWN0ZWREYXRlJyk7XG4gICAgY29uc3QgaW50ZXJ2YWxDaGFuZ2VkID0gISFjaGFuZ2VzLmludGVydmFsICYmIGNoYW5nZXMuaW50ZXJ2YWwuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmludGVydmFsLnByZXZpb3VzVmFsdWU7XG4gICAgY29uc3QgYWN0aXZlRGF0ZUNoYW5nZWQgPSB0aGlzLmhhc0NoYW5nZWQoY2hhbmdlcywgJ2FjdGl2ZURhdGUnKTtcbiAgICBjb25zdCBtb250aENoYW5nZWQgPVxuICAgICAgYWN0aXZlRGF0ZUNoYW5nZWQgJiZcbiAgICAgICFEYXRlSGVscGVyLmRhdGVzQXJlRXF1YWwoW2NoYW5nZXMuYWN0aXZlRGF0ZS5jdXJyZW50VmFsdWUsIGNoYW5nZXMuYWN0aXZlRGF0ZS5wcmV2aW91c1ZhbHVlXSwgJ00nKTtcbiAgICBjb25zdCBzZWxlY3RlZERheUNoYW5nZWQgPSB0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSA9PT0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKTtcblxuICAgIHRoaXMuY3VycmVudCA9IHRoaXMuZ2V0Q3VycmVudERhdGUoKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF5ID0gc2VsZWN0ZWREYXlDaGFuZ2VkID8gdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIDogLTE7XG5cbiAgICBsZXQgbmV3RGF0ZXMgPSBbXTtcblxuICAgIGlmIChzZWxlY3RlZERhdGVDaGFuZ2VkIHx8IGludGVydmFsQ2hhbmdlZCB8fCAoYWN0aXZlRGF0ZUNoYW5nZWQgJiYgbW9udGhDaGFuZ2VkKSkge1xuICAgICAgbmV3RGF0ZXMgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRNb250aEZvckRhdGUodGhpcy5hY3RpdmVEYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJhbmdlOiBEYXRlUmFuZ2VNYXAgfCBudWxsID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuZ2V0UmFuZ2VzRm9yRGF0ZSh0aGlzLmFjdGl2ZURhdGUsIHRoaXMucmFuZ2UpO1xuICAgIHRoaXMuZGF0ZXMgPSBuZXdEYXRlcy5tYXAoKHdlZWspID0+XG4gICAgICB3ZWVrLm1hcCgoZGF5KSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlLnNldEhvdXJzKGN1cnJlbnREYXRlLmdldEhvdXJzKCksIGN1cnJlbnREYXRlLmdldE1pbnV0ZXMoKSwgY3VycmVudERhdGUuZ2V0U2Vjb25kcygpKTtcbiAgICAgICAgY29uc3QgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZSk7XG5cbiAgICAgICAgaWYgKGRheS5wYWRkaW5nKSB7XG4gICAgICAgICAgaWYgKGRheS5kYXRlID4gMjApIHtcbiAgICAgICAgICAgIGRhdGUuc2V0TW9udGgodGhpcy5hY3RpdmVEYXRlLmdldE1vbnRoKCkgLSAxKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGF0ZS5zZXRNb250aCh0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSArIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGUuc2V0RGF0ZShkYXkuZGF0ZSk7XG5cbiAgICAgICAgY29uc3QgYXZhaWxhYmxlOiBib29sZWFuID1cbiAgICAgICAgICB0aGlzLmRheUlzQXZhaWxhYmxlRm9yUmFuZ2UoZGF5LCByYW5nZSkgJiYgKHRoaXMuaW50ZXJ2YWwgPyAhdGhpcy5pbnRlcnZhbC5pc0luUmFuZ2UoZGF0ZSkgOiB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kYXksXG4gICAgICAgICAgYXZhaWxhYmxlLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcGlja0RhdGUoZXZlbnQ6IE1vdXNlRXZlbnQsIGRheTogRGF5KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIFN0b3AgcHJvcGFnYXRpb24gc28gdGhlIG1vZGFsIGRvZXNuJ3QgY2xvc2VcblxuICAgIGxldCBzZWxlY3RlZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmFjdGl2ZURhdGUpO1xuXG4gICAgaWYgKGRheS5wYWRkaW5nKSB7XG4gICAgICBjb25zdCBtb250aCA9IGRheS5kYXRlID4gMjAgPyAtMSA6IDE7XG4gICAgICBzZWxlY3RlZERhdGUgPSBEYXRlSGVscGVyLnVwZGF0ZU1vbnRoKHNlbGVjdGVkRGF0ZSwgc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgKyBtb250aCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3REYXRlLmVtaXQoRGF0ZUhlbHBlci51cGRhdGVEYXRlKHNlbGVjdGVkRGF0ZSwgZGF5LmRhdGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBwcm9wOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50ID0gZ2V0KGNoYW5nZXMsIGAke3Byb3B9LmN1cnJlbnRWYWx1ZWApO1xuICAgIGNvbnN0IHByZXZpb3VzID0gZ2V0KGNoYW5nZXMsIGAke3Byb3B9LnByZXZpb3VzVmFsdWVgKTtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBjdXJyZW50IGluc3RhbmNlb2YgRGF0ZSA/IGN1cnJlbnQudmFsdWVPZigpIDogMDtcbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gcHJldmlvdXMgaW5zdGFuY2VvZiBEYXRlID8gcHJldmlvdXMudmFsdWVPZigpIDogMDtcblxuICAgIHJldHVybiAhIWN1cnJlbnRWYWx1ZSAmJiBjdXJyZW50VmFsdWUgIT09IHByZXZpb3VzVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnREYXRlKCk6IG51bWJlciB7XG4gICAgY29uc3QgY3VycmVudCA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgbW9udGhIYXNDaGFuZ2VkID0gIURhdGVIZWxwZXIuZGF0ZXNBcmVFcXVhbChbdGhpcy5hY3RpdmVEYXRlLCBjdXJyZW50XSwgWydNJywgJ1knXSk7XG5cbiAgICByZXR1cm4gbW9udGhIYXNDaGFuZ2VkID8gLTEgOiBjdXJyZW50LmdldERhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGF5SXNBdmFpbGFibGVGb3JSYW5nZShkYXk6IERheSwgcmFuZ2U6IERhdGVSYW5nZU1hcCk6IGJvb2xlYW4ge1xuICAgIGlmICghcmFuZ2UpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGxldCBkYXRlUmFuZ2UgPSByYW5nZS5jdXJyZW50O1xuXG4gICAgaWYgKGRheS5wYWRkaW5nKSB7XG4gICAgICBkYXRlUmFuZ2UgPSBkYXkuZGF0ZSA+IDIwID8gcmFuZ2UuYmVmb3JlIDogcmFuZ2UuYWZ0ZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRhdGVSYW5nZS5pbmRleE9mKGRheS5kYXRlKSA8IDA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX2dyaWRcIj5cbiAgPHRhYmxlPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0ciBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fZ3JpZC1oZWFkXCI+XG4gICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtkYXlMYWJlbHNcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCJkYXlcIiBjbGFzcz1cInUtdGV4dC1jYXBpdGFsaXplXCI+e3sgZGF5IHwgc2xpY2UgOiAwIDogMiB9fTwvc3Bhbj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cblxuICAgIDx0Ym9keSBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fZ3JpZC1ib2R5XCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgZGF0ZXNcIj5cbiAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJwaWNrRGF0ZSgkZXZlbnQsIGRheSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFkYXkuYXZhaWxhYmxlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2lzLWZhZGVkJzogIWRheS5kYXRlIHx8IGRheS5wYWRkaW5nLFxuICAgICAgICAgICAgICAnaXMtc2VsZWN0ZWQnOiAhZGF5LnBhZGRpbmcgJiYgZGF5LmRhdGUgPT09IHNlbGVjdGVkRGF5LFxuICAgICAgICAgICAgICAnaXMtY3VycmVudCc6ICFkYXkucGFkZGluZyAmJiBkYXkuZGF0ZSA9PT0gY3VycmVudCxcbiAgICAgICAgICAgICAgJ2lzLXVuYXZhaWxhYmxlJzogIWRheS5hdmFpbGFibGVcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZGF5LmRhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbnRoL21vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb250aC9tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUF5QixNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ1R2Riw2QkFBa0QsY0FBQTtJQUNGLFlBQXlCOztJQUFBLGlCQUFPLEVBQUE7OztJQUF4RSxlQUFhO0lBQWIsOEJBQWE7SUFBMkIsZUFBeUI7SUFBekIsd0RBQXlCOzs7OztJQU96RSwwQkFBNkIsZ0JBQUE7SUFFekIsd09BQVMsZUFBQSwrQkFBcUIsQ0FBQSxJQUFDO0lBZS9CLFlBQ0Y7SUFBQSxpQkFBUyxFQUFBOzs7O0lBZlAsZUFBMkI7SUFBM0IsNENBQTJCLDBUQUFBO0lBYzNCLGVBQ0Y7SUFERSw0Q0FDRjs7O0lBbkJKLDBCQUErQjtJQUM3QiwwRUFtQks7SUFDUCxpQkFBSzs7O0lBcEJpQixlQUFPO0lBQVAsaUNBQU87O0FEV25DLE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFDMkMsc0JBQXNCLCtCQUErQixFQUN0RixlQUFnQztRQURDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBa0M7UUFDdEYsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBVGpDLGtCQUFhLEdBQXdCLCtCQUErQixD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QWdDLFlBQUEsWUFBQSxZQUFBO1FBSXhCLHFFQUVLO1FBQ1AsaUJBQUssRUFBQTtRQUdQLGdDQUF1QztRQUNyQyxxRUFxQks7UUFDUCxpQkFBUSxFQUFBLEVBQUE7O1FBN0JnQixlQUFnQjtRQUFoQiwyQ0FBZ0I7UUFPakIsZUFBUTtRQUFSLG1DQUFROzt1RkRZdEIsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0Usb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU07O3NCQWdCNUMsTUFBTTt1QkFBQyx1QkFBdUI7c0RBYnhCLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRU4sUUFBUTtrQkFEUCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGVIZWxwZXIsIERhdGVSYW5nZSwgRGF5LCBNb250aCB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcbmltcG9ydCB7IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsIENBTEVOREFSX1dFRUtEQVlfTEFCRUxTIH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIuY29uZic7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVSYW5nZU1hcCwgV2Vla2RheUxhYmVsc0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL2NhbGVuZGFyLnR5cGVzJztcbmltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktY2FsZW5kYXItbW9udGgnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9udGguY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNb250aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBASW5wdXQoKSBhY3RpdmVEYXRlOiBEYXRlO1xuICBASW5wdXQoKSByYW5nZTogRGF0ZVJhbmdlO1xuICBASW5wdXQoKVxuICBpbnRlcnZhbD86IEludGVydmFsLklJbnRlcnZhbDxEYXRlPjtcbiAgQElucHV0KCkgd2Vla2RheUxhYmVsczogV2Vla2RheUxhYmVsc0NvbmZpZyA9IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFM7XG4gIEBPdXRwdXQoKSBzZWxlY3REYXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBkYXRlczogTW9udGggPSBbXTtcbiAgcHVibGljIHNlbGVjdGVkRGF5ID0gLTE7XG4gIHB1YmxpYyBjdXJyZW50OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9XRUVLREFZX0xBQkVMUykgcHJpdmF0ZSBtb2R1bGVXZWVrZGF5TGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9XRUVLREFZX0xBQkVMUyxcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy53ZWVrZGF5TGFiZWxzID0gdGhpcy53ZWVrZGF5TGFiZWxzIHx8IHRoaXMubW9kdWxlV2Vla2RheUxhYmVscztcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBzZWxlY3RlZERhdGVDaGFuZ2VkID0gdGhpcy5oYXNDaGFuZ2VkKGNoYW5nZXMsICdzZWxlY3RlZERhdGUnKTtcbiAgICBjb25zdCBpbnRlcnZhbENoYW5nZWQgPSAhIWNoYW5nZXMuaW50ZXJ2YWwgJiYgY2hhbmdlcy5pbnRlcnZhbC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuaW50ZXJ2YWwucHJldmlvdXNWYWx1ZTtcbiAgICBjb25zdCBhY3RpdmVEYXRlQ2hhbmdlZCA9IHRoaXMuaGFzQ2hhbmdlZChjaGFuZ2VzLCAnYWN0aXZlRGF0ZScpO1xuICAgIGNvbnN0IG1vbnRoQ2hhbmdlZCA9XG4gICAgICBhY3RpdmVEYXRlQ2hhbmdlZCAmJlxuICAgICAgIURhdGVIZWxwZXIuZGF0ZXNBcmVFcXVhbChbY2hhbmdlcy5hY3RpdmVEYXRlLmN1cnJlbnRWYWx1ZSwgY2hhbmdlcy5hY3RpdmVEYXRlLnByZXZpb3VzVmFsdWVdLCAnTScpO1xuICAgIGNvbnN0IHNlbGVjdGVkRGF5Q2hhbmdlZCA9IHRoaXMuc2VsZWN0ZWREYXRlICYmIHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpID09PSB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpO1xuXG4gICAgdGhpcy5jdXJyZW50ID0gdGhpcy5nZXRDdXJyZW50RGF0ZSgpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBzZWxlY3RlZERheUNoYW5nZWQgPyB0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgOiAtMTtcblxuICAgIGxldCBuZXdEYXRlcyA9IFtdO1xuXG4gICAgaWYgKHNlbGVjdGVkRGF0ZUNoYW5nZWQgfHwgaW50ZXJ2YWxDaGFuZ2VkIHx8IChhY3RpdmVEYXRlQ2hhbmdlZCAmJiBtb250aENoYW5nZWQpKSB7XG4gICAgICBuZXdEYXRlcyA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmdldE1vbnRoRm9yRGF0ZSh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmFuZ2U6IERhdGVSYW5nZU1hcCB8IG51bGwgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRSYW5nZXNGb3JEYXRlKHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5yYW5nZSk7XG4gICAgdGhpcy5kYXRlcyA9IG5ld0RhdGVzLm1hcCgod2VlaykgPT5cbiAgICAgIHdlZWsubWFwKChkYXkpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGUuc2V0SG91cnMoY3VycmVudERhdGUuZ2V0SG91cnMoKSwgY3VycmVudERhdGUuZ2V0TWludXRlcygpLCBjdXJyZW50RGF0ZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICBjb25zdCBkYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5hY3RpdmVEYXRlKTtcblxuICAgICAgICBpZiAoZGF5LnBhZGRpbmcpIHtcbiAgICAgICAgICBpZiAoZGF5LmRhdGUgPiAyMCkge1xuICAgICAgICAgICAgZGF0ZS5zZXRNb250aCh0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSAtIDEpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkYXRlLnNldE1vbnRoKHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGF0ZS5zZXREYXRlKGRheS5kYXRlKTtcblxuICAgICAgICBjb25zdCBhdmFpbGFibGU6IGJvb2xlYW4gPVxuICAgICAgICAgIHRoaXMuZGF5SXNBdmFpbGFibGVGb3JSYW5nZShkYXksIHJhbmdlKSAmJiAodGhpcy5pbnRlcnZhbCA/ICF0aGlzLmludGVydmFsLmlzSW5SYW5nZShkYXRlKSA6IHRydWUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRheSxcbiAgICAgICAgICBhdmFpbGFibGUsXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwaWNrRGF0ZShldmVudDogTW91c2VFdmVudCwgZGF5OiBEYXkpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gU3RvcCBwcm9wYWdhdGlvbiBzbyB0aGUgbW9kYWwgZG9lc24ndCBjbG9zZVxuXG4gICAgbGV0IHNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZSk7XG5cbiAgICBpZiAoZGF5LnBhZGRpbmcpIHtcbiAgICAgIGNvbnN0IG1vbnRoID0gZGF5LmRhdGUgPiAyMCA/IC0xIDogMTtcbiAgICAgIHNlbGVjdGVkRGF0ZSA9IERhdGVIZWxwZXIudXBkYXRlTW9udGgoc2VsZWN0ZWREYXRlLCBzZWxlY3RlZERhdGUuZ2V0TW9udGgoKSArIG1vbnRoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdERhdGUuZW1pdChEYXRlSGVscGVyLnVwZGF0ZURhdGUoc2VsZWN0ZWREYXRlLCBkYXkuZGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMsIHByb3A6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBnZXQoY2hhbmdlcywgYCR7cHJvcH0uY3VycmVudFZhbHVlYCk7XG4gICAgY29uc3QgcHJldmlvdXMgPSBnZXQoY2hhbmdlcywgYCR7cHJvcH0ucHJldmlvdXNWYWx1ZWApO1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGN1cnJlbnQgaW5zdGFuY2VvZiBEYXRlID8gY3VycmVudC52YWx1ZU9mKCkgOiAwO1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBwcmV2aW91cyBpbnN0YW5jZW9mIERhdGUgPyBwcmV2aW91cy52YWx1ZU9mKCkgOiAwO1xuXG4gICAgcmV0dXJuICEhY3VycmVudFZhbHVlICYmIGN1cnJlbnRWYWx1ZSAhPT0gcHJldmlvdXNWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudERhdGUoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjdXJyZW50ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBtb250aEhhc0NoYW5nZWQgPSAhRGF0ZUhlbHBlci5kYXRlc0FyZUVxdWFsKFt0aGlzLmFjdGl2ZURhdGUsIGN1cnJlbnRdLCBbJ00nLCAnWSddKTtcblxuICAgIHJldHVybiBtb250aEhhc0NoYW5nZWQgPyAtMSA6IGN1cnJlbnQuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXlJc0F2YWlsYWJsZUZvclJhbmdlKGRheTogRGF5LCByYW5nZTogRGF0ZVJhbmdlTWFwKTogYm9vbGVhbiB7XG4gICAgaWYgKCFyYW5nZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbGV0IGRhdGVSYW5nZSA9IHJhbmdlLmN1cnJlbnQ7XG5cbiAgICBpZiAoZGF5LnBhZGRpbmcpIHtcbiAgICAgIGRhdGVSYW5nZSA9IGRheS5kYXRlID4gMjAgPyByYW5nZS5iZWZvcmUgOiByYW5nZS5hZnRlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0ZVJhbmdlLmluZGV4T2YoZGF5LmRhdGUpIDwgMDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fZ3JpZFwiPlxuICA8dGFibGU+XG4gICAgPHRoZWFkPlxuICAgICAgPHRyIGNsYXNzPVwibS1kYXRlcGlja2VyX19ncmlkLWhlYWRcIj5cbiAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla2RheUxhYmVsc1wiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgPHNwYW4gW3RpdGxlXT1cImRheVwiIGNsYXNzPVwidS10ZXh0LWNhcGl0YWxpemVcIj57eyBkYXkgfCBzbGljZSA6IDAgOiAyIH19PC9zcGFuPlxuICAgICAgICA8L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuXG4gICAgPHRib2R5IGNsYXNzPVwibS1kYXRlcGlja2VyX19ncmlkLWJvZHlcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiBkYXRlc1wiPlxuICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cInBpY2tEYXRlKCRldmVudCwgZGF5KVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWRheS5hdmFpbGFibGVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnaXMtZmFkZWQnOiAhZGF5LmRhdGUgfHwgZGF5LnBhZGRpbmcsXG4gICAgICAgICAgICAgICdpcy1zZWxlY3RlZCc6XG4gICAgICAgICAgICAgICAgIWRheS5wYWRkaW5nICYmXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWREYXRlICYmXG4gICAgICAgICAgICAgICAgZGF5LmRhdGUgPT09IHNlbGVjdGVkRGF5ICYmXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWREYXkgJiZcbiAgICAgICAgICAgICAgICBzZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgICAgICAnaXMtY3VycmVudCc6ICFkYXkucGFkZGluZyAmJiBkYXkuZGF0ZSA9PT0gY3VycmVudCxcbiAgICAgICAgICAgICAgJ2lzLXVuYXZhaWxhYmxlJzogIWRheS5hdmFpbGFibGVcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZGF5LmRhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, } from '@angular/core';
|
|
2
2
|
import { chunk, get } from 'lodash-es';
|
|
3
|
-
import { DateHelper } from '@acpaas-ui/
|
|
3
|
+
import { DateHelper } from '@acpaas-ui/ngx-utils';
|
|
4
4
|
import { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_MONTH_LABELS } from '../../calendar.conf';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
@@ -81,4 +81,4 @@ export class CalendarYearComponent {
|
|
|
81
81
|
}], selectDate: [{
|
|
82
82
|
type: Output
|
|
83
83
|
}] }); })();
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMveWVhci95ZWFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy95ZWFyL3llYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0lDVm5GLDBCQUFnQyxnQkFBQTtJQUU1Qix5T0FBUyxlQUFBLGlDQUF1QixDQUFBLElBQUM7SUFPakMsWUFDRjs7SUFBQSxpQkFBUyxFQUFBOzs7O0lBUFAsZUFHRTtJQUhGLHdJQUdFO0lBR0YsZUFDRjtJQURFLCtEQUNGOzs7SUFYSiwwQkFBaUM7SUFDL0IseUVBV0s7SUFDUCxpQkFBSzs7O0lBWm1CLGVBQVE7SUFBUixrQ0FBUTs7QURrQnRDLE1BQU0sT0FBTyxxQkFBcUI7SUFVaEMsWUFBa0Qsb0JBQW9CLDZCQUE2QjtRQUFqRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdDO1FBUDFGLGdCQUFXLEdBQXNCLDZCQUE2QixDQUFDO1FBQzlELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFdBQU0sR0FBb0IsRUFBRSxDQUFDO0lBRWtFLENBQUM7SUFFdkcsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUM3RCxNQUFNLFdBQVcsR0FBRyxZQUFZLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEgsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsS0FBSyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVqRyxJQUFJLENBQUMsYUFBYSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQixFQUFFLElBQVk7UUFDdEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxZQUFZLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs2R0FuQ1UscUJBQXFCLHVCQVVaLHFCQUFxQjt1R0FWOUIscUJBQXFCO1FDdEJsQyw4QkFBZ0MsWUFBQSxlQUFBO1FBRzFCLG9FQWFLO1FBQ1AsaUJBQVEsRUFBQSxFQUFBOztRQWRnQixlQUFTO1FBQVQsb0NBQVM7O3VGRG1CeEIscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1CLG1CQUVaLHVCQUF1QixDQUFDLE1BQU07O3NCQVlsQyxNQUFNO3VCQUFDLHFCQUFxQjt3QkFUaEMsWUFBWTtrQkFBcEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0ksVUFBVTtrQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2h1bmssIGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IERhdGVIZWxwZXIgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbmltcG9ydCB7IENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLCBDQUxFTkRBUl9NT05USF9MQUJFTFMgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5jb25mJztcbmltcG9ydCB7IE1vbnRoTGFiZWxzQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2FsZW5kYXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktY2FsZW5kYXIteWVhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi95ZWFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyWWVhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWN0aXZlRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgbW9udGhMYWJlbHM6IE1vbnRoTGFiZWxzQ29uZmlnID0gQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFM7XG4gIEBPdXRwdXQoKSBzZWxlY3REYXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZE1vbnRoID0gLTE7XG4gIHB1YmxpYyBjdXJyZW50ID0gJyc7XG4gIHB1YmxpYyBtb250aHM6IEFycmF5PHN0cmluZ1tdPiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ0FMRU5EQVJfTU9OVEhfTEFCRUxTKSBwdWJsaWMgbW9kdWxlTW9udGhMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX01PTlRIX0xBQkVMUykge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0KGNoYW5nZXMsICdhY3RpdmVEYXRlLmN1cnJlbnRWYWx1ZScpO1xuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gY3VycmVudFZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IGN1cnJlbnRWYWx1ZS5nZXRGdWxsWWVhcigpIDogLTE7XG4gICAgY29uc3Qgc2VsZWN0ZWRNb250aENoYW5nZWQgPSB0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpID09PSB0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBjdXJyZW50ID0gbmV3IERhdGUoKTtcblxuICAgIHRoaXMuY3VycmVudCA9IGN1cnJlbnRZZWFyID09PSBjdXJyZW50LmdldEZ1bGxZZWFyKCkgPyB0aGlzLm1vbnRoTGFiZWxzW2N1cnJlbnQuZ2V0TW9udGgoKV0gOiAnJztcblxuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHNlbGVjdGVkTW9udGhDaGFuZ2VkID8gdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA6IC0xO1xuXG4gICAgaWYgKGNoYW5nZXMubW9udGhMYWJlbHMpIHtcbiAgICAgIHRoaXMubW9udGhMYWJlbHMgPSB0aGlzLm1vbnRoTGFiZWxzIHx8IHRoaXMubW9kdWxlTW9udGhMYWJlbHM7XG4gICAgICB0aGlzLm1vbnRocyA9IGNodW5rKHRoaXMubW9udGhMYWJlbHMsIDIpO1xuICAgIH1cbiAgfVxuXG4gIHBpY2tEYXRlKGV2ZW50OiBNb3VzZUV2ZW50LCBkYXRlOiBzdHJpbmcpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGxldCBzZWxlY3RlZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIHNlbGVjdGVkRGF0ZSA9IERhdGVIZWxwZXIudXBkYXRlTW9udGgoc2VsZWN0ZWREYXRlLCB0aGlzLm1vbnRoTGFiZWxzLmluZGV4T2YoZGF0ZSkpO1xuXG4gICAgdGhpcy5zZWxlY3REYXRlLmVtaXQoc2VsZWN0ZWREYXRlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fbGlzdFwiPlxuICA8dGFibGU+XG4gICAgPHRib2R5IGNsYXNzPVwibS1kYXRlcGlja2VyX19saXN0LWJvZHlcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgbW9udGhzXCI+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgbW9udGggb2YgZ3JvdXBcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwicGlja0RhdGUoJGV2ZW50LCBtb250aClcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnaXMtY3VycmVudCc6IG1vbnRoID09PSBjdXJyZW50LFxuICAgICAgICAgICAgICAnaXMtc2VsZWN0ZWQnOiBtb250aCA9PT0gbW9udGhMYWJlbHNbc2VsZWN0ZWRNb250aF1cbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgbW9udGggfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { DateGenerator, DateHelper } from '@acpaas-ui/
|
|
2
|
+
import { DateGenerator, DateHelper } from '@acpaas-ui/ngx-utils';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class CalendarService {
|
|
5
5
|
constructor() {
|
|
@@ -53,4 +53,4 @@ export class CalendarService {
|
|
|
53
53
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CalendarService, [{
|
|
54
54
|
type: Injectable
|
|
55
55
|
}], null, null); })();
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFvQixNQUFNLHNCQUFzQixDQUFDOztBQVNuRixNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVTLFdBQU0sR0FBYSxFQUFFLENBQUM7S0EyRDlCO0lBeERDLFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBYTtRQUNuQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEIsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbkgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFjLENBQUM7UUFFcEMsT0FBTyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFVLEVBQUUsS0FBZ0I7UUFDMUMsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVSxFQUFFLEtBQWdCO1FBQzNDLE1BQU0sWUFBWSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFaEUsT0FBTztZQUNMLE1BQU0sRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQ2hFLE9BQU8sRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQy9ELEtBQUssRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDO1NBQy9ELENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBYSxJQUFJLElBQUksRUFBRSxFQUFFLEtBQWdCO1FBQzlELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXBELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sVUFBVSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDOztpR0EzRFUsZUFBZTtvR0FBZixlQUFlLFdBQWYsZUFBZTt1RkFBZixlQUFlO2NBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlR2VuZXJhdG9yLCBEYXRlSGVscGVyLCBEYXRlUmFuZ2UsIE1vbnRoIH0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtdXRpbHMnO1xuXG5pbXBvcnQgeyBEYXRlUmFuZ2VNYXAgfSBmcm9tICcuLi90eXBlcy9jYWxlbmRhci50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9udGhNYXAge1xuICBba2V5OiBudW1iZXJdOiBNb250aDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyU2VydmljZSB7XG4gIHB1YmxpYyBtb250aHM6IE1vbnRoTWFwID0ge307XG4gIHByaXZhdGUgY3VycmVudFllYXI6IG51bWJlcjtcblxuICBnZXRNb250aChtb250aDogbnVtYmVyLCB5ZWFyPzogbnVtYmVyKTogTW9udGgge1xuICAgIGlmICh5ZWFyKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50WWVhciAhPT0geWVhcikge1xuICAgICAgICB0aGlzLm1vbnRocyA9IHt9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLmN1cnJlbnRZZWFyID0geWVhcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tb250aHMuaGFzT3duUHJvcGVydHkobW9udGgpKSB7XG4gICAgICByZXR1cm4gWy4uLnRoaXMubW9udGhzW21vbnRoXV07XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgZGF0ZS5zZXRNb250aChtb250aCwgMSk7XG5cbiAgICBpZiAoeWVhcikge1xuICAgICAgZGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTtcbiAgICB9XG5cbiAgICBjb25zdCBnZW5lcmF0ZWRNb250aCA9IERhdGVHZW5lcmF0b3IuZ2VuZXJhdGVNb250aChkYXRlLCB7IHN0YXJ0T2ZXZWVrOiAxLCBwYWRkaW5nOiB0cnVlLCBnZW5lcmF0ZVBhZGRpbmc6IHRydWUgfSk7XG5cbiAgICB0aGlzLm1vbnRoc1ttb250aF0gPSBnZW5lcmF0ZWRNb250aDtcblxuICAgIHJldHVybiBbLi4uZ2VuZXJhdGVkTW9udGhdO1xuICB9XG5cbiAgZ2V0TW9udGhGb3JEYXRlKGRhdGU6IERhdGUpOiBNb250aCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9udGgoZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldEZ1bGxZZWFyKCkpO1xuICB9XG5cbiAgZ2V0UmFuZ2VGb3JEYXRlKGRhdGU6IERhdGUsIHJhbmdlOiBEYXRlUmFuZ2UpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIERhdGVHZW5lcmF0b3IuZ2VuZXJhdGVSYW5nZShkYXRlLCByYW5nZSwgeyBzdGFydE9mV2VlazogMSB9KTtcbiAgfVxuXG4gIGdldFJhbmdlc0ZvckRhdGUoZGF0ZTogRGF0ZSwgcmFuZ2U6IERhdGVSYW5nZSk6IERhdGVSYW5nZU1hcCB7XG4gICAgY29uc3QgcmFuZ2VPcHRpb25zID0geyBzdGFydE9mV2VlazogMSB9O1xuICAgIGNvbnN0IGJlZm9yZSA9IERhdGVIZWxwZXIudXBkYXRlTW9udGgoZGF0ZSwgZGF0ZS5nZXRNb250aCgpIC0gMSk7XG4gICAgY29uc3QgYWZ0ZXIgPSBEYXRlSGVscGVyLnVwZGF0ZU1vbnRoKGRhdGUsIGRhdGUuZ2V0TW9udGgoKSArIDEpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJlZm9yZTogRGF0ZUdlbmVyYXRvci5nZW5lcmF0ZVJhbmdlKGJlZm9yZSwgcmFuZ2UsIHJhbmdlT3B0aW9ucyksXG4gICAgICBjdXJyZW50OiBEYXRlR2VuZXJhdG9yLmdlbmVyYXRlUmFuZ2UoZGF0ZSwgcmFuZ2UsIHJhbmdlT3B0aW9ucyksXG4gICAgICBhZnRlcjogRGF0ZUdlbmVyYXRvci5nZW5lcmF0ZVJhbmdlKGFmdGVyLCByYW5nZSwgcmFuZ2VPcHRpb25zKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q2xvc2VzdERhdGVGb3JSYW5nZShkYXRlOiBEYXRlID0gbmV3IERhdGUoKSwgcmFuZ2U6IERhdGVSYW5nZSk6IERhdGUge1xuICAgIGNvbnN0IGRhdGVSYW5nZSA9IHRoaXMuZ2V0UmFuZ2VGb3JEYXRlKGRhdGUsIHJhbmdlKTtcblxuICAgIGlmIChEYXRlSGVscGVyLmRhdGVPdXRPZlJhbmdlKGRhdGUsIGRhdGVSYW5nZSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIHJldHVybiBEYXRlSGVscGVyLmNsb3Nlc3REYXRlRm9yUmFuZ2UoZGF0ZSwgZGF0ZVJhbmdlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, InjectionToken, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, Inject, HostBinding, NgModule } from '@angular/core';
|
|
3
|
-
import { DateGenerator, DateHelper } from '@acpaas-ui/
|
|
3
|
+
import { DateGenerator, DateHelper } from '@acpaas-ui/ngx-utils';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import * as i3 from '@acpaas-ui/ngx-icon';
|
|
@@ -212,7 +212,7 @@ function CalendarMonthComponent_tr_6_td_1_Template(rf, ctx) {
|
|
|
212
212
|
const day_r5 = ctx.$implicit;
|
|
213
213
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
214
214
|
i0.ɵɵadvance(1);
|
|
215
|
-
i0.ɵɵproperty("disabled", !day_r5.available)("ngClass", i0.ɵɵpureFunction4(3, _c0$1, !day_r5.date || day_r5.padding, !day_r5.padding && day_r5.date === ctx_r4.selectedDay, !day_r5.padding && day_r5.date === ctx_r4.current, !day_r5.available));
|
|
215
|
+
i0.ɵɵproperty("disabled", !day_r5.available)("ngClass", i0.ɵɵpureFunction4(3, _c0$1, !day_r5.date || day_r5.padding, !day_r5.padding && ctx_r4.selectedDate && day_r5.date === ctx_r4.selectedDay && ctx_r4.selectedDay && ctx_r4.selectedDate.getFullYear() === ctx_r4.activeDate.getFullYear(), !day_r5.padding && day_r5.date === ctx_r4.current, !day_r5.available));
|
|
216
216
|
i0.ɵɵadvance(1);
|
|
217
217
|
i0.ɵɵtextInterpolate1(" ", day_r5.date, " ");
|
|
218
218
|
}
|
|
@@ -327,7 +327,7 @@ class CalendarMonthComponent {
|
|
|
327
327
|
(function () {
|
|
328
328
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CalendarMonthComponent, [{
|
|
329
329
|
type: Component,
|
|
330
|
-
args: [{ selector: 'aui-calendar-month', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected'
|
|
330
|
+
args: [{ selector: 'aui-calendar-month', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected':\n !day.padding &&\n selectedDate &&\n day.date === selectedDay &&\n selectedDay &&\n selectedDate.getFullYear() === activeDate.getFullYear(),\n 'is-current': !day.padding && day.date === current,\n 'is-unavailable': !day.available\n }\"\n type=\"button\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
|
|
331
331
|
}], function () {
|
|
332
332
|
return [{ type: undefined, decorators: [{
|
|
333
333
|
type: Inject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acpaas-ui-ngx-calendar.mjs","sources":["../../src/lib/types/calendar.types.ts","../../src/lib/services/calendar.service.ts","../../src/lib/calendar.conf.ts","../../src/lib/components/decennia/decennia.component.html","../../src/lib/components/decennia/decennia.component.ts","../../src/lib/components/month/month.component.html","../../src/lib/components/month/month.component.ts","../../src/lib/components/year/year.component.html","../../src/lib/components/year/year.component.ts","../../src/lib/components/calendar/calendar.component.html","../../src/lib/components/calendar/calendar.component.ts","../../src/lib/calendar.module.ts","../../src/acpaas-ui-ngx-calendar.ts"],"sourcesContent":["export const CALENDAR_VIEW_MONTH = 'CALENDAR_VIEW_MONTH';\nexport const CALENDAR_VIEW_YEAR = 'CALENDAR_VIEW_YEAR';\nexport const CALENDAR_VIEW_DECENNIA = 'CALENDAR_VIEW_DECENNIA';\n\nexport type WeekdayLabelsConfig = string[];\nexport type MonthLabelsConfig = string[];\n\nexport interface DatepickerResult {\n date: Date;\n complete: boolean;\n}\n\nexport interface DateRangeMap {\n before: number[];\n current: number[];\n after: number[];\n}\n","import { Injectable } from '@angular/core';\nimport { DateGenerator, DateHelper, DateRange, Month } from '@acpaas-ui/js-date-utils';\n\nimport { DateRangeMap } from '../types/calendar.types';\n\nexport interface MonthMap {\n [key: number]: Month;\n}\n\n@Injectable()\nexport class CalendarService {\n public months: MonthMap = {};\n private currentYear: number;\n\n getMonth(month: number, year?: number): Month {\n if (year) {\n if (this.currentYear !== year) {\n this.months = {};\n }\n\n this.currentYear = year;\n }\n\n if (this.months.hasOwnProperty(month)) {\n return [...this.months[month]];\n }\n\n const date = new Date();\n date.setMonth(month, 1);\n\n if (year) {\n date.setFullYear(year);\n }\n\n const generatedMonth = DateGenerator.generateMonth(date, {startOfWeek: 1, padding: true, generatePadding: true});\n\n this.months[month] = generatedMonth;\n\n return [...generatedMonth];\n }\n\n getMonthForDate(date: Date): Month {\n return this.getMonth(date.getMonth(), date.getFullYear());\n }\n\n getRangeForDate(date: Date, range: DateRange): number[] {\n return DateGenerator.generateRange(date, range, {startOfWeek: 1});\n }\n\n getRangesForDate(date: Date, range: DateRange): DateRangeMap {\n const rangeOptions = {startOfWeek: 1};\n const before = DateHelper.updateMonth(date, date.getMonth() - 1);\n const after = DateHelper.updateMonth(date, date.getMonth() + 1);\n\n return {\n before: DateGenerator.generateRange(before, range, rangeOptions),\n current: DateGenerator.generateRange(date, range, rangeOptions),\n after: DateGenerator.generateRange(after, range, rangeOptions),\n };\n }\n\n getClosestDateForRange(date: Date = new Date(), range: DateRange): Date {\n const dateRange = this.getRangeForDate(date, range);\n\n if (DateHelper.dateOutOfRange(date, dateRange)) {\n return date;\n }\n\n return DateHelper.closestDateForRange(date, dateRange);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\n\nexport const CALENDAR_DEFAULT_WEEKDAY_LABELS = [\n 'Maandag',\n 'Dinsdag',\n 'Woensdag',\n 'Donderdag',\n 'Vrijdag',\n 'Zaterdag',\n 'Zondag',\n];\n\nexport const CALENDAR_DEFAULT_MONTH_LABELS = [\n 'Januari',\n 'Februari',\n 'Maart',\n 'April',\n 'Mei',\n 'Juni',\n 'Juli',\n 'Augustus',\n 'September',\n 'Oktober',\n 'November',\n 'December',\n];\n\nexport const CALENDAR_WEEKDAY_LABELS = new InjectionToken<WeekdayLabelsConfig>('weekdayLabels');\nexport const CALENDAR_MONTH_LABELS = new InjectionToken<MonthLabelsConfig>('monthLabels');\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of years\">\n <td *ngFor=\"let year of group\">\n <button\n (click)=\"pickDate($event, year)\"\n [ngClass]=\"{\n 'is-current': year === current,\n 'is-selected': year === selectedYear\n }\"\n type=\"button\"\n >\n {{ year }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\n@Component({\n selector: 'aui-calendar-decennia',\n templateUrl: './decennia.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarDecenniaComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Output() selectDate = new EventEmitter();\n\n public years = [];\n public selectedYear = -1;\n public current = -1;\n\n public ngOnInit() {\n const current = new Date();\n this.current = current.getFullYear();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const previousValue = get(changes, 'activeDate.previousValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const previousYear = previousValue instanceof Date ? previousValue.getFullYear() : -1;\n const outOfRange = previousYear > currentYear || previousYear + 17 < currentYear;\n\n if (currentYear >= 0 && outOfRange) {\n this.updateYears();\n }\n\n this.selectedYear = this.selectedDate instanceof Date ? this.selectedDate.getFullYear() : -1;\n }\n\n pickDate(event: MouseEvent, date: number) {\n event.stopPropagation();\n\n const selectedDate = new Date(this.activeDate);\n selectedDate.setFullYear(date);\n\n this.selectDate.emit(selectedDate);\n }\n\n private updateYears(): void {\n const years = [];\n const activeYear = this.activeDate.getFullYear();\n\n for (let i = activeYear; i < activeYear + 18; i += 1) {\n years.push(i);\n }\n\n this.years = chunk(years, 3);\n }\n}\n","<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected': !day.padding && day.date === selectedDay,\n 'is-current': !day.padding && day.date === current,\n 'is-unavailable': !day.available\n }\"\n type=\"button\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { get } from 'lodash-es';\nimport { DateHelper, DateRange, Day, Month } from '@acpaas-ui/js-date-utils';\nimport { CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_WEEKDAY_LABELS } from '../../calendar.conf';\nimport { CalendarService } from '../../services/calendar.service';\nimport { DateRangeMap, WeekdayLabelsConfig } from '../../types/calendar.types';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar-month',\n templateUrl: './month.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarMonthComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig = CALENDAR_DEFAULT_WEEKDAY_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public dates: Month = [];\n public selectedDay = -1;\n public current: number;\n\n constructor(\n @Inject(CALENDAR_WEEKDAY_LABELS) private moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDateChanged = this.hasChanged(changes, 'selectedDate');\n const intervalChanged = !!changes.interval && changes.interval.currentValue !== changes.interval.previousValue;\n const activeDateChanged = this.hasChanged(changes, 'activeDate');\n const monthChanged =\n activeDateChanged &&\n !DateHelper.datesAreEqual([changes.activeDate.currentValue, changes.activeDate.previousValue], 'M');\n const selectedDayChanged = this.selectedDate && this.activeDate.getMonth() === this.selectedDate.getMonth();\n\n this.current = this.getCurrentDate();\n this.selectedDay = selectedDayChanged ? this.selectedDate.getDate() : -1;\n\n let newDates = [];\n\n if (selectedDateChanged || intervalChanged || (activeDateChanged && monthChanged)) {\n newDates = this.calendarService.getMonthForDate(this.activeDate);\n } else {\n return;\n }\n\n const range: DateRangeMap | null = this.calendarService.getRangesForDate(this.activeDate, this.range);\n this.dates = newDates.map((week) =>\n week.map((day) => {\n const currentDate = new Date();\n this.activeDate.setHours(currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());\n const date: Date = new Date(this.activeDate);\n\n if (day.padding) {\n if (day.date > 20) {\n date.setMonth(this.activeDate.getMonth() - 1);\n } else {\n date.setMonth(this.activeDate.getMonth() + 1);\n }\n }\n\n date.setDate(day.date);\n\n const available: boolean =\n this.dayIsAvailableForRange(day, range) && (this.interval ? !this.interval.isInRange(date) : true);\n return {\n ...day,\n available,\n };\n })\n );\n }\n\n pickDate(event: MouseEvent, day: Day): void {\n event.stopPropagation(); // Stop propagation so the modal doesn't close\n\n let selectedDate = new Date(this.activeDate);\n\n if (day.padding) {\n const month = day.date > 20 ? -1 : 1;\n selectedDate = DateHelper.updateMonth(selectedDate, selectedDate.getMonth() + month);\n }\n\n this.selectDate.emit(DateHelper.updateDate(selectedDate, day.date));\n }\n\n private hasChanged(changes: SimpleChanges, prop: string): boolean {\n const current = get(changes, `${prop}.currentValue`);\n const previous = get(changes, `${prop}.previousValue`);\n const currentValue = current instanceof Date ? current.valueOf() : 0;\n const previousValue = previous instanceof Date ? previous.valueOf() : 0;\n\n return !!currentValue && currentValue !== previousValue;\n }\n\n private getCurrentDate(): number {\n const current = new Date();\n const monthHasChanged = !DateHelper.datesAreEqual([this.activeDate, current], ['M', 'Y']);\n\n return monthHasChanged ? -1 : current.getDate();\n }\n\n private dayIsAvailableForRange(day: Day, range: DateRangeMap): boolean {\n if (!range) {\n return true;\n }\n\n let dateRange = range.current;\n\n if (day.padding) {\n dateRange = day.date > 20 ? range.before : range.after;\n }\n\n return dateRange.indexOf(day.date) < 0;\n }\n}\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of months\">\n <td *ngFor=\"let month of group\">\n <button\n (click)=\"pickDate($event, month)\"\n [ngClass]=\"{\n 'is-current': month === current,\n 'is-selected': month === monthLabels[selectedMonth]\n }\"\n type=\"button\"\n >\n {{ month | titlecase }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\nimport { DateHelper } from '@acpaas-ui/js-date-utils';\n\nimport { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_MONTH_LABELS } from '../../calendar.conf';\nimport { MonthLabelsConfig } from '../../types/calendar.types';\n\n@Component({\n selector: 'aui-calendar-year',\n templateUrl: './year.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarYearComponent implements OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() monthLabels: MonthLabelsConfig = CALENDAR_DEFAULT_MONTH_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public selectedMonth = -1;\n public current = '';\n public months: Array<string[]> = [];\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const selectedMonthChanged = this.selectedDate && this.selectedDate.getFullYear() === this.activeDate.getFullYear();\n const current = new Date();\n\n this.current = currentYear === current.getFullYear() ? this.monthLabels[current.getMonth()] : '';\n\n this.selectedMonth = selectedMonthChanged ? this.selectedDate.getMonth() : -1;\n\n if (changes.monthLabels) {\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.months = chunk(this.monthLabels, 2);\n }\n }\n\n pickDate(event: MouseEvent, date: string) {\n event.stopPropagation();\n\n let selectedDate = new Date(this.activeDate);\n selectedDate = DateHelper.updateMonth(selectedDate, this.monthLabels.indexOf(date));\n\n this.selectDate.emit(selectedDate);\n }\n}\n","<div class=\"m-datepicker__nav\">\n <button (click)=\"switchView()\" class=\"m-datepicker__nav-title\" type=\"button\">\n {{ headerLabel | titlecase }}\n <aui-icon name=\"ai-arrow-down-1\" role=\"button\" tabindex=\"0\" />\n </button>\n\n <div class=\"m-datepicker__nav-pagination\">\n <button\n (click)=\"updateActiveDate(-1)\"\n [attr.aria-label]=\"ariaPreviousLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-left-1\"></aui-icon>\n </button>\n <button\n (click)=\"updateActiveDate(1)\"\n [attr.aria-label]=\"ariaNextLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-right-1\"></aui-icon>\n </button>\n </div>\n</div>\n<aui-calendar-month\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_MONTH\"\n [activeDate]=\"activeDate\"\n [range]=\"range\"\n [interval]=\"interval\"\n [selectedDate]=\"selectedDate\"\n [weekdayLabels]=\"weekdayLabels\"\n></aui-calendar-month>\n<aui-calendar-year\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_YEAR\"\n [activeDate]=\"activeDate\"\n [monthLabels]=\"monthLabels\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-year>\n<aui-calendar-decennia\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_DECENNIA\"\n [activeDate]=\"activeDate\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-decennia>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\n\nimport { DateHelper, DateRange } from '@acpaas-ui/js-date-utils';\n\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from '../../calendar.conf';\nimport {\n CALENDAR_VIEW_DECENNIA,\n CALENDAR_VIEW_MONTH,\n CALENDAR_VIEW_YEAR,\n MonthLabelsConfig,\n WeekdayLabelsConfig,\n} from '../../types/calendar.types';\nimport { CalendarService } from '../../services/calendar.service';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar',\n templateUrl: './calendar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarComponent implements OnInit, OnChanges {\n @HostBinding('attr.role') role = 'application';\n @HostBinding('attr.aria-hidden') ariahidden = 'false';\n\n @Input() ariaPreviousLabels = ['Ga naar vorige maand', 'Ga naar vorig jaar', 'Ga naar vorige 18 jaren'];\n @Input() ariaNextLabels = ['Ga naar volgende maand', 'Ga naar volgend jaar', 'Ga naar volgende 18 jaren'];\n\n @Input() selectedDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig;\n @Input() monthLabels: MonthLabelsConfig;\n @Output() selectDate = new EventEmitter();\n\n public CALENDAR_VIEW_MONTH = CALENDAR_VIEW_MONTH;\n public CALENDAR_VIEW_YEAR = CALENDAR_VIEW_YEAR;\n public CALENDAR_VIEW_DECENNIA = CALENDAR_VIEW_DECENNIA;\n public activeDate: Date;\n public activeView: string = CALENDAR_VIEW_MONTH;\n public headerLabel = '';\n public ariaPreviousLabel = this.ariaPreviousLabels[0];\n public ariaNextLabel = this.ariaNextLabels[0];\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS,\n @Inject(CALENDAR_WEEKDAY_LABELS) public moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.initControl();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDate = changes.selectedDate && changes.selectedDate.currentValue ? changes.selectedDate : null;\n\n if (\n typeof this.monthLabels !== 'undefined' &&\n selectedDate &&\n !DateHelper.datesAreEqual(selectedDate.currentValue, selectedDate.previousValue)\n ) {\n this.activeDate = this.selectedDate;\n this.updateHeaderLabel();\n } else {\n let activeDateToSet = new Date();\n\n if (this.interval && this.interval.isInRange(activeDateToSet)) {\n activeDateToSet = this.interval.min;\n }\n\n this.activeDate = DateHelper.parseDate(activeDateToSet);\n\n this.initControl();\n }\n }\n\n updateActiveDate(factor: number = 0): void {\n const activeDate = this.activeDate ? new Date(this.activeDate) : new Date();\n\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n activeDate.setMonth(activeDate.getMonth() + factor);\n break;\n case CALENDAR_VIEW_YEAR:\n activeDate.setFullYear(activeDate.getFullYear() + factor);\n break;\n case CALENDAR_VIEW_DECENNIA:\n activeDate.setFullYear(activeDate.getFullYear() + 18 * factor);\n break;\n }\n\n this.activeDate = activeDate;\n this.updateHeaderLabel();\n }\n\n switchView(factor: number = 1): void {\n const views = [CALENDAR_VIEW_MONTH, CALENDAR_VIEW_YEAR, CALENDAR_VIEW_DECENNIA];\n\n const currView = views.indexOf(this.activeView);\n let nextView = currView + factor >= views.length ? 0 : currView + factor;\n nextView = nextView < 0 ? views.length - 1 : nextView;\n\n this.activeView = views[nextView];\n\n // reset activeDate when returning to month view without model update\n if (this.selectedDate && nextView === 0 && factor === 1) {\n this.activeDate = this.selectedDate;\n }\n\n this.updateHeaderLabel();\n }\n\n updateHeaderLabel(): void {\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n this.headerLabel = this.monthLabels[this.activeDate.getMonth()] + ' ' + this.activeDate.getFullYear();\n this.ariaPreviousLabel = this.ariaPreviousLabels[0];\n this.ariaNextLabel = this.ariaNextLabels[0];\n break;\n case CALENDAR_VIEW_YEAR:\n this.headerLabel = String(this.activeDate.getFullYear());\n this.ariaPreviousLabel = this.ariaPreviousLabels[1];\n this.ariaNextLabel = this.ariaNextLabels[1];\n break;\n case CALENDAR_VIEW_DECENNIA:\n const startYear = this.activeDate.getFullYear();\n this.headerLabel = `${startYear} - ${startYear + 17}`;\n this.ariaPreviousLabel = this.ariaPreviousLabels[2];\n this.ariaNextLabel = this.ariaNextLabels[2];\n break;\n }\n }\n\n pickDate(date: Date): void {\n const complete = this.activeView === CALENDAR_VIEW_MONTH;\n\n this.selectDate.emit({\n date,\n complete,\n });\n\n if (!complete) {\n this.activeDate = date;\n this.switchView(-1);\n }\n }\n\n private initControl(): void {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.activeDate = this.calendarService.getClosestDateForRange(this.activeDate, this.range);\n if (this.selectedDate) {\n this.activeDate = this.selectedDate;\n this.updateActiveDate();\n }\n this.updateHeaderLabel();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from './calendar.conf';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\nimport { CalendarService } from './services/calendar.service';\nimport { CalendarComponent } from './components/calendar/calendar.component';\nimport { CalendarDecenniaComponent } from './components/decennia/decennia.component';\nimport { CalendarMonthComponent } from './components/month/month.component';\nimport { CalendarYearComponent } from './components/year/year.component';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n declarations: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n exports: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n providers: [\n CalendarService,\n {\n provide: CALENDAR_WEEKDAY_LABELS,\n useValue: CALENDAR_DEFAULT_WEEKDAY_LABELS,\n },\n { provide: CALENDAR_MONTH_LABELS, useValue: CALENDAR_DEFAULT_MONTH_LABELS },\n ],\n})\nexport class CalendarModule {\n static forChild(\n weekdayLabels: WeekdayLabelsConfig,\n monthLabels: MonthLabelsConfig\n ): ModuleWithProviders<any> {\n return {\n ngModule: CalendarModule,\n providers: [\n CalendarService,\n { provide: CALENDAR_WEEKDAY_LABELS, useValue: weekdayLabels },\n { provide: CALENDAR_MONTH_LABELS, useValue: monthLabels },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","i1.CalendarService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acpaas-ui-ngx-calendar.mjs","sources":["../../src/lib/types/calendar.types.ts","../../src/lib/services/calendar.service.ts","../../src/lib/calendar.conf.ts","../../src/lib/components/decennia/decennia.component.html","../../src/lib/components/decennia/decennia.component.ts","../../src/lib/components/month/month.component.html","../../src/lib/components/month/month.component.ts","../../src/lib/components/year/year.component.html","../../src/lib/components/year/year.component.ts","../../src/lib/components/calendar/calendar.component.html","../../src/lib/components/calendar/calendar.component.ts","../../src/lib/calendar.module.ts","../../src/acpaas-ui-ngx-calendar.ts"],"sourcesContent":["export const CALENDAR_VIEW_MONTH = 'CALENDAR_VIEW_MONTH';\nexport const CALENDAR_VIEW_YEAR = 'CALENDAR_VIEW_YEAR';\nexport const CALENDAR_VIEW_DECENNIA = 'CALENDAR_VIEW_DECENNIA';\n\nexport type WeekdayLabelsConfig = string[];\nexport type MonthLabelsConfig = string[];\n\nexport interface DatepickerResult {\n date: Date;\n complete: boolean;\n}\n\nexport interface DateRangeMap {\n before: number[];\n current: number[];\n after: number[];\n}\n","import { Injectable } from '@angular/core';\nimport { DateGenerator, DateHelper, DateRange, Month } from '@acpaas-ui/ngx-utils';\n\nimport { DateRangeMap } from '../types/calendar.types';\n\nexport interface MonthMap {\n [key: number]: Month;\n}\n\n@Injectable()\nexport class CalendarService {\n public months: MonthMap = {};\n private currentYear: number;\n\n getMonth(month: number, year?: number): Month {\n if (year) {\n if (this.currentYear !== year) {\n this.months = {};\n }\n\n this.currentYear = year;\n }\n\n if (this.months.hasOwnProperty(month)) {\n return [...this.months[month]];\n }\n\n const date = new Date();\n date.setMonth(month, 1);\n\n if (year) {\n date.setFullYear(year);\n }\n\n const generatedMonth = DateGenerator.generateMonth(date, { startOfWeek: 1, padding: true, generatePadding: true });\n\n this.months[month] = generatedMonth;\n\n return [...generatedMonth];\n }\n\n getMonthForDate(date: Date): Month {\n return this.getMonth(date.getMonth(), date.getFullYear());\n }\n\n getRangeForDate(date: Date, range: DateRange): number[] {\n return DateGenerator.generateRange(date, range, { startOfWeek: 1 });\n }\n\n getRangesForDate(date: Date, range: DateRange): DateRangeMap {\n const rangeOptions = { startOfWeek: 1 };\n const before = DateHelper.updateMonth(date, date.getMonth() - 1);\n const after = DateHelper.updateMonth(date, date.getMonth() + 1);\n\n return {\n before: DateGenerator.generateRange(before, range, rangeOptions),\n current: DateGenerator.generateRange(date, range, rangeOptions),\n after: DateGenerator.generateRange(after, range, rangeOptions),\n };\n }\n\n getClosestDateForRange(date: Date = new Date(), range: DateRange): Date {\n const dateRange = this.getRangeForDate(date, range);\n\n if (DateHelper.dateOutOfRange(date, dateRange)) {\n return date;\n }\n\n return DateHelper.closestDateForRange(date, dateRange);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\n\nexport const CALENDAR_DEFAULT_WEEKDAY_LABELS = [\n 'Maandag',\n 'Dinsdag',\n 'Woensdag',\n 'Donderdag',\n 'Vrijdag',\n 'Zaterdag',\n 'Zondag',\n];\n\nexport const CALENDAR_DEFAULT_MONTH_LABELS = [\n 'Januari',\n 'Februari',\n 'Maart',\n 'April',\n 'Mei',\n 'Juni',\n 'Juli',\n 'Augustus',\n 'September',\n 'Oktober',\n 'November',\n 'December',\n];\n\nexport const CALENDAR_WEEKDAY_LABELS = new InjectionToken<WeekdayLabelsConfig>('weekdayLabels');\nexport const CALENDAR_MONTH_LABELS = new InjectionToken<MonthLabelsConfig>('monthLabels');\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of years\">\n <td *ngFor=\"let year of group\">\n <button\n (click)=\"pickDate($event, year)\"\n [ngClass]=\"{\n 'is-current': year === current,\n 'is-selected': year === selectedYear\n }\"\n type=\"button\"\n >\n {{ year }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\n@Component({\n selector: 'aui-calendar-decennia',\n templateUrl: './decennia.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarDecenniaComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Output() selectDate = new EventEmitter();\n\n public years = [];\n public selectedYear = -1;\n public current = -1;\n\n public ngOnInit() {\n const current = new Date();\n this.current = current.getFullYear();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const previousValue = get(changes, 'activeDate.previousValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const previousYear = previousValue instanceof Date ? previousValue.getFullYear() : -1;\n const outOfRange = previousYear > currentYear || previousYear + 17 < currentYear;\n\n if (currentYear >= 0 && outOfRange) {\n this.updateYears();\n }\n\n this.selectedYear = this.selectedDate instanceof Date ? this.selectedDate.getFullYear() : -1;\n }\n\n pickDate(event: MouseEvent, date: number) {\n event.stopPropagation();\n\n const selectedDate = new Date(this.activeDate);\n selectedDate.setFullYear(date);\n\n this.selectDate.emit(selectedDate);\n }\n\n private updateYears(): void {\n const years = [];\n const activeYear = this.activeDate.getFullYear();\n\n for (let i = activeYear; i < activeYear + 18; i += 1) {\n years.push(i);\n }\n\n this.years = chunk(years, 3);\n }\n}\n","<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected':\n !day.padding &&\n selectedDate &&\n day.date === selectedDay &&\n selectedDay &&\n selectedDate.getFullYear() === activeDate.getFullYear(),\n 'is-current': !day.padding && day.date === current,\n 'is-unavailable': !day.available\n }\"\n type=\"button\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { get } from 'lodash-es';\nimport { DateHelper, DateRange, Day, Month } from '@acpaas-ui/ngx-utils';\nimport { CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_WEEKDAY_LABELS } from '../../calendar.conf';\nimport { CalendarService } from '../../services/calendar.service';\nimport { DateRangeMap, WeekdayLabelsConfig } from '../../types/calendar.types';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar-month',\n templateUrl: './month.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarMonthComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig = CALENDAR_DEFAULT_WEEKDAY_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public dates: Month = [];\n public selectedDay = -1;\n public current: number;\n\n constructor(\n @Inject(CALENDAR_WEEKDAY_LABELS) private moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDateChanged = this.hasChanged(changes, 'selectedDate');\n const intervalChanged = !!changes.interval && changes.interval.currentValue !== changes.interval.previousValue;\n const activeDateChanged = this.hasChanged(changes, 'activeDate');\n const monthChanged =\n activeDateChanged &&\n !DateHelper.datesAreEqual([changes.activeDate.currentValue, changes.activeDate.previousValue], 'M');\n const selectedDayChanged = this.selectedDate && this.activeDate.getMonth() === this.selectedDate.getMonth();\n\n this.current = this.getCurrentDate();\n this.selectedDay = selectedDayChanged ? this.selectedDate.getDate() : -1;\n\n let newDates = [];\n\n if (selectedDateChanged || intervalChanged || (activeDateChanged && monthChanged)) {\n newDates = this.calendarService.getMonthForDate(this.activeDate);\n } else {\n return;\n }\n\n const range: DateRangeMap | null = this.calendarService.getRangesForDate(this.activeDate, this.range);\n this.dates = newDates.map((week) =>\n week.map((day) => {\n const currentDate = new Date();\n this.activeDate.setHours(currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());\n const date: Date = new Date(this.activeDate);\n\n if (day.padding) {\n if (day.date > 20) {\n date.setMonth(this.activeDate.getMonth() - 1);\n } else {\n date.setMonth(this.activeDate.getMonth() + 1);\n }\n }\n\n date.setDate(day.date);\n\n const available: boolean =\n this.dayIsAvailableForRange(day, range) && (this.interval ? !this.interval.isInRange(date) : true);\n return {\n ...day,\n available,\n };\n })\n );\n }\n\n pickDate(event: MouseEvent, day: Day): void {\n event.stopPropagation(); // Stop propagation so the modal doesn't close\n\n let selectedDate = new Date(this.activeDate);\n\n if (day.padding) {\n const month = day.date > 20 ? -1 : 1;\n selectedDate = DateHelper.updateMonth(selectedDate, selectedDate.getMonth() + month);\n }\n\n this.selectDate.emit(DateHelper.updateDate(selectedDate, day.date));\n }\n\n private hasChanged(changes: SimpleChanges, prop: string): boolean {\n const current = get(changes, `${prop}.currentValue`);\n const previous = get(changes, `${prop}.previousValue`);\n const currentValue = current instanceof Date ? current.valueOf() : 0;\n const previousValue = previous instanceof Date ? previous.valueOf() : 0;\n\n return !!currentValue && currentValue !== previousValue;\n }\n\n private getCurrentDate(): number {\n const current = new Date();\n const monthHasChanged = !DateHelper.datesAreEqual([this.activeDate, current], ['M', 'Y']);\n\n return monthHasChanged ? -1 : current.getDate();\n }\n\n private dayIsAvailableForRange(day: Day, range: DateRangeMap): boolean {\n if (!range) {\n return true;\n }\n\n let dateRange = range.current;\n\n if (day.padding) {\n dateRange = day.date > 20 ? range.before : range.after;\n }\n\n return dateRange.indexOf(day.date) < 0;\n }\n}\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of months\">\n <td *ngFor=\"let month of group\">\n <button\n (click)=\"pickDate($event, month)\"\n [ngClass]=\"{\n 'is-current': month === current,\n 'is-selected': month === monthLabels[selectedMonth]\n }\"\n type=\"button\"\n >\n {{ month | titlecase }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\nimport { DateHelper } from '@acpaas-ui/ngx-utils';\n\nimport { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_MONTH_LABELS } from '../../calendar.conf';\nimport { MonthLabelsConfig } from '../../types/calendar.types';\n\n@Component({\n selector: 'aui-calendar-year',\n templateUrl: './year.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarYearComponent implements OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() monthLabels: MonthLabelsConfig = CALENDAR_DEFAULT_MONTH_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public selectedMonth = -1;\n public current = '';\n public months: Array<string[]> = [];\n\n constructor(@Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS) {}\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const selectedMonthChanged = this.selectedDate && this.selectedDate.getFullYear() === this.activeDate.getFullYear();\n const current = new Date();\n\n this.current = currentYear === current.getFullYear() ? this.monthLabels[current.getMonth()] : '';\n\n this.selectedMonth = selectedMonthChanged ? this.selectedDate.getMonth() : -1;\n\n if (changes.monthLabels) {\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.months = chunk(this.monthLabels, 2);\n }\n }\n\n pickDate(event: MouseEvent, date: string) {\n event.stopPropagation();\n\n let selectedDate = new Date(this.activeDate);\n selectedDate = DateHelper.updateMonth(selectedDate, this.monthLabels.indexOf(date));\n\n this.selectDate.emit(selectedDate);\n }\n}\n","<div class=\"m-datepicker__nav\">\n <button (click)=\"switchView()\" class=\"m-datepicker__nav-title\" type=\"button\">\n {{ headerLabel | titlecase }}\n <aui-icon name=\"ai-arrow-down-1\" role=\"button\" tabindex=\"0\" />\n </button>\n\n <div class=\"m-datepicker__nav-pagination\">\n <button\n (click)=\"updateActiveDate(-1)\"\n [attr.aria-label]=\"ariaPreviousLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-left-1\"></aui-icon>\n </button>\n <button\n (click)=\"updateActiveDate(1)\"\n [attr.aria-label]=\"ariaNextLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-right-1\"></aui-icon>\n </button>\n </div>\n</div>\n<aui-calendar-month\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_MONTH\"\n [activeDate]=\"activeDate\"\n [range]=\"range\"\n [interval]=\"interval\"\n [selectedDate]=\"selectedDate\"\n [weekdayLabels]=\"weekdayLabels\"\n></aui-calendar-month>\n<aui-calendar-year\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_YEAR\"\n [activeDate]=\"activeDate\"\n [monthLabels]=\"monthLabels\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-year>\n<aui-calendar-decennia\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_DECENNIA\"\n [activeDate]=\"activeDate\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-decennia>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\n\nimport { DateHelper, DateRange } from '@acpaas-ui/ngx-utils';\n\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from '../../calendar.conf';\nimport {\n CALENDAR_VIEW_DECENNIA,\n CALENDAR_VIEW_MONTH,\n CALENDAR_VIEW_YEAR,\n MonthLabelsConfig,\n WeekdayLabelsConfig,\n} from '../../types/calendar.types';\nimport { CalendarService } from '../../services/calendar.service';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar',\n templateUrl: './calendar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarComponent implements OnInit, OnChanges {\n @HostBinding('attr.role') role = 'application';\n @HostBinding('attr.aria-hidden') ariahidden = 'false';\n\n @Input() ariaPreviousLabels = ['Ga naar vorige maand', 'Ga naar vorig jaar', 'Ga naar vorige 18 jaren'];\n @Input() ariaNextLabels = ['Ga naar volgende maand', 'Ga naar volgend jaar', 'Ga naar volgende 18 jaren'];\n\n @Input() selectedDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig;\n @Input() monthLabels: MonthLabelsConfig;\n @Output() selectDate = new EventEmitter();\n\n public CALENDAR_VIEW_MONTH = CALENDAR_VIEW_MONTH;\n public CALENDAR_VIEW_YEAR = CALENDAR_VIEW_YEAR;\n public CALENDAR_VIEW_DECENNIA = CALENDAR_VIEW_DECENNIA;\n public activeDate: Date;\n public activeView: string = CALENDAR_VIEW_MONTH;\n public headerLabel = '';\n public ariaPreviousLabel = this.ariaPreviousLabels[0];\n public ariaNextLabel = this.ariaNextLabels[0];\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS,\n @Inject(CALENDAR_WEEKDAY_LABELS) public moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.initControl();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDate = changes.selectedDate && changes.selectedDate.currentValue ? changes.selectedDate : null;\n\n if (\n typeof this.monthLabels !== 'undefined' &&\n selectedDate &&\n !DateHelper.datesAreEqual(selectedDate.currentValue, selectedDate.previousValue)\n ) {\n this.activeDate = this.selectedDate;\n this.updateHeaderLabel();\n } else {\n let activeDateToSet = new Date();\n\n if (this.interval && this.interval.isInRange(activeDateToSet)) {\n activeDateToSet = this.interval.min;\n }\n\n this.activeDate = DateHelper.parseDate(activeDateToSet);\n\n this.initControl();\n }\n }\n\n updateActiveDate(factor: number = 0): void {\n const activeDate = this.activeDate ? new Date(this.activeDate) : new Date();\n\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n activeDate.setMonth(activeDate.getMonth() + factor);\n break;\n case CALENDAR_VIEW_YEAR:\n activeDate.setFullYear(activeDate.getFullYear() + factor);\n break;\n case CALENDAR_VIEW_DECENNIA:\n activeDate.setFullYear(activeDate.getFullYear() + 18 * factor);\n break;\n }\n\n this.activeDate = activeDate;\n this.updateHeaderLabel();\n }\n\n switchView(factor: number = 1): void {\n const views = [CALENDAR_VIEW_MONTH, CALENDAR_VIEW_YEAR, CALENDAR_VIEW_DECENNIA];\n\n const currView = views.indexOf(this.activeView);\n let nextView = currView + factor >= views.length ? 0 : currView + factor;\n nextView = nextView < 0 ? views.length - 1 : nextView;\n\n this.activeView = views[nextView];\n\n // reset activeDate when returning to month view without model update\n if (this.selectedDate && nextView === 0 && factor === 1) {\n this.activeDate = this.selectedDate;\n }\n\n this.updateHeaderLabel();\n }\n\n updateHeaderLabel(): void {\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n this.headerLabel = this.monthLabels[this.activeDate.getMonth()] + ' ' + this.activeDate.getFullYear();\n this.ariaPreviousLabel = this.ariaPreviousLabels[0];\n this.ariaNextLabel = this.ariaNextLabels[0];\n break;\n case CALENDAR_VIEW_YEAR:\n this.headerLabel = String(this.activeDate.getFullYear());\n this.ariaPreviousLabel = this.ariaPreviousLabels[1];\n this.ariaNextLabel = this.ariaNextLabels[1];\n break;\n case CALENDAR_VIEW_DECENNIA:\n const startYear = this.activeDate.getFullYear();\n this.headerLabel = `${startYear} - ${startYear + 17}`;\n this.ariaPreviousLabel = this.ariaPreviousLabels[2];\n this.ariaNextLabel = this.ariaNextLabels[2];\n break;\n }\n }\n\n pickDate(date: Date): void {\n const complete = this.activeView === CALENDAR_VIEW_MONTH;\n\n this.selectDate.emit({\n date,\n complete,\n });\n\n if (!complete) {\n this.activeDate = date;\n this.switchView(-1);\n }\n }\n\n private initControl(): void {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.activeDate = this.calendarService.getClosestDateForRange(this.activeDate, this.range);\n if (this.selectedDate) {\n this.activeDate = this.selectedDate;\n this.updateActiveDate();\n }\n this.updateHeaderLabel();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from './calendar.conf';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\nimport { CalendarService } from './services/calendar.service';\nimport { CalendarComponent } from './components/calendar/calendar.component';\nimport { CalendarDecenniaComponent } from './components/decennia/decennia.component';\nimport { CalendarMonthComponent } from './components/month/month.component';\nimport { CalendarYearComponent } from './components/year/year.component';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n declarations: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n exports: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n providers: [\n CalendarService,\n {\n provide: CALENDAR_WEEKDAY_LABELS,\n useValue: CALENDAR_DEFAULT_WEEKDAY_LABELS,\n },\n { provide: CALENDAR_MONTH_LABELS, useValue: CALENDAR_DEFAULT_MONTH_LABELS },\n ],\n})\nexport class CalendarModule {\n static forChild(\n weekdayLabels: WeekdayLabelsConfig,\n monthLabels: MonthLabelsConfig\n ): ModuleWithProviders<any> {\n return {\n ngModule: CalendarModule,\n providers: [\n CalendarService,\n { provide: CALENDAR_WEEKDAY_LABELS, useValue: weekdayLabels },\n { provide: CALENDAR_MONTH_LABELS, useValue: monthLabels },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","i1.CalendarService"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, InjectionToken, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, Inject, HostBinding, NgModule } from '@angular/core';
|
|
3
|
-
import { DateGenerator, DateHelper } from '@acpaas-ui/
|
|
3
|
+
import { DateGenerator, DateHelper } from '@acpaas-ui/ngx-utils';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import * as i3 from '@acpaas-ui/ngx-icon';
|
|
@@ -194,7 +194,7 @@ function CalendarMonthComponent_tr_6_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
194
194
|
const day_r5 = ctx.$implicit;
|
|
195
195
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
196
196
|
i0.ɵɵadvance(1);
|
|
197
|
-
i0.ɵɵproperty("disabled", !day_r5.available)("ngClass", i0.ɵɵpureFunction4(3, _c0$1, !day_r5.date || day_r5.padding, !day_r5.padding && day_r5.date === ctx_r4.selectedDay, !day_r5.padding && day_r5.date === ctx_r4.current, !day_r5.available));
|
|
197
|
+
i0.ɵɵproperty("disabled", !day_r5.available)("ngClass", i0.ɵɵpureFunction4(3, _c0$1, !day_r5.date || day_r5.padding, !day_r5.padding && ctx_r4.selectedDate && day_r5.date === ctx_r4.selectedDay && ctx_r4.selectedDay && ctx_r4.selectedDate.getFullYear() === ctx_r4.activeDate.getFullYear(), !day_r5.padding && day_r5.date === ctx_r4.current, !day_r5.available));
|
|
198
198
|
i0.ɵɵadvance(1);
|
|
199
199
|
i0.ɵɵtextInterpolate1(" ", day_r5.date, " ");
|
|
200
200
|
} }
|
|
@@ -304,7 +304,7 @@ class CalendarMonthComponent {
|
|
|
304
304
|
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.SlicePipe], encapsulation: 2, changeDetection: 0 });
|
|
305
305
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CalendarMonthComponent, [{
|
|
306
306
|
type: Component,
|
|
307
|
-
args: [{ selector: 'aui-calendar-month', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected'
|
|
307
|
+
args: [{ selector: 'aui-calendar-month', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected':\n !day.padding &&\n selectedDate &&\n day.date === selectedDay &&\n selectedDay &&\n selectedDate.getFullYear() === activeDate.getFullYear(),\n 'is-current': !day.padding && day.date === current,\n 'is-unavailable': !day.available\n }\"\n type=\"button\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
|
|
308
308
|
}], function () { return [{ type: undefined, decorators: [{
|
|
309
309
|
type: Inject,
|
|
310
310
|
args: [CALENDAR_WEEKDAY_LABELS]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acpaas-ui-ngx-calendar.mjs","sources":["../../src/lib/types/calendar.types.ts","../../src/lib/services/calendar.service.ts","../../src/lib/calendar.conf.ts","../../src/lib/components/decennia/decennia.component.html","../../src/lib/components/decennia/decennia.component.ts","../../src/lib/components/month/month.component.html","../../src/lib/components/month/month.component.ts","../../src/lib/components/year/year.component.html","../../src/lib/components/year/year.component.ts","../../src/lib/components/calendar/calendar.component.html","../../src/lib/components/calendar/calendar.component.ts","../../src/lib/calendar.module.ts","../../src/acpaas-ui-ngx-calendar.ts"],"sourcesContent":["export const CALENDAR_VIEW_MONTH = 'CALENDAR_VIEW_MONTH';\nexport const CALENDAR_VIEW_YEAR = 'CALENDAR_VIEW_YEAR';\nexport const CALENDAR_VIEW_DECENNIA = 'CALENDAR_VIEW_DECENNIA';\n\nexport type WeekdayLabelsConfig = string[];\nexport type MonthLabelsConfig = string[];\n\nexport interface DatepickerResult {\n date: Date;\n complete: boolean;\n}\n\nexport interface DateRangeMap {\n before: number[];\n current: number[];\n after: number[];\n}\n","import { Injectable } from '@angular/core';\nimport { DateGenerator, DateHelper, DateRange, Month } from '@acpaas-ui/js-date-utils';\n\nimport { DateRangeMap } from '../types/calendar.types';\n\nexport interface MonthMap {\n [key: number]: Month;\n}\n\n@Injectable()\nexport class CalendarService {\n public months: MonthMap = {};\n private currentYear: number;\n\n getMonth(month: number, year?: number): Month {\n if (year) {\n if (this.currentYear !== year) {\n this.months = {};\n }\n\n this.currentYear = year;\n }\n\n if (this.months.hasOwnProperty(month)) {\n return [...this.months[month]];\n }\n\n const date = new Date();\n date.setMonth(month, 1);\n\n if (year) {\n date.setFullYear(year);\n }\n\n const generatedMonth = DateGenerator.generateMonth(date, {startOfWeek: 1, padding: true, generatePadding: true});\n\n this.months[month] = generatedMonth;\n\n return [...generatedMonth];\n }\n\n getMonthForDate(date: Date): Month {\n return this.getMonth(date.getMonth(), date.getFullYear());\n }\n\n getRangeForDate(date: Date, range: DateRange): number[] {\n return DateGenerator.generateRange(date, range, {startOfWeek: 1});\n }\n\n getRangesForDate(date: Date, range: DateRange): DateRangeMap {\n const rangeOptions = {startOfWeek: 1};\n const before = DateHelper.updateMonth(date, date.getMonth() - 1);\n const after = DateHelper.updateMonth(date, date.getMonth() + 1);\n\n return {\n before: DateGenerator.generateRange(before, range, rangeOptions),\n current: DateGenerator.generateRange(date, range, rangeOptions),\n after: DateGenerator.generateRange(after, range, rangeOptions),\n };\n }\n\n getClosestDateForRange(date: Date = new Date(), range: DateRange): Date {\n const dateRange = this.getRangeForDate(date, range);\n\n if (DateHelper.dateOutOfRange(date, dateRange)) {\n return date;\n }\n\n return DateHelper.closestDateForRange(date, dateRange);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\n\nexport const CALENDAR_DEFAULT_WEEKDAY_LABELS = [\n 'Maandag',\n 'Dinsdag',\n 'Woensdag',\n 'Donderdag',\n 'Vrijdag',\n 'Zaterdag',\n 'Zondag',\n];\n\nexport const CALENDAR_DEFAULT_MONTH_LABELS = [\n 'Januari',\n 'Februari',\n 'Maart',\n 'April',\n 'Mei',\n 'Juni',\n 'Juli',\n 'Augustus',\n 'September',\n 'Oktober',\n 'November',\n 'December',\n];\n\nexport const CALENDAR_WEEKDAY_LABELS = new InjectionToken<WeekdayLabelsConfig>('weekdayLabels');\nexport const CALENDAR_MONTH_LABELS = new InjectionToken<MonthLabelsConfig>('monthLabels');\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of years\">\n <td *ngFor=\"let year of group\">\n <button\n (click)=\"pickDate($event, year)\"\n [ngClass]=\"{\n 'is-current': year === current,\n 'is-selected': year === selectedYear\n }\"\n type=\"button\"\n >\n {{ year }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\n@Component({\n selector: 'aui-calendar-decennia',\n templateUrl: './decennia.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarDecenniaComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Output() selectDate = new EventEmitter();\n\n public years = [];\n public selectedYear = -1;\n public current = -1;\n\n public ngOnInit() {\n const current = new Date();\n this.current = current.getFullYear();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const previousValue = get(changes, 'activeDate.previousValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const previousYear = previousValue instanceof Date ? previousValue.getFullYear() : -1;\n const outOfRange = previousYear > currentYear || previousYear + 17 < currentYear;\n\n if (currentYear >= 0 && outOfRange) {\n this.updateYears();\n }\n\n this.selectedYear = this.selectedDate instanceof Date ? this.selectedDate.getFullYear() : -1;\n }\n\n pickDate(event: MouseEvent, date: number) {\n event.stopPropagation();\n\n const selectedDate = new Date(this.activeDate);\n selectedDate.setFullYear(date);\n\n this.selectDate.emit(selectedDate);\n }\n\n private updateYears(): void {\n const years = [];\n const activeYear = this.activeDate.getFullYear();\n\n for (let i = activeYear; i < activeYear + 18; i += 1) {\n years.push(i);\n }\n\n this.years = chunk(years, 3);\n }\n}\n","<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected': !day.padding && day.date === selectedDay,\n 'is-current': !day.padding && day.date === current,\n 'is-unavailable': !day.available\n }\"\n type=\"button\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { get } from 'lodash-es';\nimport { DateHelper, DateRange, Day, Month } from '@acpaas-ui/js-date-utils';\nimport { CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_WEEKDAY_LABELS } from '../../calendar.conf';\nimport { CalendarService } from '../../services/calendar.service';\nimport { DateRangeMap, WeekdayLabelsConfig } from '../../types/calendar.types';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar-month',\n templateUrl: './month.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarMonthComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig = CALENDAR_DEFAULT_WEEKDAY_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public dates: Month = [];\n public selectedDay = -1;\n public current: number;\n\n constructor(\n @Inject(CALENDAR_WEEKDAY_LABELS) private moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDateChanged = this.hasChanged(changes, 'selectedDate');\n const intervalChanged = !!changes.interval && changes.interval.currentValue !== changes.interval.previousValue;\n const activeDateChanged = this.hasChanged(changes, 'activeDate');\n const monthChanged =\n activeDateChanged &&\n !DateHelper.datesAreEqual([changes.activeDate.currentValue, changes.activeDate.previousValue], 'M');\n const selectedDayChanged = this.selectedDate && this.activeDate.getMonth() === this.selectedDate.getMonth();\n\n this.current = this.getCurrentDate();\n this.selectedDay = selectedDayChanged ? this.selectedDate.getDate() : -1;\n\n let newDates = [];\n\n if (selectedDateChanged || intervalChanged || (activeDateChanged && monthChanged)) {\n newDates = this.calendarService.getMonthForDate(this.activeDate);\n } else {\n return;\n }\n\n const range: DateRangeMap | null = this.calendarService.getRangesForDate(this.activeDate, this.range);\n this.dates = newDates.map((week) =>\n week.map((day) => {\n const currentDate = new Date();\n this.activeDate.setHours(currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());\n const date: Date = new Date(this.activeDate);\n\n if (day.padding) {\n if (day.date > 20) {\n date.setMonth(this.activeDate.getMonth() - 1);\n } else {\n date.setMonth(this.activeDate.getMonth() + 1);\n }\n }\n\n date.setDate(day.date);\n\n const available: boolean =\n this.dayIsAvailableForRange(day, range) && (this.interval ? !this.interval.isInRange(date) : true);\n return {\n ...day,\n available,\n };\n })\n );\n }\n\n pickDate(event: MouseEvent, day: Day): void {\n event.stopPropagation(); // Stop propagation so the modal doesn't close\n\n let selectedDate = new Date(this.activeDate);\n\n if (day.padding) {\n const month = day.date > 20 ? -1 : 1;\n selectedDate = DateHelper.updateMonth(selectedDate, selectedDate.getMonth() + month);\n }\n\n this.selectDate.emit(DateHelper.updateDate(selectedDate, day.date));\n }\n\n private hasChanged(changes: SimpleChanges, prop: string): boolean {\n const current = get(changes, `${prop}.currentValue`);\n const previous = get(changes, `${prop}.previousValue`);\n const currentValue = current instanceof Date ? current.valueOf() : 0;\n const previousValue = previous instanceof Date ? previous.valueOf() : 0;\n\n return !!currentValue && currentValue !== previousValue;\n }\n\n private getCurrentDate(): number {\n const current = new Date();\n const monthHasChanged = !DateHelper.datesAreEqual([this.activeDate, current], ['M', 'Y']);\n\n return monthHasChanged ? -1 : current.getDate();\n }\n\n private dayIsAvailableForRange(day: Day, range: DateRangeMap): boolean {\n if (!range) {\n return true;\n }\n\n let dateRange = range.current;\n\n if (day.padding) {\n dateRange = day.date > 20 ? range.before : range.after;\n }\n\n return dateRange.indexOf(day.date) < 0;\n }\n}\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of months\">\n <td *ngFor=\"let month of group\">\n <button\n (click)=\"pickDate($event, month)\"\n [ngClass]=\"{\n 'is-current': month === current,\n 'is-selected': month === monthLabels[selectedMonth]\n }\"\n type=\"button\"\n >\n {{ month | titlecase }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\nimport { DateHelper } from '@acpaas-ui/js-date-utils';\n\nimport { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_MONTH_LABELS } from '../../calendar.conf';\nimport { MonthLabelsConfig } from '../../types/calendar.types';\n\n@Component({\n selector: 'aui-calendar-year',\n templateUrl: './year.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarYearComponent implements OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() monthLabels: MonthLabelsConfig = CALENDAR_DEFAULT_MONTH_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public selectedMonth = -1;\n public current = '';\n public months: Array<string[]> = [];\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const selectedMonthChanged = this.selectedDate && this.selectedDate.getFullYear() === this.activeDate.getFullYear();\n const current = new Date();\n\n this.current = currentYear === current.getFullYear() ? this.monthLabels[current.getMonth()] : '';\n\n this.selectedMonth = selectedMonthChanged ? this.selectedDate.getMonth() : -1;\n\n if (changes.monthLabels) {\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.months = chunk(this.monthLabels, 2);\n }\n }\n\n pickDate(event: MouseEvent, date: string) {\n event.stopPropagation();\n\n let selectedDate = new Date(this.activeDate);\n selectedDate = DateHelper.updateMonth(selectedDate, this.monthLabels.indexOf(date));\n\n this.selectDate.emit(selectedDate);\n }\n}\n","<div class=\"m-datepicker__nav\">\n <button (click)=\"switchView()\" class=\"m-datepicker__nav-title\" type=\"button\">\n {{ headerLabel | titlecase }}\n <aui-icon name=\"ai-arrow-down-1\" role=\"button\" tabindex=\"0\" />\n </button>\n\n <div class=\"m-datepicker__nav-pagination\">\n <button\n (click)=\"updateActiveDate(-1)\"\n [attr.aria-label]=\"ariaPreviousLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-left-1\"></aui-icon>\n </button>\n <button\n (click)=\"updateActiveDate(1)\"\n [attr.aria-label]=\"ariaNextLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-right-1\"></aui-icon>\n </button>\n </div>\n</div>\n<aui-calendar-month\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_MONTH\"\n [activeDate]=\"activeDate\"\n [range]=\"range\"\n [interval]=\"interval\"\n [selectedDate]=\"selectedDate\"\n [weekdayLabels]=\"weekdayLabels\"\n></aui-calendar-month>\n<aui-calendar-year\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_YEAR\"\n [activeDate]=\"activeDate\"\n [monthLabels]=\"monthLabels\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-year>\n<aui-calendar-decennia\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_DECENNIA\"\n [activeDate]=\"activeDate\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-decennia>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\n\nimport { DateHelper, DateRange } from '@acpaas-ui/js-date-utils';\n\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from '../../calendar.conf';\nimport {\n CALENDAR_VIEW_DECENNIA,\n CALENDAR_VIEW_MONTH,\n CALENDAR_VIEW_YEAR,\n MonthLabelsConfig,\n WeekdayLabelsConfig,\n} from '../../types/calendar.types';\nimport { CalendarService } from '../../services/calendar.service';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar',\n templateUrl: './calendar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarComponent implements OnInit, OnChanges {\n @HostBinding('attr.role') role = 'application';\n @HostBinding('attr.aria-hidden') ariahidden = 'false';\n\n @Input() ariaPreviousLabels = ['Ga naar vorige maand', 'Ga naar vorig jaar', 'Ga naar vorige 18 jaren'];\n @Input() ariaNextLabels = ['Ga naar volgende maand', 'Ga naar volgend jaar', 'Ga naar volgende 18 jaren'];\n\n @Input() selectedDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig;\n @Input() monthLabels: MonthLabelsConfig;\n @Output() selectDate = new EventEmitter();\n\n public CALENDAR_VIEW_MONTH = CALENDAR_VIEW_MONTH;\n public CALENDAR_VIEW_YEAR = CALENDAR_VIEW_YEAR;\n public CALENDAR_VIEW_DECENNIA = CALENDAR_VIEW_DECENNIA;\n public activeDate: Date;\n public activeView: string = CALENDAR_VIEW_MONTH;\n public headerLabel = '';\n public ariaPreviousLabel = this.ariaPreviousLabels[0];\n public ariaNextLabel = this.ariaNextLabels[0];\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS,\n @Inject(CALENDAR_WEEKDAY_LABELS) public moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.initControl();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDate = changes.selectedDate && changes.selectedDate.currentValue ? changes.selectedDate : null;\n\n if (\n typeof this.monthLabels !== 'undefined' &&\n selectedDate &&\n !DateHelper.datesAreEqual(selectedDate.currentValue, selectedDate.previousValue)\n ) {\n this.activeDate = this.selectedDate;\n this.updateHeaderLabel();\n } else {\n let activeDateToSet = new Date();\n\n if (this.interval && this.interval.isInRange(activeDateToSet)) {\n activeDateToSet = this.interval.min;\n }\n\n this.activeDate = DateHelper.parseDate(activeDateToSet);\n\n this.initControl();\n }\n }\n\n updateActiveDate(factor: number = 0): void {\n const activeDate = this.activeDate ? new Date(this.activeDate) : new Date();\n\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n activeDate.setMonth(activeDate.getMonth() + factor);\n break;\n case CALENDAR_VIEW_YEAR:\n activeDate.setFullYear(activeDate.getFullYear() + factor);\n break;\n case CALENDAR_VIEW_DECENNIA:\n activeDate.setFullYear(activeDate.getFullYear() + 18 * factor);\n break;\n }\n\n this.activeDate = activeDate;\n this.updateHeaderLabel();\n }\n\n switchView(factor: number = 1): void {\n const views = [CALENDAR_VIEW_MONTH, CALENDAR_VIEW_YEAR, CALENDAR_VIEW_DECENNIA];\n\n const currView = views.indexOf(this.activeView);\n let nextView = currView + factor >= views.length ? 0 : currView + factor;\n nextView = nextView < 0 ? views.length - 1 : nextView;\n\n this.activeView = views[nextView];\n\n // reset activeDate when returning to month view without model update\n if (this.selectedDate && nextView === 0 && factor === 1) {\n this.activeDate = this.selectedDate;\n }\n\n this.updateHeaderLabel();\n }\n\n updateHeaderLabel(): void {\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n this.headerLabel = this.monthLabels[this.activeDate.getMonth()] + ' ' + this.activeDate.getFullYear();\n this.ariaPreviousLabel = this.ariaPreviousLabels[0];\n this.ariaNextLabel = this.ariaNextLabels[0];\n break;\n case CALENDAR_VIEW_YEAR:\n this.headerLabel = String(this.activeDate.getFullYear());\n this.ariaPreviousLabel = this.ariaPreviousLabels[1];\n this.ariaNextLabel = this.ariaNextLabels[1];\n break;\n case CALENDAR_VIEW_DECENNIA:\n const startYear = this.activeDate.getFullYear();\n this.headerLabel = `${startYear} - ${startYear + 17}`;\n this.ariaPreviousLabel = this.ariaPreviousLabels[2];\n this.ariaNextLabel = this.ariaNextLabels[2];\n break;\n }\n }\n\n pickDate(date: Date): void {\n const complete = this.activeView === CALENDAR_VIEW_MONTH;\n\n this.selectDate.emit({\n date,\n complete,\n });\n\n if (!complete) {\n this.activeDate = date;\n this.switchView(-1);\n }\n }\n\n private initControl(): void {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.activeDate = this.calendarService.getClosestDateForRange(this.activeDate, this.range);\n if (this.selectedDate) {\n this.activeDate = this.selectedDate;\n this.updateActiveDate();\n }\n this.updateHeaderLabel();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from './calendar.conf';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\nimport { CalendarService } from './services/calendar.service';\nimport { CalendarComponent } from './components/calendar/calendar.component';\nimport { CalendarDecenniaComponent } from './components/decennia/decennia.component';\nimport { CalendarMonthComponent } from './components/month/month.component';\nimport { CalendarYearComponent } from './components/year/year.component';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n declarations: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n exports: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n providers: [\n CalendarService,\n {\n provide: CALENDAR_WEEKDAY_LABELS,\n useValue: CALENDAR_DEFAULT_WEEKDAY_LABELS,\n },\n { provide: CALENDAR_MONTH_LABELS, useValue: CALENDAR_DEFAULT_MONTH_LABELS },\n ],\n})\nexport class CalendarModule {\n static forChild(\n weekdayLabels: WeekdayLabelsConfig,\n monthLabels: MonthLabelsConfig\n ): ModuleWithProviders<any> {\n return {\n ngModule: CalendarModule,\n providers: [\n CalendarService,\n { provide: CALENDAR_WEEKDAY_LABELS, useValue: weekdayLabels },\n { provide: CALENDAR_MONTH_LABELS, useValue: monthLabels },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","i1.CalendarService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acpaas-ui-ngx-calendar.mjs","sources":["../../src/lib/types/calendar.types.ts","../../src/lib/services/calendar.service.ts","../../src/lib/calendar.conf.ts","../../src/lib/components/decennia/decennia.component.html","../../src/lib/components/decennia/decennia.component.ts","../../src/lib/components/month/month.component.html","../../src/lib/components/month/month.component.ts","../../src/lib/components/year/year.component.html","../../src/lib/components/year/year.component.ts","../../src/lib/components/calendar/calendar.component.html","../../src/lib/components/calendar/calendar.component.ts","../../src/lib/calendar.module.ts","../../src/acpaas-ui-ngx-calendar.ts"],"sourcesContent":["export const CALENDAR_VIEW_MONTH = 'CALENDAR_VIEW_MONTH';\nexport const CALENDAR_VIEW_YEAR = 'CALENDAR_VIEW_YEAR';\nexport const CALENDAR_VIEW_DECENNIA = 'CALENDAR_VIEW_DECENNIA';\n\nexport type WeekdayLabelsConfig = string[];\nexport type MonthLabelsConfig = string[];\n\nexport interface DatepickerResult {\n date: Date;\n complete: boolean;\n}\n\nexport interface DateRangeMap {\n before: number[];\n current: number[];\n after: number[];\n}\n","import { Injectable } from '@angular/core';\nimport { DateGenerator, DateHelper, DateRange, Month } from '@acpaas-ui/ngx-utils';\n\nimport { DateRangeMap } from '../types/calendar.types';\n\nexport interface MonthMap {\n [key: number]: Month;\n}\n\n@Injectable()\nexport class CalendarService {\n public months: MonthMap = {};\n private currentYear: number;\n\n getMonth(month: number, year?: number): Month {\n if (year) {\n if (this.currentYear !== year) {\n this.months = {};\n }\n\n this.currentYear = year;\n }\n\n if (this.months.hasOwnProperty(month)) {\n return [...this.months[month]];\n }\n\n const date = new Date();\n date.setMonth(month, 1);\n\n if (year) {\n date.setFullYear(year);\n }\n\n const generatedMonth = DateGenerator.generateMonth(date, { startOfWeek: 1, padding: true, generatePadding: true });\n\n this.months[month] = generatedMonth;\n\n return [...generatedMonth];\n }\n\n getMonthForDate(date: Date): Month {\n return this.getMonth(date.getMonth(), date.getFullYear());\n }\n\n getRangeForDate(date: Date, range: DateRange): number[] {\n return DateGenerator.generateRange(date, range, { startOfWeek: 1 });\n }\n\n getRangesForDate(date: Date, range: DateRange): DateRangeMap {\n const rangeOptions = { startOfWeek: 1 };\n const before = DateHelper.updateMonth(date, date.getMonth() - 1);\n const after = DateHelper.updateMonth(date, date.getMonth() + 1);\n\n return {\n before: DateGenerator.generateRange(before, range, rangeOptions),\n current: DateGenerator.generateRange(date, range, rangeOptions),\n after: DateGenerator.generateRange(after, range, rangeOptions),\n };\n }\n\n getClosestDateForRange(date: Date = new Date(), range: DateRange): Date {\n const dateRange = this.getRangeForDate(date, range);\n\n if (DateHelper.dateOutOfRange(date, dateRange)) {\n return date;\n }\n\n return DateHelper.closestDateForRange(date, dateRange);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\n\nexport const CALENDAR_DEFAULT_WEEKDAY_LABELS = [\n 'Maandag',\n 'Dinsdag',\n 'Woensdag',\n 'Donderdag',\n 'Vrijdag',\n 'Zaterdag',\n 'Zondag',\n];\n\nexport const CALENDAR_DEFAULT_MONTH_LABELS = [\n 'Januari',\n 'Februari',\n 'Maart',\n 'April',\n 'Mei',\n 'Juni',\n 'Juli',\n 'Augustus',\n 'September',\n 'Oktober',\n 'November',\n 'December',\n];\n\nexport const CALENDAR_WEEKDAY_LABELS = new InjectionToken<WeekdayLabelsConfig>('weekdayLabels');\nexport const CALENDAR_MONTH_LABELS = new InjectionToken<MonthLabelsConfig>('monthLabels');\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of years\">\n <td *ngFor=\"let year of group\">\n <button\n (click)=\"pickDate($event, year)\"\n [ngClass]=\"{\n 'is-current': year === current,\n 'is-selected': year === selectedYear\n }\"\n type=\"button\"\n >\n {{ year }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\n@Component({\n selector: 'aui-calendar-decennia',\n templateUrl: './decennia.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarDecenniaComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Output() selectDate = new EventEmitter();\n\n public years = [];\n public selectedYear = -1;\n public current = -1;\n\n public ngOnInit() {\n const current = new Date();\n this.current = current.getFullYear();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const previousValue = get(changes, 'activeDate.previousValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const previousYear = previousValue instanceof Date ? previousValue.getFullYear() : -1;\n const outOfRange = previousYear > currentYear || previousYear + 17 < currentYear;\n\n if (currentYear >= 0 && outOfRange) {\n this.updateYears();\n }\n\n this.selectedYear = this.selectedDate instanceof Date ? this.selectedDate.getFullYear() : -1;\n }\n\n pickDate(event: MouseEvent, date: number) {\n event.stopPropagation();\n\n const selectedDate = new Date(this.activeDate);\n selectedDate.setFullYear(date);\n\n this.selectDate.emit(selectedDate);\n }\n\n private updateYears(): void {\n const years = [];\n const activeYear = this.activeDate.getFullYear();\n\n for (let i = activeYear; i < activeYear + 18; i += 1) {\n years.push(i);\n }\n\n this.years = chunk(years, 3);\n }\n}\n","<div class=\"m-datepicker__grid\">\n <table>\n <thead>\n <tr class=\"m-datepicker__grid-head\">\n <th *ngFor=\"let day of weekdayLabels\" scope=\"col\">\n <span [title]=\"day\" class=\"u-text-capitalize\">{{ day | slice : 0 : 2 }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"m-datepicker__grid-body\">\n <tr *ngFor=\"let week of dates\">\n <td *ngFor=\"let day of week\">\n <button\n (click)=\"pickDate($event, day)\"\n [disabled]=\"!day.available\"\n [ngClass]=\"{\n 'is-faded': !day.date || day.padding,\n 'is-selected':\n !day.padding &&\n selectedDate &&\n day.date === selectedDay &&\n selectedDay &&\n selectedDate.getFullYear() === activeDate.getFullYear(),\n 'is-current': !day.padding && day.date === current,\n 'is-unavailable': !day.available\n }\"\n type=\"button\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { get } from 'lodash-es';\nimport { DateHelper, DateRange, Day, Month } from '@acpaas-ui/ngx-utils';\nimport { CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_WEEKDAY_LABELS } from '../../calendar.conf';\nimport { CalendarService } from '../../services/calendar.service';\nimport { DateRangeMap, WeekdayLabelsConfig } from '../../types/calendar.types';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar-month',\n templateUrl: './month.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarMonthComponent implements OnInit, OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig = CALENDAR_DEFAULT_WEEKDAY_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public dates: Month = [];\n public selectedDay = -1;\n public current: number;\n\n constructor(\n @Inject(CALENDAR_WEEKDAY_LABELS) private moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDateChanged = this.hasChanged(changes, 'selectedDate');\n const intervalChanged = !!changes.interval && changes.interval.currentValue !== changes.interval.previousValue;\n const activeDateChanged = this.hasChanged(changes, 'activeDate');\n const monthChanged =\n activeDateChanged &&\n !DateHelper.datesAreEqual([changes.activeDate.currentValue, changes.activeDate.previousValue], 'M');\n const selectedDayChanged = this.selectedDate && this.activeDate.getMonth() === this.selectedDate.getMonth();\n\n this.current = this.getCurrentDate();\n this.selectedDay = selectedDayChanged ? this.selectedDate.getDate() : -1;\n\n let newDates = [];\n\n if (selectedDateChanged || intervalChanged || (activeDateChanged && monthChanged)) {\n newDates = this.calendarService.getMonthForDate(this.activeDate);\n } else {\n return;\n }\n\n const range: DateRangeMap | null = this.calendarService.getRangesForDate(this.activeDate, this.range);\n this.dates = newDates.map((week) =>\n week.map((day) => {\n const currentDate = new Date();\n this.activeDate.setHours(currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());\n const date: Date = new Date(this.activeDate);\n\n if (day.padding) {\n if (day.date > 20) {\n date.setMonth(this.activeDate.getMonth() - 1);\n } else {\n date.setMonth(this.activeDate.getMonth() + 1);\n }\n }\n\n date.setDate(day.date);\n\n const available: boolean =\n this.dayIsAvailableForRange(day, range) && (this.interval ? !this.interval.isInRange(date) : true);\n return {\n ...day,\n available,\n };\n })\n );\n }\n\n pickDate(event: MouseEvent, day: Day): void {\n event.stopPropagation(); // Stop propagation so the modal doesn't close\n\n let selectedDate = new Date(this.activeDate);\n\n if (day.padding) {\n const month = day.date > 20 ? -1 : 1;\n selectedDate = DateHelper.updateMonth(selectedDate, selectedDate.getMonth() + month);\n }\n\n this.selectDate.emit(DateHelper.updateDate(selectedDate, day.date));\n }\n\n private hasChanged(changes: SimpleChanges, prop: string): boolean {\n const current = get(changes, `${prop}.currentValue`);\n const previous = get(changes, `${prop}.previousValue`);\n const currentValue = current instanceof Date ? current.valueOf() : 0;\n const previousValue = previous instanceof Date ? previous.valueOf() : 0;\n\n return !!currentValue && currentValue !== previousValue;\n }\n\n private getCurrentDate(): number {\n const current = new Date();\n const monthHasChanged = !DateHelper.datesAreEqual([this.activeDate, current], ['M', 'Y']);\n\n return monthHasChanged ? -1 : current.getDate();\n }\n\n private dayIsAvailableForRange(day: Day, range: DateRangeMap): boolean {\n if (!range) {\n return true;\n }\n\n let dateRange = range.current;\n\n if (day.padding) {\n dateRange = day.date > 20 ? range.before : range.after;\n }\n\n return dateRange.indexOf(day.date) < 0;\n }\n}\n","<div class=\"m-datepicker__list\">\n <table>\n <tbody class=\"m-datepicker__list-body\">\n <tr *ngFor=\"let group of months\">\n <td *ngFor=\"let month of group\">\n <button\n (click)=\"pickDate($event, month)\"\n [ngClass]=\"{\n 'is-current': month === current,\n 'is-selected': month === monthLabels[selectedMonth]\n }\"\n type=\"button\"\n >\n {{ month | titlecase }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { chunk, get } from 'lodash-es';\n\nimport { DateHelper } from '@acpaas-ui/ngx-utils';\n\nimport { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_MONTH_LABELS } from '../../calendar.conf';\nimport { MonthLabelsConfig } from '../../types/calendar.types';\n\n@Component({\n selector: 'aui-calendar-year',\n templateUrl: './year.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarYearComponent implements OnChanges {\n @Input() selectedDate: Date;\n @Input() activeDate: Date;\n @Input() monthLabels: MonthLabelsConfig = CALENDAR_DEFAULT_MONTH_LABELS;\n @Output() selectDate = new EventEmitter();\n\n public selectedMonth = -1;\n public current = '';\n public months: Array<string[]> = [];\n\n constructor(@Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS) {}\n\n ngOnChanges(changes: SimpleChanges) {\n const currentValue = get(changes, 'activeDate.currentValue');\n const currentYear = currentValue instanceof Date ? currentValue.getFullYear() : -1;\n const selectedMonthChanged = this.selectedDate && this.selectedDate.getFullYear() === this.activeDate.getFullYear();\n const current = new Date();\n\n this.current = currentYear === current.getFullYear() ? this.monthLabels[current.getMonth()] : '';\n\n this.selectedMonth = selectedMonthChanged ? this.selectedDate.getMonth() : -1;\n\n if (changes.monthLabels) {\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.months = chunk(this.monthLabels, 2);\n }\n }\n\n pickDate(event: MouseEvent, date: string) {\n event.stopPropagation();\n\n let selectedDate = new Date(this.activeDate);\n selectedDate = DateHelper.updateMonth(selectedDate, this.monthLabels.indexOf(date));\n\n this.selectDate.emit(selectedDate);\n }\n}\n","<div class=\"m-datepicker__nav\">\n <button (click)=\"switchView()\" class=\"m-datepicker__nav-title\" type=\"button\">\n {{ headerLabel | titlecase }}\n <aui-icon name=\"ai-arrow-down-1\" role=\"button\" tabindex=\"0\" />\n </button>\n\n <div class=\"m-datepicker__nav-pagination\">\n <button\n (click)=\"updateActiveDate(-1)\"\n [attr.aria-label]=\"ariaPreviousLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-left-1\"></aui-icon>\n </button>\n <button\n (click)=\"updateActiveDate(1)\"\n [attr.aria-label]=\"ariaNextLabel\"\n class=\"a-button a-button--text a-button--primary has-icon\"\n type=\"button\"\n >\n <aui-icon name=\"ai-arrow-right-1\"></aui-icon>\n </button>\n </div>\n</div>\n<aui-calendar-month\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_MONTH\"\n [activeDate]=\"activeDate\"\n [range]=\"range\"\n [interval]=\"interval\"\n [selectedDate]=\"selectedDate\"\n [weekdayLabels]=\"weekdayLabels\"\n></aui-calendar-month>\n<aui-calendar-year\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_YEAR\"\n [activeDate]=\"activeDate\"\n [monthLabels]=\"monthLabels\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-year>\n<aui-calendar-decennia\n (selectDate)=\"pickDate($event)\"\n *ngIf=\"activeView === CALENDAR_VIEW_DECENNIA\"\n [activeDate]=\"activeDate\"\n [selectedDate]=\"selectedDate\"\n></aui-calendar-decennia>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\n\nimport { DateHelper, DateRange } from '@acpaas-ui/ngx-utils';\n\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from '../../calendar.conf';\nimport {\n CALENDAR_VIEW_DECENNIA,\n CALENDAR_VIEW_MONTH,\n CALENDAR_VIEW_YEAR,\n MonthLabelsConfig,\n WeekdayLabelsConfig,\n} from '../../types/calendar.types';\nimport { CalendarService } from '../../services/calendar.service';\nimport { Interval } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-calendar',\n templateUrl: './calendar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarComponent implements OnInit, OnChanges {\n @HostBinding('attr.role') role = 'application';\n @HostBinding('attr.aria-hidden') ariahidden = 'false';\n\n @Input() ariaPreviousLabels = ['Ga naar vorige maand', 'Ga naar vorig jaar', 'Ga naar vorige 18 jaren'];\n @Input() ariaNextLabels = ['Ga naar volgende maand', 'Ga naar volgend jaar', 'Ga naar volgende 18 jaren'];\n\n @Input() selectedDate: Date;\n @Input() range: DateRange;\n @Input()\n interval?: Interval.IInterval<Date>;\n @Input() weekdayLabels: WeekdayLabelsConfig;\n @Input() monthLabels: MonthLabelsConfig;\n @Output() selectDate = new EventEmitter();\n\n public CALENDAR_VIEW_MONTH = CALENDAR_VIEW_MONTH;\n public CALENDAR_VIEW_YEAR = CALENDAR_VIEW_YEAR;\n public CALENDAR_VIEW_DECENNIA = CALENDAR_VIEW_DECENNIA;\n public activeDate: Date;\n public activeView: string = CALENDAR_VIEW_MONTH;\n public headerLabel = '';\n public ariaPreviousLabel = this.ariaPreviousLabels[0];\n public ariaNextLabel = this.ariaNextLabels[0];\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) public moduleMonthLabels = CALENDAR_DEFAULT_MONTH_LABELS,\n @Inject(CALENDAR_WEEKDAY_LABELS) public moduleWeekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n private calendarService: CalendarService\n ) {}\n\n public ngOnInit() {\n this.initControl();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const selectedDate = changes.selectedDate && changes.selectedDate.currentValue ? changes.selectedDate : null;\n\n if (\n typeof this.monthLabels !== 'undefined' &&\n selectedDate &&\n !DateHelper.datesAreEqual(selectedDate.currentValue, selectedDate.previousValue)\n ) {\n this.activeDate = this.selectedDate;\n this.updateHeaderLabel();\n } else {\n let activeDateToSet = new Date();\n\n if (this.interval && this.interval.isInRange(activeDateToSet)) {\n activeDateToSet = this.interval.min;\n }\n\n this.activeDate = DateHelper.parseDate(activeDateToSet);\n\n this.initControl();\n }\n }\n\n updateActiveDate(factor: number = 0): void {\n const activeDate = this.activeDate ? new Date(this.activeDate) : new Date();\n\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n activeDate.setMonth(activeDate.getMonth() + factor);\n break;\n case CALENDAR_VIEW_YEAR:\n activeDate.setFullYear(activeDate.getFullYear() + factor);\n break;\n case CALENDAR_VIEW_DECENNIA:\n activeDate.setFullYear(activeDate.getFullYear() + 18 * factor);\n break;\n }\n\n this.activeDate = activeDate;\n this.updateHeaderLabel();\n }\n\n switchView(factor: number = 1): void {\n const views = [CALENDAR_VIEW_MONTH, CALENDAR_VIEW_YEAR, CALENDAR_VIEW_DECENNIA];\n\n const currView = views.indexOf(this.activeView);\n let nextView = currView + factor >= views.length ? 0 : currView + factor;\n nextView = nextView < 0 ? views.length - 1 : nextView;\n\n this.activeView = views[nextView];\n\n // reset activeDate when returning to month view without model update\n if (this.selectedDate && nextView === 0 && factor === 1) {\n this.activeDate = this.selectedDate;\n }\n\n this.updateHeaderLabel();\n }\n\n updateHeaderLabel(): void {\n switch (this.activeView) {\n case CALENDAR_VIEW_MONTH:\n this.headerLabel = this.monthLabels[this.activeDate.getMonth()] + ' ' + this.activeDate.getFullYear();\n this.ariaPreviousLabel = this.ariaPreviousLabels[0];\n this.ariaNextLabel = this.ariaNextLabels[0];\n break;\n case CALENDAR_VIEW_YEAR:\n this.headerLabel = String(this.activeDate.getFullYear());\n this.ariaPreviousLabel = this.ariaPreviousLabels[1];\n this.ariaNextLabel = this.ariaNextLabels[1];\n break;\n case CALENDAR_VIEW_DECENNIA:\n const startYear = this.activeDate.getFullYear();\n this.headerLabel = `${startYear} - ${startYear + 17}`;\n this.ariaPreviousLabel = this.ariaPreviousLabels[2];\n this.ariaNextLabel = this.ariaNextLabels[2];\n break;\n }\n }\n\n pickDate(date: Date): void {\n const complete = this.activeView === CALENDAR_VIEW_MONTH;\n\n this.selectDate.emit({\n date,\n complete,\n });\n\n if (!complete) {\n this.activeDate = date;\n this.switchView(-1);\n }\n }\n\n private initControl(): void {\n this.weekdayLabels = this.weekdayLabels || this.moduleWeekdayLabels;\n this.monthLabels = this.monthLabels || this.moduleMonthLabels;\n this.activeDate = this.calendarService.getClosestDateForRange(this.activeDate, this.range);\n if (this.selectedDate) {\n this.activeDate = this.selectedDate;\n this.updateActiveDate();\n }\n this.updateHeaderLabel();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n} from './calendar.conf';\nimport { MonthLabelsConfig, WeekdayLabelsConfig } from './types/calendar.types';\nimport { CalendarService } from './services/calendar.service';\nimport { CalendarComponent } from './components/calendar/calendar.component';\nimport { CalendarDecenniaComponent } from './components/decennia/decennia.component';\nimport { CalendarMonthComponent } from './components/month/month.component';\nimport { CalendarYearComponent } from './components/year/year.component';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n declarations: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n exports: [\n CalendarComponent,\n CalendarDecenniaComponent,\n CalendarMonthComponent,\n CalendarYearComponent,\n ],\n providers: [\n CalendarService,\n {\n provide: CALENDAR_WEEKDAY_LABELS,\n useValue: CALENDAR_DEFAULT_WEEKDAY_LABELS,\n },\n { provide: CALENDAR_MONTH_LABELS, useValue: CALENDAR_DEFAULT_MONTH_LABELS },\n ],\n})\nexport class CalendarModule {\n static forChild(\n weekdayLabels: WeekdayLabelsConfig,\n monthLabels: MonthLabelsConfig\n ): ModuleWithProviders<any> {\n return {\n ngModule: CalendarModule,\n providers: [\n CalendarService,\n { provide: CALENDAR_WEEKDAY_LABELS, useValue: weekdayLabels },\n { provide: CALENDAR_MONTH_LABELS, useValue: monthLabels },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","i1.CalendarService"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { DateRange } from '@acpaas-ui/
|
|
2
|
+
import { DateRange } from '@acpaas-ui/ngx-utils';
|
|
3
3
|
import { MonthLabelsConfig, WeekdayLabelsConfig } from '../../types/calendar.types';
|
|
4
4
|
import { CalendarService } from '../../services/calendar.service';
|
|
5
5
|
import { Interval } from '@acpaas-ui/ngx-utils';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { DateRange, Day, Month } from '@acpaas-ui/
|
|
2
|
+
import { DateRange, Day, Month } from '@acpaas-ui/ngx-utils';
|
|
3
3
|
import { CalendarService } from '../../services/calendar.service';
|
|
4
4
|
import { WeekdayLabelsConfig } from '../../types/calendar.types';
|
|
5
5
|
import { Interval } from '@acpaas-ui/ngx-utils';
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acpaas-ui/ngx-calendar",
|
|
3
|
-
"version": "6.0.0
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@acpaas-ui/
|
|
9
|
-
"@acpaas-ui/ngx-
|
|
8
|
+
"@acpaas-ui/ngx-icon": "^6.0.0",
|
|
9
|
+
"@acpaas-ui/ngx-utils": "^6.0.0",
|
|
10
10
|
"lodash-es": "~4.17.10",
|
|
11
11
|
"tslib": "^2.3.0"
|
|
12
12
|
},
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@angular/core": ">=15.2.0",
|
|
16
16
|
"@angular/platform-browser-dynamic": ">=15.2.0"
|
|
17
17
|
},
|
|
18
|
-
"gitHead": "
|
|
18
|
+
"gitHead": "a74977eae579b9118d194eef449849bc700696b2",
|
|
19
19
|
"module": "fesm2015/acpaas-ui-ngx-calendar.mjs",
|
|
20
20
|
"es2020": "fesm2020/acpaas-ui-ngx-calendar.mjs",
|
|
21
21
|
"esm2020": "esm2020/acpaas-ui-ngx-calendar.mjs",
|