@smart-solutions-tech/smart-angular-calendar 0.0.17 → 0.0.19

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.
@@ -138,16 +138,18 @@ export class CalendarComponent {
138
138
  }
139
139
  }
140
140
  CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
- CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalendarComponent, selector: "lib-calendar", inputs: { currentMonth: "currentMonth", events: "events", startAt: "startAt" }, outputs: { eventClick: "eventClick" }, viewQueries: [{ propertyName: "calendarRef", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "calendarBodyRef", first: true, predicate: ["calendarBody"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"calendar-component\">\r\n <div class=\"body\" #calendarBody>\r\n <div class=\"week-days\">\r\n <div class=\"week-day\" *ngFor=\"let day of weekDays\">\r\n {{ day.tag | translate | slice:0:3 }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"days-grid\">\r\n <div class=\"day-cell\" *ngFor=\"let day of dayCells; let i = index\"\r\n [ngClass]=\"{'outside-month': day.isOutsideMonth, 'is-today': day.isToday}\">\r\n <div class=\"day-number\">\r\n {{ day.date.getDate() }}\r\n </div>\r\n\r\n <div class=\"events-list\">\r\n <lib-calendar-event *ngFor=\"let event of day.events | slice:0:maxEventsInDayCell\" [event]=\"event\"\r\n (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\r\n\r\n <div class=\"more-events\" *ngIf=\"day.events.length > (maxEventsInDayCell || 0)\"\r\n (click)=\"openMoreEventsModal(day.date, day.events)\">\r\n {{'nMoreEvents' | translate: {n:(day.events.length - (maxEventsInDayCell || 0))} }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"footer\">\r\n Footer\r\n </div>\r\n\r\n <lib-more-events-modal *ngIf=\"showMoreEventsModal && moreEventsModalDate\" [events]=\"moreEventsModalEvents\"\r\n [date]=\"moreEventsModalDate\" (close)=\"closeMoreEventsModal()\"\r\n (eventClick)=\"onEventClick($event, true)\"></lib-more-events-modal>\r\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.calendar-component{display:flex;flex-direction:column;width:100%;height:100%}.body{flex:1 1 0;display:flex;flex-direction:column;width:100%;min-height:0;height:100%}.week-days{flex-shrink:0;display:grid;grid-template-columns:repeat(7,1fr);width:100%;background-color:#f4f4f4}.week-day{display:flex;align-items:center;justify-content:center;padding:4px;background-color:#fff;font-size:14px;color:#00000080}.days-grid{flex:1 1 0;display:grid;grid-template-columns:repeat(7,1fr);gap:1px;grid-auto-rows:1fr;width:100%;padding:1px;background-color:#f4f4f4;min-height:0;height:100%}.day-cell{display:flex;flex-direction:column;gap:4px;padding:4px;background-color:#fff;overflow:hidden}.day-cell .day-number{display:flex;align-items:center;justify-content:center;width:fit-content;aspect-ratio:1;padding:2px;border-radius:50%;font-size:12px;line-height:16px;font-weight:600;-webkit-user-select:none;user-select:none}.day-cell.outside-month{background-color:#f8f8f8}.day-cell.is-today .day-number{background-color:#007bff;color:#fff}.day-cell .events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-height:0;max-height:100%}.day-cell .events-list .more-events{padding:2px 8px;border-radius:4px;font-size:12px;color:#555;cursor:pointer}.day-cell .events-list .more-events:hover{background-color:#eee}.footer{flex-shrink:0;background-color:#add8e6}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CalendarEventComponent, selector: "lib-calendar-event", inputs: ["event"], outputs: ["eventClick"] }, { kind: "component", type: i3.MoreEventsModalComponent, selector: "lib-more-events-modal", inputs: ["events", "date"], outputs: ["close", "eventClick"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
141
+ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalendarComponent, selector: "lib-calendar", inputs: { currentMonth: "currentMonth", events: "events", startAt: "startAt", tagColor: "tagColor" }, outputs: { eventClick: "eventClick" }, viewQueries: [{ propertyName: "calendarRef", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "calendarBodyRef", first: true, predicate: ["calendarBody"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"calendar-component\">\r\n <div class=\"body\" #calendarBody>\r\n <div class=\"week-days\">\r\n <div class=\"week-day\" *ngFor=\"let day of weekDays\">\r\n {{ day.tag | translate | slice:0:3 }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"days-grid\">\r\n <div class=\"day-cell\" *ngFor=\"let day of dayCells; let i = index\"\r\n [ngClass]=\"{'outside-month': day.isOutsideMonth, 'is-today': day.isToday}\">\r\n <div class=\"day-number\">\r\n {{ day.date.getDate() }}\r\n </div>\r\n\r\n <div class=\"events-list\">\r\n <lib-calendar-event *ngFor=\"let event of day.events | slice:0:maxEventsInDayCell\" [event]=\"event\"\r\n [tagColor]=\"tagColor\" (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\r\n\r\n <div class=\"more-events\" *ngIf=\"day.events.length > (maxEventsInDayCell || 0)\"\r\n (click)=\"openMoreEventsModal(day.date, day.events)\">\r\n {{'nMoreEvents' | translate: {n:(day.events.length - (maxEventsInDayCell || 0))} }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"footer\">\r\n Footer\r\n </div>\r\n\r\n <lib-more-events-modal *ngIf=\"showMoreEventsModal && moreEventsModalDate\" [events]=\"moreEventsModalEvents\"\r\n [tagColor]=\"tagColor\" [date]=\"moreEventsModalDate\" (close)=\"closeMoreEventsModal()\"\r\n (eventClick)=\"onEventClick($event, true)\"></lib-more-events-modal>\r\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.calendar-component{display:flex;flex-direction:column;width:100%;height:100%}.body{flex:1 1 0;display:flex;flex-direction:column;width:100%;min-height:0;height:100%}.week-days{flex-shrink:0;display:grid;grid-template-columns:repeat(7,1fr);width:100%;background-color:#f4f4f4}.week-day{display:flex;align-items:center;justify-content:center;padding:4px;background-color:#fff;font-size:14px;color:#00000080}.days-grid{flex:1 1 0;display:grid;grid-template-columns:repeat(7,1fr);gap:1px;grid-auto-rows:1fr;width:100%;padding:1px;background-color:#f4f4f4;min-height:0;height:100%}.day-cell{display:flex;flex-direction:column;gap:4px;padding:4px;background-color:#fff;overflow:hidden}.day-cell .day-number{display:flex;align-items:center;justify-content:center;width:fit-content;aspect-ratio:1;padding:2px;border-radius:50%;font-size:12px;line-height:16px;font-weight:600;-webkit-user-select:none;user-select:none}.day-cell.outside-month{background-color:#f8f8f8}.day-cell.is-today .day-number{background-color:#007bff;color:#fff}.day-cell .events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-height:0;max-height:100%}.day-cell .events-list .more-events{padding:2px 8px;border-radius:4px;font-size:12px;color:#555;cursor:pointer}.day-cell .events-list .more-events:hover{background-color:#eee}.footer{flex-shrink:0;background-color:#add8e6}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CalendarEventComponent, selector: "lib-calendar-event", inputs: ["event", "tagColor"], outputs: ["eventClick"] }, { kind: "component", type: i3.MoreEventsModalComponent, selector: "lib-more-events-modal", inputs: ["events", "date", "tagColor"], outputs: ["close", "eventClick"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
142
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalendarComponent, decorators: [{
143
143
  type: Component,
144
- args: [{ selector: 'lib-calendar', template: "<div class=\"calendar-component\">\r\n <div class=\"body\" #calendarBody>\r\n <div class=\"week-days\">\r\n <div class=\"week-day\" *ngFor=\"let day of weekDays\">\r\n {{ day.tag | translate | slice:0:3 }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"days-grid\">\r\n <div class=\"day-cell\" *ngFor=\"let day of dayCells; let i = index\"\r\n [ngClass]=\"{'outside-month': day.isOutsideMonth, 'is-today': day.isToday}\">\r\n <div class=\"day-number\">\r\n {{ day.date.getDate() }}\r\n </div>\r\n\r\n <div class=\"events-list\">\r\n <lib-calendar-event *ngFor=\"let event of day.events | slice:0:maxEventsInDayCell\" [event]=\"event\"\r\n (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\r\n\r\n <div class=\"more-events\" *ngIf=\"day.events.length > (maxEventsInDayCell || 0)\"\r\n (click)=\"openMoreEventsModal(day.date, day.events)\">\r\n {{'nMoreEvents' | translate: {n:(day.events.length - (maxEventsInDayCell || 0))} }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"footer\">\r\n Footer\r\n </div>\r\n\r\n <lib-more-events-modal *ngIf=\"showMoreEventsModal && moreEventsModalDate\" [events]=\"moreEventsModalEvents\"\r\n [date]=\"moreEventsModalDate\" (close)=\"closeMoreEventsModal()\"\r\n (eventClick)=\"onEventClick($event, true)\"></lib-more-events-modal>\r\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.calendar-component{display:flex;flex-direction:column;width:100%;height:100%}.body{flex:1 1 0;display:flex;flex-direction:column;width:100%;min-height:0;height:100%}.week-days{flex-shrink:0;display:grid;grid-template-columns:repeat(7,1fr);width:100%;background-color:#f4f4f4}.week-day{display:flex;align-items:center;justify-content:center;padding:4px;background-color:#fff;font-size:14px;color:#00000080}.days-grid{flex:1 1 0;display:grid;grid-template-columns:repeat(7,1fr);gap:1px;grid-auto-rows:1fr;width:100%;padding:1px;background-color:#f4f4f4;min-height:0;height:100%}.day-cell{display:flex;flex-direction:column;gap:4px;padding:4px;background-color:#fff;overflow:hidden}.day-cell .day-number{display:flex;align-items:center;justify-content:center;width:fit-content;aspect-ratio:1;padding:2px;border-radius:50%;font-size:12px;line-height:16px;font-weight:600;-webkit-user-select:none;user-select:none}.day-cell.outside-month{background-color:#f8f8f8}.day-cell.is-today .day-number{background-color:#007bff;color:#fff}.day-cell .events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-height:0;max-height:100%}.day-cell .events-list .more-events{padding:2px 8px;border-radius:4px;font-size:12px;color:#555;cursor:pointer}.day-cell .events-list .more-events:hover{background-color:#eee}.footer{flex-shrink:0;background-color:#add8e6}\n"] }]
144
+ args: [{ selector: 'lib-calendar', template: "<div class=\"calendar-component\">\r\n <div class=\"body\" #calendarBody>\r\n <div class=\"week-days\">\r\n <div class=\"week-day\" *ngFor=\"let day of weekDays\">\r\n {{ day.tag | translate | slice:0:3 }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"days-grid\">\r\n <div class=\"day-cell\" *ngFor=\"let day of dayCells; let i = index\"\r\n [ngClass]=\"{'outside-month': day.isOutsideMonth, 'is-today': day.isToday}\">\r\n <div class=\"day-number\">\r\n {{ day.date.getDate() }}\r\n </div>\r\n\r\n <div class=\"events-list\">\r\n <lib-calendar-event *ngFor=\"let event of day.events | slice:0:maxEventsInDayCell\" [event]=\"event\"\r\n [tagColor]=\"tagColor\" (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\r\n\r\n <div class=\"more-events\" *ngIf=\"day.events.length > (maxEventsInDayCell || 0)\"\r\n (click)=\"openMoreEventsModal(day.date, day.events)\">\r\n {{'nMoreEvents' | translate: {n:(day.events.length - (maxEventsInDayCell || 0))} }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"footer\">\r\n Footer\r\n </div>\r\n\r\n <lib-more-events-modal *ngIf=\"showMoreEventsModal && moreEventsModalDate\" [events]=\"moreEventsModalEvents\"\r\n [tagColor]=\"tagColor\" [date]=\"moreEventsModalDate\" (close)=\"closeMoreEventsModal()\"\r\n (eventClick)=\"onEventClick($event, true)\"></lib-more-events-modal>\r\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.calendar-component{display:flex;flex-direction:column;width:100%;height:100%}.body{flex:1 1 0;display:flex;flex-direction:column;width:100%;min-height:0;height:100%}.week-days{flex-shrink:0;display:grid;grid-template-columns:repeat(7,1fr);width:100%;background-color:#f4f4f4}.week-day{display:flex;align-items:center;justify-content:center;padding:4px;background-color:#fff;font-size:14px;color:#00000080}.days-grid{flex:1 1 0;display:grid;grid-template-columns:repeat(7,1fr);gap:1px;grid-auto-rows:1fr;width:100%;padding:1px;background-color:#f4f4f4;min-height:0;height:100%}.day-cell{display:flex;flex-direction:column;gap:4px;padding:4px;background-color:#fff;overflow:hidden}.day-cell .day-number{display:flex;align-items:center;justify-content:center;width:fit-content;aspect-ratio:1;padding:2px;border-radius:50%;font-size:12px;line-height:16px;font-weight:600;-webkit-user-select:none;user-select:none}.day-cell.outside-month{background-color:#f8f8f8}.day-cell.is-today .day-number{background-color:#007bff;color:#fff}.day-cell .events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-height:0;max-height:100%}.day-cell .events-list .more-events{padding:2px 8px;border-radius:4px;font-size:12px;color:#555;cursor:pointer}.day-cell .events-list .more-events:hover{background-color:#eee}.footer{flex-shrink:0;background-color:#add8e6}\n"] }]
145
145
  }], ctorParameters: function () { return []; }, propDecorators: { currentMonth: [{
146
146
  type: Input
147
147
  }], events: [{
148
148
  type: Input
149
149
  }], startAt: [{
150
150
  type: Input
151
+ }], tagColor: [{
152
+ type: Input
151
153
  }], eventClick: [{
152
154
  type: Output
153
155
  }], calendarRef: [{
@@ -157,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
157
159
  type: ViewChild,
158
160
  args: ['calendarBody']
159
161
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFnQixLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRN0osTUFBTSxPQUFPLGlCQUFpQjtJQXFDNUI7UUFuQ1MsaUJBQVksR0FBb0M7WUFDdkQsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1lBQzlCLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7U0FDakMsQ0FBQztRQUVPLFdBQU0sR0FBb0IsRUFBRSxDQUFDO1FBRTdCLFlBQU8sR0FBd0IsUUFBUSxDQUFDO1FBRXZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQVV6RCxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBRXpCLGFBQVEsR0FBYztZQUNwQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7U0FDZixD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QkFBekMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckV2ZW50LCBEYXlDZWxsLCBXZWVrRGF5IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGN1cnJlbnRNb250aDogeyB5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIgfSA9IHtcclxuICAgIHllYXI6IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSxcclxuICAgIG1vbnRoOiBuZXcgRGF0ZSgpLmdldE1vbnRoKCkgKyAxXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCkgZXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc3RhcnRBdDogJ21vbmRheScgfCAnc3VuZGF5JyA9ICdzdW5kYXknO1xyXG5cclxuICBAT3V0cHV0KCkgZXZlbnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJFdmVudD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY2FsZW5kYXInKSBjYWxlbmRhclJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY2FsZW5kYXJCb2R5JykgY2FsZW5kYXJCb2R5UmVmITogRWxlbWVudFJlZjtcclxuXHJcbiAgY2FsZW5kYXJXaWR0aD86IG51bWJlcjtcclxuICBjb2x1bW5XaWR0aD86IG51bWJlcjtcclxuICBjYWxlbmRhckJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgbWF4RXZlbnRzSW5EYXlDZWxsPzogbnVtYmVyO1xyXG5cclxuICBkYXlDZWxsczogRGF5Q2VsbFtdID0gW107XHJcblxyXG4gIHdlZWtEYXlzOiBXZWVrRGF5W10gPSBbXHJcbiAgICB7IHRhZzogJ3N1bicgfSxcclxuICAgIHsgdGFnOiAnbW9uJyB9LFxyXG4gICAgeyB0YWc6ICd0dWUnIH0sXHJcbiAgICB7IHRhZzogJ3dlZCcgfSxcclxuICAgIHsgdGFnOiAndGh1JyB9LFxyXG4gICAgeyB0YWc6ICdmcmknIH0sXHJcbiAgICB7IHRhZzogJ3NhdCcgfSxcclxuICBdO1xyXG5cclxuICBzaG93TW9yZUV2ZW50c01vZGFsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbW9yZUV2ZW50c01vZGFsRGF0ZT86IERhdGU7XHJcbiAgbW9yZUV2ZW50c01vZGFsRXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgaXNUb2RheShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICByZXR1cm4gZGF0ZS5nZXREYXRlKCkgPT09IHRvZGF5LmdldERhdGUoKSAmJlxyXG4gICAgICBkYXRlLmdldE1vbnRoKCkgPT09IHRvZGF5LmdldE1vbnRoKCkgJiZcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpID09PSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXZlbnRzRm9yRGF5KGRhdGU6IERhdGUpOiBDYWxlbmRhckV2ZW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmZpbHRlcihldmVudCA9PiB7XHJcbiAgICAgIGNvbnN0IGV2ZW50U3RhcnQgPSBuZXcgRGF0ZShldmVudC5zdGFydCk7XHJcbiAgICAgIGNvbnN0IGV2ZW50RW5kID0gZXZlbnQuZW5kID8gbmV3IERhdGUoZXZlbnQuZW5kKSA6IGV2ZW50U3RhcnQ7XHJcblxyXG4gICAgICByZXR1cm4gZGF0ZSA+PSBuZXcgRGF0ZShldmVudFN0YXJ0LmdldEZ1bGxZZWFyKCksIGV2ZW50U3RhcnQuZ2V0TW9udGgoKSwgZXZlbnRTdGFydC5nZXREYXRlKCkpICYmXHJcbiAgICAgICAgZGF0ZSA8PSBuZXcgRGF0ZShldmVudEVuZC5nZXRGdWxsWWVhcigpLCBldmVudEVuZC5nZXRNb250aCgpLCBldmVudEVuZC5nZXREYXRlKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0RGF5c0NlbGxzKCkge1xyXG4gICAgY29uc3QgZGF5c0luTW9udGggPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCwgMCkuZ2V0RGF0ZSgpO1xyXG4gICAgY29uc3QgZmlyc3REYXlPZldlZWsgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCAtIDEsIDEpLmdldERheSgpO1xyXG4gICAgY29uc3QgcHJldkRheXNDb3VudCA9IHRoaXMuc3RhcnRBdCA9PT0gJ21vbmRheScgPyAoZmlyc3REYXlPZldlZWsgPT09IDAgPyA2IDogZmlyc3REYXlPZldlZWsgLSAxKSA6IGZpcnN0RGF5T2ZXZWVrO1xyXG4gICAgLy8gY29uc3QgbmV4dERheXNDb3VudCA9ICg3IC0gKChwcmV2RGF5c0NvdW50ICsgZGF5c0luTW9udGgpICUgNykpICUgNztcclxuICAgIGNvbnN0IG5leHREYXlzQ291bnQgPSA0MiAtIChwcmV2RGF5c0NvdW50ICsgZGF5c0luTW9udGgpOyAvLyBBbHdheXMgc2hvdyA2IHdlZWtzXHJcblxyXG4gICAgdGhpcy5kYXlDZWxscyA9IFtdO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldkRheXNDb3VudDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCAtIDEsIGkgLSBwcmV2RGF5c0NvdW50ICsgMSk7XHJcbiAgICAgIGNvbnN0IF9ldmVudHMgPSB0aGlzLmdldEV2ZW50c0ZvckRheShkYXRlKTtcclxuXHJcbiAgICAgIHRoaXMuZGF5Q2VsbHMucHVzaCh7XHJcbiAgICAgICAgZGF0ZSxcclxuICAgICAgICBldmVudHM6IF9ldmVudHMsXHJcbiAgICAgICAgaXNPdXRzaWRlTW9udGg6IHRydWUsXHJcbiAgICAgICAgaXNUb2RheTogdGhpcy5pc1RvZGF5KGRhdGUpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAobGV0IGRheSA9IDE7IGRheSA8PSBkYXlzSW5Nb250aDsgZGF5KyspIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VycmVudE1vbnRoLnllYXIsIHRoaXMuY3VycmVudE1vbnRoLm1vbnRoIC0gMSwgZGF5KTtcclxuICAgICAgY29uc3QgX2V2ZW50cyA9IHRoaXMuZ2V0RXZlbnRzRm9yRGF5KGRhdGUpO1xyXG5cclxuICAgICAgdGhpcy5kYXlDZWxscy5wdXNoKHtcclxuICAgICAgICBkYXRlLFxyXG4gICAgICAgIGV2ZW50czogX2V2ZW50cyxcclxuICAgICAgICBpc1RvZGF5OiB0aGlzLmlzVG9kYXkoZGF0ZSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbmV4dERheXNDb3VudDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCAtIDEsIGRheXNJbk1vbnRoICsgaSk7XHJcbiAgICAgIGNvbnN0IF9ldmVudHMgPSB0aGlzLmdldEV2ZW50c0ZvckRheShkYXRlKTtcclxuXHJcbiAgICAgIHRoaXMuZGF5Q2VsbHMucHVzaCh7XHJcbiAgICAgICAgZGF0ZSxcclxuICAgICAgICBldmVudHM6IF9ldmVudHMsXHJcbiAgICAgICAgaXNPdXRzaWRlTW9udGg6IHRydWUsXHJcbiAgICAgICAgaXNUb2RheTogdGhpcy5pc1RvZGF5KGRhdGUpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FsZW5kYXJCb2R5SGVpZ2h0KCkge1xyXG4gICAgdGhpcy5jYWxlbmRhckJvZHlIZWlnaHQgPSB0aGlzLmNhbGVuZGFyQm9keVJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICB9XHJcblxyXG4gIHNldE1heEV2ZW50c0luRGF5Q2VsbCgpIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdldmVudHMtbGlzdCcpWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc29sZS5sb2coZWxlbWVudCk7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgZXZlbnRJdGVtSGVpZ2h0ID0gMjI7XHJcbiAgICAgIHRoaXMubWF4RXZlbnRzSW5EYXlDZWxsID0gTWF0aC5mbG9vcihlbGVtZW50LmNsaWVudEhlaWdodCAvIGV2ZW50SXRlbUhlaWdodCkgLSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk1vcmVFdmVudHNNb2RhbChkYXRlOiBEYXRlLCBldmVudHM6IENhbGVuZGFyRXZlbnRbXSkge1xyXG4gICAgdGhpcy5tb3JlRXZlbnRzTW9kYWxEYXRlID0gZGF0ZTtcclxuICAgIHRoaXMubW9yZUV2ZW50c01vZGFsRXZlbnRzID0gZXZlbnRzO1xyXG4gICAgdGhpcy5zaG93TW9yZUV2ZW50c01vZGFsID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNsb3NlTW9yZUV2ZW50c01vZGFsKCkge1xyXG4gICAgdGhpcy5zaG93TW9yZUV2ZW50c01vZGFsID0gZmFsc2U7XHJcbiAgICB0aGlzLm1vcmVFdmVudHNNb2RhbERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLm1vcmVFdmVudHNNb2RhbEV2ZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcmVzaXplTGlzdGVuZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnNldENhbGVuZGFyQm9keUhlaWdodCgpO1xyXG4gICAgdGhpcy5zZXRNYXhFdmVudHNJbkRheUNlbGwoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RhcnRBdCA9PT0gJ21vbmRheScpIHtcclxuICAgICAgdGhpcy53ZWVrRGF5cyA9IFtcclxuICAgICAgICB7IHRhZzogJ21vbicgfSxcclxuICAgICAgICB7IHRhZzogJ3R1ZScgfSxcclxuICAgICAgICB7IHRhZzogJ3dlZCcgfSxcclxuICAgICAgICB7IHRhZzogJ3RodScgfSxcclxuICAgICAgICB7IHRhZzogJ2ZyaScgfSxcclxuICAgICAgICB7IHRhZzogJ3NhdCcgfSxcclxuICAgICAgICB7IHRhZzogJ3N1bicgfSxcclxuICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXREYXlzQ2VsbHMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUxpc3RlbmVyKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRDYWxlbmRhckJvZHlIZWlnaHQoKTtcclxuICAgICAgdGhpcy5zZXRNYXhFdmVudHNJbkRheUNlbGwoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2N1cnJlbnRNb250aCddIHx8IGNoYW5nZXNbJ2V2ZW50cyddKSB7XHJcbiAgICAgIHRoaXMuaW5pdERheXNDZWxscygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplTGlzdGVuZXIpO1xyXG4gIH1cclxuXHJcbiAgb25FdmVudENsaWNrKGV2ZW50OiBDYWxlbmRhckV2ZW50LCBjbG9zZU1vZGFsOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmIChjbG9zZU1vZGFsKSB0aGlzLmNsb3NlTW9yZUV2ZW50c01vZGFsKCk7XHJcblxyXG4gICAgdGhpcy5ldmVudENsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FsZW5kYXItY29tcG9uZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiICNjYWxlbmRhckJvZHk+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5c1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXlcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtEYXlzXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXkudGFnIHwgdHJhbnNsYXRlIHwgc2xpY2U6MDozIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5cy1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktY2VsbFwiICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5Q2VsbHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydvdXRzaWRlLW1vbnRoJzogZGF5LmlzT3V0c2lkZU1vbnRoLCAnaXMtdG9kYXknOiBkYXkuaXNUb2RheX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktbnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZGF5LmRhdGUuZ2V0RGF0ZSgpIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWNhbGVuZGFyLWV2ZW50ICpuZ0Zvcj1cImxldCBldmVudCBvZiBkYXkuZXZlbnRzIHwgc2xpY2U6MDptYXhFdmVudHNJbkRheUNlbGxcIiBbZXZlbnRdPVwiZXZlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnRDbGljayk9XCJvbkV2ZW50Q2xpY2soJGV2ZW50KVwiPjwvbGliLWNhbGVuZGFyLWV2ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1ldmVudHNcIiAqbmdJZj1cImRheS5ldmVudHMubGVuZ3RoID4gKG1heEV2ZW50c0luRGF5Q2VsbCB8fCAwKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTW9yZUV2ZW50c01vZGFsKGRheS5kYXRlLCBkYXkuZXZlbnRzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyduTW9yZUV2ZW50cycgfCB0cmFuc2xhdGU6IHtuOihkYXkuZXZlbnRzLmxlbmd0aCAtIChtYXhFdmVudHNJbkRheUNlbGwgfHwgMCkpfSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG4gICAgICAgIEZvb3RlclxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGxpYi1tb3JlLWV2ZW50cy1tb2RhbCAqbmdJZj1cInNob3dNb3JlRXZlbnRzTW9kYWwgJiYgbW9yZUV2ZW50c01vZGFsRGF0ZVwiIFtldmVudHNdPVwibW9yZUV2ZW50c01vZGFsRXZlbnRzXCJcclxuICAgICAgICBbZGF0ZV09XCJtb3JlRXZlbnRzTW9kYWxEYXRlXCIgKGNsb3NlKT1cImNsb3NlTW9yZUV2ZW50c01vZGFsKClcIlxyXG4gICAgICAgIChldmVudENsaWNrKT1cIm9uRXZlbnRDbGljaygkZXZlbnQsIHRydWUpXCI+PC9saWItbW9yZS1ldmVudHMtbW9kYWw+XHJcbjwvZGl2PiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFnQixLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRN0osTUFBTSxPQUFPLGlCQUFpQjtJQXVDNUI7UUFyQ1MsaUJBQVksR0FBb0M7WUFDdkQsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1lBQzlCLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7U0FDakMsQ0FBQztRQUVPLFdBQU0sR0FBb0IsRUFBRSxDQUFDO1FBRTdCLFlBQU8sR0FBd0IsUUFBUSxDQUFDO1FBSXZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQVV6RCxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBRXpCLGFBQVEsR0FBYztZQUNwQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDZCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7U0FDZixD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dUJBQUMsVUFBVTtnQkFDTSxlQUFlO3NCQUF6QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQsIERheUNlbGwsIFdlZWtEYXkgfSBmcm9tICcuLi8uLi90eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgY3VycmVudE1vbnRoOiB7IHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciB9ID0ge1xyXG4gICAgeWVhcjogbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLFxyXG4gICAgbW9udGg6IG5ldyBEYXRlKCkuZ2V0TW9udGgoKSArIDFcclxuICB9O1xyXG5cclxuICBASW5wdXQoKSBldmVudHM6IENhbGVuZGFyRXZlbnRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBzdGFydEF0OiAnbW9uZGF5JyB8ICdzdW5kYXknID0gJ3N1bmRheSc7XHJcblxyXG4gIEBJbnB1dCgpIHRhZ0NvbG9yPzogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgZXZlbnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJFdmVudD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY2FsZW5kYXInKSBjYWxlbmRhclJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY2FsZW5kYXJCb2R5JykgY2FsZW5kYXJCb2R5UmVmITogRWxlbWVudFJlZjtcclxuXHJcbiAgY2FsZW5kYXJXaWR0aD86IG51bWJlcjtcclxuICBjb2x1bW5XaWR0aD86IG51bWJlcjtcclxuICBjYWxlbmRhckJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgbWF4RXZlbnRzSW5EYXlDZWxsPzogbnVtYmVyO1xyXG5cclxuICBkYXlDZWxsczogRGF5Q2VsbFtdID0gW107XHJcblxyXG4gIHdlZWtEYXlzOiBXZWVrRGF5W10gPSBbXHJcbiAgICB7IHRhZzogJ3N1bicgfSxcclxuICAgIHsgdGFnOiAnbW9uJyB9LFxyXG4gICAgeyB0YWc6ICd0dWUnIH0sXHJcbiAgICB7IHRhZzogJ3dlZCcgfSxcclxuICAgIHsgdGFnOiAndGh1JyB9LFxyXG4gICAgeyB0YWc6ICdmcmknIH0sXHJcbiAgICB7IHRhZzogJ3NhdCcgfSxcclxuICBdO1xyXG5cclxuICBzaG93TW9yZUV2ZW50c01vZGFsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbW9yZUV2ZW50c01vZGFsRGF0ZT86IERhdGU7XHJcbiAgbW9yZUV2ZW50c01vZGFsRXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgaXNUb2RheShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICByZXR1cm4gZGF0ZS5nZXREYXRlKCkgPT09IHRvZGF5LmdldERhdGUoKSAmJlxyXG4gICAgICBkYXRlLmdldE1vbnRoKCkgPT09IHRvZGF5LmdldE1vbnRoKCkgJiZcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpID09PSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXZlbnRzRm9yRGF5KGRhdGU6IERhdGUpOiBDYWxlbmRhckV2ZW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmZpbHRlcihldmVudCA9PiB7XHJcbiAgICAgIGNvbnN0IGV2ZW50U3RhcnQgPSBuZXcgRGF0ZShldmVudC5zdGFydCk7XHJcbiAgICAgIGNvbnN0IGV2ZW50RW5kID0gZXZlbnQuZW5kID8gbmV3IERhdGUoZXZlbnQuZW5kKSA6IGV2ZW50U3RhcnQ7XHJcblxyXG4gICAgICByZXR1cm4gZGF0ZSA+PSBuZXcgRGF0ZShldmVudFN0YXJ0LmdldEZ1bGxZZWFyKCksIGV2ZW50U3RhcnQuZ2V0TW9udGgoKSwgZXZlbnRTdGFydC5nZXREYXRlKCkpICYmXHJcbiAgICAgICAgZGF0ZSA8PSBuZXcgRGF0ZShldmVudEVuZC5nZXRGdWxsWWVhcigpLCBldmVudEVuZC5nZXRNb250aCgpLCBldmVudEVuZC5nZXREYXRlKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0RGF5c0NlbGxzKCkge1xyXG4gICAgY29uc3QgZGF5c0luTW9udGggPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCwgMCkuZ2V0RGF0ZSgpO1xyXG4gICAgY29uc3QgZmlyc3REYXlPZldlZWsgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCAtIDEsIDEpLmdldERheSgpO1xyXG4gICAgY29uc3QgcHJldkRheXNDb3VudCA9IHRoaXMuc3RhcnRBdCA9PT0gJ21vbmRheScgPyAoZmlyc3REYXlPZldlZWsgPT09IDAgPyA2IDogZmlyc3REYXlPZldlZWsgLSAxKSA6IGZpcnN0RGF5T2ZXZWVrO1xyXG4gICAgLy8gY29uc3QgbmV4dERheXNDb3VudCA9ICg3IC0gKChwcmV2RGF5c0NvdW50ICsgZGF5c0luTW9udGgpICUgNykpICUgNztcclxuICAgIGNvbnN0IG5leHREYXlzQ291bnQgPSA0MiAtIChwcmV2RGF5c0NvdW50ICsgZGF5c0luTW9udGgpOyAvLyBBbHdheXMgc2hvdyA2IHdlZWtzXHJcblxyXG4gICAgdGhpcy5kYXlDZWxscyA9IFtdO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldkRheXNDb3VudDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCAtIDEsIGkgLSBwcmV2RGF5c0NvdW50ICsgMSk7XHJcbiAgICAgIGNvbnN0IF9ldmVudHMgPSB0aGlzLmdldEV2ZW50c0ZvckRheShkYXRlKTtcclxuXHJcbiAgICAgIHRoaXMuZGF5Q2VsbHMucHVzaCh7XHJcbiAgICAgICAgZGF0ZSxcclxuICAgICAgICBldmVudHM6IF9ldmVudHMsXHJcbiAgICAgICAgaXNPdXRzaWRlTW9udGg6IHRydWUsXHJcbiAgICAgICAgaXNUb2RheTogdGhpcy5pc1RvZGF5KGRhdGUpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAobGV0IGRheSA9IDE7IGRheSA8PSBkYXlzSW5Nb250aDsgZGF5KyspIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VycmVudE1vbnRoLnllYXIsIHRoaXMuY3VycmVudE1vbnRoLm1vbnRoIC0gMSwgZGF5KTtcclxuICAgICAgY29uc3QgX2V2ZW50cyA9IHRoaXMuZ2V0RXZlbnRzRm9yRGF5KGRhdGUpO1xyXG5cclxuICAgICAgdGhpcy5kYXlDZWxscy5wdXNoKHtcclxuICAgICAgICBkYXRlLFxyXG4gICAgICAgIGV2ZW50czogX2V2ZW50cyxcclxuICAgICAgICBpc1RvZGF5OiB0aGlzLmlzVG9kYXkoZGF0ZSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbmV4dERheXNDb3VudDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRNb250aC55ZWFyLCB0aGlzLmN1cnJlbnRNb250aC5tb250aCAtIDEsIGRheXNJbk1vbnRoICsgaSk7XHJcbiAgICAgIGNvbnN0IF9ldmVudHMgPSB0aGlzLmdldEV2ZW50c0ZvckRheShkYXRlKTtcclxuXHJcbiAgICAgIHRoaXMuZGF5Q2VsbHMucHVzaCh7XHJcbiAgICAgICAgZGF0ZSxcclxuICAgICAgICBldmVudHM6IF9ldmVudHMsXHJcbiAgICAgICAgaXNPdXRzaWRlTW9udGg6IHRydWUsXHJcbiAgICAgICAgaXNUb2RheTogdGhpcy5pc1RvZGF5KGRhdGUpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FsZW5kYXJCb2R5SGVpZ2h0KCkge1xyXG4gICAgdGhpcy5jYWxlbmRhckJvZHlIZWlnaHQgPSB0aGlzLmNhbGVuZGFyQm9keVJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICB9XHJcblxyXG4gIHNldE1heEV2ZW50c0luRGF5Q2VsbCgpIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdldmVudHMtbGlzdCcpWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc29sZS5sb2coZWxlbWVudCk7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgZXZlbnRJdGVtSGVpZ2h0ID0gMjI7XHJcbiAgICAgIHRoaXMubWF4RXZlbnRzSW5EYXlDZWxsID0gTWF0aC5mbG9vcihlbGVtZW50LmNsaWVudEhlaWdodCAvIGV2ZW50SXRlbUhlaWdodCkgLSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk1vcmVFdmVudHNNb2RhbChkYXRlOiBEYXRlLCBldmVudHM6IENhbGVuZGFyRXZlbnRbXSkge1xyXG4gICAgdGhpcy5tb3JlRXZlbnRzTW9kYWxEYXRlID0gZGF0ZTtcclxuICAgIHRoaXMubW9yZUV2ZW50c01vZGFsRXZlbnRzID0gZXZlbnRzO1xyXG4gICAgdGhpcy5zaG93TW9yZUV2ZW50c01vZGFsID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNsb3NlTW9yZUV2ZW50c01vZGFsKCkge1xyXG4gICAgdGhpcy5zaG93TW9yZUV2ZW50c01vZGFsID0gZmFsc2U7XHJcbiAgICB0aGlzLm1vcmVFdmVudHNNb2RhbERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLm1vcmVFdmVudHNNb2RhbEV2ZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcmVzaXplTGlzdGVuZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnNldENhbGVuZGFyQm9keUhlaWdodCgpO1xyXG4gICAgdGhpcy5zZXRNYXhFdmVudHNJbkRheUNlbGwoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RhcnRBdCA9PT0gJ21vbmRheScpIHtcclxuICAgICAgdGhpcy53ZWVrRGF5cyA9IFtcclxuICAgICAgICB7IHRhZzogJ21vbicgfSxcclxuICAgICAgICB7IHRhZzogJ3R1ZScgfSxcclxuICAgICAgICB7IHRhZzogJ3dlZCcgfSxcclxuICAgICAgICB7IHRhZzogJ3RodScgfSxcclxuICAgICAgICB7IHRhZzogJ2ZyaScgfSxcclxuICAgICAgICB7IHRhZzogJ3NhdCcgfSxcclxuICAgICAgICB7IHRhZzogJ3N1bicgfSxcclxuICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXREYXlzQ2VsbHMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUxpc3RlbmVyKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRDYWxlbmRhckJvZHlIZWlnaHQoKTtcclxuICAgICAgdGhpcy5zZXRNYXhFdmVudHNJbkRheUNlbGwoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2N1cnJlbnRNb250aCddIHx8IGNoYW5nZXNbJ2V2ZW50cyddKSB7XHJcbiAgICAgIHRoaXMuaW5pdERheXNDZWxscygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplTGlzdGVuZXIpO1xyXG4gIH1cclxuXHJcbiAgb25FdmVudENsaWNrKGV2ZW50OiBDYWxlbmRhckV2ZW50LCBjbG9zZU1vZGFsOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmIChjbG9zZU1vZGFsKSB0aGlzLmNsb3NlTW9yZUV2ZW50c01vZGFsKCk7XHJcblxyXG4gICAgdGhpcy5ldmVudENsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FsZW5kYXItY29tcG9uZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiICNjYWxlbmRhckJvZHk+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndlZWstZGF5c1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1kYXlcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtEYXlzXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXkudGFnIHwgdHJhbnNsYXRlIHwgc2xpY2U6MDozIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5cy1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktY2VsbFwiICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5Q2VsbHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydvdXRzaWRlLW1vbnRoJzogZGF5LmlzT3V0c2lkZU1vbnRoLCAnaXMtdG9kYXknOiBkYXkuaXNUb2RheX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktbnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZGF5LmRhdGUuZ2V0RGF0ZSgpIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLWNhbGVuZGFyLWV2ZW50ICpuZ0Zvcj1cImxldCBldmVudCBvZiBkYXkuZXZlbnRzIHwgc2xpY2U6MDptYXhFdmVudHNJbkRheUNlbGxcIiBbZXZlbnRdPVwiZXZlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFnQ29sb3JdPVwidGFnQ29sb3JcIiAoZXZlbnRDbGljayk9XCJvbkV2ZW50Q2xpY2soJGV2ZW50KVwiPjwvbGliLWNhbGVuZGFyLWV2ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1ldmVudHNcIiAqbmdJZj1cImRheS5ldmVudHMubGVuZ3RoID4gKG1heEV2ZW50c0luRGF5Q2VsbCB8fCAwKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTW9yZUV2ZW50c01vZGFsKGRheS5kYXRlLCBkYXkuZXZlbnRzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyduTW9yZUV2ZW50cycgfCB0cmFuc2xhdGU6IHtuOihkYXkuZXZlbnRzLmxlbmd0aCAtIChtYXhFdmVudHNJbkRheUNlbGwgfHwgMCkpfSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG4gICAgICAgIEZvb3RlclxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGxpYi1tb3JlLWV2ZW50cy1tb2RhbCAqbmdJZj1cInNob3dNb3JlRXZlbnRzTW9kYWwgJiYgbW9yZUV2ZW50c01vZGFsRGF0ZVwiIFtldmVudHNdPVwibW9yZUV2ZW50c01vZGFsRXZlbnRzXCJcclxuICAgICAgICBbdGFnQ29sb3JdPVwidGFnQ29sb3JcIiBbZGF0ZV09XCJtb3JlRXZlbnRzTW9kYWxEYXRlXCIgKGNsb3NlKT1cImNsb3NlTW9yZUV2ZW50c01vZGFsKClcIlxyXG4gICAgICAgIChldmVudENsaWNrKT1cIm9uRXZlbnRDbGljaygkZXZlbnQsIHRydWUpXCI+PC9saWItbW9yZS1ldmVudHMtbW9kYWw+XHJcbjwvZGl2PiJdfQ==
@@ -6,22 +6,26 @@ export class CalendarEventComponent {
6
6
  constructor() {
7
7
  this.eventClick = new EventEmitter();
8
8
  this.isDarkColor = false;
9
+ this.isDarkTagColor = false;
9
10
  }
10
11
  ngOnInit() {
11
12
  this.isDarkColor = isDarkColor(this.event.color || '#000000');
13
+ this.isDarkTagColor = isDarkColor(this.tagColor || '#000000');
12
14
  }
13
15
  onEventClick(event) {
14
16
  this.eventClick.emit(event);
15
17
  }
16
18
  }
17
19
  CalendarEventComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalendarEventComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- CalendarEventComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalendarEventComponent, selector: "lib-calendar-event", inputs: { event: "event" }, outputs: { eventClick: "eventClick" }, ngImport: i0, template: "<div class=\"calendar-event-component\" style=\"--color: {{ event.color }};\" [ngClass]=\"{'dark-color': isDarkColor}\"\r\n [title]=\"event.title\" (click)=\"onEventClick(event)\">\r\n <div class=\"event-title\">{{ event.title }}</div>\r\n</div>", styles: [".calendar-event-component{position:relative;z-index:1;background-color:var(--color, rgba(0, 0, 0, .05));border-radius:4px;padding:2px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#212121}.calendar-event-component.dark-color{color:#fafafa}.event-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
20
+ CalendarEventComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalendarEventComponent, selector: "lib-calendar-event", inputs: { event: "event", tagColor: "tagColor" }, outputs: { eventClick: "eventClick" }, ngImport: i0, template: "<div class=\"calendar-event-component\" style=\"--color: {{ event.color }};\" [ngClass]=\"{'dark-color': isDarkColor}\"\r\n [title]=\"event.title\" (click)=\"onEventClick(event)\">\r\n <div class=\"tag\" *ngIf=\"event.tag\" [style]=\"{backgroundColor:tagColor}\"\r\n [ngClass]=\"{'dark-color': isDarkTagColor}\">{{ event.tag }}</div>\r\n\r\n <div class=\"event-title\">{{ event.title }}</div>\r\n</div>", styles: [".calendar-event-component{position:relative;z-index:1;display:flex;align-items:center;background-color:var(--color, rgba(0, 0, 0, .05));border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#212121;overflow:hidden}.calendar-event-component.dark-color{color:#fafafa}.event-title{flex:1 1 auto;padding:2px 8px;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{flex-shrink:0;width:36px;padding:2px 0;font-size:12px;font-weight:500;text-align:center}.tag.dark-color{color:#fafafa}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
19
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalendarEventComponent, decorators: [{
20
22
  type: Component,
21
- args: [{ selector: 'lib-calendar-event', template: "<div class=\"calendar-event-component\" style=\"--color: {{ event.color }};\" [ngClass]=\"{'dark-color': isDarkColor}\"\r\n [title]=\"event.title\" (click)=\"onEventClick(event)\">\r\n <div class=\"event-title\">{{ event.title }}</div>\r\n</div>", styles: [".calendar-event-component{position:relative;z-index:1;background-color:var(--color, rgba(0, 0, 0, .05));border-radius:4px;padding:2px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#212121}.calendar-event-component.dark-color{color:#fafafa}.event-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
23
+ args: [{ selector: 'lib-calendar-event', template: "<div class=\"calendar-event-component\" style=\"--color: {{ event.color }};\" [ngClass]=\"{'dark-color': isDarkColor}\"\r\n [title]=\"event.title\" (click)=\"onEventClick(event)\">\r\n <div class=\"tag\" *ngIf=\"event.tag\" [style]=\"{backgroundColor:tagColor}\"\r\n [ngClass]=\"{'dark-color': isDarkTagColor}\">{{ event.tag }}</div>\r\n\r\n <div class=\"event-title\">{{ event.title }}</div>\r\n</div>", styles: [".calendar-event-component{position:relative;z-index:1;display:flex;align-items:center;background-color:var(--color, rgba(0, 0, 0, .05));border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#212121;overflow:hidden}.calendar-event-component.dark-color{color:#fafafa}.event-title{flex:1 1 auto;padding:2px 8px;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{flex-shrink:0;width:36px;padding:2px 0;font-size:12px;font-weight:500;text-align:center}.tag.dark-color{color:#fafafa}\n"] }]
22
24
  }], ctorParameters: function () { return []; }, propDecorators: { event: [{
23
25
  type: Input
26
+ }], tagColor: [{
27
+ type: Input
24
28
  }], eventClick: [{
25
29
  type: Output
26
30
  }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZXZlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItZXZlbnQvY2FsZW5kYXItZXZlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItZXZlbnQvY2FsZW5kYXItZXZlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sc0JBQXNCO0lBT2pDO1FBSlUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXpELGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBRWIsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFvQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzttSEFmVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw2SENUbkMsNlBBR007MkZETU8sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjswRUFNckIsS0FBSztzQkFBYixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcyc7XHJcbmltcG9ydCB7IGlzRGFya0NvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNhbGVuZGFyLWV2ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItZXZlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLWV2ZW50LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRXZlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBldmVudCE6IENhbGVuZGFyRXZlbnQ7XHJcbiAgQE91dHB1dCgpIGV2ZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRXZlbnQ+KCk7XHJcblxyXG4gIGlzRGFya0NvbG9yOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0RhcmtDb2xvciA9IGlzRGFya0NvbG9yKHRoaXMuZXZlbnQuY29sb3IgfHwgJyMwMDAwMDAnKTtcclxuICB9XHJcblxyXG4gIG9uRXZlbnRDbGljayhldmVudDogQ2FsZW5kYXJFdmVudCkge1xyXG4gICAgdGhpcy5ldmVudENsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhbGVuZGFyLWV2ZW50LWNvbXBvbmVudFwiIHN0eWxlPVwiLS1jb2xvcjoge3sgZXZlbnQuY29sb3IgfX07XCIgW25nQ2xhc3NdPVwieydkYXJrLWNvbG9yJzogaXNEYXJrQ29sb3J9XCJcclxuICAgIFt0aXRsZV09XCJldmVudC50aXRsZVwiIChjbGljayk9XCJvbkV2ZW50Q2xpY2soZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtdGl0bGVcIj57eyBldmVudC50aXRsZSB9fTwvZGl2PlxyXG48L2Rpdj4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZXZlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItZXZlbnQvY2FsZW5kYXItZXZlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItZXZlbnQvY2FsZW5kYXItZXZlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDO1FBTFUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXpELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBRWhCLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFvQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzttSEFsQlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsbUpDVG5DLG9hQU1NOzJGREdPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7MEVBTXJCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcyc7XHJcbmltcG9ydCB7IGlzRGFya0NvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNhbGVuZGFyLWV2ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItZXZlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLWV2ZW50LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRXZlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBldmVudCE6IENhbGVuZGFyRXZlbnQ7XHJcbiAgQElucHV0KCkgdGFnQ29sb3I/OiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGV2ZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRXZlbnQ+KCk7XHJcblxyXG4gIGlzRGFya0NvbG9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNEYXJrVGFnQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRGFya0NvbG9yID0gaXNEYXJrQ29sb3IodGhpcy5ldmVudC5jb2xvciB8fCAnIzAwMDAwMCcpO1xyXG4gICAgdGhpcy5pc0RhcmtUYWdDb2xvciA9IGlzRGFya0NvbG9yKHRoaXMudGFnQ29sb3IgfHwgJyMwMDAwMDAnKTtcclxuICB9XHJcblxyXG4gIG9uRXZlbnRDbGljayhldmVudDogQ2FsZW5kYXJFdmVudCkge1xyXG4gICAgdGhpcy5ldmVudENsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhbGVuZGFyLWV2ZW50LWNvbXBvbmVudFwiIHN0eWxlPVwiLS1jb2xvcjoge3sgZXZlbnQuY29sb3IgfX07XCIgW25nQ2xhc3NdPVwieydkYXJrLWNvbG9yJzogaXNEYXJrQ29sb3J9XCJcclxuICAgIFt0aXRsZV09XCJldmVudC50aXRsZVwiIChjbGljayk9XCJvbkV2ZW50Q2xpY2soZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFnXCIgKm5nSWY9XCJldmVudC50YWdcIiBbc3R5bGVdPVwie2JhY2tncm91bmRDb2xvcjp0YWdDb2xvcn1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZGFyay1jb2xvcic6IGlzRGFya1RhZ0NvbG9yfVwiPnt7IGV2ZW50LnRhZyB9fTwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJldmVudC10aXRsZVwiPnt7IGV2ZW50LnRpdGxlIH19PC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -84,15 +84,17 @@ export class DayComponent {
84
84
  }
85
85
  }
86
86
  DayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
- DayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DayComponent, selector: "lib-day", inputs: { events: "events", date: "date" }, outputs: { eventClick: "eventClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"day-view-component\">\n <section class=\"all-day-events\" [style.height.px]=\"allDayHeight\">\n <div class=\"header\">\n {{'allDayEvents' | translate}}\n </div>\n\n <div class=\"events-container\">\n <lib-calendar-event *ngFor=\"let event of allDayEvents\" [event]=\"event\"\n (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\n </div>\n </section>\n\n <div class=\"resize-divider\" (mousedown)=\"onResizeMouseDown($event)\"></div>\n\n <section class=\"duration-events\">\n <div class=\"hour-blocks\">\n <div class=\"hour-block\" *ngFor=\"let hour of hourBlocks\">\n <span>{{ hour }}:00</span>\n </div>\n </div>\n\n <div class=\"events-wrapper\">\n <div class=\"time-blocks\">\n <div class=\"time-block\" *ngFor=\"let hour of hourBlocks\">\n <div class=\"time-block-middle\"></div>\n </div>\n </div>\n\n <div class=\"events-container\" [style.gridTemplateColumns]=\"'repeat(' + eventCols.length + ', 1fr)'\">\n <div class=\"event-column\" *ngFor=\"let col of eventCols\">\n\n <lib-duration-event *ngFor=\"let event of col.events\" [event]=\"event\" [date]=\"date\"\n (eventClick)=\"onEventClick($event)\"></lib-duration-event>\n\n </div>\n </div>\n </div>\n </section>\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.day-view-component{display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;overflow:hidden}section.all-day-events{position:relative;flex-shrink:0;display:flex;flex-direction:column;width:100%;min-height:60px;border-top:1px solid rgba(0,0,0,.12);overflow:auto}section.all-day-events .header{position:sticky;top:0;left:0;z-index:2;width:100%;flex-shrink:0;padding:2px 8px;background-color:#fff;font-size:12px;color:#000000b3;-webkit-user-select:none;user-select:none}section.all-day-events .events-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px;padding:4px}section.duration-events{flex-grow:1;display:flex;width:100%;overflow:auto}section.duration-events .hour-blocks{display:flex;flex-direction:column;width:45px;-webkit-user-select:none;user-select:none}section.duration-events .hour-blocks .hour-block{flex-shrink:0;height:60px;padding:4px;border:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper{position:relative;flex-grow:1;width:100%}section.duration-events .events-wrapper .time-blocks{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;display:flex;flex-direction:column}section.duration-events .events-wrapper .time-blocks .time-block{flex-shrink:0;height:60px;padding:4px;border-bottom:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper .time-blocks .time-block .time-block-middle{width:100%;height:50%;border-bottom:1px dashed rgba(0,0,0,.12)}section.duration-events .events-wrapper .events-container{display:grid;column-gap:1px}section.duration-events .events-wrapper .events-container .event-column{position:relative}.resize-divider{flex-shrink:0;width:100%;height:4px;background-color:#0000001f;cursor:row-resize;transition:transform .2s ease}.resize-divider:hover{z-index:5;background:repeating-linear-gradient(45deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 4px,#ffffff 4px,#ffffff 8px);background-color:#fff;background-size:22px 8px;animation:stripe-move 1s linear infinite;transform:scaleY(2)}@keyframes stripe-move{0%{background-position:0 0}to{background-position:22px 0}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.CalendarEventComponent, selector: "lib-calendar-event", inputs: ["event"], outputs: ["eventClick"] }, { kind: "component", type: i3.DurationEventComponent, selector: "lib-duration-event", inputs: ["event", "date"], outputs: ["eventClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
87
+ DayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DayComponent, selector: "lib-day", inputs: { events: "events", date: "date", tagColor: "tagColor" }, outputs: { eventClick: "eventClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"day-view-component\">\n <section class=\"all-day-events\" [style.height.px]=\"allDayHeight\">\n <div class=\"header\">\n {{'allDayEvents' | translate}}\n </div>\n\n <div class=\"events-container\">\n <lib-calendar-event *ngFor=\"let event of allDayEvents\" [event]=\"event\" [tagColor]=\"tagColor\"\n (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\n </div>\n </section>\n\n <div class=\"resize-divider\" (mousedown)=\"onResizeMouseDown($event)\"></div>\n\n <section class=\"duration-events\">\n <div class=\"hour-blocks\">\n <div class=\"hour-block\" *ngFor=\"let hour of hourBlocks\">\n <span>{{ hour }}:00</span>\n </div>\n </div>\n\n <div class=\"events-wrapper\">\n <div class=\"time-blocks\">\n <div class=\"time-block\" *ngFor=\"let hour of hourBlocks\">\n <div class=\"time-block-middle\"></div>\n </div>\n </div>\n\n <div class=\"events-container\" [style.gridTemplateColumns]=\"'repeat(' + eventCols.length + ', 1fr)'\">\n <div class=\"event-column\" *ngFor=\"let col of eventCols\">\n\n <lib-duration-event *ngFor=\"let event of col.events\" [event]=\"event\" [date]=\"date\"\n (eventClick)=\"onEventClick($event)\"></lib-duration-event>\n\n </div>\n </div>\n </div>\n </section>\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.day-view-component{display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;overflow:hidden}section.all-day-events{position:relative;flex-shrink:0;display:flex;flex-direction:column;width:100%;min-height:60px;border-top:1px solid rgba(0,0,0,.12);overflow:auto}section.all-day-events .header{position:sticky;top:0;left:0;z-index:2;width:100%;flex-shrink:0;padding:2px 8px;background-color:#fff;font-size:12px;color:#000000b3;-webkit-user-select:none;user-select:none}section.all-day-events .events-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px;padding:4px}section.duration-events{flex-grow:1;display:flex;width:100%;overflow:auto}section.duration-events .hour-blocks{display:flex;flex-direction:column;width:45px;-webkit-user-select:none;user-select:none}section.duration-events .hour-blocks .hour-block{flex-shrink:0;height:60px;padding:4px;border:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper{position:relative;flex-grow:1;width:100%}section.duration-events .events-wrapper .time-blocks{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;display:flex;flex-direction:column}section.duration-events .events-wrapper .time-blocks .time-block{flex-shrink:0;height:60px;padding:4px;border-bottom:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper .time-blocks .time-block .time-block-middle{width:100%;height:50%;border-bottom:1px dashed rgba(0,0,0,.12)}section.duration-events .events-wrapper .events-container{display:grid;column-gap:1px}section.duration-events .events-wrapper .events-container .event-column{position:relative}.resize-divider{flex-shrink:0;width:100%;height:4px;background-color:#0000001f;cursor:row-resize;transition:transform .2s ease}.resize-divider:hover{z-index:5;background:repeating-linear-gradient(45deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 4px,#ffffff 4px,#ffffff 8px);background-color:#fff;background-size:22px 8px;animation:stripe-move 1s linear infinite;transform:scaleY(2)}@keyframes stripe-move{0%{background-position:0 0}to{background-position:22px 0}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.CalendarEventComponent, selector: "lib-calendar-event", inputs: ["event", "tagColor"], outputs: ["eventClick"] }, { kind: "component", type: i3.DurationEventComponent, selector: "lib-duration-event", inputs: ["event", "date", "tagColor"], outputs: ["eventClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
88
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DayComponent, decorators: [{
89
89
  type: Component,
90
- args: [{ selector: 'lib-day', template: "<div class=\"day-view-component\">\n <section class=\"all-day-events\" [style.height.px]=\"allDayHeight\">\n <div class=\"header\">\n {{'allDayEvents' | translate}}\n </div>\n\n <div class=\"events-container\">\n <lib-calendar-event *ngFor=\"let event of allDayEvents\" [event]=\"event\"\n (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\n </div>\n </section>\n\n <div class=\"resize-divider\" (mousedown)=\"onResizeMouseDown($event)\"></div>\n\n <section class=\"duration-events\">\n <div class=\"hour-blocks\">\n <div class=\"hour-block\" *ngFor=\"let hour of hourBlocks\">\n <span>{{ hour }}:00</span>\n </div>\n </div>\n\n <div class=\"events-wrapper\">\n <div class=\"time-blocks\">\n <div class=\"time-block\" *ngFor=\"let hour of hourBlocks\">\n <div class=\"time-block-middle\"></div>\n </div>\n </div>\n\n <div class=\"events-container\" [style.gridTemplateColumns]=\"'repeat(' + eventCols.length + ', 1fr)'\">\n <div class=\"event-column\" *ngFor=\"let col of eventCols\">\n\n <lib-duration-event *ngFor=\"let event of col.events\" [event]=\"event\" [date]=\"date\"\n (eventClick)=\"onEventClick($event)\"></lib-duration-event>\n\n </div>\n </div>\n </div>\n </section>\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.day-view-component{display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;overflow:hidden}section.all-day-events{position:relative;flex-shrink:0;display:flex;flex-direction:column;width:100%;min-height:60px;border-top:1px solid rgba(0,0,0,.12);overflow:auto}section.all-day-events .header{position:sticky;top:0;left:0;z-index:2;width:100%;flex-shrink:0;padding:2px 8px;background-color:#fff;font-size:12px;color:#000000b3;-webkit-user-select:none;user-select:none}section.all-day-events .events-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px;padding:4px}section.duration-events{flex-grow:1;display:flex;width:100%;overflow:auto}section.duration-events .hour-blocks{display:flex;flex-direction:column;width:45px;-webkit-user-select:none;user-select:none}section.duration-events .hour-blocks .hour-block{flex-shrink:0;height:60px;padding:4px;border:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper{position:relative;flex-grow:1;width:100%}section.duration-events .events-wrapper .time-blocks{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;display:flex;flex-direction:column}section.duration-events .events-wrapper .time-blocks .time-block{flex-shrink:0;height:60px;padding:4px;border-bottom:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper .time-blocks .time-block .time-block-middle{width:100%;height:50%;border-bottom:1px dashed rgba(0,0,0,.12)}section.duration-events .events-wrapper .events-container{display:grid;column-gap:1px}section.duration-events .events-wrapper .events-container .event-column{position:relative}.resize-divider{flex-shrink:0;width:100%;height:4px;background-color:#0000001f;cursor:row-resize;transition:transform .2s ease}.resize-divider:hover{z-index:5;background:repeating-linear-gradient(45deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 4px,#ffffff 4px,#ffffff 8px);background-color:#fff;background-size:22px 8px;animation:stripe-move 1s linear infinite;transform:scaleY(2)}@keyframes stripe-move{0%{background-position:0 0}to{background-position:22px 0}}\n"] }]
90
+ args: [{ selector: 'lib-day', template: "<div class=\"day-view-component\">\n <section class=\"all-day-events\" [style.height.px]=\"allDayHeight\">\n <div class=\"header\">\n {{'allDayEvents' | translate}}\n </div>\n\n <div class=\"events-container\">\n <lib-calendar-event *ngFor=\"let event of allDayEvents\" [event]=\"event\" [tagColor]=\"tagColor\"\n (eventClick)=\"onEventClick($event)\"></lib-calendar-event>\n </div>\n </section>\n\n <div class=\"resize-divider\" (mousedown)=\"onResizeMouseDown($event)\"></div>\n\n <section class=\"duration-events\">\n <div class=\"hour-blocks\">\n <div class=\"hour-block\" *ngFor=\"let hour of hourBlocks\">\n <span>{{ hour }}:00</span>\n </div>\n </div>\n\n <div class=\"events-wrapper\">\n <div class=\"time-blocks\">\n <div class=\"time-block\" *ngFor=\"let hour of hourBlocks\">\n <div class=\"time-block-middle\"></div>\n </div>\n </div>\n\n <div class=\"events-container\" [style.gridTemplateColumns]=\"'repeat(' + eventCols.length + ', 1fr)'\">\n <div class=\"event-column\" *ngFor=\"let col of eventCols\">\n\n <lib-duration-event *ngFor=\"let event of col.events\" [event]=\"event\" [date]=\"date\"\n (eventClick)=\"onEventClick($event)\"></lib-duration-event>\n\n </div>\n </div>\n </div>\n </section>\n</div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.day-view-component{display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;overflow:hidden}section.all-day-events{position:relative;flex-shrink:0;display:flex;flex-direction:column;width:100%;min-height:60px;border-top:1px solid rgba(0,0,0,.12);overflow:auto}section.all-day-events .header{position:sticky;top:0;left:0;z-index:2;width:100%;flex-shrink:0;padding:2px 8px;background-color:#fff;font-size:12px;color:#000000b3;-webkit-user-select:none;user-select:none}section.all-day-events .events-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px;padding:4px}section.duration-events{flex-grow:1;display:flex;width:100%;overflow:auto}section.duration-events .hour-blocks{display:flex;flex-direction:column;width:45px;-webkit-user-select:none;user-select:none}section.duration-events .hour-blocks .hour-block{flex-shrink:0;height:60px;padding:4px;border:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper{position:relative;flex-grow:1;width:100%}section.duration-events .events-wrapper .time-blocks{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;display:flex;flex-direction:column}section.duration-events .events-wrapper .time-blocks .time-block{flex-shrink:0;height:60px;padding:4px;border-bottom:1px solid rgba(0,0,0,.12);border-top:none;font-size:12px;color:#00000080}section.duration-events .events-wrapper .time-blocks .time-block .time-block-middle{width:100%;height:50%;border-bottom:1px dashed rgba(0,0,0,.12)}section.duration-events .events-wrapper .events-container{display:grid;column-gap:1px}section.duration-events .events-wrapper .events-container .event-column{position:relative}.resize-divider{flex-shrink:0;width:100%;height:4px;background-color:#0000001f;cursor:row-resize;transition:transform .2s ease}.resize-divider:hover{z-index:5;background:repeating-linear-gradient(45deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 4px,#ffffff 4px,#ffffff 8px);background-color:#fff;background-size:22px 8px;animation:stripe-move 1s linear infinite;transform:scaleY(2)}@keyframes stripe-move{0%{background-position:0 0}to{background-position:22px 0}}\n"] }]
91
91
  }], ctorParameters: function () { return []; }, propDecorators: { events: [{
92
92
  type: Input
93
93
  }], date: [{
94
94
  type: Input
95
+ }], tagColor: [{
96
+ type: Input
95
97
  }], eventClick: [{
96
98
  type: Output
97
99
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LWFuZ3VsYXItY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2RheS9kYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvZGF5L2RheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVF6RyxNQUFNLE9BQU8sWUFBWTtJQWdCdkI7UUFkUyxXQUFNLEdBQW9CLEVBQUUsQ0FBQztRQUc1QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFekQsZUFBVSxHQUFhLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvRCxpQkFBWSxHQUFvQixFQUFFLENBQUM7UUFDbkMsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIsY0FBUyxHQUVILEVBQUUsQ0FBQztRQXFERCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQVV4QixzQkFBaUIsR0FBRyxDQUFDLEtBQWlCLEVBQVEsRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUMzQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FB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T0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBTUQsaUJBQWlCLENBQUMsS0FBaUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNyQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9ELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFlRCxZQUFZLENBQUMsS0FBb0I7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7eUdBOUZVLFlBQVk7NkZBQVosWUFBWSx1SkNSekIsdStDQXNDTTsyRkQ5Qk8sWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxTQUFTOzBFQU1WLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFdmVudCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWRheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgZXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBbXTtcbiAgQElucHV0KCkgZGF0ZSE6IERhdGU7XG5cbiAgQE91dHB1dCgpIGV2ZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRXZlbnQ+KCk7XG5cbiAgaG91ckJsb2NrczogbnVtYmVyW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9LCAoXywgaSkgPT4gaSk7XG5cbiAgYWxsRGF5RXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBbXTtcbiAgYWxsRGF5SGVpZ2h0ID0gNjA7XG5cbiAgZXZlbnRDb2xzOiB7XG4gICAgZXZlbnRzOiBDYWxlbmRhckV2ZW50W107XG4gIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0RXZlbnRDb2xzKCk7XG4gIH1cblxuICBmaW5kQXZhbGFpbGFibGVDb2x1bW4oZXZlbnQ6IENhbGVuZGFyRXZlbnQpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGNvbEluZGV4ID0gMDsgY29sSW5kZXggPCB0aGlzLmV2ZW50Q29scy5sZW5ndGg7IGNvbEluZGV4KyspIHtcbiAgICAgIGNvbnN0IGNvbCA9IHRoaXMuZXZlbnRDb2xzW2NvbEluZGV4XTtcblxuICAgICAgLy8gY29uZmxpY3QgaWYgZXZlbnQgb3ZlcmxhcHMgd2l0aCBhbnkgZXhpc3RpbmcgZXZlbnQgaW4gdGhlIGNvbHVtblxuICAgICAgY29uc3QgaGFzQ29uZmxpY3QgPSBjb2wuZXZlbnRzLnNvbWUoZXhpc3RpbmdFdmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0c0R1cmluZ0V4aXN0aW5nID0gZXZlbnQuc3RhcnQgPCBleGlzdGluZ0V2ZW50LmVuZCEgJiYgZXZlbnQuc3RhcnQgPj0gZXhpc3RpbmdFdmVudC5zdGFydDtcbiAgICAgICAgY29uc3QgZW5kc0R1cmluZ0V4aXN0aW5nID0gZXZlbnQuZW5kISA+IGV4aXN0aW5nRXZlbnQuc3RhcnQgJiYgZXZlbnQuZW5kISA8PSBleGlzdGluZ0V2ZW50LmVuZCE7XG4gICAgICAgIGNvbnN0IHNwYW5zRXhpc3RpbmcgPSBldmVudC5zdGFydCA8PSBleGlzdGluZ0V2ZW50LnN0YXJ0ICYmIGV2ZW50LmVuZCEgPj0gZXhpc3RpbmdFdmVudC5lbmQhO1xuICAgICAgICByZXR1cm4gc3RhcnRzRHVyaW5nRXhpc3RpbmcgfHwgZW5kc0R1cmluZ0V4aXN0aW5nIHx8IHNwYW5zRXhpc3Rpbmc7XG4gICAgICB9KTtcblxuICAgICAgaWYgKCFoYXNDb25mbGljdCkge1xuICAgICAgICByZXR1cm4gY29sSW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmV2ZW50Q29scy5sZW5ndGg7XG4gIH1cblxuICBhZGRFdmVudFRvRXZlbnRDb2xzKGV2ZW50OiBDYWxlbmRhckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29sSW5kZXggPSB0aGlzLmZpbmRBdmFsYWlsYWJsZUNvbHVtbihldmVudCk7XG4gICAgaWYgKGNvbEluZGV4ID09PSB0aGlzLmV2ZW50Q29scy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZXZlbnRDb2xzLnB1c2goeyBldmVudHM6IFtldmVudF0gfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXZlbnRDb2xzW2NvbEluZGV4XS5ldmVudHMucHVzaChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgYWRkRXZlbnQoZXZlbnQ6IENhbGVuZGFyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYWxsRGF5KSB0aGlzLmFsbERheUV2ZW50cy5wdXNoKGV2ZW50KTtcbiAgICBlbHNlIHRoaXMuYWRkRXZlbnRUb0V2ZW50Q29scyhldmVudCk7XG4gIH1cblxuICBpbml0RXZlbnRDb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRDb2xzID0gW107XG4gICAgdGhpcy5hbGxEYXlFdmVudHMgPSBbXTtcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHRoaXMuYWRkRXZlbnQoZXZlbnQpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZXZlbnRzJ10gfHwgY2hhbmdlc1snZGF0ZSddKSB7XG4gICAgICB0aGlzLmluaXRFdmVudENvbHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2l6aW5nID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhcnRZID0gMDtcbiAgcHJpdmF0ZSBzdGFydEhlaWdodCA9IDA7XG5cbiAgb25SZXNpemVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6aW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXJ0WSA9IGV2ZW50LmNsaWVudFk7XG4gICAgdGhpcy5zdGFydEhlaWdodCA9IHRoaXMuYWxsRGF5SGVpZ2h0O1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplTW91c2VVcCk7XG4gIH1cblxuICBvblJlc2l6ZU1vdXNlTW92ZSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5yZXNpemluZykgcmV0dXJuO1xuICAgIGNvbnN0IGRlbHRhID0gZXZlbnQuY2xpZW50WSAtIHRoaXMuc3RhcnRZO1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IHRoaXMuc3RhcnRIZWlnaHQgKyBkZWx0YTtcbiAgICB0aGlzLmFsbERheUhlaWdodCA9IE1hdGgubWF4KDYwLCBuZXdIZWlnaHQpOyAvLyBtw61uaW1vIDgwcHhcbiAgfTtcblxuICBvblJlc2l6ZU1vdXNlVXAgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5yZXNpemluZyA9IGZhbHNlO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplTW91c2VVcCk7XG4gIH07XG5cbiAgb25FdmVudENsaWNrKGV2ZW50OiBDYWxlbmRhckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5ldmVudENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF5LXZpZXctY29tcG9uZW50XCI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJhbGwtZGF5LWV2ZW50c1wiIFtzdHlsZS5oZWlnaHQucHhdPVwiYWxsRGF5SGVpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIHt7J2FsbERheUV2ZW50cycgfCB0cmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGxpYi1jYWxlbmRhci1ldmVudCAqbmdGb3I9XCJsZXQgZXZlbnQgb2YgYWxsRGF5RXZlbnRzXCIgW2V2ZW50XT1cImV2ZW50XCJcbiAgICAgICAgICAgICAgICAoZXZlbnRDbGljayk9XCJvbkV2ZW50Q2xpY2soJGV2ZW50KVwiPjwvbGliLWNhbGVuZGFyLWV2ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8ZGl2IGNsYXNzPVwicmVzaXplLWRpdmlkZXJcIiAobW91c2Vkb3duKT1cIm9uUmVzaXplTW91c2VEb3duKCRldmVudClcIj48L2Rpdj5cblxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZHVyYXRpb24tZXZlbnRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJob3VyLWJsb2Nrc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvdXItYmxvY2tcIiAqbmdGb3I9XCJsZXQgaG91ciBvZiBob3VyQmxvY2tzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaG91ciB9fTowMDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2Nrc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2NrXCIgKm5nRm9yPVwibGV0IGhvdXIgb2YgaG91ckJsb2Nrc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1ibG9jay1taWRkbGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLWNvbnRhaW5lclwiIFtzdHlsZS5ncmlkVGVtcGxhdGVDb2x1bW5zXT1cIidyZXBlYXQoJyArIGV2ZW50Q29scy5sZW5ndGggKyAnLCAxZnIpJ1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgY29sIG9mIGV2ZW50Q29sc1wiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxsaWItZHVyYXRpb24tZXZlbnQgKm5nRm9yPVwibGV0IGV2ZW50IG9mIGNvbC5ldmVudHNcIiBbZXZlbnRdPVwiZXZlbnRcIiBbZGF0ZV09XCJkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChldmVudENsaWNrKT1cIm9uRXZlbnRDbGljaygkZXZlbnQpXCI+PC9saWItZHVyYXRpb24tZXZlbnQ+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG48L2Rpdj4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LWFuZ3VsYXItY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2RheS9kYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvZGF5L2RheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVF6RyxNQUFNLE9BQU8sWUFBWTtJQWtCdkI7UUFoQlMsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFLNUIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXpELGVBQVUsR0FBYSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0QsaUJBQVksR0FBb0IsRUFBRSxDQUFDO1FBQ25DLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGNBQVMsR0FFSCxFQUFFLENBQUM7UUFxREQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFVeEIsc0JBQWlCLEdBQUcsQ0FBQyxLQUFpQixFQUFRLEVBQUU7WUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjO1FBQzdELENBQUMsQ0FBQztRQUVGLG9CQUFlLEdBQUcsR0FBUyxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDbEUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDO0lBMUVjLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBb0I7UUFDeEMsS0FBSyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ25FLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFckMsbUVBQW1FO1lBQ25FLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUNsRCxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLEdBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3BHLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLEdBQUksR0FBRyxhQUFhLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFJLElBQUksYUFBYSxDQUFDLEdBQUksQ0FBQztnQkFDaEcsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFJLElBQUksYUFBYSxDQUFDLEdBQUksQ0FBQztnQkFDN0YsT0FBTyxvQkFBb0IsSUFBSSxrQkFBa0IsSUFBSSxhQUFhLENBQUM7WUFDckUsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixPQUFPLFFBQVEsQ0FBQzthQUNqQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBb0I7UUFDdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzFDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW9CO1FBQzNCLElBQUksS0FBSyxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzs7WUFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQU1ELGlCQUFpQixDQUFDLEtBQWlCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDckMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBZUQsWUFBWSxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7O3lHQWhHVSxZQUFZOzZGQUFaLFlBQVksNktDUnpCLCsvQ0FzQ007MkZEOUJPLFlBQVk7a0JBTHhCLFNBQVM7K0JBQ0UsU0FBUzswRUFNVixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFdmVudCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWRheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgZXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBbXTtcbiAgQElucHV0KCkgZGF0ZSE6IERhdGU7XG5cbiAgQElucHV0KCkgdGFnQ29sb3I/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGV2ZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRXZlbnQ+KCk7XG5cbiAgaG91ckJsb2NrczogbnVtYmVyW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9LCAoXywgaSkgPT4gaSk7XG5cbiAgYWxsRGF5RXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBbXTtcbiAgYWxsRGF5SGVpZ2h0ID0gNjA7XG5cbiAgZXZlbnRDb2xzOiB7XG4gICAgZXZlbnRzOiBDYWxlbmRhckV2ZW50W107XG4gIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0RXZlbnRDb2xzKCk7XG4gIH1cblxuICBmaW5kQXZhbGFpbGFibGVDb2x1bW4oZXZlbnQ6IENhbGVuZGFyRXZlbnQpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGNvbEluZGV4ID0gMDsgY29sSW5kZXggPCB0aGlzLmV2ZW50Q29scy5sZW5ndGg7IGNvbEluZGV4KyspIHtcbiAgICAgIGNvbnN0IGNvbCA9IHRoaXMuZXZlbnRDb2xzW2NvbEluZGV4XTtcblxuICAgICAgLy8gY29uZmxpY3QgaWYgZXZlbnQgb3ZlcmxhcHMgd2l0aCBhbnkgZXhpc3RpbmcgZXZlbnQgaW4gdGhlIGNvbHVtblxuICAgICAgY29uc3QgaGFzQ29uZmxpY3QgPSBjb2wuZXZlbnRzLnNvbWUoZXhpc3RpbmdFdmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0c0R1cmluZ0V4aXN0aW5nID0gZXZlbnQuc3RhcnQgPCBleGlzdGluZ0V2ZW50LmVuZCEgJiYgZXZlbnQuc3RhcnQgPj0gZXhpc3RpbmdFdmVudC5zdGFydDtcbiAgICAgICAgY29uc3QgZW5kc0R1cmluZ0V4aXN0aW5nID0gZXZlbnQuZW5kISA+IGV4aXN0aW5nRXZlbnQuc3RhcnQgJiYgZXZlbnQuZW5kISA8PSBleGlzdGluZ0V2ZW50LmVuZCE7XG4gICAgICAgIGNvbnN0IHNwYW5zRXhpc3RpbmcgPSBldmVudC5zdGFydCA8PSBleGlzdGluZ0V2ZW50LnN0YXJ0ICYmIGV2ZW50LmVuZCEgPj0gZXhpc3RpbmdFdmVudC5lbmQhO1xuICAgICAgICByZXR1cm4gc3RhcnRzRHVyaW5nRXhpc3RpbmcgfHwgZW5kc0R1cmluZ0V4aXN0aW5nIHx8IHNwYW5zRXhpc3Rpbmc7XG4gICAgICB9KTtcblxuICAgICAgaWYgKCFoYXNDb25mbGljdCkge1xuICAgICAgICByZXR1cm4gY29sSW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmV2ZW50Q29scy5sZW5ndGg7XG4gIH1cblxuICBhZGRFdmVudFRvRXZlbnRDb2xzKGV2ZW50OiBDYWxlbmRhckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29sSW5kZXggPSB0aGlzLmZpbmRBdmFsYWlsYWJsZUNvbHVtbihldmVudCk7XG4gICAgaWYgKGNvbEluZGV4ID09PSB0aGlzLmV2ZW50Q29scy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZXZlbnRDb2xzLnB1c2goeyBldmVudHM6IFtldmVudF0gfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXZlbnRDb2xzW2NvbEluZGV4XS5ldmVudHMucHVzaChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgYWRkRXZlbnQoZXZlbnQ6IENhbGVuZGFyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYWxsRGF5KSB0aGlzLmFsbERheUV2ZW50cy5wdXNoKGV2ZW50KTtcbiAgICBlbHNlIHRoaXMuYWRkRXZlbnRUb0V2ZW50Q29scyhldmVudCk7XG4gIH1cblxuICBpbml0RXZlbnRDb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRDb2xzID0gW107XG4gICAgdGhpcy5hbGxEYXlFdmVudHMgPSBbXTtcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHRoaXMuYWRkRXZlbnQoZXZlbnQpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZXZlbnRzJ10gfHwgY2hhbmdlc1snZGF0ZSddKSB7XG4gICAgICB0aGlzLmluaXRFdmVudENvbHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2l6aW5nID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhcnRZID0gMDtcbiAgcHJpdmF0ZSBzdGFydEhlaWdodCA9IDA7XG5cbiAgb25SZXNpemVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6aW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXJ0WSA9IGV2ZW50LmNsaWVudFk7XG4gICAgdGhpcy5zdGFydEhlaWdodCA9IHRoaXMuYWxsRGF5SGVpZ2h0O1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplTW91c2VVcCk7XG4gIH1cblxuICBvblJlc2l6ZU1vdXNlTW92ZSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5yZXNpemluZykgcmV0dXJuO1xuICAgIGNvbnN0IGRlbHRhID0gZXZlbnQuY2xpZW50WSAtIHRoaXMuc3RhcnRZO1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IHRoaXMuc3RhcnRIZWlnaHQgKyBkZWx0YTtcbiAgICB0aGlzLmFsbERheUhlaWdodCA9IE1hdGgubWF4KDYwLCBuZXdIZWlnaHQpOyAvLyBtw61uaW1vIDgwcHhcbiAgfTtcblxuICBvblJlc2l6ZU1vdXNlVXAgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5yZXNpemluZyA9IGZhbHNlO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplTW91c2VVcCk7XG4gIH07XG5cbiAgb25FdmVudENsaWNrKGV2ZW50OiBDYWxlbmRhckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5ldmVudENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF5LXZpZXctY29tcG9uZW50XCI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJhbGwtZGF5LWV2ZW50c1wiIFtzdHlsZS5oZWlnaHQucHhdPVwiYWxsRGF5SGVpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIHt7J2FsbERheUV2ZW50cycgfCB0cmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGxpYi1jYWxlbmRhci1ldmVudCAqbmdGb3I9XCJsZXQgZXZlbnQgb2YgYWxsRGF5RXZlbnRzXCIgW2V2ZW50XT1cImV2ZW50XCIgW3RhZ0NvbG9yXT1cInRhZ0NvbG9yXCJcbiAgICAgICAgICAgICAgICAoZXZlbnRDbGljayk9XCJvbkV2ZW50Q2xpY2soJGV2ZW50KVwiPjwvbGliLWNhbGVuZGFyLWV2ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8ZGl2IGNsYXNzPVwicmVzaXplLWRpdmlkZXJcIiAobW91c2Vkb3duKT1cIm9uUmVzaXplTW91c2VEb3duKCRldmVudClcIj48L2Rpdj5cblxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZHVyYXRpb24tZXZlbnRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJob3VyLWJsb2Nrc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvdXItYmxvY2tcIiAqbmdGb3I9XCJsZXQgaG91ciBvZiBob3VyQmxvY2tzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaG91ciB9fTowMDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2Nrc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2NrXCIgKm5nRm9yPVwibGV0IGhvdXIgb2YgaG91ckJsb2Nrc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1ibG9jay1taWRkbGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLWNvbnRhaW5lclwiIFtzdHlsZS5ncmlkVGVtcGxhdGVDb2x1bW5zXT1cIidyZXBlYXQoJyArIGV2ZW50Q29scy5sZW5ndGggKyAnLCAxZnIpJ1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgY29sIG9mIGV2ZW50Q29sc1wiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxsaWItZHVyYXRpb24tZXZlbnQgKm5nRm9yPVwibGV0IGV2ZW50IG9mIGNvbC5ldmVudHNcIiBbZXZlbnRdPVwiZXZlbnRcIiBbZGF0ZV09XCJkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChldmVudENsaWNrKT1cIm9uRXZlbnRDbGljaygkZXZlbnQpXCI+PC9saWItZHVyYXRpb24tZXZlbnQ+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG48L2Rpdj4iXX0=
@@ -6,6 +6,7 @@ export class DurationEventComponent {
6
6
  constructor() {
7
7
  this.eventClick = new EventEmitter();
8
8
  this.isDarkColor = false;
9
+ this.isDarkTagColor = false;
9
10
  this.topPosition = 0;
10
11
  this.height = 0;
11
12
  this.isEventStartInThisDay = false;
@@ -13,6 +14,7 @@ export class DurationEventComponent {
13
14
  }
14
15
  ngOnInit() {
15
16
  this.isDarkColor = isDarkColor(this.event.color || '#000000');
17
+ this.isDarkTagColor = isDarkColor(this.tagColor || '#000000');
16
18
  this.isEventStartInThisDay = this.getIsEventStartInThisDay();
17
19
  this.isEventEndInThisDay = this.getIsEventEndInThisDay();
18
20
  this.topPosition = this.getTopPosition();
@@ -48,7 +50,7 @@ export class DurationEventComponent {
48
50
  }
49
51
  }
50
52
  DurationEventComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DurationEventComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
- DurationEventComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DurationEventComponent, selector: "lib-duration-event", inputs: { event: "event", date: "date" }, outputs: { eventClick: "eventClick" }, ngImport: i0, template: "<div class=\"duration-event-component\" style=\"--color: {{ event.color }};\" [style.top.px]=\"topPosition\"\n [style.height.px]=\"height\" [ngClass]=\"{'dark-color': isDarkColor}\" [title]=\"event.title\" (click)=\"onEventClick()\">\n <div class=\"event-title\">{{ event.title }}</div>\n</div>", styles: [".duration-event-component{position:absolute;left:0;z-index:1;width:100%;background-color:var(--color, rgba(0, 0, 0, .05));border-radius:4px;padding:2px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#212121}.duration-event-component.dark-color{color:#fafafa}.event-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
53
+ DurationEventComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DurationEventComponent, selector: "lib-duration-event", inputs: { event: "event", date: "date", tagColor: "tagColor" }, outputs: { eventClick: "eventClick" }, ngImport: i0, template: "<div class=\"duration-event-component\" style=\"--color: {{ event.color }};\" [style.top.px]=\"topPosition\"\n [style.height.px]=\"height\" [ngClass]=\"{'dark-color': isDarkColor}\" [title]=\"event.title\" (click)=\"onEventClick()\">\n <div class=\"event-title\">{{ event.title }}</div>\n</div>", styles: [".duration-event-component{position:absolute;left:0;z-index:1;width:100%;background-color:var(--color, rgba(0, 0, 0, .05));border-radius:4px;padding:2px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#212121}.duration-event-component.dark-color{color:#fafafa}.event-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
52
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DurationEventComponent, decorators: [{
53
55
  type: Component,
54
56
  args: [{ selector: 'lib-duration-event', template: "<div class=\"duration-event-component\" style=\"--color: {{ event.color }};\" [style.top.px]=\"topPosition\"\n [style.height.px]=\"height\" [ngClass]=\"{'dark-color': isDarkColor}\" [title]=\"event.title\" (click)=\"onEventClick()\">\n <div class=\"event-title\">{{ event.title }}</div>\n</div>", styles: [".duration-event-component{position:absolute;left:0;z-index:1;width:100%;background-color:var(--color, rgba(0, 0, 0, .05));border-radius:4px;padding:2px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#212121}.duration-event-component.dark-color{color:#fafafa}.event-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
@@ -56,7 +58,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
56
58
  type: Input
57
59
  }], date: [{
58
60
  type: Input
61
+ }], tagColor: [{
62
+ type: Input
59
63
  }], eventClick: [{
60
64
  type: Output
61
65
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZXZlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvZHVyYXRpb24tZXZlbnQvZHVyYXRpb24tZXZlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvZHVyYXRpb24tZXZlbnQvZHVyYXRpb24tZXZlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sc0JBQXNCO0lBZWpDO1FBVlUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXpELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFFbkIsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztJQUVyQixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMs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QUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFdmVudCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRGFya0NvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWR1cmF0aW9uLWV2ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R1cmF0aW9uLWV2ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHVyYXRpb24tZXZlbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEdXJhdGlvbkV2ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBldmVudCE6IENhbGVuZGFyRXZlbnQ7XG4gIEBJbnB1dCgpIGRhdGUhOiBEYXRlO1xuXG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckV2ZW50PigpO1xuXG4gIGlzRGFya0NvbG9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdG9wUG9zaXRpb246IG51bWJlciA9IDA7XG4gIGhlaWdodDogbnVtYmVyID0gMDtcblxuICBpc0V2ZW50U3RhcnRJblRoaXNEYXk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNFdmVudEVuZEluVGhpc0RheTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0RhcmtDb2xvciA9IGlzRGFya0NvbG9yKHRoaXMuZXZlbnQuY29sb3IgfHwgJyMwMDAwMDAnKTtcbiAgICB0aGlzLmlzRXZlbnRTdGFydEluVGhpc0RheSA9IHRoaXMuZ2V0SXNFdmVudFN0YXJ0SW5UaGlzRGF5KCk7XG4gICAgdGhpcy5pc0V2ZW50RW5kSW5UaGlzRGF5ID0gdGhpcy5nZXRJc0V2ZW50RW5kSW5UaGlzRGF5KCk7XG4gICAgdGhpcy50b3BQb3NpdGlvbiA9IHRoaXMuZ2V0VG9wUG9zaXRpb24oKTtcbiAgICB0aGlzLmhlaWdodCA9IHRoaXMuZ2V0RXZlbnRIZWlnaHQoKTtcbiAgfVxuXG4gIGdldElzRXZlbnRTdGFydEluVGhpc0RheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudC5zdGFydC5nZXREYXRlKCkgPT09IHRoaXMuZGF0ZS5nZXREYXRlKCkgJiYgdGhpcy5ldmVudC5zdGFydC5nZXRNb250aCgpID09PSB0aGlzLmRhdGUuZ2V0TW9udGgoKSAmJiB0aGlzLmV2ZW50LnN0YXJ0LmdldEZ1bGxZZWFyKCkgPT09IHRoaXMuZGF0ZS5nZXRGdWxsWWVhcigpO1xuICB9XG5cbiAgZ2V0SXNFdmVudEVuZEluVGhpc0RheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudC5lbmQhLmdldERhdGUoKSA9PT0gdGhpcy5kYXRlLmdldERhdGUoKSAmJiB0aGlzLmV2ZW50LmVuZCEuZ2V0TW9udGgoKSA9PT0gdGhpcy5kYXRlLmdldE1vbnRoKCkgJiYgdGhpcy5ldmVudC5lbmQhLmdldEZ1bGxZZWFyKCkgPT09IHRoaXMuZGF0ZS5nZXRGdWxsWWVhcigpO1xuICB9XG5cbiAgZ2V0VG9wUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNFdmVudFN0YXJ0SW5UaGlzRGF5KSByZXR1cm4gMDtcblxuICAgIHJldHVybiB0aGlzLmV2ZW50LnN0YXJ0LmdldEhvdXJzKCkgKiA2MCArIHRoaXMuZXZlbnQuc3RhcnQuZ2V0TWludXRlcygpO1xuICB9XG5cbiAgZ2V0RXZlbnRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXhfbWludXRlc19pbl9kYXkgPSAyNCAqIDYwO1xuXG4gICAgaWYgKCF0aGlzLmlzRXZlbnRTdGFydEluVGhpc0RheSAmJiAhdGhpcy5pc0V2ZW50RW5kSW5UaGlzRGF5KSByZXR1cm4gbWF4X21pbnV0ZXNfaW5fZGF5O1xuXG4gICAgY29uc3QgcmVzdWx0ID0gKHRoaXMuZXZlbnQuZW5kIS5nZXRUaW1lKCkgLSB0aGlzLmV2ZW50LnN0YXJ0LmdldFRpbWUoKSkgLyAoMTAwMCAqIDYwKTtcblxuICAgIGlmIChyZXN1bHQgPCAyMCkgcmV0dXJuIDIwO1xuXG4gICAgaWYgKCF0aGlzLmlzRXZlbnRTdGFydEluVGhpc0RheSkgcmV0dXJuICh0aGlzLmV2ZW50LmVuZCEuZ2V0VGltZSgpIC0gbmV3IERhdGUodGhpcy5kYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMuZGF0ZS5nZXRNb250aCgpLCB0aGlzLmRhdGUuZ2V0RGF0ZSgpLCAwLCAwLCAwKS5nZXRUaW1lKCkpIC8gKDEwMDAgKiA2MCk7XG5cbiAgICBjb25zdCBzdGFydFBvc2l0aW9uID0gdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xuXG4gICAgaWYgKHN0YXJ0UG9zaXRpb24gKyByZXN1bHQgPiBtYXhfbWludXRlc19pbl9kYXkpIHJldHVybiBtYXhfbWludXRlc19pbl9kYXkgLSBzdGFydFBvc2l0aW9uO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIG9uRXZlbnRDbGljaygpIHtcbiAgICB0aGlzLmV2ZW50Q2xpY2suZW1pdCh0aGlzLmV2ZW50KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHVyYXRpb24tZXZlbnQtY29tcG9uZW50XCIgc3R5bGU9XCItLWNvbG9yOiB7eyBldmVudC5jb2xvciB9fTtcIiBbc3R5bGUudG9wLnB4XT1cInRvcFBvc2l0aW9uXCJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiIFtuZ0NsYXNzXT1cInsnZGFyay1jb2xvcic6IGlzRGFya0NvbG9yfVwiIFt0aXRsZV09XCJldmVudC50aXRsZVwiIChjbGljayk9XCJvbkV2ZW50Q2xpY2soKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJldmVudC10aXRsZVwiPnt7IGV2ZW50LnRpdGxlIH19PC9kaXY+XG48L2Rpdj4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZXZlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvZHVyYXRpb24tZXZlbnQvZHVyYXRpb24tZXZlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvZHVyYXRpb24tZXZlbnQvZHVyYXRpb24tZXZlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sc0JBQXNCO0lBa0JqQztRQVhVLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUV6RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBRW5CLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2Qyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7SUFFckIsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENB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R007MkZETU8sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjswRUFNckIsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYWxlbmRhckV2ZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNEYXJrQ29sb3IgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZHVyYXRpb24tZXZlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHVyYXRpb24tZXZlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kdXJhdGlvbi1ldmVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER1cmF0aW9uRXZlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGV2ZW50ITogQ2FsZW5kYXJFdmVudDtcbiAgQElucHV0KCkgZGF0ZSE6IERhdGU7XG5cbiAgQElucHV0KCkgdGFnQ29sb3I/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGV2ZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRXZlbnQ+KCk7XG5cbiAgaXNEYXJrQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNEYXJrVGFnQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB0b3BQb3NpdGlvbjogbnVtYmVyID0gMDtcbiAgaGVpZ2h0OiBudW1iZXIgPSAwO1xuXG4gIGlzRXZlbnRTdGFydEluVGhpc0RheTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0V2ZW50RW5kSW5UaGlzRGF5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRGFya0NvbG9yID0gaXNEYXJrQ29sb3IodGhpcy5ldmVudC5jb2xvciB8fCAnIzAwMDAwMCcpO1xuICAgIHRoaXMuaXNEYXJrVGFnQ29sb3IgPSBpc0RhcmtDb2xvcih0aGlzLnRhZ0NvbG9yIHx8ICcjMDAwMDAwJyk7XG4gICAgdGhpcy5pc0V2ZW50U3RhcnRJblRoaXNEYXkgPSB0aGlzLmdldElzRXZlbnRTdGFydEluVGhpc0RheSgpO1xuICAgIHRoaXMuaXNFdmVudEVuZEluVGhpc0RheSA9IHRoaXMuZ2V0SXNFdmVudEVuZEluVGhpc0RheSgpO1xuICAgIHRoaXMudG9wUG9zaXRpb24gPSB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XG4gICAgdGhpcy5oZWlnaHQgPSB0aGlzLmdldEV2ZW50SGVpZ2h0KCk7XG4gIH1cblxuICBnZXRJc0V2ZW50U3RhcnRJblRoaXNEYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnQuc3RhcnQuZ2V0RGF0ZSgpID09PSB0aGlzLmRhdGUuZ2V0RGF0ZSgpICYmIHRoaXMuZXZlbnQuc3RhcnQuZ2V0TW9udGgoKSA9PT0gdGhpcy5kYXRlLmdldE1vbnRoKCkgJiYgdGhpcy5ldmVudC5zdGFydC5nZXRGdWxsWWVhcigpID09PSB0aGlzLmRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIGdldElzRXZlbnRFbmRJblRoaXNEYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnQuZW5kIS5nZXREYXRlKCkgPT09IHRoaXMuZGF0ZS5nZXREYXRlKCkgJiYgdGhpcy5ldmVudC5lbmQhLmdldE1vbnRoKCkgPT09IHRoaXMuZGF0ZS5nZXRNb250aCgpICYmIHRoaXMuZXZlbnQuZW5kIS5nZXRGdWxsWWVhcigpID09PSB0aGlzLmRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIGdldFRvcFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmlzRXZlbnRTdGFydEluVGhpc0RheSkgcmV0dXJuIDA7XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudC5zdGFydC5nZXRIb3VycygpICogNjAgKyB0aGlzLmV2ZW50LnN0YXJ0LmdldE1pbnV0ZXMoKTtcbiAgfVxuXG4gIGdldEV2ZW50SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgY29uc3QgbWF4X21pbnV0ZXNfaW5fZGF5ID0gMjQgKiA2MDtcblxuICAgIGlmICghdGhpcy5pc0V2ZW50U3RhcnRJblRoaXNEYXkgJiYgIXRoaXMuaXNFdmVudEVuZEluVGhpc0RheSkgcmV0dXJuIG1heF9taW51dGVzX2luX2RheTtcblxuICAgIGNvbnN0IHJlc3VsdCA9ICh0aGlzLmV2ZW50LmVuZCEuZ2V0VGltZSgpIC0gdGhpcy5ldmVudC5zdGFydC5nZXRUaW1lKCkpIC8gKDEwMDAgKiA2MCk7XG5cbiAgICBpZiAocmVzdWx0IDwgMjApIHJldHVybiAyMDtcblxuICAgIGlmICghdGhpcy5pc0V2ZW50U3RhcnRJblRoaXNEYXkpIHJldHVybiAodGhpcy5ldmVudC5lbmQhLmdldFRpbWUoKSAtIG5ldyBEYXRlKHRoaXMuZGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLmRhdGUuZ2V0TW9udGgoKSwgdGhpcy5kYXRlLmdldERhdGUoKSwgMCwgMCwgMCkuZ2V0VGltZSgpKSAvICgxMDAwICogNjApO1xuXG4gICAgY29uc3Qgc3RhcnRQb3NpdGlvbiA9IHRoaXMuZ2V0VG9wUG9zaXRpb24oKTtcblxuICAgIGlmIChzdGFydFBvc2l0aW9uICsgcmVzdWx0ID4gbWF4X21pbnV0ZXNfaW5fZGF5KSByZXR1cm4gbWF4X21pbnV0ZXNfaW5fZGF5IC0gc3RhcnRQb3NpdGlvbjtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBvbkV2ZW50Q2xpY2soKSB7XG4gICAgdGhpcy5ldmVudENsaWNrLmVtaXQodGhpcy5ldmVudCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImR1cmF0aW9uLWV2ZW50LWNvbXBvbmVudFwiIHN0eWxlPVwiLS1jb2xvcjoge3sgZXZlbnQuY29sb3IgfX07XCIgW3N0eWxlLnRvcC5weF09XCJ0b3BQb3NpdGlvblwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIiBbbmdDbGFzc109XCJ7J2RhcmstY29sb3InOiBpc0RhcmtDb2xvcn1cIiBbdGl0bGVdPVwiZXZlbnQudGl0bGVcIiAoY2xpY2spPVwib25FdmVudENsaWNrKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtdGl0bGVcIj57eyBldmVudC50aXRsZSB9fTwvZGl2PlxuPC9kaXY+Il19
@@ -14,6 +14,9 @@ export class MoreEventsModalComponent {
14
14
  isDarkColor(color) {
15
15
  return isDarkColor(color || '#ffffff');
16
16
  }
17
+ isTagColorDark() {
18
+ return isDarkColor(this.tagColor || '#ffffff');
19
+ }
17
20
  onClose() {
18
21
  this.close.emit();
19
22
  }
@@ -22,17 +25,19 @@ export class MoreEventsModalComponent {
22
25
  }
23
26
  }
24
27
  MoreEventsModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MoreEventsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- MoreEventsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MoreEventsModalComponent, selector: "lib-more-events-modal", inputs: { events: "events", date: "date" }, outputs: { close: "close", eventClick: "eventClick" }, ngImport: i0, template: "<div class=\"more-events-modal-component\">\n <div class=\"backdrop\" (click)=\"onClose()\"></div>\n\n <div class=\"modal\">\n <div class=\"header\">\n <div class=\"title\">{{'moreEvents' | translate}}</div>\n <div class=\"subtitle\">{{date.toLocaleDateString()}}</div>\n\n <button class=\"btn-close\" (click)=\"onClose()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n class=\"feather feather-x\" fill=\"yellow\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>\n </button>\n </div>\n\n <div class=\"events-list\">\n <div class=\"event-item\" *ngFor=\"let event of events\" style=\"--color: {{event.color}};\"\n [ngClass]=\"{'is-dark':isDarkColor(event.color)}\" (click)=\"onEventClick(event)\">\n <div class=\"event-title\">{{ event.title }}</div>\n </div>\n </div>\n </div>\n</div>", styles: [".more-events-modal-component{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-shadow:0 2px 8px #00000026}.more-events-modal-component .backdrop{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-color:#00000080;cursor:pointer}.modal{z-index:2;display:flex;flex-direction:column;max-width:400px;width:100%;max-height:80%;margin:24px;background-color:#fff;border-radius:8px}.header{position:relative;display:flex;flex-direction:column;padding:16px 64px 16px 16px}.title{font-size:18px;font-weight:700}.subtitle{font-size:13px;color:#666}.btn-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:50%;cursor:pointer}.btn-close:hover{background-color:#f0f0f0}.events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;padding:0 16px 16px;overflow-y:auto}.events-list .event-item{display:flex;padding:8px;background-color:var(--color, #e2e2e2);border-radius:4px;color:#212121;cursor:pointer;-webkit-user-select:none;user-select:none}.events-list .event-item.is-dark{color:#fafafa}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
28
+ MoreEventsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MoreEventsModalComponent, selector: "lib-more-events-modal", inputs: { events: "events", date: "date", tagColor: "tagColor" }, outputs: { close: "close", eventClick: "eventClick" }, ngImport: i0, template: "<div class=\"more-events-modal-component\">\n <div class=\"backdrop\" (click)=\"onClose()\"></div>\n\n <div class=\"modal\">\n <div class=\"header\">\n <div class=\"title\">{{'moreEvents' | translate}}</div>\n <div class=\"subtitle\">{{date.toLocaleDateString()}}</div>\n\n <button class=\"btn-close\" (click)=\"onClose()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n class=\"feather feather-x\" fill=\"yellow\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>\n </button>\n </div>\n\n <div class=\"events-list\">\n <div class=\"event-item\" *ngFor=\"let event of events\" style=\"--color: {{event.color}};\"\n [ngClass]=\"{'is-dark':isDarkColor(event.color)}\" (click)=\"onEventClick(event)\">\n <div class=\"tag\" *ngIf=\"event.tag\" [ngClass]=\"{'is-dark': isTagColorDark()}\"\n [style.background-color]=\"tagColor\">{{ event.tag }}</div>\n\n <div class=\"event-title\">{{ event.title }}</div>\n </div>\n </div>\n </div>\n</div>", styles: [".more-events-modal-component{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-shadow:0 2px 8px #00000026}.more-events-modal-component .backdrop{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-color:#00000080;cursor:pointer}.modal{z-index:2;display:flex;flex-direction:column;max-width:400px;width:100%;max-height:80%;margin:24px;background-color:#fff;border-radius:8px}.header{position:relative;display:flex;flex-direction:column;padding:16px 64px 16px 16px}.title{font-size:18px;font-weight:700}.subtitle{font-size:13px;color:#666}.btn-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:50%;cursor:pointer}.btn-close:hover{background-color:#f0f0f0}.events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;padding:0 16px 16px;overflow-y:auto}.events-list .event-item{display:flex;align-items:center;background-color:var(--color, #e2e2e2);border-radius:4px;color:#212121;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden}.events-list .event-item.is-dark{color:#fafafa}.events-list .event-item .tag{flex-shrink:0;width:56px;padding:8px 0;text-align:center}.events-list .event-item .event-title{flex:1 1 auto;padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
26
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MoreEventsModalComponent, decorators: [{
27
30
  type: Component,
28
- args: [{ selector: 'lib-more-events-modal', template: "<div class=\"more-events-modal-component\">\n <div class=\"backdrop\" (click)=\"onClose()\"></div>\n\n <div class=\"modal\">\n <div class=\"header\">\n <div class=\"title\">{{'moreEvents' | translate}}</div>\n <div class=\"subtitle\">{{date.toLocaleDateString()}}</div>\n\n <button class=\"btn-close\" (click)=\"onClose()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n class=\"feather feather-x\" fill=\"yellow\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>\n </button>\n </div>\n\n <div class=\"events-list\">\n <div class=\"event-item\" *ngFor=\"let event of events\" style=\"--color: {{event.color}};\"\n [ngClass]=\"{'is-dark':isDarkColor(event.color)}\" (click)=\"onEventClick(event)\">\n <div class=\"event-title\">{{ event.title }}</div>\n </div>\n </div>\n </div>\n</div>", styles: [".more-events-modal-component{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-shadow:0 2px 8px #00000026}.more-events-modal-component .backdrop{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-color:#00000080;cursor:pointer}.modal{z-index:2;display:flex;flex-direction:column;max-width:400px;width:100%;max-height:80%;margin:24px;background-color:#fff;border-radius:8px}.header{position:relative;display:flex;flex-direction:column;padding:16px 64px 16px 16px}.title{font-size:18px;font-weight:700}.subtitle{font-size:13px;color:#666}.btn-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:50%;cursor:pointer}.btn-close:hover{background-color:#f0f0f0}.events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;padding:0 16px 16px;overflow-y:auto}.events-list .event-item{display:flex;padding:8px;background-color:var(--color, #e2e2e2);border-radius:4px;color:#212121;cursor:pointer;-webkit-user-select:none;user-select:none}.events-list .event-item.is-dark{color:#fafafa}\n"] }]
31
+ args: [{ selector: 'lib-more-events-modal', template: "<div class=\"more-events-modal-component\">\n <div class=\"backdrop\" (click)=\"onClose()\"></div>\n\n <div class=\"modal\">\n <div class=\"header\">\n <div class=\"title\">{{'moreEvents' | translate}}</div>\n <div class=\"subtitle\">{{date.toLocaleDateString()}}</div>\n\n <button class=\"btn-close\" (click)=\"onClose()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n class=\"feather feather-x\" fill=\"yellow\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>\n </button>\n </div>\n\n <div class=\"events-list\">\n <div class=\"event-item\" *ngFor=\"let event of events\" style=\"--color: {{event.color}};\"\n [ngClass]=\"{'is-dark':isDarkColor(event.color)}\" (click)=\"onEventClick(event)\">\n <div class=\"tag\" *ngIf=\"event.tag\" [ngClass]=\"{'is-dark': isTagColorDark()}\"\n [style.background-color]=\"tagColor\">{{ event.tag }}</div>\n\n <div class=\"event-title\">{{ event.title }}</div>\n </div>\n </div>\n </div>\n</div>", styles: [".more-events-modal-component{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-shadow:0 2px 8px #00000026}.more-events-modal-component .backdrop{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-color:#00000080;cursor:pointer}.modal{z-index:2;display:flex;flex-direction:column;max-width:400px;width:100%;max-height:80%;margin:24px;background-color:#fff;border-radius:8px}.header{position:relative;display:flex;flex-direction:column;padding:16px 64px 16px 16px}.title{font-size:18px;font-weight:700}.subtitle{font-size:13px;color:#666}.btn-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:50%;cursor:pointer}.btn-close:hover{background-color:#f0f0f0}.events-list{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;padding:0 16px 16px;overflow-y:auto}.events-list .event-item{display:flex;align-items:center;background-color:var(--color, #e2e2e2);border-radius:4px;color:#212121;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden}.events-list .event-item.is-dark{color:#fafafa}.events-list .event-item .tag{flex-shrink:0;width:56px;padding:8px 0;text-align:center}.events-list .event-item .event-title{flex:1 1 auto;padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
29
32
  }], ctorParameters: function () { return []; }, propDecorators: { events: [{
30
33
  type: Input
31
34
  }], date: [{
32
35
  type: Input
36
+ }], tagColor: [{
37
+ type: Input
33
38
  }], close: [{
34
39
  type: Output
35
40
  }], eventClick: [{
36
41
  type: Output
37
42
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1ldmVudHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvbW9yZS1ldmVudHMtbW9kYWwvbW9yZS1ldmVudHMtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvbW9yZS1ldmVudHMtbW9kYWwvbW9yZS1ldmVudHMtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQztRQU5TLFdBQU0sR0FBb0IsRUFBRSxDQUFDO1FBRzVCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUV6QyxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWM7UUFDeEIsT0FBTyxXQUFXLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7O3FIQXZCVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixnS0NUckMsc3VDQXlCTTsyRkRoQk8sd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QjswRUFNeEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0RhcmtDb2xvciB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1tb3JlLWV2ZW50cy1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3JlLWV2ZW50cy1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vcmUtZXZlbnRzLW1vZGFsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9yZUV2ZW50c01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBldmVudHM6IENhbGVuZGFyRXZlbnRbXSA9IFtdO1xuICBASW5wdXQoKSBkYXRlITogRGF0ZTtcblxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBpc0RhcmtDb2xvcihjb2xvcj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0RhcmtDb2xvcihjb2xvciB8fCAnI2ZmZmZmZicpO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIG9uRXZlbnRDbGljayhldmVudDogQ2FsZW5kYXJFdmVudCkge1xuICAgIHRoaXMuZXZlbnRDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibW9yZS1ldmVudHMtbW9kYWwtY29tcG9uZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImJhY2tkcm9wXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPjwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7J21vcmVFdmVudHMnIHwgdHJhbnNsYXRlfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJ0aXRsZVwiPnt7ZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKX19PC9kaXY+XG5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tY2xvc2VcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXhcIiBmaWxsPVwieWVsbG93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPVwiMThcIiB5MT1cIjZcIiB4Mj1cIjZcIiB5Mj1cIjE4XCI+PC9saW5lPlxuICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT1cIjZcIiB5MT1cIjZcIiB4Mj1cIjE4XCIgeTI9XCIxOFwiPjwvbGluZT5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzLWxpc3RcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1pdGVtXCIgKm5nRm9yPVwibGV0IGV2ZW50IG9mIGV2ZW50c1wiIHN0eWxlPVwiLS1jb2xvcjoge3tldmVudC5jb2xvcn19O1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpcy1kYXJrJzppc0RhcmtDb2xvcihldmVudC5jb2xvcil9XCIgKGNsaWNrKT1cIm9uRXZlbnRDbGljayhldmVudClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtdGl0bGVcIj57eyBldmVudC50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1ldmVudHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvbW9yZS1ldmVudHMtbW9kYWwvbW9yZS1ldmVudHMtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYW5ndWxhci1jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvbW9yZS1ldmVudHMtbW9kYWwvbW9yZS1ldmVudHMtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLHdCQUF3QjtJQVVuQztRQVJTLFdBQU0sR0FBb0IsRUFBRSxDQUFDO1FBSzVCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUV6QyxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWM7UUFDeEIsT0FBTyxXQUFXLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFvQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOztxSEE3QlUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isc0xDVHJDLDY1Q0E0Qk07MkZEbkJPLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSx1QkFBdUI7MEVBTXhCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0RhcmtDb2xvciB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1tb3JlLWV2ZW50cy1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3JlLWV2ZW50cy1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vcmUtZXZlbnRzLW1vZGFsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9yZUV2ZW50c01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBldmVudHM6IENhbGVuZGFyRXZlbnRbXSA9IFtdO1xuICBASW5wdXQoKSBkYXRlITogRGF0ZTtcblxuICBASW5wdXQoKSB0YWdDb2xvcj86IHN0cmluZztcblxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBpc0RhcmtDb2xvcihjb2xvcj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0RhcmtDb2xvcihjb2xvciB8fCAnI2ZmZmZmZicpO1xuICB9XG5cbiAgaXNUYWdDb2xvckRhcmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzRGFya0NvbG9yKHRoaXMudGFnQ29sb3IgfHwgJyNmZmZmZmYnKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cblxuICBvbkV2ZW50Q2xpY2soZXZlbnQ6IENhbGVuZGFyRXZlbnQpIHtcbiAgICB0aGlzLmV2ZW50Q2xpY2suZW1pdChldmVudCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vcmUtZXZlbnRzLW1vZGFsLWNvbXBvbmVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiIChjbGljayk9XCJvbkNsb3NlKClcIj48L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57eydtb3JlRXZlbnRzJyB8IHRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGVcIj57e2RhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCl9fTwvZGl2PlxuXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci14XCIgZmlsbD1cInllbGxvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT1cIjE4XCIgeTE9XCI2XCIgeDI9XCI2XCIgeTI9XCIxOFwiPjwvbGluZT5cbiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9XCI2XCIgeTE9XCI2XCIgeDI9XCIxOFwiIHkyPVwiMThcIj48L2xpbmU+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50cy1saXN0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtaXRlbVwiICpuZ0Zvcj1cImxldCBldmVudCBvZiBldmVudHNcIiBzdHlsZT1cIi0tY29sb3I6IHt7ZXZlbnQuY29sb3J9fTtcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtZGFyayc6aXNEYXJrQ29sb3IoZXZlbnQuY29sb3IpfVwiIChjbGljayk9XCJvbkV2ZW50Q2xpY2soZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ1wiICpuZ0lmPVwiZXZlbnQudGFnXCIgW25nQ2xhc3NdPVwieydpcy1kYXJrJzogaXNUYWdDb2xvckRhcmsoKX1cIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ0YWdDb2xvclwiPnt7IGV2ZW50LnRhZyB9fTwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXRpdGxlXCI+e3sgZXZlbnQudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==