@acpaas-ui/ngx-calendar 6.1.2 → 6.1.6

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.
@@ -126,10 +126,22 @@ export class CalendarComponent {
126
126
  }
127
127
  pickDate(date) {
128
128
  const complete = this.activeView === CALENDAR_VIEW_MONTH;
129
- this.selectDate.emit({
130
- date,
131
- complete,
132
- });
129
+ if (complete) {
130
+ const year = date.getFullYear();
131
+ const month = date.getMonth();
132
+ const day = date.getDate();
133
+ const timezoneAwareDate = new Date(DateHelper.toUtcMidnightInBrussels(year, month, day));
134
+ this.selectDate.emit({
135
+ date: timezoneAwareDate,
136
+ complete,
137
+ });
138
+ }
139
+ else {
140
+ this.selectDate.emit({
141
+ date,
142
+ complete,
143
+ });
144
+ }
133
145
  if (!complete) {
134
146
  this.activeDate = date;
135
147
  this.switchView(-1);
@@ -213,4 +225,4 @@ export class CalendarComponent {
213
225
  }], selectDate: [{
214
226
  type: Output
215
227
  }] }); })();
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBR25CLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7SUNGcEMsOENBUUM7SUFQQywwTUFBYyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFPaEMsaUJBQXFCOzs7SUFMcEIsOENBQXlCLHVCQUFBLDZCQUFBLHFDQUFBLHVDQUFBOzs7O0lBTTNCLDZDQU1DO0lBTEMsd01BQWMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBS2hDLGlCQUFvQjs7O0lBSG5CLDhDQUF5QixtQ0FBQSxxQ0FBQTs7OztJQUkzQixpREFLQztJQUpDLGdOQUFjLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUloQyxpQkFBd0I7OztJQUZ2Qiw4Q0FBeUIscUNBQUE7O0FEUjNCLE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQ3dDLG9CQUFvQiw2QkFBNkIsRUFDL0Msc0JBQXNCLCtCQUErQixFQUNyRixlQUFnQztRQUZGLHNC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QjtjQUw3QixTQUFTOzJCQUNFLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTTs7c0JBMkI1QyxNQUFNO3VCQUFDLHFCQUFxQjs7c0JBQzVCLE1BQU07dUJBQUMsdUJBQXVCO3NEQXpCUCxJQUFJO2tCQUE3QixXQUFXO21CQUFDLFdBQVc7WUFDUyxVQUFVO2tCQUExQyxXQUFXO21CQUFDLGtCQUFrQjtZQUV0QixrQkFBa0I7a0JBQTFCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUVOLFFBQVE7a0JBRFAsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0ksVUFBVTtrQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEYXRlSGVscGVyLCBEYXRlUmFuZ2UgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbmltcG9ydCB7XG4gIENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICBDQUxFTkRBUl9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX1dFRUtEQVlfTEFCRUxTLFxufSBmcm9tICcuLi8uLi9jYWxlbmRhci5jb25mJztcbmltcG9ydCB7XG4gIENBTEVOREFSX1ZJRVdfREVDRU5OSUEsXG4gIENBTEVOREFSX1ZJRVdfTU9OVEgsXG4gIENBTEVOREFSX1ZJRVdfWUVBUixcbiAgTW9udGhMYWJlbHNDb25maWcsXG4gIFdlZWtkYXlMYWJlbHNDb25maWcsXG59IGZyb20gJy4uLy4uL3R5cGVzL2NhbGVuZGFyLnR5cGVzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50ZXJ2YWwgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2FwcGxpY2F0aW9uJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYWhpZGRlbiA9ICdmYWxzZSc7XG5cbiAgQElucHV0KCkgYXJpYVByZXZpb3VzTGFiZWxzID0gWydHYSBuYWFyIHZvcmlnZSBtYWFuZCcsICdHYSBuYWFyIHZvcmlnIGphYXInLCAnR2EgbmFhciB2b3JpZ2UgMTggamFyZW4nXTtcbiAgQElucHV0KCkgYXJpYU5leHRMYWJlbHMgPSBbJ0dhIG5hYXIgdm9sZ2VuZGUgbWFhbmQnLCAnR2EgbmFhciB2b2xnZW5kIGphYXInLCAnR2EgbmFhciB2b2xnZW5kZSAxOCBqYXJlbiddO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgcmFuZ2U6IERhdGVSYW5nZTtcbiAgQElucHV0KClcbiAgaW50ZXJ2YWw/OiBJbnRlcnZhbC5JSW50ZXJ2YWw8RGF0ZT47XG4gIEBJbnB1dCgpIHdlZWtkYXlMYWJlbHM6IFdlZWtkYXlMYWJlbHNDb25maWc7XG4gIEBJbnB1dCgpIG1vbnRoTGFiZWxzOiBNb250aExhYmVsc0NvbmZpZztcbiAgQE91dHB1dCgpIHNlbGVjdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIENBTEVOREFSX1ZJRVdfTU9OVEggPSBDQUxFTkRBUl9WSUVXX01PTlRIO1xuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19ZRUFSID0gQ0FMRU5EQVJfVklFV19ZRUFSO1xuICBwdWJsaWMgQ0FMRU5EQVJfVklFV19ERUNFTk5JQSA9IENBTEVOREFSX1ZJRVdfREVDRU5OSUE7XG4gIHB1YmxpYyBhY3RpdmVEYXRlOiBEYXRlO1xuICBwdWJsaWMgYWN0aXZlVmlldzogc3RyaW5nID0gQ0FMRU5EQVJfVklFV19NT05USDtcbiAgcHVibGljIGhlYWRlckxhYmVsID0gJyc7XG4gIHB1YmxpYyBhcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzBdO1xuICBwdWJsaWMgYXJpYU5leHRMYWJlbCA9IHRoaXMuYXJpYU5leHRMYWJlbHNbMF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9NT05USF9MQUJFTFMpIHB1YmxpYyBtb2R1bGVNb250aExhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMpIHB1YmxpYyBtb2R1bGVXZWVrZGF5TGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9XRUVLREFZX0xBQkVMUyxcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0Q29udHJvbCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IGNoYW5nZXMuc2VsZWN0ZWREYXRlICYmIGNoYW5nZXMuc2VsZWN0ZWREYXRlLmN1cnJlbnRWYWx1ZSA/IGNoYW5nZXMuc2VsZWN0ZWREYXRlIDogbnVsbDtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiB0aGlzLm1vbnRoTGFiZWxzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgc2VsZWN0ZWREYXRlICYmXG4gICAgICAhRGF0ZUhlbHBlci5kYXRlc0FyZUVxdWFsKHNlbGVjdGVkRGF0ZS5jdXJyZW50VmFsdWUsIHNlbGVjdGVkRGF0ZS5wcmV2aW91c1ZhbHVlKVxuICAgICkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBhY3RpdmVEYXRlVG9TZXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICBpZiAodGhpcy5pbnRlcnZhbCAmJiB0aGlzLmludGVydmFsLmlzSW5SYW5nZShhY3RpdmVEYXRlVG9TZXQpKSB7XG4gICAgICAgIGFjdGl2ZURhdGVUb1NldCA9IHRoaXMuaW50ZXJ2YWwubWluO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBEYXRlSGVscGVyLnBhcnNlRGF0ZShhY3RpdmVEYXRlVG9TZXQpO1xuXG4gICAgICB0aGlzLmluaXRDb250cm9sKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQWN0aXZlRGF0ZShmYWN0b3I6IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVEYXRlID0gdGhpcy5hY3RpdmVEYXRlXG4gICAgICA/IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKSwgMSlcbiAgICAgIDogbmV3IERhdGUoKTtcblxuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfTU9OVEg6XG4gICAgICAgIGFjdGl2ZURhdGUuc2V0TW9udGgoYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgZmFjdG9yKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyBmYWN0b3IpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19ERUNFTk5JQTpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcihhY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCkgKyAxOCAqIGZhY3Rvcik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGFjdGl2ZURhdGU7XG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgc3dpdGNoVmlldyhmYWN0b3I6IG51bWJlciA9IDEpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3cyA9IFtDQUxFTkRBUl9WSUVXX01PTlRILCBDQUxFTkRBUl9WSUVXX1lFQVIsIENBTEVOREFSX1ZJRVdfREVDRU5OSUFdO1xuXG4gICAgY29uc3QgY3VyclZpZXcgPSB2aWV3cy5pbmRleE9mKHRoaXMuYWN0aXZlVmlldyk7XG4gICAgbGV0IG5leHRWaWV3ID0gY3VyclZpZXcgKyBmYWN0b3IgPj0gdmlld3MubGVuZ3RoID8gMCA6IGN1cnJWaWV3ICsgZmFjdG9yO1xuICAgIG5leHRWaWV3ID0gbmV4dFZpZXcgPCAwID8gdmlld3MubGVuZ3RoIC0gMSA6IG5leHRWaWV3O1xuXG4gICAgdGhpcy5hY3RpdmVWaWV3ID0gdmlld3NbbmV4dFZpZXddO1xuXG4gICAgLy8gcmVzZXQgYWN0aXZlRGF0ZSB3aGVuIHJldHVybmluZyB0byBtb250aCB2aWV3IHdpdGhvdXQgbW9kZWwgdXBkYXRlXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlICYmIG5leHRWaWV3ID09PSAwICYmIGZhY3RvciA9PT0gMSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG5cbiAgdXBkYXRlSGVhZGVyTGFiZWwoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19NT05USDpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IHRoaXMubW9udGhMYWJlbHNbdGhpcy5hY3RpdmVEYXRlLmdldE1vbnRoKCldICsgJyAnICsgdGhpcy5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1swXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfWUVBUjpcbiAgICAgICAgdGhpcy5oZWFkZXJMYWJlbCA9IFN0cmluZyh0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIHRoaXMuYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1sxXTtcbiAgICAgICAgdGhpcy5hcmlhTmV4dExhYmVsID0gdGhpcy5hcmlhTmV4dExhYmVsc1sxXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENBTEVOREFSX1ZJRVdfREVDRU5OSUE6XG4gICAgICAgIGNvbnN0IHN0YXJ0WWVhciA9IHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB0aGlzLmhlYWRlckxhYmVsID0gYCR7c3RhcnRZZWFyfSAtICR7c3RhcnRZZWFyICsgMTd9YDtcbiAgICAgICAgdGhpcy5hcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzJdO1xuICAgICAgICB0aGlzLmFyaWFOZXh0TGFiZWwgPSB0aGlzLmFyaWFOZXh0TGFiZWxzWzJdO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwaWNrRGF0ZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgY29uc3QgY29tcGxldGUgPSB0aGlzLmFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfTU9OVEg7XG5cbiAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh7XG4gICAgICBkYXRlLFxuICAgICAgY29tcGxldGUsXG4gICAgfSk7XG5cbiAgICBpZiAoIWNvbXBsZXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5zd2l0Y2hWaWV3KC0xKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRDb250cm9sKCk6IHZvaWQge1xuICAgIHRoaXMud2Vla2RheUxhYmVscyA9IHRoaXMud2Vla2RheUxhYmVscyB8fCB0aGlzLm1vZHVsZVdlZWtkYXlMYWJlbHM7XG4gICAgdGhpcy5tb250aExhYmVscyA9IHRoaXMubW9udGhMYWJlbHMgfHwgdGhpcy5tb2R1bGVNb250aExhYmVscztcbiAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRDbG9zZXN0RGF0ZUZvclJhbmdlKHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5yYW5nZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX25hdlwiPlxuICA8YnV0dG9uIChjbGljayk9XCJzd2l0Y2hWaWV3KClcIiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fbmF2LXRpdGxlXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgIHt7IGhlYWRlckxhYmVsIHwgdGl0bGVjYXNlIH19XG4gICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1kb3duLTFcIiAvPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2IGNsYXNzPVwibS1kYXRlcGlja2VyX19uYXYtcGFnaW5hdGlvblwiPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJ1cGRhdGVBY3RpdmVEYXRlKC0xKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFQcmV2aW91c0xhYmVsXCJcbiAgICAgIGNsYXNzPVwiYS1idXR0b24gYS1idXR0b24tLXRleHQgYS1idXR0b24tLXByaW1hcnkgaGFzLWljb25cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIG5hbWU9XCJhaS1hcnJvdy1sZWZ0LTFcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJ1cGRhdGVBY3RpdmVEYXRlKDEpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYU5leHRMYWJlbFwiXG4gICAgICBjbGFzcz1cImEtYnV0dG9uIGEtYnV0dG9uLS10ZXh0IGEtYnV0dG9uLS1wcmltYXJ5IGhhcy1pY29uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBuYW1lPVwiYWktYXJyb3ctcmlnaHQtMVwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXVpLWNhbGVuZGFyLW1vbnRoXG4gIChzZWxlY3REYXRlKT1cInBpY2tEYXRlKCRldmVudClcIlxuICAqbmdJZj1cImFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfTU9OVEhcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW3JhbmdlXT1cInJhbmdlXCJcbiAgW2ludGVydmFsXT1cImludGVydmFsXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICBbd2Vla2RheUxhYmVsc109XCJ3ZWVrZGF5TGFiZWxzXCJcbj48L2F1aS1jYWxlbmRhci1tb250aD5cbjxhdWktY2FsZW5kYXIteWVhclxuICAoc2VsZWN0RGF0ZSk9XCJwaWNrRGF0ZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJhY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX1lFQVJcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW21vbnRoTGFiZWxzXT1cIm1vbnRoTGFiZWxzXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuPjwvYXVpLWNhbGVuZGFyLXllYXI+XG48YXVpLWNhbGVuZGFyLWRlY2VubmlhXG4gIChzZWxlY3REYXRlKT1cInBpY2tEYXRlKCRldmVudClcIlxuICAqbmdJZj1cImFjdGl2ZVZpZXcgPT09IENBTEVOREFSX1ZJRVdfREVDRU5OSUFcIlxuICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuPjwvYXVpLWNhbGVuZGFyLWRlY2VubmlhPlxuIl19
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBR25CLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7SUNGcEMsOENBUUM7SUFQQywwTUFBYyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFPaEMsaUJBQXFCOzs7SUFMcEIsOENBQXlCLHVCQUFBLDZCQUFBLHFDQUFBLHVDQUFBOzs7O0lBTTNCLDZDQU1DO0lBTEMsd01BQWMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBS2hDLGlCQUFvQjs7O0lBSG5CLDhDQUF5QixtQ0FBQSxxQ0FBQTs7OztJQUkzQixpREFLQztJQUpDLGdOQUFjLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUloQyxpQkFBd0I7OztJQUZ2Qiw4Q0FBeUIscUNBQUE7O0FEUjNCLE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQ3dDLG9CQUFvQiw2QkFBNkIsRUFDL0Msc0JBQXNCLCtCQUErQixFQUNyRixlQUFnQztRQUZGLHNC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aUJBQVM7UUFFVCw4QkFBMEMsZ0JBQUE7UUFFdEMsOEZBQVMsc0JBQWtCLENBQUMsQ0FBQyxJQUFDO1FBSzlCLDhCQUE0QztRQUM5QyxpQkFBUztRQUNULGlDQUtDO1FBSkMsOEZBQVMscUJBQWlCLENBQUMsQ0FBQyxJQUFDO1FBSzdCLDhCQUE2QztRQUMvQyxpQkFBUyxFQUFBLEVBQUE7UUFHYixrR0FRc0I7UUFDdEIsZ0dBTXFCO1FBQ3JCLHdHQUt5Qjs7UUE1Q3JCLGVBQ0E7UUFEQSxzRUFDQTtRQU1FLGVBQXFDO1FBQXJDLG1EQUFxQztRQVFyQyxlQUFpQztRQUFqQywrQ0FBaUM7UUFVcEMsZUFBd0M7UUFBeEMsaUVBQXdDO1FBU3hDLGVBQXVDO1FBQXZDLGdFQUF1QztRQU92QyxlQUEyQztRQUEzQyxvRUFBMkM7O3VGRFBqQyxpQkFBaUI7Y0FMN0IsU0FBUzsyQkFDRSxjQUFjLG1CQUVQLHVCQUF1QixDQUFDLE1BQU07O3NCQTJCNUMsTUFBTTt1QkFBQyxxQkFBcUI7O3NCQUM1QixNQUFNO3VCQUFDLHVCQUF1QjtzREF6QlAsSUFBSTtrQkFBN0IsV0FBVzttQkFBQyxXQUFXO1lBQ1MsVUFBVTtrQkFBMUMsV0FBVzttQkFBQyxrQkFBa0I7WUFFdEIsa0JBQWtCO2tCQUExQixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUVHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFFTixRQUFRO2tCQURQLEtBQUs7WUFFRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGF0ZUhlbHBlciwgRGF0ZVJhbmdlIH0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDQUxFTkRBUl9ERUZBVUxUX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfREVGQVVMVF9XRUVLREFZX0xBQkVMUyxcbiAgQ0FMRU5EQVJfTU9OVEhfTEFCRUxTLFxuICBDQUxFTkRBUl9XRUVLREFZX0xBQkVMUyxcbn0gZnJvbSAnLi4vLi4vY2FsZW5kYXIuY29uZic7XG5pbXBvcnQge1xuICBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBLFxuICBDQUxFTkRBUl9WSUVXX01PTlRILFxuICBDQUxFTkRBUl9WSUVXX1lFQVIsXG4gIE1vbnRoTGFiZWxzQ29uZmlnLFxuICBXZWVrZGF5TGFiZWxzQ29uZmlnLFxufSBmcm9tICcuLi8uLi90eXBlcy9jYWxlbmRhci50eXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdhcHBsaWNhdGlvbic7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpIGFyaWFoaWRkZW4gPSAnZmFsc2UnO1xuXG4gIEBJbnB1dCgpIGFyaWFQcmV2aW91c0xhYmVscyA9IFsnR2EgbmFhciB2b3JpZ2UgbWFhbmQnLCAnR2EgbmFhciB2b3JpZyBqYWFyJywgJ0dhIG5hYXIgdm9yaWdlIDE4IGphcmVuJ107XG4gIEBJbnB1dCgpIGFyaWFOZXh0TGFiZWxzID0gWydHYSBuYWFyIHZvbGdlbmRlIG1hYW5kJywgJ0dhIG5hYXIgdm9sZ2VuZCBqYWFyJywgJ0dhIG5hYXIgdm9sZ2VuZGUgMTggamFyZW4nXTtcblxuICBASW5wdXQoKSBzZWxlY3RlZERhdGU6IERhdGU7XG4gIEBJbnB1dCgpIHJhbmdlOiBEYXRlUmFuZ2U7XG4gIEBJbnB1dCgpXG4gIGludGVydmFsPzogSW50ZXJ2YWwuSUludGVydmFsPERhdGU+O1xuICBASW5wdXQoKSB3ZWVrZGF5TGFiZWxzOiBXZWVrZGF5TGFiZWxzQ29uZmlnO1xuICBASW5wdXQoKSBtb250aExhYmVsczogTW9udGhMYWJlbHNDb25maWc7XG4gIEBPdXRwdXQoKSBzZWxlY3REYXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBDQUxFTkRBUl9WSUVXX01PTlRIID0gQ0FMRU5EQVJfVklFV19NT05USDtcbiAgcHVibGljIENBTEVOREFSX1ZJRVdfWUVBUiA9IENBTEVOREFSX1ZJRVdfWUVBUjtcbiAgcHVibGljIENBTEVOREFSX1ZJRVdfREVDRU5OSUEgPSBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBO1xuICBwdWJsaWMgYWN0aXZlRGF0ZTogRGF0ZTtcbiAgcHVibGljIGFjdGl2ZVZpZXc6IHN0cmluZyA9IENBTEVOREFSX1ZJRVdfTU9OVEg7XG4gIHB1YmxpYyBoZWFkZXJMYWJlbCA9ICcnO1xuICBwdWJsaWMgYXJpYVByZXZpb3VzTGFiZWwgPSB0aGlzLmFyaWFQcmV2aW91c0xhYmVsc1swXTtcbiAgcHVibGljIGFyaWFOZXh0TGFiZWwgPSB0aGlzLmFyaWFOZXh0TGFiZWxzWzBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfTU9OVEhfTEFCRUxTKSBwdWJsaWMgbW9kdWxlTW9udGhMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX01PTlRIX0xBQkVMUyxcbiAgICBASW5qZWN0KENBTEVOREFSX1dFRUtEQVlfTEFCRUxTKSBwdWJsaWMgbW9kdWxlV2Vla2RheUxhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRDb250cm9sKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gY2hhbmdlcy5zZWxlY3RlZERhdGUgJiYgY2hhbmdlcy5zZWxlY3RlZERhdGUuY3VycmVudFZhbHVlID8gY2hhbmdlcy5zZWxlY3RlZERhdGUgOiBudWxsO1xuXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIHRoaXMubW9udGhMYWJlbHMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICBzZWxlY3RlZERhdGUgJiZcbiAgICAgICFEYXRlSGVscGVyLmRhdGVzQXJlRXF1YWwoc2VsZWN0ZWREYXRlLmN1cnJlbnRWYWx1ZSwgc2VsZWN0ZWREYXRlLnByZXZpb3VzVmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlSGVhZGVyTGFiZWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGFjdGl2ZURhdGVUb1NldCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgIGlmICh0aGlzLmludGVydmFsICYmIHRoaXMuaW50ZXJ2YWwuaXNJblJhbmdlKGFjdGl2ZURhdGVUb1NldCkpIHtcbiAgICAgICAgYWN0aXZlRGF0ZVRvU2V0ID0gdGhpcy5pbnRlcnZhbC5taW47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGFjdGl2ZURhdGVUb1NldCk7XG5cbiAgICAgIHRoaXMuaW5pdENvbnRyb2woKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVBY3RpdmVEYXRlKGZhY3RvcjogbnVtYmVyID0gMCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZURhdGUgPSB0aGlzLmFjdGl2ZURhdGVcbiAgICAgID8gbmV3IERhdGUodGhpcy5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpLCAxKVxuICAgICAgOiBuZXcgRGF0ZSgpO1xuXG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19NT05USDpcbiAgICAgICAgYWN0aXZlRGF0ZS5zZXRNb250aChhY3RpdmVEYXRlLmdldE1vbnRoKCkgKyBmYWN0b3IpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19ZRUFSOlxuICAgICAgICBhY3RpdmVEYXRlLnNldEZ1bGxZZWFyKGFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSArIGZhY3Rvcik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBOlxuICAgICAgICBhY3RpdmVEYXRlLnNldEZ1bGxZZWFyKGFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSArIDE4ICogZmFjdG9yKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVEYXRlID0gYWN0aXZlRGF0ZTtcbiAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gIH1cblxuICBzd2l0Y2hWaWV3KGZhY3RvcjogbnVtYmVyID0gMSk6IHZvaWQge1xuICAgIGNvbnN0IHZpZXdzID0gW0NBTEVOREFSX1ZJRVdfTU9OVEgsIENBTEVOREFSX1ZJRVdfWUVBUiwgQ0FMRU5EQVJfVklFV19ERUNFTk5JQV07XG5cbiAgICBjb25zdCBjdXJyVmlldyA9IHZpZXdzLmluZGV4T2YodGhpcy5hY3RpdmVWaWV3KTtcbiAgICBsZXQgbmV4dFZpZXcgPSBjdXJyVmlldyArIGZhY3RvciA+PSB2aWV3cy5sZW5ndGggPyAwIDogY3VyclZpZXcgKyBmYWN0b3I7XG4gICAgbmV4dFZpZXcgPSBuZXh0VmlldyA8IDAgPyB2aWV3cy5sZW5ndGggLSAxIDogbmV4dFZpZXc7XG5cbiAgICB0aGlzLmFjdGl2ZVZpZXcgPSB2aWV3c1tuZXh0Vmlld107XG5cbiAgICAvLyByZXNldCBhY3RpdmVEYXRlIHdoZW4gcmV0dXJuaW5nIHRvIG1vbnRoIHZpZXcgd2l0aG91dCBtb2RlbCB1cGRhdGVcbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUgJiYgbmV4dFZpZXcgPT09IDAgJiYgZmFjdG9yID09PSAxKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUhlYWRlckxhYmVsKCk7XG4gIH1cblxuICB1cGRhdGVIZWFkZXJMYWJlbCgpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgY2FzZSBDQUxFTkRBUl9WSUVXX01PTlRIOlxuICAgICAgICB0aGlzLmhlYWRlckxhYmVsID0gdGhpcy5tb250aExhYmVsc1t0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKV0gKyAnICcgKyB0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgdGhpcy5hcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzBdO1xuICAgICAgICB0aGlzLmFyaWFOZXh0TGFiZWwgPSB0aGlzLmFyaWFOZXh0TGFiZWxzWzBdO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19ZRUFSOlxuICAgICAgICB0aGlzLmhlYWRlckxhYmVsID0gU3RyaW5nKHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpKTtcbiAgICAgICAgdGhpcy5hcmlhUHJldmlvdXNMYWJlbCA9IHRoaXMuYXJpYVByZXZpb3VzTGFiZWxzWzFdO1xuICAgICAgICB0aGlzLmFyaWFOZXh0TGFiZWwgPSB0aGlzLmFyaWFOZXh0TGFiZWxzWzFdO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ0FMRU5EQVJfVklFV19ERUNFTk5JQTpcbiAgICAgICAgY29uc3Qgc3RhcnRZZWFyID0gdGhpcy5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHRoaXMuaGVhZGVyTGFiZWwgPSBgJHtzdGFydFllYXJ9IC0gJHtzdGFydFllYXIgKyAxN31gO1xuICAgICAgICB0aGlzLmFyaWFQcmV2aW91c0xhYmVsID0gdGhpcy5hcmlhUHJldmlvdXNMYWJlbHNbMl07XG4gICAgICAgIHRoaXMuYXJpYU5leHRMYWJlbCA9IHRoaXMuYXJpYU5leHRMYWJlbHNbMl07XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHBpY2tEYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wbGV0ZSA9IHRoaXMuYWN0aXZlVmlldyA9PT0gQ0FMRU5EQVJfVklFV19NT05USDtcblxuICAgIGlmIChjb21wbGV0ZSkge1xuICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xuICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XG4gICAgICBjb25zdCB0aW1lem9uZUF3YXJlRGF0ZSA9IG5ldyBEYXRlKERhdGVIZWxwZXIudG9VdGNNaWRuaWdodEluQnJ1c3NlbHMoeWVhciwgbW9udGgsIGRheSkpO1xuXG4gICAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh7XG4gICAgICAgIGRhdGU6IHRpbWV6b25lQXdhcmVEYXRlLFxuICAgICAgICBjb21wbGV0ZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh7XG4gICAgICAgIGRhdGUsXG4gICAgICAgIGNvbXBsZXRlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFjb21wbGV0ZSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gZGF0ZTtcbiAgICAgIHRoaXMuc3dpdGNoVmlldygtMSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q29udHJvbCgpOiB2b2lkIHtcbiAgICB0aGlzLndlZWtkYXlMYWJlbHMgPSB0aGlzLndlZWtkYXlMYWJlbHMgfHwgdGhpcy5tb2R1bGVXZWVrZGF5TGFiZWxzO1xuICAgIHRoaXMubW9udGhMYWJlbHMgPSB0aGlzLm1vbnRoTGFiZWxzIHx8IHRoaXMubW9kdWxlTW9udGhMYWJlbHM7XG4gICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuZ2V0Q2xvc2VzdERhdGVGb3JSYW5nZSh0aGlzLmFjdGl2ZURhdGUsIHRoaXMucmFuZ2UpO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVIZWFkZXJMYWJlbCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibS1kYXRlcGlja2VyX19uYXZcIj5cbiAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVmlldygpXCIgY2xhc3M9XCJtLWRhdGVwaWNrZXJfX25hdi10aXRsZVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICB7eyBoZWFkZXJMYWJlbCB8IHRpdGxlY2FzZSB9fVxuICAgIDxhdWktaWNvbiBuYW1lPVwiYWktYXJyb3ctZG93bi0xXCIgLz5cbiAgPC9idXR0b24+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZGF0ZXBpY2tlcl9fbmF2LXBhZ2luYXRpb25cIj5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwidXBkYXRlQWN0aXZlRGF0ZSgtMSlcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhUHJldmlvdXNMYWJlbFwiXG4gICAgICBjbGFzcz1cImEtYnV0dG9uIGEtYnV0dG9uLS10ZXh0IGEtYnV0dG9uLS1wcmltYXJ5IGhhcy1pY29uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBuYW1lPVwiYWktYXJyb3ctbGVmdC0xXCI+PC9hdWktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwidXBkYXRlQWN0aXZlRGF0ZSgxKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFOZXh0TGFiZWxcIlxuICAgICAgY2xhc3M9XCJhLWJ1dHRvbiBhLWJ1dHRvbi0tdGV4dCBhLWJ1dHRvbi0tcHJpbWFyeSBoYXMtaWNvblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gbmFtZT1cImFpLWFycm93LXJpZ2h0LTFcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGF1aS1jYWxlbmRhci1tb250aFxuICAoc2VsZWN0RGF0ZSk9XCJwaWNrRGF0ZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJhY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX01PTlRIXCJcbiAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gIFtyYW5nZV09XCJyYW5nZVwiXG4gIFtpbnRlcnZhbF09XCJpbnRlcnZhbFwiXG4gIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbiAgW3dlZWtkYXlMYWJlbHNdPVwid2Vla2RheUxhYmVsc1wiXG4+PC9hdWktY2FsZW5kYXItbW9udGg+XG48YXVpLWNhbGVuZGFyLXllYXJcbiAgKHNlbGVjdERhdGUpPVwicGlja0RhdGUoJGV2ZW50KVwiXG4gICpuZ0lmPVwiYWN0aXZlVmlldyA9PT0gQ0FMRU5EQVJfVklFV19ZRUFSXCJcbiAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gIFttb250aExhYmVsc109XCJtb250aExhYmVsc1wiXG4gIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbj48L2F1aS1jYWxlbmRhci15ZWFyPlxuPGF1aS1jYWxlbmRhci1kZWNlbm5pYVxuICAoc2VsZWN0RGF0ZSk9XCJwaWNrRGF0ZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJhY3RpdmVWaWV3ID09PSBDQUxFTkRBUl9WSUVXX0RFQ0VOTklBXCJcbiAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbj48L2F1aS1jYWxlbmRhci1kZWNlbm5pYT5cbiJdfQ==
@@ -565,10 +565,22 @@ class CalendarComponent {
565
565
  }
566
566
  pickDate(date) {
567
567
  const complete = this.activeView === CALENDAR_VIEW_MONTH;
568
- this.selectDate.emit({
569
- date,
570
- complete,
571
- });
568
+ if (complete) {
569
+ const year = date.getFullYear();
570
+ const month = date.getMonth();
571
+ const day = date.getDate();
572
+ const timezoneAwareDate = new Date(DateHelper.toUtcMidnightInBrussels(year, month, day));
573
+ this.selectDate.emit({
574
+ date: timezoneAwareDate,
575
+ complete,
576
+ });
577
+ }
578
+ else {
579
+ this.selectDate.emit({
580
+ date,
581
+ complete,
582
+ });
583
+ }
572
584
  if (!complete) {
573
585
  this.activeDate = date;
574
586
  this.switchView(-1);
@@ -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.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<CalendarModule> {\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 if (complete) {\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate();\n const timezoneAwareDate = new Date(DateHelper.toUtcMidnightInBrussels(year, month, day));\n\n this.selectDate.emit({\n date: timezoneAwareDate,\n complete,\n });\n } else {\n this.selectDate.emit({\n date,\n complete,\n });\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<CalendarModule> {\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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"}
@@ -517,10 +517,22 @@ class CalendarComponent {
517
517
  }
518
518
  pickDate(date) {
519
519
  const complete = this.activeView === CALENDAR_VIEW_MONTH;
520
- this.selectDate.emit({
521
- date,
522
- complete,
523
- });
520
+ if (complete) {
521
+ const year = date.getFullYear();
522
+ const month = date.getMonth();
523
+ const day = date.getDate();
524
+ const timezoneAwareDate = new Date(DateHelper.toUtcMidnightInBrussels(year, month, day));
525
+ this.selectDate.emit({
526
+ date: timezoneAwareDate,
527
+ complete,
528
+ });
529
+ }
530
+ else {
531
+ this.selectDate.emit({
532
+ date,
533
+ complete,
534
+ });
535
+ }
524
536
  if (!complete) {
525
537
  this.activeDate = date;
526
538
  this.switchView(-1);
@@ -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.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<CalendarModule> {\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 if (complete) {\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate();\n const timezoneAwareDate = new Date(DateHelper.toUtcMidnightInBrussels(year, month, day));\n\n this.selectDate.emit({\n date: timezoneAwareDate,\n complete,\n });\n } else {\n this.selectDate.emit({\n date,\n complete,\n });\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<CalendarModule> {\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,12 +1,12 @@
1
1
  {
2
2
  "name": "@acpaas-ui/ngx-calendar",
3
- "version": "6.1.2",
3
+ "version": "6.1.6",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "dependencies": {
8
- "@acpaas-ui/ngx-icon": "^6.1.2",
9
- "@acpaas-ui/ngx-utils": "^6.1.2",
8
+ "@acpaas-ui/ngx-icon": "^6.1.5",
9
+ "@acpaas-ui/ngx-utils": "^6.1.6",
10
10
  "lodash-es": "~4.17.10",
11
11
  "tslib": "^2.3.0"
12
12
  },
@@ -15,7 +15,7 @@
15
15
  "@angular/core": ">=15.2.0",
16
16
  "@angular/platform-browser-dynamic": ">=15.2.0"
17
17
  },
18
- "gitHead": "96289cf349ece64174b06679702a1ae55403866e",
18
+ "gitHead": "4ca28f725c5e1dc4d27b7557a2350b01cb61a932",
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",