@acpaas-ui/ngx-calendar 6.0.6 → 6.0.8
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/esm2020/lib/components/calendar/calendar.component.mjs +4 -2
- package/esm2020/lib/components/month/month.component.mjs +2 -2
- package/fesm2015/acpaas-ui-ngx-calendar.mjs +4 -2
- package/fesm2015/acpaas-ui-ngx-calendar.mjs.map +1 -1
- package/fesm2020/acpaas-ui-ngx-calendar.mjs +4 -2
- package/fesm2020/acpaas-ui-ngx-calendar.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -75,7 +75,9 @@ export class CalendarComponent {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
updateActiveDate(factor = 0) {
|
|
78
|
-
const activeDate = this.activeDate
|
|
78
|
+
const activeDate = this.activeDate
|
|
79
|
+
? new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1)
|
|
80
|
+
: new Date();
|
|
79
81
|
switch (this.activeView) {
|
|
80
82
|
case CALENDAR_VIEW_MONTH:
|
|
81
83
|
activeDate.setMonth(activeDate.getMonth() + factor);
|
|
@@ -211,4 +213,4 @@ export class CalendarComponent {
|
|
|
211
213
|
}], selectDate: [{
|
|
212
214
|
type: Output
|
|
213
215
|
}] }); })();
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBR25CLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7SUNGcEMsOENBUUM7SUFQQywwTUFBYyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFPaEMsaUJBQXFCOzs7SUFMcEIsOENBQXlCLHVCQUFBLDZCQUFBLHFDQUFBLHVDQUFBOzs7O0lBTTNCLDZDQU1DO0lBTEMsd01BQWMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBS2hDLGlCQUFvQjs7O0lBSG5CLDhDQUF5QixtQ0FBQSxxQ0FBQTs7OztJQUkzQixpREFLQztJQUpDLGdOQUFjLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUloQyxpQkFBd0I7OztJQUZ2Qiw4Q0FBeUIscUNBQUE7O0FEUjNCLE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQ3dDLG9CQUFvQiw2QkFBNkIsRUFDL0Msc0JBQXNCLCtCQUErQixFQUNyRixlQUFnQztRQUZGLHNC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dUJBQUMscUJBQXFCOztzQkFDNUIsTUFBTTt1QkFBQyx1QkFBdUI7c0RBekJQLElBQUk7a0JBQTdCLFdBQVc7bUJBQUMsV0FBVztZQUNTLFVBQVU7a0JBQTFDLFdBQVc7bUJBQUMsa0JBQWtCO1lBRXRCLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRU4sUUFBUTtrQkFEUCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDSSxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERhdGVIZWxwZXIsIERhdGVSYW5nZSB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcblxuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gIENBTEVOREFSX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMsXG59IGZyb20gJy4uLy4uL2NhbGVuZGFyLmNvbmYnO1xuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfVklFV19ERUNFTk5JQSxcbiAgQ0FMRU5EQVJfVklFV19NT05USCxcbiAgQ0FMRU5EQVJfVklFV19ZRUFSLFxuICBNb250aExhYmVsc0NvbmZpZyxcbiAgV2Vla2RheUxhYmVsc0NvbmZpZyxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvY2FsZW5kYXIudHlwZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbnRlcnZhbCB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnYXBwbGljYXRpb24nO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBhcmlhaGlkZGVuID0gJ2ZhbHNlJztcblxuICBASW5wdXQoKSBhcmlhUHJldmlvdXNMYWJlbHMgPSBbJ0dhIG5hYXIgdm9yaWdlIG1hYW5kJywgJ0dhIG5hYXIgdm9yaWcgamFhcicsICdHYSBuYWFyIHZvcmlnZSAxOCBqYXJlbiddO1xuICBASW5wdXQoKSBhcmlhTmV4dExhYmVscyA9IFsnR2EgbmFhciB2b2xnZW5kZSBtYWFuZCcsICdHYSBuYWFyIHZvbGdlbmQgamFhcicsICdHYSBuYWFyIHZvbGdlbmRlIDE4IGphcmVuJ107XG5cbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBASW5wdXQoKSByYW5nZTogRGF0ZVJhbmdlO1xuICBASW5wdXQoKVxuICBpbnRlcnZhbD86IEludGVydmFsLklJbnRlcnZhbDxEYXRlPjtcbiAgQElucHV0KCkgd2Vla2RheUxhYmVsczogV2Vla2RheUxhYmVsc0NvbmZpZztcbiAgQElucHV0KCkgbW9udGhMYWJlbHM6IE1vbnRoTGFiZWxzQ29uZmlnO1xuICBAT3V0cHV0KCkgc2VsZWN0RGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19NT05USCA9IENBTEVOREFSX1ZJRVdfTU9OVEg7XG4gIHB1YmxpYyBDQUxFTkRBUl9WSUVXX1lFQVIgPSBDQUxFTkRBUl9WSUVXX1lFQVI7XG4gIHB1YmxpYyBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBID0gQ0FMRU5EQVJfVklFV19ERUNFTk5JQTtcbiAgcHVibGljIGFjdGl2ZURhdGU6IERhdGU7XG4gIHB1YmxpYyBhY3RpdmVWaWV3OiBzdHJpbmcgPSBDQUxFTkRBUl9WSUVXX01PTlRIO1xuICBwdWJsaWMgaGVhZGVyTGFiZWwgPSAnJztcbiAgcHVibGljIGFyaWFQcmV2aW91c0xhYmVsID0gdGhpcy5hcmlhUHJldmlvdXNMYWJlbHNbMF07XG4gIHB1YmxpYyBhcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1swXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENBTEVOREFSX01PTlRIX0xBQkVMUykgcHVibGljIG1vZHVsZU1vbnRoTGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gICAgQEluamVjdChDQUxFTkRBUl9XRUVLREFZX0xBQkVMUykgcHVibGljIG1vZHVsZVdlZWtkYXlMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRDb250cm9sKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gY2hhbmdlcy5zZWxlY3RlZERhdGUgJiYgY2hhbmdlcy5zZWxlY3RlZERhdGUuY3VycmVudFZhbHVlID8gY2hhbmdlcy5zZWxlY3RlZERhdGUgOiBudWxsO1xuXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIHRoaXMubW9udGhMYWJlbHMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICBzZWxlY3RlZERhdGUgJiZcbiAgICAgICFEYXRlSGVscGVyLmRhdGVzQXJlRXF1YWwoc2VsZWN0ZWREYXRlLmN1cnJlbnRWYWx1ZSwgc2VsZWN0ZWREYXRlLnByZXZpb3VzVmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlSGVhZGVyTGFiZWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGFjdGl2ZURhdGVUb1NldCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgIGlmICh0aGlzLmludGVydmFsICYmIHRoaXMuaW50ZXJ2YWwuaXNJblJhbmdlKGFjdGl2ZURhdGVUb1NldCkpIHtcbiAgICAgICAgYWN0aXZlRGF0ZVRvU2V0ID0gdGhpcy5pbnRlcnZhbC5taW47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGFjdGl2ZURhdGVUb1NldCk7XG5cbiAgICAgIHRoaXMuaW5pdENvbnRyb2woKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVBY3RpdmVEYXRlKGZhY3RvcjogbnVtYmVyID0gMCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZURhdGUgPSB0aGlzLmFjdGl2ZURhdGUgPyBuZXcgRGF0ZSh0aGlzLmFjdGl2ZURhdGUpIDogbmV3IERhdGUoKTtcblxuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfTU9OVEg6XG4gICAgICAgIGFjdGl2ZURhdGUuc2V0TW9udGgoYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgZmFjdG9yKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyBmYWN0b3IpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19ERUNFTk5JQTpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyAxOCAqIGZhY3Rvcik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGFjdGl2ZURhdGU7XG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgc3dpdGNoVmlldyhmYWN0b3I6IG51bWJlciA9IDEpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3cyA9IFtDQUxFTkRBUl9WSUVXX01PTlRILCBDQUxFTkRBUl9WSUVXX1lFQVIsIENBTEVOREFSX1ZJRVdfREVDRU5OSUFdO1xuXG4gICAgY29uc3QgY3VyclZpZXcgPSB2aWV3cy5pbmRleE9mKHRoaXMuYWN0aXZlVmlldyk7XG4gICAgbGV0IG5leHRWaWV3ID0gY3VyclZpZXcgKyBmYWN0b3IgPj0gdmlld3MubGVuZ3RoID8gMCA6IGN1cnJWaWV3ICsgZmFjdG9yO1xuICAgIG5leHRWaWV3ID0gbmV4dFZpZXcgPCAwID8gdmlld3MubGVuZ3RoIC0gMSA6IG5leHRWaWV3O1xuXG4gICAgdGhpcy5hY3RpdmVWaWV3ID0gdmlld3NbbmV4dFZpZXddO1xuXG4gICAgLy8gcmVzZXQgYWN0aXZlRGF0ZSB3aGVuIHJldHVybmluZyB0byBtb250aCB2aWV3IHdpdGhvdXQgbW9kZWwgdXBkYXRlXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlICYmIG5leHRWaWV3ID09PSAwICYmIGZhY3RvciA9PT0gMSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgdXBkYXRlSGVhZGVyTGFiZWwoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19NT05USDpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IHRoaXMubW9udGhMYWJlbHNbdGhpcy5hY3RpdmVEYXRlLmdldE1vbnRoKCldICsgJyAnICsgdGhpcy5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1swXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IFN0cmluZyh0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1sxXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1sxXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfREVDRU5OSUE6XG4gICAgICAgIGNvbnN0IHN0YXJ0WWVhciA9IHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB0aGlzLmhlYWRlckxhYmVsID0gYCR7c3RhcnRZZWFyfSAtICR7c3RhcnRZZWFyICsgMTd9YDtcbiAgICAgICAgdGhpcy5hcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzJdO1xuICAgICAgICB0aGlzLmFyaWFOZXh0TGFiZWwgPSB0aGlzLmFyaWFOZXh0TGFiZWxzWzJdO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwaWNrRGF0ZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgY29uc3QgY29tcGxldGUgPSB0aGlzLmFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfTU9OVEg7XG5cbiAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh7XG4gICAgICBkYXRlLFxuICAgICAgY29tcGxldGUsXG4gICAgfSk7XG5cbiAgICBpZiAoIWNvbXBsZXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5zd2l0Y2hWaWV3KC0xKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRDb250cm9sKCk6IHZvaWQge1xuICAgIHRoaXMud2Vla2RheUxhYmVscyA9IHRoaXMud2Vla2RheUxhYmVscyB8fCB0aGlzLm1vZHVsZVdlZWtkYXlMYWJlbHM7XG4gICAgdGhpcy5tb250aExhYmVscyA9IHRoaXMubW9udGhMYWJlbHMgfHwgdGhpcy5tb2R1bGVNb250aExhYmVscztcbiAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRDbG9zZXN0RGF0ZUZvclJhbmdlKHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5yYW5nZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX25hdlwiPlxuICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hWaWV3KClcIiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fbmF2LXRpdGxlXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgIHt7IGhlYWRlckxhYmVsIHwgdGl0bGVjYXNlIH19XG4gICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1kb3duLTFcIiAvPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2IGNsYXNzPVwibS1kYXRlcGlja2VyX19uYXYtcGFnaW5hdGlvblwiPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJ1cGRhdGVBY3RpdmVEYXRlKC0xKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFQcmV2aW91c0xhYmVsXCJcbiAgICAgIGNsYXNzPVwiYS1idXR0b24gYS1idXR0b24tLXRleHQgYS1idXR0b24tLXByaW1hcnkgaGFzLWljb25cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1sZWZ0LTFcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJ1cGRhdGVBY3RpdmVEYXRlKDEpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYU5leHRMYWJlbFwiXG4gICAgICBjbGFzcz1cImEtYnV0dG9uIGEtYnV0dG9uLS10ZXh0IGEtYnV0dG9uLS1wcmltYXJ5IGhhcy1pY29uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBuYW1lPVwiYWktYXJyb3ctcmlnaHQtMVwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXVpLWNhbGVuZGFyLW1vbnRoXG4gIChzZWxlY3REYXRlKT1cInBpY2tEYXRlKCRldmVudClcIlxuICAqbmdJZj1cImFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfTU9OVEhcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW3JhbmdlXT1cInJhbmdlXCJcbiAgW2ludGVydmFsXT1cImludGVydmFsXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICBbd2Vla2RheUxhYmVsc109XCJ3ZWVrZGF5TGFiZWxzXCJcbj48L2F1aS1jYWxlbmRhci1tb250aD5cbjxhdWktY2FsZW5kYXIteWVhclxuICAoc2VsZWN0RGF0ZSk9XCJwaWNrRGF0ZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJhY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX1lFQVJcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW21vbnRoTGFiZWxzXT1cIm1vbnRoTGFiZWxzXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuPjwvYXVpLWNhbGVuZGFyLXllYXI+XG48YXVpLWNhbGVuZGFyLWRlY2VubmlhXG4gIChzZWxlY3REYXRlKT1cInBpY2tEYXRlKCRldmVudClcIlxuICAqbmdJZj1cImFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfREVDRU5OSUFcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuPjwvYXVpLWNhbGVuZGFyLWRlY2VubmlhPlxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBR25CLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7SUNGcEMsOENBUUM7SUFQQywwTUFBYyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFPaEMsaUJBQXFCOzs7SUFMcEIsOENBQXlCLHVCQUFBLDZCQUFBLHFDQUFBLHVDQUFBOzs7O0lBTTNCLDZDQU1DO0lBTEMsd01BQWMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBS2hDLGlCQUFvQjs7O0lBSG5CLDhDQUF5QixtQ0FBQSxxQ0FBQTs7OztJQUkzQixpREFLQztJQUpDLGdOQUFjLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUloQyxpQkFBd0I7OztJQUZ2Qiw4Q0FBeUIscUNBQUE7O0FEUjNCLE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQ3dDLG9CQUFvQiw2QkFBNkIsRUFDL0Msc0JBQXNCLCtCQUErQixFQUNyRixlQUFnQztRQUZGLHNC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QjtjQUw3QixTQUFTOzJCQUNFLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTTs7c0JBMkI1QyxNQUFNO3VCQUFDLHFCQUFxQjs7c0JBQzVCLE1BQU07dUJBQUMsdUJBQXVCO3NEQXpCUCxJQUFJO2tCQUE3QixXQUFXO21CQUFDLFdBQVc7WUFDUyxVQUFVO2tCQUExQyxXQUFXO21CQUFDLGtCQUFrQjtZQUV0QixrQkFBa0I7a0JBQTFCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUVOLFFBQVE7a0JBRFAsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0ksVUFBVTtrQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEYXRlSGVscGVyLCBEYXRlUmFuZ2UgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbmltcG9ydCB7XG4gIENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICBDQUxFTkRBUl9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX1dFRUtEQVlfTEFCRUxTLFxufSBmcm9tICcuLi8uLi9jYWxlbmRhci5jb25mJztcbmltcG9ydCB7XG4gIENBTEVOREFSX1ZJRVdfREVDRU5OSUEsXG4gIENBTEVOREFSX1ZJRVdfTU9OVEgsXG4gIENBTEVOREFSX1ZJRVdfWUVBUixcbiAgTW9udGhMYWJlbHNDb25maWcsXG4gIFdlZWtkYXlMYWJlbHNDb25maWcsXG59IGZyb20gJy4uLy4uL3R5cGVzL2NhbGVuZGFyLnR5cGVzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50ZXJ2YWwgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2FwcGxpY2F0aW9uJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYWhpZGRlbiA9ICdmYWxzZSc7XG5cbiAgQElucHV0KCkgYXJpYVByZXZpb3VzTGFiZWxzID0gWydHYSBuYWFyIHZvcmlnZSBtYWFuZCcsICdHYSBuYWFyIHZvcmlnIGphYXInLCAnR2EgbmFhciB2b3JpZ2UgMTggamFyZW4nXTtcbiAgQElucHV0KCkgYXJpYU5leHRMYWJlbHMgPSBbJ0dhIG5hYXIgdm9sZ2VuZGUgbWFhbmQnLCAnR2EgbmFhciB2b2xnZW5kIGphYXInLCAnR2EgbmFhciB2b2xnZW5kZSAxOCBqYXJlbiddO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgcmFuZ2U6IERhdGVSYW5nZTtcbiAgQElucHV0KClcbiAgaW50ZXJ2YWw/OiBJbnRlcnZhbC5JSW50ZXJ2YWw8RGF0ZT47XG4gIEBJbnB1dCgpIHdlZWtkYXlMYWJlbHM6IFdlZWtkYXlMYWJlbHNDb25maWc7XG4gIEBJbnB1dCgpIG1vbnRoTGFiZWxzOiBNb250aExhYmVsc0NvbmZpZztcbiAgQE91dHB1dCgpIHNlbGVjdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIENBTEVOREFSX1ZJRVdfTU9OVEggPSBDQUxFTkRBUl9WSUVXX01PTlRIO1xuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19ZRUFSID0gQ0FMRU5EQVJfVklFV19ZRUFSO1xuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19ERUNFTk5JQSA9IENBTEVOREFSX1ZJRVdfREVDRU5OSUE7XG4gIHB1YmxpYyBhY3RpdmVEYXRlOiBEYXRlO1xuICBwdWJsaWMgYWN0aXZlVmlldzogc3RyaW5nID0gQ0FMRU5EQVJfVklFV19NT05USDtcbiAgcHVibGljIGhlYWRlckxhYmVsID0gJyc7XG4gIHB1YmxpYyBhcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzBdO1xuICBwdWJsaWMgYXJpYU5leHRMYWJlbCA9IHRoaXMuYXJpYU5leHRMYWJlbHNbMF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9NT05USF9MQUJFTFMpIHB1YmxpYyBtb2R1bGVNb250aExhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMpIHB1YmxpYyBtb2R1bGVXZWVrZGF5TGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9XRUVLREFZX0xBQkVMUyxcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0Q29udHJvbCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IGNoYW5nZXMuc2VsZWN0ZWREYXRlICYmIGNoYW5nZXMuc2VsZWN0ZWREYXRlLmN1cnJlbnRWYWx1ZSA/IGNoYW5nZXMuc2VsZWN0ZWREYXRlIDogbnVsbDtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiB0aGlzLm1vbnRoTGFiZWxzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgc2VsZWN0ZWREYXRlICYmXG4gICAgICAhRGF0ZUhlbHBlci5kYXRlc0FyZUVxdWFsKHNlbGVjdGVkRGF0ZS5jdXJyZW50VmFsdWUsIHNlbGVjdGVkRGF0ZS5wcmV2aW91c1ZhbHVlKVxuICAgICkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBhY3RpdmVEYXRlVG9TZXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICBpZiAodGhpcy5pbnRlcnZhbCAmJiB0aGlzLmludGVydmFsLmlzSW5SYW5nZShhY3RpdmVEYXRlVG9TZXQpKSB7XG4gICAgICAgIGFjdGl2ZURhdGVUb1NldCA9IHRoaXMuaW50ZXJ2YWwubWluO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBEYXRlSGVscGVyLnBhcnNlRGF0ZShhY3RpdmVEYXRlVG9TZXQpO1xuXG4gICAgICB0aGlzLmluaXRDb250cm9sKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQWN0aXZlRGF0ZShmYWN0b3I6IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVEYXRlID0gdGhpcy5hY3RpdmVEYXRlXG4gICAgICA/IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSwgMSlcbiAgICAgIDogbmV3IERhdGUoKTtcblxuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfTU9OVEg6XG4gICAgICAgIGFjdGl2ZURhdGUuc2V0TW9udGgoYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgZmFjdG9yKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyBmYWN0b3IpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19ERUNFTk5JQTpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyAxOCAqIGZhY3Rvcik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGFjdGl2ZURhdGU7XG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgc3dpdGNoVmlldyhmYWN0b3I6IG51bWJlciA9IDEpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3cyA9IFtDQUxFTkRBUl9WSUVXX01PTlRILCBDQUxFTkRBUl9WSUVXX1lFQVIsIENBTEVOREFSX1ZJRVdfREVDRU5OSUFdO1xuXG4gICAgY29uc3QgY3VyclZpZXcgPSB2aWV3cy5pbmRleE9mKHRoaXMuYWN0aXZlVmlldyk7XG4gICAgbGV0IG5leHRWaWV3ID0gY3VyclZpZXcgKyBmYWN0b3IgPj0gdmlld3MubGVuZ3RoID8gMCA6IGN1cnJWaWV3ICsgZmFjdG9yO1xuICAgIG5leHRWaWV3ID0gbmV4dFZpZXcgPCAwID8gdmlld3MubGVuZ3RoIC0gMSA6IG5leHRWaWV3O1xuXG4gICAgdGhpcy5hY3RpdmVWaWV3ID0gdmlld3NbbmV4dFZpZXddO1xuXG4gICAgLy8gcmVzZXQgYWN0aXZlRGF0ZSB3aGVuIHJldHVybmluZyB0byBtb250aCB2aWV3IHdpdGhvdXQgbW9kZWwgdXBkYXRlXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlICYmIG5leHRWaWV3ID09PSAwICYmIGZhY3RvciA9PT0gMSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgdXBkYXRlSGVhZGVyTGFiZWwoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19NT05USDpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IHRoaXMubW9udGhMYWJlbHNbdGhpcy5hY3RpdmVEYXRlLmdldE1vbnRoKCldICsgJyAnICsgdGhpcy5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1swXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IFN0cmluZyh0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1sxXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1sxXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfREVDRU5OSUE6XG4gICAgICAgIGNvbnN0IHN0YXJ0WWVhciA9IHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB0aGlzLmhlYWRlckxhYmVsID0gYCR7c3RhcnRZZWFyfSAtICR7c3RhcnRZZWFyICsgMTd9YDtcbiAgICAgICAgdGhpcy5hcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzJdO1xuICAgICAgICB0aGlzLmFyaWFOZXh0TGFiZWwgPSB0aGlzLmFyaWFOZXh0TGFiZWxzWzJdO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwaWNrRGF0ZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgY29uc3QgY29tcGxldGUgPSB0aGlzLmFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfTU9OVEg7XG5cbiAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh7XG4gICAgICBkYXRlLFxuICAgICAgY29tcGxldGUsXG4gICAgfSk7XG5cbiAgICBpZiAoIWNvbXBsZXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5zd2l0Y2hWaWV3KC0xKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRDb250cm9sKCk6IHZvaWQge1xuICAgIHRoaXMud2Vla2RheUxhYmVscyA9IHRoaXMud2Vla2RheUxhYmVscyB8fCB0aGlzLm1vZHVsZVdlZWtkYXlMYWJlbHM7XG4gICAgdGhpcy5tb250aExhYmVscyA9IHRoaXMubW9udGhMYWJlbHMgfHwgdGhpcy5tb2R1bGVNb250aExhYmVscztcbiAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRDbG9zZXN0RGF0ZUZvclJhbmdlKHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5yYW5nZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX25hdlwiPlxuICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hWaWV3KClcIiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fbmF2LXRpdGxlXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgIHt7IGhlYWRlckxhYmVsIHwgdGl0bGVjYXNlIH19XG4gICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1kb3duLTFcIiAvPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2IGNsYXNzPVwibS1kYXRlcGlja2VyX19uYXYtcGFnaW5hdGlvblwiPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJ1cGRhdGVBY3RpdmVEYXRlKC0xKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFQcmV2aW91c0xhYmVsXCJcbiAgICAgIGNsYXNzPVwiYS1idXR0b24gYS1idXR0b24tLXRleHQgYS1idXR0b24tLXByaW1hcnkgaGFzLWljb25cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1sZWZ0LTFcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJ1cGRhdGVBY3RpdmVEYXRlKDEpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYU5leHRMYWJlbFwiXG4gICAgICBjbGFzcz1cImEtYnV0dG9uIGEtYnV0dG9uLS10ZXh0IGEtYnV0dG9uLS1wcmltYXJ5IGhhcy1pY29uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBuYW1lPVwiYWktYXJyb3ctcmlnaHQtMVwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXVpLWNhbGVuZGFyLW1vbnRoXG4gIChzZWxlY3REYXRlKT1cInBpY2tEYXRlKCRldmVudClcIlxuICAqbmdJZj1cImFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfTU9OVEhcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW3JhbmdlXT1cInJhbmdlXCJcbiAgW2ludGVydmFsXT1cImludGVydmFsXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICBbd2Vla2RheUxhYmVsc109XCJ3ZWVrZGF5TGFiZWxzXCJcbj48L2F1aS1jYWxlbmRhci1tb250aD5cbjxhdWktY2FsZW5kYXIteWVhclxuICAoc2VsZWN0RGF0ZSk9XCJwaWNrRGF0ZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJhY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX1lFQVJcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW21vbnRoTGFiZWxzXT1cIm1vbnRoTGFiZWxzXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuPjwvYXVpLWNhbGVuZGFyLXllYXI+XG48YXVpLWNhbGVuZGFyLWRlY2VubmlhXG4gIChzZWxlY3REYXRlKT1cInBpY2tEYXRlKCRldmVudClcIlxuICAqbmdJZj1cImFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfREVDRU5OSUFcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuPjwvYXVpLWNhbGVuZGFyLWRlY2VubmlhPlxuIl19
|
|
@@ -73,7 +73,7 @@ export class CalendarMonthComponent {
|
|
|
73
73
|
this.dates = newDates.map((week) => week.map((day) => {
|
|
74
74
|
const currentDate = new Date();
|
|
75
75
|
this.activeDate.setHours(currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());
|
|
76
|
-
const date = new Date(this.activeDate);
|
|
76
|
+
const date = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), day.date);
|
|
77
77
|
if (day.padding) {
|
|
78
78
|
if (day.date > 20) {
|
|
79
79
|
date.setMonth(this.activeDate.getMonth() - 1);
|
|
@@ -155,4 +155,4 @@ export class CalendarMonthComponent {
|
|
|
155
155
|
}], selectDate: [{
|
|
156
156
|
type: Output
|
|
157
157
|
}] }); })();
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbnRoL21vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb250aC9tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUF5QixNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ1R2Riw2QkFBa0QsY0FBQTtJQUNGLFlBQXlCOztJQUFBLGlCQUFPLEVBQUE7OztJQUF4RSxlQUFhO0lBQWIsOEJBQWE7SUFBMkIsZUFBeUI7SUFBekIsd0RBQXlCOzs7OztJQU96RSwwQkFBNkIsZ0JBQUE7SUFFekIsd09BQVMsZUFBQSwrQkFBcUIsQ0FBQSxJQUFDO0lBZS9CLFlBQ0Y7SUFBQSxpQkFBUyxFQUFBOzs7O0lBZlAsZUFBMkI7SUFBM0IsNENBQTJCLDBUQUFBO0lBYzNCLGVBQ0Y7SUFERSw0Q0FDRjs7O0lBbkJKLDBCQUErQjtJQUM3QiwwRUFtQks7SUFDUCxpQkFBSzs7O0lBcEJpQixlQUFPO0lBQVAsaUNBQU87O0FEV25DLE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFDMkMsc0JBQXNCLCtCQUErQixFQUN0RixlQUFnQztRQURDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBa0M7UUFDdEYsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBVGpDLGtCQUFhLEdBQXdCLCtCQUErQixD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QWdDLFlBQUEsWUFBQSxZQUFBO1FBSXhCLHFFQUVLO1FBQ1AsaUJBQUssRUFBQTtRQUdQLGdDQUF1QztRQUNyQyxxRUFxQks7UUFDUCxpQkFBUSxFQUFBLEVBQUE7O1FBN0JnQixlQUFnQjtRQUFoQiwyQ0FBZ0I7UUFPakIsZUFBUTtRQUFSLG1DQUFROzt1RkRZdEIsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0Usb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU07O3NCQWdCNUMsTUFBTTt1QkFBQyx1QkFBdUI7c0RBYnhCLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRU4sUUFBUTtrQkFEUCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGVIZWxwZXIsIERhdGVSYW5nZSwgRGF5LCBNb250aCB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcbmltcG9ydCB7IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsIENBTEVOREFSX1dFRUtEQVlfTEFCRUxTIH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIuY29uZic7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVSYW5nZU1hcCwgV2Vla2RheUxhYmVsc0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL2NhbGVuZGFyLnR5cGVzJztcbmltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktY2FsZW5kYXItbW9udGgnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9udGguY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNb250aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBASW5wdXQoKSBhY3RpdmVEYXRlOiBEYXRlO1xuICBASW5wdXQoKSByYW5nZTogRGF0ZVJhbmdlO1xuICBASW5wdXQoKVxuICBpbnRlcnZhbD86IEludGVydmFsLklJbnRlcnZhbDxEYXRlPjtcbiAgQElucHV0KCkgd2Vla2RheUxhYmVsczogV2Vla2RheUxhYmVsc0NvbmZpZyA9IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFM7XG4gIEBPdXRwdXQoKSBzZWxlY3REYXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBkYXRlczogTW9udGggPSBbXTtcbiAgcHVibGljIHNlbGVjdGVkRGF5ID0gLTE7XG4gIHB1YmxpYyBjdXJyZW50OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9XRUVLREFZX0xBQkVMUykgcHJpdmF0ZSBtb2R1bGVXZWVrZGF5TGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9XRUVLREFZX0xBQkVMUyxcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy53ZWVrZGF5TGFiZWxzID0gdGhpcy53ZWVrZGF5TGFiZWxzIHx8IHRoaXMubW9kdWxlV2Vla2RheUxhYmVscztcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBzZWxlY3RlZERhdGVDaGFuZ2VkID0gdGhpcy5oYXNDaGFuZ2VkKGNoYW5nZXMsICdzZWxlY3RlZERhdGUnKTtcbiAgICBjb25zdCBpbnRlcnZhbENoYW5nZWQgPSAhIWNoYW5nZXMuaW50ZXJ2YWwgJiYgY2hhbmdlcy5pbnRlcnZhbC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuaW50ZXJ2YWwucHJldmlvdXNWYWx1ZTtcbiAgICBjb25zdCBhY3RpdmVEYXRlQ2hhbmdlZCA9IHRoaXMuaGFzQ2hhbmdlZChjaGFuZ2VzLCAnYWN0aXZlRGF0ZScpO1xuICAgIGNvbnN0IG1vbnRoQ2hhbmdlZCA9XG4gICAgICBhY3RpdmVEYXRlQ2hhbmdlZCAmJlxuICAgICAgIURhdGVIZWxwZXIuZGF0ZXNBcmVFcXVhbChbY2hhbmdlcy5hY3RpdmVEYXRlLmN1cnJlbnRWYWx1ZSwgY2hhbmdlcy5hY3RpdmVEYXRlLnByZXZpb3VzVmFsdWVdLCAnTScpO1xuICAgIGNvbnN0IHNlbGVjdGVkRGF5Q2hhbmdlZCA9IHRoaXMuc2VsZWN0ZWREYXRlICYmIHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpID09PSB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpO1xuXG4gICAgdGhpcy5jdXJyZW50ID0gdGhpcy5nZXRDdXJyZW50RGF0ZSgpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBzZWxlY3RlZERheUNoYW5nZWQgPyB0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgOiAtMTtcblxuICAgIGxldCBuZXdEYXRlcyA9IFtdO1xuXG4gICAgaWYgKHNlbGVjdGVkRGF0ZUNoYW5nZWQgfHwgaW50ZXJ2YWxDaGFuZ2VkIHx8IChhY3RpdmVEYXRlQ2hhbmdlZCAmJiBtb250aENoYW5nZWQpKSB7XG4gICAgICBuZXdEYXRlcyA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmdldE1vbnRoRm9yRGF0ZSh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmFuZ2U6IERhdGVSYW5nZU1hcCB8IG51bGwgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRSYW5nZXNGb3JEYXRlKHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5yYW5nZSk7XG4gICAgdGhpcy5kYXRlcyA9IG5ld0RhdGVzLm1hcCgod2VlaykgPT5cbiAgICAgIHdlZWsubWFwKChkYXkpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGUuc2V0SG91cnMoY3VycmVudERhdGUuZ2V0SG91cnMoKSwgY3VycmVudERhdGUuZ2V0TWludXRlcygpLCBjdXJyZW50RGF0ZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICBjb25zdCBkYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5hY3RpdmVEYXRlKTtcblxuICAgICAgICBpZiAoZGF5LnBhZGRpbmcpIHtcbiAgICAgICAgICBpZiAoZGF5LmRhdGUgPiAyMCkge1xuICAgICAgICAgICAgZGF0ZS5zZXRNb250aCh0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSAtIDEpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkYXRlLnNldE1vbnRoKHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGF0ZS5zZXREYXRlKGRheS5kYXRlKTtcblxuICAgICAgICBjb25zdCBhdmFpbGFibGU6IGJvb2xlYW4gPVxuICAgICAgICAgIHRoaXMuZGF5SXNBdmFpbGFibGVGb3JSYW5nZShkYXksIHJhbmdlKSAmJiAodGhpcy5pbnRlcnZhbCA/ICF0aGlzLmludGVydmFsLmlzSW5SYW5nZShkYXRlKSA6IHRydWUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRheSxcbiAgICAgICAgICBhdmFpbGFibGUsXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwaWNrRGF0ZShldmVudDogTW91c2VFdmVudCwgZGF5OiBEYXkpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gU3RvcCBwcm9wYWdhdGlvbiBzbyB0aGUgbW9kYWwgZG9lc24ndCBjbG9zZVxuXG4gICAgbGV0IHNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZSk7XG5cbiAgICBpZiAoZGF5LnBhZGRpbmcpIHtcbiAgICAgIGNvbnN0IG1vbnRoID0gZGF5LmRhdGUgPiAyMCA/IC0xIDogMTtcbiAgICAgIHNlbGVjdGVkRGF0ZSA9IERhdGVIZWxwZXIudXBkYXRlTW9udGgoc2VsZWN0ZWREYXRlLCBzZWxlY3RlZERhdGUuZ2V0TW9udGgoKSArIG1vbnRoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdERhdGUuZW1pdChEYXRlSGVscGVyLnVwZGF0ZURhdGUoc2VsZWN0ZWREYXRlLCBkYXkuZGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMsIHByb3A6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBnZXQoY2hhbmdlcywgYCR7cHJvcH0uY3VycmVudFZhbHVlYCk7XG4gICAgY29uc3QgcHJldmlvdXMgPSBnZXQoY2hhbmdlcywgYCR7cHJvcH0ucHJldmlvdXNWYWx1ZWApO1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGN1cnJlbnQgaW5zdGFuY2VvZiBEYXRlID8gY3VycmVudC52YWx1ZU9mKCkgOiAwO1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBwcmV2aW91cyBpbnN0YW5jZW9mIERhdGUgPyBwcmV2aW91cy52YWx1ZU9mKCkgOiAwO1xuXG4gICAgcmV0dXJuICEhY3VycmVudFZhbHVlICYmIGN1cnJlbnRWYWx1ZSAhPT0gcHJldmlvdXNWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudERhdGUoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjdXJyZW50ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBtb250aEhhc0NoYW5nZWQgPSAhRGF0ZUhlbHBlci5kYXRlc0FyZUVxdWFsKFt0aGlzLmFjdGl2ZURhdGUsIGN1cnJlbnRdLCBbJ00nLCAnWSddKTtcblxuICAgIHJldHVybiBtb250aEhhc0NoYW5nZWQgPyAtMSA6IGN1cnJlbnQuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXlJc0F2YWlsYWJsZUZvclJhbmdlKGRheTogRGF5LCByYW5nZTogRGF0ZVJhbmdlTWFwKTogYm9vbGVhbiB7XG4gICAgaWYgKCFyYW5nZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbGV0IGRhdGVSYW5nZSA9IHJhbmdlLmN1cnJlbnQ7XG5cbiAgICBpZiAoZGF5LnBhZGRpbmcpIHtcbiAgICAgIGRhdGVSYW5nZSA9IGRheS5kYXRlID4gMjAgPyByYW5nZS5iZWZvcmUgOiByYW5nZS5hZnRlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0ZVJhbmdlLmluZGV4T2YoZGF5LmRhdGUpIDwgMDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fZ3JpZFwiPlxuICA8dGFibGU+XG4gICAgPHRoZWFkPlxuICAgICAgPHRyIGNsYXNzPVwibS1kYXRlcGlja2VyX19ncmlkLWhlYWRcIj5cbiAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla2RheUxhYmVsc1wiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgPHNwYW4gW3RpdGxlXT1cImRheVwiIGNsYXNzPVwidS10ZXh0LWNhcGl0YWxpemVcIj57eyBkYXkgfCBzbGljZSA6IDAgOiAyIH19PC9zcGFuPlxuICAgICAgICA8L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuXG4gICAgPHRib2R5IGNsYXNzPVwibS1kYXRlcGlja2VyX19ncmlkLWJvZHlcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiBkYXRlc1wiPlxuICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cInBpY2tEYXRlKCRldmVudCwgZGF5KVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWRheS5hdmFpbGFibGVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnaXMtZmFkZWQnOiAhZGF5LmRhdGUgfHwgZGF5LnBhZGRpbmcsXG4gICAgICAgICAgICAgICdpcy1zZWxlY3RlZCc6XG4gICAgICAgICAgICAgICAgIWRheS5wYWRkaW5nICYmXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWREYXRlICYmXG4gICAgICAgICAgICAgICAgZGF5LmRhdGUgPT09IHNlbGVjdGVkRGF5ICYmXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWREYXkgJiZcbiAgICAgICAgICAgICAgICBzZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgICAgICAnaXMtY3VycmVudCc6ICFkYXkucGFkZGluZyAmJiBkYXkuZGF0ZSA9PT0gY3VycmVudCxcbiAgICAgICAgICAgICAgJ2lzLXVuYXZhaWxhYmxlJzogIWRheS5hdmFpbGFibGVcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZGF5LmRhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbnRoL21vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb250aC9tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUF5QixNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ1R2Riw2QkFBa0QsY0FBQTtJQUNGLFlBQXlCOztJQUFBLGlCQUFPLEVBQUE7OztJQUF4RSxlQUFhO0lBQWIsOEJBQWE7SUFBMkIsZUFBeUI7SUFBekIsd0RBQXlCOzs7OztJQU96RSwwQkFBNkIsZ0JBQUE7SUFFekIsd09BQVMsZUFBQSwrQkFBcUIsQ0FBQSxJQUFDO0lBZS9CLFlBQ0Y7SUFBQSxpQkFBUyxFQUFBOzs7O0lBZlAsZUFBMkI7SUFBM0IsNENBQTJCLDBUQUFBO0lBYzNCLGVBQ0Y7SUFERSw0Q0FDRjs7O0lBbkJKLDBCQUErQjtJQUM3QiwwRUFtQks7SUFDUCxpQkFBSzs7O0lBcEJpQixlQUFPO0lBQVAsaUNBQU87O0FEV25DLE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFDMkMsc0JBQXNCLCtCQUErQixFQUN0RixlQUFnQztRQURDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBa0M7UUFDdEYsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBVGpDLGtCQUFhLEdBQXdCLCtCQUErQixD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LENBQUM7SUFDekMsQ0FBQzs7K0dBOUdVLHNCQUFzQix1QkFjdkIsdUJBQXVCO3dHQWR0QixzQkFBc0I7UUN2Qm5DLDhCQUFnQyxZQUFBLFlBQUEsWUFBQTtRQUl4QixxRUFFSztRQUNQLGlCQUFLLEVBQUE7UUFHUCxnQ0FBdUM7UUFDckMscUVBcUJLO1FBQ1AsaUJBQVEsRUFBQSxFQUFBOztRQTdCZ0IsZUFBZ0I7UUFBaEIsMkNBQWdCO1FBT2pCLGVBQVE7UUFBUixtQ0FBUTs7dUZEWXRCLHNCQUFzQjtjQUxsQyxTQUFTOzJCQUNFLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxNQUFNOztzQkFnQjVDLE1BQU07dUJBQUMsdUJBQXVCO3NEQWJ4QixZQUFZO2tCQUFwQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUVOLFFBQVE7a0JBRFAsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFDSSxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBEYXRlSGVscGVyLCBEYXRlUmFuZ2UsIERheSwgTW9udGggfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5pbXBvcnQgeyBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLCBDQUxFTkRBUl9XRUVLREFZX0xBQkVMUyB9IGZyb20gJy4uLy4uL2NhbGVuZGFyLmNvbmYnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VNYXAsIFdlZWtkYXlMYWJlbHNDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcy9jYWxlbmRhci50eXBlcyc7XG5pbXBvcnQgeyBJbnRlcnZhbCB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWNhbGVuZGFyLW1vbnRoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vbnRoLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWN0aXZlRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgcmFuZ2U6IERhdGVSYW5nZTtcbiAgQElucHV0KClcbiAgaW50ZXJ2YWw/OiBJbnRlcnZhbC5JSW50ZXJ2YWw8RGF0ZT47XG4gIEBJbnB1dCgpIHdlZWtkYXlMYWJlbHM6IFdlZWtkYXlMYWJlbHNDb25maWcgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTO1xuICBAT3V0cHV0KCkgc2VsZWN0RGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgZGF0ZXM6IE1vbnRoID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZERheSA9IC0xO1xuICBwdWJsaWMgY3VycmVudDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMpIHByaXZhdGUgbW9kdWxlV2Vla2RheUxhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMud2Vla2RheUxhYmVscyA9IHRoaXMud2Vla2RheUxhYmVscyB8fCB0aGlzLm1vZHVsZVdlZWtkYXlMYWJlbHM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlQ2hhbmdlZCA9IHRoaXMuaGFzQ2hhbmdlZChjaGFuZ2VzLCAnc2VsZWN0ZWREYXRlJyk7XG4gICAgY29uc3QgaW50ZXJ2YWxDaGFuZ2VkID0gISFjaGFuZ2VzLmludGVydmFsICYmIGNoYW5nZXMuaW50ZXJ2YWwuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmludGVydmFsLnByZXZpb3VzVmFsdWU7XG4gICAgY29uc3QgYWN0aXZlRGF0ZUNoYW5nZWQgPSB0aGlzLmhhc0NoYW5nZWQoY2hhbmdlcywgJ2FjdGl2ZURhdGUnKTtcbiAgICBjb25zdCBtb250aENoYW5nZWQgPVxuICAgICAgYWN0aXZlRGF0ZUNoYW5nZWQgJiZcbiAgICAgICFEYXRlSGVscGVyLmRhdGVzQXJlRXF1YWwoW2NoYW5nZXMuYWN0aXZlRGF0ZS5jdXJyZW50VmFsdWUsIGNoYW5nZXMuYWN0aXZlRGF0ZS5wcmV2aW91c1ZhbHVlXSwgJ00nKTtcbiAgICBjb25zdCBzZWxlY3RlZERheUNoYW5nZWQgPSB0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSA9PT0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKTtcblxuICAgIHRoaXMuY3VycmVudCA9IHRoaXMuZ2V0Q3VycmVudERhdGUoKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF5ID0gc2VsZWN0ZWREYXlDaGFuZ2VkID8gdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpIDogLTE7XG5cbiAgICBsZXQgbmV3RGF0ZXMgPSBbXTtcblxuICAgIGlmIChzZWxlY3RlZERhdGVDaGFuZ2VkIHx8IGludGVydmFsQ2hhbmdlZCB8fCAoYWN0aXZlRGF0ZUNoYW5nZWQgJiYgbW9udGhDaGFuZ2VkKSkge1xuICAgICAgbmV3RGF0ZXMgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRNb250aEZvckRhdGUodGhpcy5hY3RpdmVEYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJhbmdlOiBEYXRlUmFuZ2VNYXAgfCBudWxsID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuZ2V0UmFuZ2VzRm9yRGF0ZSh0aGlzLmFjdGl2ZURhdGUsIHRoaXMucmFuZ2UpO1xuICAgIHRoaXMuZGF0ZXMgPSBuZXdEYXRlcy5tYXAoKHdlZWspID0+XG4gICAgICB3ZWVrLm1hcCgoZGF5KSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlLnNldEhvdXJzKGN1cnJlbnREYXRlLmdldEhvdXJzKCksIGN1cnJlbnREYXRlLmdldE1pbnV0ZXMoKSwgY3VycmVudERhdGUuZ2V0U2Vjb25kcygpKTtcbiAgICAgICAgY29uc3QgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSwgZGF5LmRhdGUpO1xuXG4gICAgICAgIGlmIChkYXkucGFkZGluZykge1xuICAgICAgICAgIGlmIChkYXkuZGF0ZSA+IDIwKSB7XG4gICAgICAgICAgICBkYXRlLnNldE1vbnRoKHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpIC0gMSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRhdGUuc2V0TW9udGgodGhpcy5hY3RpdmVEYXRlLmdldE1vbnRoKCkgKyAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkYXRlLnNldERhdGUoZGF5LmRhdGUpO1xuXG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZTogYm9vbGVhbiA9XG4gICAgICAgICAgdGhpcy5kYXlJc0F2YWlsYWJsZUZvclJhbmdlKGRheSwgcmFuZ2UpICYmICh0aGlzLmludGVydmFsID8gIXRoaXMuaW50ZXJ2YWwuaXNJblJhbmdlKGRhdGUpIDogdHJ1ZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZGF5LFxuICAgICAgICAgIGF2YWlsYWJsZSxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHBpY2tEYXRlKGV2ZW50OiBNb3VzZUV2ZW50LCBkYXk6IERheSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBTdG9wIHByb3BhZ2F0aW9uIHNvIHRoZSBtb2RhbCBkb2Vzbid0IGNsb3NlXG5cbiAgICBsZXQgc2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy5hY3RpdmVEYXRlKTtcblxuICAgIGlmIChkYXkucGFkZGluZykge1xuICAgICAgY29uc3QgbW9udGggPSBkYXkuZGF0ZSA+IDIwID8gLTEgOiAxO1xuICAgICAgc2VsZWN0ZWREYXRlID0gRGF0ZUhlbHBlci51cGRhdGVNb250aChzZWxlY3RlZERhdGUsIHNlbGVjdGVkRGF0ZS5nZXRNb250aCgpICsgbW9udGgpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0RGF0ZS5lbWl0KERhdGVIZWxwZXIudXBkYXRlRGF0ZShzZWxlY3RlZERhdGUsIGRheS5kYXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcywgcHJvcDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudCA9IGdldChjaGFuZ2VzLCBgJHtwcm9wfS5jdXJyZW50VmFsdWVgKTtcbiAgICBjb25zdCBwcmV2aW91cyA9IGdldChjaGFuZ2VzLCBgJHtwcm9wfS5wcmV2aW91c1ZhbHVlYCk7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gY3VycmVudCBpbnN0YW5jZW9mIERhdGUgPyBjdXJyZW50LnZhbHVlT2YoKSA6IDA7XG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHByZXZpb3VzIGluc3RhbmNlb2YgRGF0ZSA/IHByZXZpb3VzLnZhbHVlT2YoKSA6IDA7XG5cbiAgICByZXR1cm4gISFjdXJyZW50VmFsdWUgJiYgY3VycmVudFZhbHVlICE9PSBwcmV2aW91c1ZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50RGF0ZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IG1vbnRoSGFzQ2hhbmdlZCA9ICFEYXRlSGVscGVyLmRhdGVzQXJlRXF1YWwoW3RoaXMuYWN0aXZlRGF0ZSwgY3VycmVudF0sIFsnTScsICdZJ10pO1xuXG4gICAgcmV0dXJuIG1vbnRoSGFzQ2hhbmdlZCA/IC0xIDogY3VycmVudC5nZXREYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGRheUlzQXZhaWxhYmxlRm9yUmFuZ2UoZGF5OiBEYXksIHJhbmdlOiBEYXRlUmFuZ2VNYXApOiBib29sZWFuIHtcbiAgICBpZiAoIXJhbmdlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBsZXQgZGF0ZVJhbmdlID0gcmFuZ2UuY3VycmVudDtcblxuICAgIGlmIChkYXkucGFkZGluZykge1xuICAgICAgZGF0ZVJhbmdlID0gZGF5LmRhdGUgPiAyMCA/IHJhbmdlLmJlZm9yZSA6IHJhbmdlLmFmdGVyO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRlUmFuZ2UuaW5kZXhPZihkYXkuZGF0ZSkgPCAwO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibS1kYXRlcGlja2VyX19ncmlkXCI+XG4gIDx0YWJsZT5cbiAgICA8dGhlYWQ+XG4gICAgICA8dHIgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX2dyaWQtaGVhZFwiPlxuICAgICAgICA8dGggKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrZGF5TGFiZWxzXCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiZGF5XCIgY2xhc3M9XCJ1LXRleHQtY2FwaXRhbGl6ZVwiPnt7IGRheSB8IHNsaWNlIDogMCA6IDIgfX08L3NwYW4+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG5cbiAgICA8dGJvZHkgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX2dyaWQtYm9keVwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCB3ZWVrIG9mIGRhdGVzXCI+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwicGlja0RhdGUoJGV2ZW50LCBkYXkpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZGF5LmF2YWlsYWJsZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdpcy1mYWRlZCc6ICFkYXkuZGF0ZSB8fCBkYXkucGFkZGluZyxcbiAgICAgICAgICAgICAgJ2lzLXNlbGVjdGVkJzpcbiAgICAgICAgICAgICAgICAhZGF5LnBhZGRpbmcgJiZcbiAgICAgICAgICAgICAgICBzZWxlY3RlZERhdGUgJiZcbiAgICAgICAgICAgICAgICBkYXkuZGF0ZSA9PT0gc2VsZWN0ZWREYXkgJiZcbiAgICAgICAgICAgICAgICBzZWxlY3RlZERheSAmJlxuICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpID09PSBhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgICAgICdpcy1jdXJyZW50JzogIWRheS5wYWRkaW5nICYmIGRheS5kYXRlID09PSBjdXJyZW50LFxuICAgICAgICAgICAgICAnaXMtdW5hdmFpbGFibGUnOiAhZGF5LmF2YWlsYWJsZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBkYXkuZGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -261,7 +261,7 @@ class CalendarMonthComponent {
|
|
|
261
261
|
this.dates = newDates.map((week) => week.map((day) => {
|
|
262
262
|
const currentDate = new Date();
|
|
263
263
|
this.activeDate.setHours(currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());
|
|
264
|
-
const date = new Date(this.activeDate);
|
|
264
|
+
const date = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), day.date);
|
|
265
265
|
if (day.padding) {
|
|
266
266
|
if (day.date > 20) {
|
|
267
267
|
date.setMonth(this.activeDate.getMonth() - 1);
|
|
@@ -514,7 +514,9 @@ class CalendarComponent {
|
|
|
514
514
|
}
|
|
515
515
|
}
|
|
516
516
|
updateActiveDate(factor = 0) {
|
|
517
|
-
const activeDate = this.activeDate
|
|
517
|
+
const activeDate = this.activeDate
|
|
518
|
+
? new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1)
|
|
519
|
+
: new Date();
|
|
518
520
|
switch (this.activeView) {
|
|
519
521
|
case CALENDAR_VIEW_MONTH:
|
|
520
522
|
activeDate.setMonth(activeDate.getMonth() + factor);
|
|
@@ -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/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\" />\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>\n","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":";;;;;;;;;AAAO,MAAM,mBAAmB,GAAG,sBAAsB;AAClD,MAAM,kBAAkB,GAAG,qBAAqB;AAChD,MAAM,sBAAsB,GAAG;;MCQzB,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAES,QAAA,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;KA2D9B;IAxDC,QAAQ,CAAC,KAAa,EAAE,IAAa,EAAA;AACnC,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;AAC7B,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AAClB,aAAA;AAED,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,SAAA;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACxB,SAAA;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnH,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;AAEpC,QAAA,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;KAC5B;AAED,IAAA,eAAe,CAAC,IAAU,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KAC3D;IAED,eAAe,CAAC,IAAU,EAAE,KAAgB,EAAA;AAC1C,QAAA,OAAO,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;KACrE;IAED,gBAAgB,CAAC,IAAU,EAAE,KAAgB,EAAA;AAC3C,QAAA,MAAM,YAAY,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;AACxC,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AACjE,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhE,OAAO;YACL,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC;YAChE,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC;YAC/D,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;SAC/D,CAAC;KACH;AAED,IAAA,sBAAsB,CAAC,IAAa,GAAA,IAAI,IAAI,EAAE,EAAE,KAAgB,EAAA;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAC9C,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,OAAO,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACxD;;iGA3DU,eAAe,GAAA,CAAA,EAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,KAAA,6BAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,eAAe,WAAf,eAAe,CAAA,IAAA,EAAA,CAAA,CAAA;;4EAAf,eAAe,EAAA,CAAA;kBAD3B,UAAU;;;;ACNE,MAAA,+BAA+B,GAAG;IAC7C,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;EACR;AAEW,MAAA,6BAA6B,GAAG;IAC3C,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,UAAU;IACV,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;EACV;MAEW,uBAAuB,GAAG,IAAI,cAAc,CAAsB,eAAe,EAAE;MACnF,qBAAqB,GAAG,IAAI,cAAc,CAAoB,aAAa;;;;;;ACzBhF,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA+B,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;QAE3B,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAsB,CAAA,QAAA,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAOhC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAS,EAAA,CAAA;;;;;AAPP,QAAA,EAGE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAHF,EAGE,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,OAAA,KAAA,MAAA,CAAA,OAAA,EAAA,OAAA,KAAA,MAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAGF,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GAAA,CAAA,CAAA;;;;;AAXJ,QAAA,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAC9B,QAAA,EAWK,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACP,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAZkB,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAR,QAAA,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,CAAA;;;MCIxB,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;AAQY,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAEnC,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC,CAAC;AAClB,QAAA,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC,CAAC;KAwCrB;IAtCQ,QAAQ,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;AAC/D,QAAA,MAAM,WAAW,GAAG,YAAY,YAAY,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AACnF,QAAA,MAAM,YAAY,GAAG,aAAa,YAAY,IAAI,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,YAAY,GAAG,WAAW,IAAI,YAAY,GAAG,EAAE,GAAG,WAAW,CAAC;AAEjF,QAAA,IAAI,WAAW,IAAI,CAAC,IAAI,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;KAC9F;IAED,QAAQ,CAAC,KAAiB,EAAE,IAAY,EAAA;QACtC,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/C,QAAA,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAE/B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACpC;IAEO,WAAW,GAAA;QACjB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAEjD,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;AACpD,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACf,SAAA;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC9B;;qHA9CU,yBAAyB,GAAA,CAAA,EAAA,CAAA;2GAAzB,yBAAyB,EAAA,SAAA,EAAA,CAAA,CAAA,uBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,kCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YDRtC,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAgC,YAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAG1B,YAAA,EAaK,CAAA,UAAA,CAAA,CAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACP,YAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,EAAA,CAAA;;;AAdgB,YAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;;;;4ECKvB,yBAAyB,EAAA,CAAA;kBALrC,SAAS;+BACE,uBAAuB,EAAA,eAAA,EAEhB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4hBAAA,EAAA,CAAA;oBAGtC,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;;;;ACPD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAkD,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AACF,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAO,EAAA,CAAA;;;;AAAxE,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAb,QAAA,EAAa,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;AAA2B,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;AAOzE,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA6B,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;QAEzB,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAqB,CAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAe/B,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAS,EAAA,CAAA;;;;;AAfP,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,CAAA,MAAA,CAAA,SAAA,CAA2B,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,CAAA,MAAA,CAAA,IAAA,IAAA,MAAA,CAAA,OAAA,EAAA,CAAA,MAAA,CAAA,OAAA,IAAA,MAAA,CAAA,YAAA,IAAA,MAAA,CAAA,IAAA,KAAA,MAAA,CAAA,WAAA,IAAA,MAAA,CAAA,WAAA,IAAA,MAAA,CAAA,YAAA,CAAA,WAAA,EAAA,KAAA,MAAA,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,MAAA,CAAA,OAAA,IAAA,MAAA,CAAA,IAAA,KAAA,MAAA,CAAA,OAAA,EAAA,CAAA,MAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAc3B,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAA;;;;;AAnBJ,QAAA,EAA+B,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAC7B,QAAA,EAmBK,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACP,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AApBiB,QAAA,EAAO,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAP,QAAA,EAAO,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,CAAA;;;MCWtB,sBAAsB,CAAA;AAajC,IAAA,WAAA,CAC2C,mBAAA,GAAsB,+BAA+B,EACtF,eAAgC,EAAA;AADC,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAkC;AACtF,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AATjC,QAAA,IAAa,CAAA,aAAA,GAAwB,+BAA+B,CAAC;AACpE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAEnC,QAAA,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;AAClB,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC,CAAC;KAMpB;IAEG,QAAQ,GAAA;QACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC;KACrE;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACrE,QAAA,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,KAAK,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/G,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,YAAY,GAChB,iBAAiB;YACjB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;AACtG,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;AAE5G,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,WAAW,GAAG,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzE,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,mBAAmB,IAAI,eAAe,KAAK,iBAAiB,IAAI,YAAY,CAAC,EAAE;YACjF,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClE,SAAA;AAAM,aAAA;YACL,OAAO;AACR,SAAA;AAED,QAAA,MAAM,KAAK,GAAwB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACtG,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;AACf,YAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YACrG,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7C,IAAI,GAAG,CAAC,OAAO,EAAE;AACf,gBAAA,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE;AACjB,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEvB,YAAA,MAAM,SAAS,GACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACrG,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAG,CACN,EAAA,EAAA,SAAS,EACT,CAAA,CAAA;SACH,CAAC,CACH,CAAC;KACH;IAED,QAAQ,CAAC,KAAiB,EAAE,GAAQ,EAAA;AAClC,QAAA,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,GAAG,CAAC,OAAO,EAAE;AACf,YAAA,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACrC,YAAA,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;AACtF,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;KACrE;IAEO,UAAU,CAAC,OAAsB,EAAE,IAAY,EAAA;QACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAG,EAAA,IAAI,CAAe,aAAA,CAAA,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAG,EAAA,IAAI,CAAgB,cAAA,CAAA,CAAC,CAAC;AACvD,QAAA,MAAM,YAAY,GAAG,OAAO,YAAY,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACrE,QAAA,MAAM,aAAa,GAAG,QAAQ,YAAY,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAExE,QAAA,OAAO,CAAC,CAAC,YAAY,IAAI,YAAY,KAAK,aAAa,CAAC;KACzD;IAEO,cAAc,GAAA;AACpB,QAAA,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE1F,QAAA,OAAO,eAAe,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;KACjD;IAEO,sBAAsB,CAAC,GAAQ,EAAE,KAAmB,EAAA;QAC1D,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,IAAI,GAAG,CAAC,OAAO,EAAE;AACf,YAAA,SAAS,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AACxD,SAAA;QAED,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACxC;;AA9GU,mBAAA,sBAAA,CAAA,IAAA,GAAA,SAAA,8BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,sBAAsB,uBAcvB,uBAAuB,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wGAdtB,sBAAsB,EAAA,SAAA,EAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YDvBnC,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,OAAA,CAAA,YAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAIxB,YAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACP,YAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;YAGP,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AACrC,YAAA,EAqBK,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACP,YAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,EAAA,CAAA;;;AA7BgB,YAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAhB,EAAgB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,aAAA,CAAA,CAAA;AAOjB,YAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;;;;4ECYtB,sBAAsB,EAAA,CAAA;kBALlC,SAAS;+BACE,oBAAoB,EAAA,eAAA,EAEb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,woCAAA,EAAA,CAAA;;;8BAgB5C,MAAM;+BAAC,uBAAuB,CAAA;;SAbxB,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;;;;;;AC1BD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAgC,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;QAE5B,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gEAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAuB,CAAA,QAAA,CAAA,MAAA,EAAA,QAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAOjC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAS,EAAA,CAAA;;;;;AAPP,QAAA,EAGE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAHF,QAAA,EAGE,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,QAAA,KAAA,MAAA,CAAA,OAAA,EAAA,QAAA,KAAA,MAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA;AAGF,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AADE,QAAA,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;AAXJ,QAAA,EAAiC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAC/B,QAAA,EAWK,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACP,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAZmB,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAR,QAAA,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,CAAA;;;MCkBzB,qBAAqB,CAAA;IAUhC,WAAkD,CAAA,oBAAoB,6BAA6B,EAAA;AAAjD,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAgC;AAP1F,QAAA,IAAW,CAAA,WAAA,GAAsB,6BAA6B,CAAC;AAC9D,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAEnC,QAAA,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC,CAAC;AACnB,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACb,QAAA,IAAM,CAAA,MAAA,GAAoB,EAAE,CAAC;KAEmE;AAEvG,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAC7D,QAAA,MAAM,WAAW,GAAG,YAAY,YAAY,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AACnF,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AACpH,QAAA,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,WAAW,KAAK,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;AAEjG,QAAA,IAAI,CAAC,aAAa,GAAG,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC;YAC9D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC1C,SAAA;KACF;IAED,QAAQ,CAAC,KAAiB,EAAE,IAAY,EAAA;QACtC,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7C,QAAA,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEpF,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACpC;;AAnCU,mBAAA,qBAAA,CAAA,IAAA,GAAA,SAAA,6BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,qBAAqB,uBAUZ,qBAAqB,CAAA,CAAA,CAAA,EAAA,CAAA;uGAV9B,qBAAqB,EAAA,SAAA,EAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YDtBlC,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAgC,YAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAG1B,YAAA,EAaK,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACP,YAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,EAAA,CAAA;;;AAdgB,YAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAT,EAAS,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA;;;;4ECmBxB,qBAAqB,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAEZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4jBAAA,EAAA,CAAA;;;8BAYlC,MAAM;+BAAC,qBAAqB,CAAA;;SAThC,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;;;;;QCDT,EAQC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,EAAA,CAAA,CAAA;AAPC,QAAA,EAAc,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,yFAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAgB,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAOhC,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;AALpB,QAAA,EAAyB,CAAA,UAAA,CAAA,YAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA;;;;;;QAM3B,EAMC,CAAA,cAAA,CAAA,CAAA,EAAA,mBAAA,EAAA,EAAA,CAAA,CAAA;AALC,QAAA,EAAc,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,uFAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAgB,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAKhC,EAAoB,CAAA,YAAA,EAAA,CAAA;;;;QAHnB,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,MAAA,CAAA,UAAA,CAAyB,mCAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;;;;;;QAI3B,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,uBAAA,EAAA,EAAA,CAAA,CAAA;AAJC,QAAA,EAAc,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,+FAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAgB,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAIhC,EAAwB,CAAA,YAAA,EAAA,CAAA;;;;AAFvB,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,MAAA,CAAA,UAAA,CAAyB,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;;;MCRd,iBAAiB,CAAA;IAwB5B,WACwC,CAAA,oBAAoB,6BAA6B,EAC/C,mBAAsB,GAAA,+BAA+B,EACrF,eAAgC,EAAA;AAFF,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAgC;AAC/C,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAkC;AACrF,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AA1BhB,QAAA,IAAI,CAAA,IAAA,GAAG,aAAa,CAAC;AACd,QAAA,IAAU,CAAA,UAAA,GAAG,OAAO,CAAC;QAE7C,IAAkB,CAAA,kBAAA,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;QAC/F,IAAc,CAAA,cAAA,GAAG,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,2BAA2B,CAAC,CAAC;AAQhG,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAEnC,QAAA,IAAmB,CAAA,mBAAA,GAAG,mBAAmB,CAAC;AAC1C,QAAA,IAAkB,CAAA,kBAAA,GAAG,kBAAkB,CAAC;AACxC,QAAA,IAAsB,CAAA,sBAAA,GAAG,sBAAsB,CAAC;AAEhD,QAAA,IAAU,CAAA,UAAA,GAAW,mBAAmB,CAAC;AACzC,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;KAM1C;IAEG,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;AAE7G,QAAA,IACE,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;YACvC,YAAY;AACZ,YAAA,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,EAChF;AACA,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC;AAEjC,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;AAC7D,gBAAA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrC,aAAA;YAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAExD,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IAED,gBAAgB,CAAC,SAAiB,CAAC,EAAA;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5E,QAAQ,IAAI,CAAC,UAAU;AACrB,YAAA,KAAK,mBAAmB;gBACtB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;gBACpD,MAAM;AACR,YAAA,KAAK,kBAAkB;gBACrB,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;gBAC1D,MAAM;AACR,YAAA,KAAK,sBAAsB;AACzB,gBAAA,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;gBAC/D,MAAM;AACT,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,UAAU,CAAC,SAAiB,CAAC,EAAA;QAC3B,MAAM,KAAK,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,QAAA,IAAI,QAAQ,GAAG,QAAQ,GAAG,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;AACzE,QAAA,QAAQ,GAAG,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC;AAEtD,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;;QAGlC,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;AACrC,SAAA;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,iBAAiB,GAAA;QACf,QAAQ,IAAI,CAAC,UAAU;AACrB,YAAA,KAAK,mBAAmB;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACtG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM;AACR,YAAA,KAAK,kBAAkB;AACrB,gBAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM;AACR,YAAA,KAAK,sBAAsB;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC,WAAW,GAAG,CAAG,EAAA,SAAS,MAAM,SAAS,GAAG,EAAE,CAAA,CAAE,CAAC;gBACtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM;AACT,SAAA;KACF;AAED,IAAA,QAAQ,CAAC,IAAU,EAAA;AACjB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,mBAAmB,CAAC;AAEzD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,IAAI;YACJ,QAAQ;AACT,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,SAAA;KACF;IAEO,WAAW,GAAA;QACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC;AAC9D,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACzB,SAAA;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;qGAzIU,iBAAiB,EAAA,EAAA,CAAA,iBAAA,CAyBlB,qBAAqB,CAAA,EAAA,EAAA,CAAA,iBAAA,CACrB,uBAAuB,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mGA1BtB,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;ADpC9B,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA+B,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AACrB,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kDAAA,GAAA,EAAA,OAAS,gBAAY,CAAC,EAAA,CAAA,CAAA;AAC5B,YAAA,EACA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;YAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;YACrC,EAAS,CAAA,YAAA,EAAA,CAAA;AAET,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA0C,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;YAEtC,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kDAAA,KAAA,OAAA,GAAA,CAAA,gBAAA,CAAA,CAAkB,CAAC,CAAC,CAAC,EAAA,CAAA,CAAA;YAK9B,EAA4C,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;YAC9C,EAAS,CAAA,YAAA,EAAA,CAAA;YACT,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAJC,YAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kDAAA,GAAA,EAAA,OAAA,GAAA,CAAA,gBAAA,CAAiB,CAAC,CAAC,CAAC,EAAA,CAAA,CAAA;YAK7B,EAA6C,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAC/C,YAAA,EAAA,CAAA,YAAA,EAAS,EAAA,EAAA,CAAA;AAGb,YAAA,EAQsB,CAAA,UAAA,CAAA,EAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;AACtB,YAAA,EAMqB,CAAA,UAAA,CAAA,EAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,CAAA,CAAA;AACrB,YAAA,EAKyB,CAAA,UAAA,CAAA,EAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,uBAAA,EAAA,CAAA,CAAA,CAAA;;;AA5CrB,YAAA,EACA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YADA,EACA,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAME,YAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArC,EAAqC,CAAA,WAAA,CAAA,YAAA,EAAA,GAAA,CAAA,iBAAA,CAAA,CAAA;AAQrC,YAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjC,EAAiC,CAAA,WAAA,CAAA,YAAA,EAAA,GAAA,CAAA,aAAA,CAAA,CAAA;AAUpC,YAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,YAAA,EAAwC,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,UAAA,KAAA,GAAA,CAAA,mBAAA,CAAA,CAAA;AASxC,YAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,YAAA,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,UAAA,KAAA,GAAA,CAAA,kBAAA,CAAA,CAAA;AAOvC,YAAA,EAA2C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3C,YAAA,EAA2C,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,UAAA,KAAA,GAAA,CAAA,sBAAA,CAAA,CAAA;;;;4ECPjC,iBAAiB,EAAA,CAAA;kBAL7B,SAAS;+BACE,cAAc,EAAA,eAAA,EAEP,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,q/CAAA,EAAA,CAAA;;;8BA2B5C,MAAM;+BAAC,qBAAqB,CAAA;;8BAC5B,MAAM;+BAAC,uBAAuB,CAAA;;SAzBP,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;gBACS,UAAU,EAAA,CAAA;sBAA1C,WAAW;uBAAC,kBAAkB,CAAA;gBAEtB,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;;MCVI,cAAc,CAAA;AACzB,IAAA,OAAO,QAAQ,CACb,aAAkC,EAClC,WAA8B,EAAA;QAE9B,OAAO;AACL,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,SAAS,EAAE;gBACT,eAAe;AACf,gBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,aAAa,EAAE;AAC7D,gBAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,WAAW,EAAE;AAC1D,aAAA;SACF,CAAC;KACH;;+FAbU,cAAc,GAAA,CAAA,EAAA,CAAA;+FAAd,cAAc,EAAA,CAAA,CAAA;AATd,mBAAA,cAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,SAAA,EAAA;QACT,eAAe;AACf,QAAA;AACE,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,QAAQ,EAAE,+BAA+B;AAC1C,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,6BAA6B,EAAE;KAC5E,EApBS,OAAA,EAAA,CAAA,YAAY,EAAE,UAAU,CAAA,EAAA,CAAA,CAAA;;4EAsBvB,cAAc,EAAA,CAAA;kBAvB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACnC,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,yBAAyB;wBACzB,sBAAsB;wBACtB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,yBAAyB;wBACzB,sBAAsB;wBACtB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,eAAe;AACf,wBAAA;AACE,4BAAA,OAAO,EAAE,uBAAuB;AAChC,4BAAA,QAAQ,EAAE,+BAA+B;AAC1C,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,6BAA6B,EAAE;AAC5E,qBAAA;iBACF,CAAA;;;AACY,CAAA,YAAA;AAAA,IAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,cAAc,mBApBvB,iBAAiB;YACjB,yBAAyB;YACzB,sBAAsB;AACtB,YAAA,qBAAqB,CALb,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,UAAU,aAQhC,iBAAiB;YACjB,yBAAyB;YACzB,sBAAsB;YACtB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,GAAA;;AC5BzB;;AAEG;;;;"}
|
|
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.getFullYear(), this.activeDate.getMonth(), day.date);\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\" />\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>\n","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\n ? new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1)\n : 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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"}
|
|
@@ -239,7 +239,7 @@ class CalendarMonthComponent {
|
|
|
239
239
|
this.dates = newDates.map((week) => week.map((day) => {
|
|
240
240
|
const currentDate = new Date();
|
|
241
241
|
this.activeDate.setHours(currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds());
|
|
242
|
-
const date = new Date(this.activeDate);
|
|
242
|
+
const date = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), day.date);
|
|
243
243
|
if (day.padding) {
|
|
244
244
|
if (day.date > 20) {
|
|
245
245
|
date.setMonth(this.activeDate.getMonth() - 1);
|
|
@@ -466,7 +466,9 @@ class CalendarComponent {
|
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
468
|
updateActiveDate(factor = 0) {
|
|
469
|
-
const activeDate = this.activeDate
|
|
469
|
+
const activeDate = this.activeDate
|
|
470
|
+
? new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1)
|
|
471
|
+
: new Date();
|
|
470
472
|
switch (this.activeView) {
|
|
471
473
|
case CALENDAR_VIEW_MONTH:
|
|
472
474
|
activeDate.setMonth(activeDate.getMonth() + factor);
|
|
@@ -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/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\" />\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>\n","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
|
+
{"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.getFullYear(), this.activeDate.getMonth(), day.date);\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\" />\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>\n","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\n ? new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1)\n : 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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acpaas-ui/ngx-calendar",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.8",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -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": "60a5e3b2627f6b006f9e1369b8abad31562a61b7",
|
|
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",
|