@arsedizioni/ars-utils 18.2.433 → 18.2.434

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.
@@ -95,7 +95,7 @@ export class ClipperSearchCalendarComponent {
95
95
  this.calendarDate = d;
96
96
  }
97
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ClipperSearchCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track m) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
99
  }
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ClipperSearchCalendarComponent, decorators: [{
101
101
  type: Component,
@@ -108,11 +108,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
108
108
  MatIconModule,
109
109
  MatDividerModule,
110
110
  MatExpansionModule
111
- ], template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track m) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"] }]
111
+ ], template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"] }]
112
112
  }], propDecorators: { calendar: [{
113
113
  type: ViewChild,
114
114
  args: ['calendar']
115
115
  }], changed: [{
116
116
  type: Output
117
117
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1jYWxlbmRhci9zZWFyY2gtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLWNhbGVuZGFyL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFnQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFt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LE1BQU0sV0FDdEM7d0JBQ1AsVUFBVTt3QkFDVixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ25COzhCQUdzQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1gsT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlSW50ZXJ2YWwgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0Q2FsZW5kYXIsIE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgZW5kT2ZEYXksIGVuZE9mTW9udGgsIHN0YXJ0T2ZNb250aCwgc3RhcnRPZlRvZGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckVtcHR5SGVhZGVyIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbic7XHJcbmltcG9ydCB7IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGgsIENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90UmVzdWx0IH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2xpcHBlci1zZWFyY2gtY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRmxleE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRDYWxlbmRhcixcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaENhbGVuZGFyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdjYWxlbmRhcicpIGNhbGVuZGFyITogTWF0Q2FsZW5kYXI8YW55PjtcclxuICBAT3V0cHV0KCkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZUludGVydmFsIHwgbnVsbD4oKTtcclxuICBwcml2YXRlIGNoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBcclxuICBwcm90ZWN0ZWQgYnVzeSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJvdGVjdGVkIG1vbnRocyA9IHNpZ25hbDxDbGlwcGVyU2VhcmNoQ2FsZW5kYXJTbmFwc2hvdE1vbnRoW10+KG51bGwpO1xyXG4gIHByb3RlY3RlZCBjYWxlbmRhclNwZWNpYWxEYXlzPzogbnVtYmVyW10gfCBudWxsID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgY2FsZW5kYXJFbXB0eUhlYWRlciA9IENhbGVuZGFyRW1wdHlIZWFkZXI7XHJcbiAgcHVibGljIGNhbGVuZGFyRGF0ZTogRGF0ZSA9IHN0YXJ0T2ZUb2RheSgpO1xyXG4gIHByb3RlY3RlZCBjYWxlbmRhckRhdGVDbGFzczogTWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbjxEYXRlPiA9IChjZWxsRGF0ZSkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyU3BlY2lhbERheXMpIHJldHVybiAnJztcclxuICAgIGlmICh0aGlzLmNhbGVuZGFyU3BlY2lhbERheXNbY2VsbERhdGUuZ2V0RGF0ZSgpIC0gMV0gPiAwKSB7XHJcbiAgICAgIHJldHVybiBjZWxsRGF0ZSA8IHN0YXJ0T2ZUb2RheSgpID8gJ3NwZWNpYWwtZGF0ZS1leHBpcmVkJyA6ICdzcGVjaWFsLWRhdGUnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH07XHJcbiAgcHJvdGVjdGVkIGNhbGVuZGFyRGF0ZUZpbHRlciA9ICgpOiBib29sZWFuID0+IHsgcmV0dXJuIGZhbHNlOyB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgY2FsZW5kYXJcclxuICAgKiBAcGFyYW0gdmFsdWUgOiB0aGUgc25hcHNob3RcclxuICAgKiBAcGFyYW0gdmlldyA6IHZpZXcgdG8gdXBkYXRlICdtb250aCcgb3IgJyBtb250aHMnLiBEZWZhdWx0IGlzICdtb250aHMnXHJcbiAgICogQHBhcmFtIGRhdGUgOiB0aGUgbmV3IGN1cnJlbnQgZGF0ZVxyXG4gICAqL1xyXG4gIHVwZGF0ZSh2YWx1ZTogQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RSZXN1bHQgfCBudWxsID0gbnVsbCxcclxuICAgIHZpZXc6ICdtb250aCcgfCAnbW9udGhzJyA9ICdtb250aHMnLFxyXG4gICAgZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5idXN5LnNldCh0cnVlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodmlldyA9PT0gJ21vbnRocycpIHtcclxuICAgICAgICB0aGlzLm1vbnRocy5zZXQodmFsdWU/Lm1vbnRocyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLm1vbnRocyAmJiB2YWx1ZS5tb250aHMubGVuZ3RoID4gMClcclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJTcGVjaWFsRGF5cyA9IHZhbHVlLm1vbnRoc1swXS5kYXlzO1xyXG4gICAgICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7XHJcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUgPSBkYXRlO1xyXG4gICAgICAgICAgdGhpcy5jYWxlbmRhci5zZWxlY3RlZCA9IGRhdGU7XHJcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLnVwZGF0ZVRvZGF5c0RhdGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhckRhdGUgPSBkYXRlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIHRoaXMuYnVzeS5zZXQoZmFsc2UpO1xyXG4gICAgfSwgMjUwKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBGaWx0ZXIgYnkgZGF0ZVxyXG4gICAqIEBwYXJhbSBkYXRlIDogdGhlIGRhdGUgdG8gZmlsdGVyIHRvIG9yIFwibW9udGhcIiB0byBmaWx0ZXIgYnkgdGhlIHdob2xlIG1vbnRoLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBmaWx0ZXJCeURhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmIChkYXRlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KFxyXG4gICAgICAgICAgbmV3IERhdGVJbnRlcnZhbChcclxuICAgICAgICAgICAgZW5kT2ZEYXkoc3RhcnRPZk1vbnRoKHRoaXMuY2FsZW5kYXJEYXRlKSksXHJcbiAgICAgICAgICAgIGVuZE9mTW9udGgodGhpcy5jYWxlbmRhckRhdGUpKSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZGF0ZSkge1xyXG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChcclxuICAgICAgICBuZXcgRGF0ZUludGVydmFsKFxyXG4gICAgICAgICAgZW5kT2ZEYXkoZGF0ZSBhcyBEYXRlKSxcclxuICAgICAgICAgIGVuZE9mRGF5KGRhdGUgYXMgRGF0ZSkpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGJ5IG1vbnRoXHJcbiAgICogQHBhcmFtIG1vbnRoSW5mbzogdGhlIG1vbnRoIGluZm9cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZmlsdGVyQnlNb250aChtb250aEluZm86IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGgpIHtcclxuICAgIGxldCBkID0gbmV3IERhdGUobW9udGhJbmZvLnllYXIsIG1vbnRoSW5mby5tb250aCAtIDEsIDEpO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoXHJcbiAgICAgIG5ldyBEYXRlSW50ZXJ2YWwoXHJcbiAgICAgICAgZW5kT2ZEYXkoc3RhcnRPZk1vbnRoKGQpKSxcclxuICAgICAgICBlbmRPZk1vbnRoKGQpKSk7XHJcbiAgICB0aGlzLmNhbGVuZGFyU3BlY2lhbERheXMgPSBtb250aEluZm8uZGF5cztcclxuICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSA9IGQ7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnVwZGF0ZVRvZGF5c0RhdGUoKTtcclxuICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBEaXNhYmxlIGRhdGUgc2VsZWN0aW9uIGZyb20gY2FsZW5kYXJcclxuICovXHJcbiAgcHJvdGVjdGVkIGZpbHRlckNhbGVuZGFyRGF0ZXMgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZpbGwgY2xhc3M9XCJjYWxlbmRhci1jb250YWluZXIgc2Nyb2xsLWhpZGRlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1tb250aHNcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIiBmeExheW91dEdhcD1cIjhweFwiIGZ4RmlsbD5cclxuICAgICAgICBAZm9yIChtIG9mIG1vbnRocygpOyB0cmFjayBtKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBmeEZsZXg9XCIzN3B4XCIgbWF0LWJ1dHRvbiBjbGFzcz1cInNtYWxsIHVwcGVyY2FzZVwiIChjbGljayk9XCJmaWx0ZXJCeU1vbnRoKG0pXCIgW2Rpc2FibGVkXT1cIm0udG90YWwgPT09IDBcIj5cclxuICAgICAgICAgIEBpZiAobS5leHBpcmVkKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4cGlyZWRcIiBbbWF0VG9vbHRpcF09XCJtLmV4cGlyZWQgKyAnIGVsZW1lbnRpIGluIHJpdGFyZG8nXCI+e3ttLm1vbnRoU2hvcnROYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKCFtLmV4cGlyZWQpIHtcclxuICAgICAgICAgIDxzcGFuIFttYXRUb29sdGlwXT1cIm0udG90YWwgKyAnIGVsZW1lbnRpJ1wiPnt7bS5tb250aFNob3J0TmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZ4RmxleD1cIipcIiBjbGFzcz1cInNjcm9sbC1hdXRvXCI+XHJcbiAgICBAaWYgKCFidXN5KCkpIHtcclxuICAgIDxtYXQtY2FsZW5kYXIgI2NhbGVuZGFyIFtoZWFkZXJDb21wb25lbnRdPVwiY2FsZW5kYXJFbXB0eUhlYWRlclwiIFtkYXRlQ2xhc3NdPVwiY2FsZW5kYXJEYXRlQ2xhc3NcIlxyXG4gICAgICBbZGF0ZUZpbHRlcl09XCJjYWxlbmRhckRhdGVGaWx0ZXJcIiAoc2VsZWN0ZWRDaGFuZ2UpPVwiZmlsdGVyQnlEYXRlKCRldmVudClcIiBjbGFzcz1cImNhbGVuZGFyLW1vbnRoXCI+XHJcbiAgICA8L21hdC1jYWxlbmRhcj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kXCIgc3R5bGU9XCJwYWRkaW5nOjAgMTVweFwiPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImZpbHRlckJ5RGF0ZSgnbW9udGgnKVwiPlR1dHRvIGlsXHJcbiAgICAgICAgbWVzZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1jYWxlbmRhci9zZWFyY2gtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLWNhbGVuZGFyL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFnQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFt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LE1BQU0sV0FDdEM7d0JBQ1AsVUFBVTt3QkFDVixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ25COzhCQUdzQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1gsT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlSW50ZXJ2YWwgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0Q2FsZW5kYXIsIE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgZW5kT2ZEYXksIGVuZE9mTW9udGgsIHN0YXJ0T2ZNb250aCwgc3RhcnRPZlRvZGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckVtcHR5SGVhZGVyIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbic7XHJcbmltcG9ydCB7IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGgsIENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90UmVzdWx0IH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2xpcHBlci1zZWFyY2gtY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRmxleE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRDYWxlbmRhcixcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaENhbGVuZGFyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdjYWxlbmRhcicpIGNhbGVuZGFyITogTWF0Q2FsZW5kYXI8YW55PjtcclxuICBAT3V0cHV0KCkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZUludGVydmFsIHwgbnVsbD4oKTtcclxuICBwcml2YXRlIGNoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBcclxuICBwcm90ZWN0ZWQgYnVzeSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJvdGVjdGVkIG1vbnRocyA9IHNpZ25hbDxDbGlwcGVyU2VhcmNoQ2FsZW5kYXJTbmFwc2hvdE1vbnRoW10+KG51bGwpO1xyXG4gIHByb3RlY3RlZCBjYWxlbmRhclNwZWNpYWxEYXlzPzogbnVtYmVyW10gfCBudWxsID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgY2FsZW5kYXJFbXB0eUhlYWRlciA9IENhbGVuZGFyRW1wdHlIZWFkZXI7XHJcbiAgcHVibGljIGNhbGVuZGFyRGF0ZTogRGF0ZSA9IHN0YXJ0T2ZUb2RheSgpO1xyXG4gIHByb3RlY3RlZCBjYWxlbmRhckRhdGVDbGFzczogTWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbjxEYXRlPiA9IChjZWxsRGF0ZSkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyU3BlY2lhbERheXMpIHJldHVybiAnJztcclxuICAgIGlmICh0aGlzLmNhbGVuZGFyU3BlY2lhbERheXNbY2VsbERhdGUuZ2V0RGF0ZSgpIC0gMV0gPiAwKSB7XHJcbiAgICAgIHJldHVybiBjZWxsRGF0ZSA8IHN0YXJ0T2ZUb2RheSgpID8gJ3NwZWNpYWwtZGF0ZS1leHBpcmVkJyA6ICdzcGVjaWFsLWRhdGUnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH07XHJcbiAgcHJvdGVjdGVkIGNhbGVuZGFyRGF0ZUZpbHRlciA9ICgpOiBib29sZWFuID0+IHsgcmV0dXJuIGZhbHNlOyB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgY2FsZW5kYXJcclxuICAgKiBAcGFyYW0gdmFsdWUgOiB0aGUgc25hcHNob3RcclxuICAgKiBAcGFyYW0gdmlldyA6IHZpZXcgdG8gdXBkYXRlICdtb250aCcgb3IgJyBtb250aHMnLiBEZWZhdWx0IGlzICdtb250aHMnXHJcbiAgICogQHBhcmFtIGRhdGUgOiB0aGUgbmV3IGN1cnJlbnQgZGF0ZVxyXG4gICAqL1xyXG4gIHVwZGF0ZSh2YWx1ZTogQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RSZXN1bHQgfCBudWxsID0gbnVsbCxcclxuICAgIHZpZXc6ICdtb250aCcgfCAnbW9udGhzJyA9ICdtb250aHMnLFxyXG4gICAgZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5idXN5LnNldCh0cnVlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodmlldyA9PT0gJ21vbnRocycpIHtcclxuICAgICAgICB0aGlzLm1vbnRocy5zZXQodmFsdWU/Lm1vbnRocyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLm1vbnRocyAmJiB2YWx1ZS5tb250aHMubGVuZ3RoID4gMClcclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJTcGVjaWFsRGF5cyA9IHZhbHVlLm1vbnRoc1swXS5kYXlzO1xyXG4gICAgICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7XHJcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUgPSBkYXRlO1xyXG4gICAgICAgICAgdGhpcy5jYWxlbmRhci5zZWxlY3RlZCA9IGRhdGU7XHJcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLnVwZGF0ZVRvZGF5c0RhdGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhckRhdGUgPSBkYXRlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIHRoaXMuYnVzeS5zZXQoZmFsc2UpO1xyXG4gICAgfSwgMjUwKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBGaWx0ZXIgYnkgZGF0ZVxyXG4gICAqIEBwYXJhbSBkYXRlIDogdGhlIGRhdGUgdG8gZmlsdGVyIHRvIG9yIFwibW9udGhcIiB0byBmaWx0ZXIgYnkgdGhlIHdob2xlIG1vbnRoLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBmaWx0ZXJCeURhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmIChkYXRlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KFxyXG4gICAgICAgICAgbmV3IERhdGVJbnRlcnZhbChcclxuICAgICAgICAgICAgZW5kT2ZEYXkoc3RhcnRPZk1vbnRoKHRoaXMuY2FsZW5kYXJEYXRlKSksXHJcbiAgICAgICAgICAgIGVuZE9mTW9udGgodGhpcy5jYWxlbmRhckRhdGUpKSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZGF0ZSkge1xyXG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChcclxuICAgICAgICBuZXcgRGF0ZUludGVydmFsKFxyXG4gICAgICAgICAgZW5kT2ZEYXkoZGF0ZSBhcyBEYXRlKSxcclxuICAgICAgICAgIGVuZE9mRGF5KGRhdGUgYXMgRGF0ZSkpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGJ5IG1vbnRoXHJcbiAgICogQHBhcmFtIG1vbnRoSW5mbzogdGhlIG1vbnRoIGluZm9cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZmlsdGVyQnlNb250aChtb250aEluZm86IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGgpIHtcclxuICAgIGxldCBkID0gbmV3IERhdGUobW9udGhJbmZvLnllYXIsIG1vbnRoSW5mby5tb250aCAtIDEsIDEpO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoXHJcbiAgICAgIG5ldyBEYXRlSW50ZXJ2YWwoXHJcbiAgICAgICAgZW5kT2ZEYXkoc3RhcnRPZk1vbnRoKGQpKSxcclxuICAgICAgICBlbmRPZk1vbnRoKGQpKSk7XHJcbiAgICB0aGlzLmNhbGVuZGFyU3BlY2lhbERheXMgPSBtb250aEluZm8uZGF5cztcclxuICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSA9IGQ7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnVwZGF0ZVRvZGF5c0RhdGUoKTtcclxuICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBEaXNhYmxlIGRhdGUgc2VsZWN0aW9uIGZyb20gY2FsZW5kYXJcclxuICovXHJcbiAgcHJvdGVjdGVkIGZpbHRlckNhbGVuZGFyRGF0ZXMgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZpbGwgY2xhc3M9XCJjYWxlbmRhci1jb250YWluZXIgc2Nyb2xsLWhpZGRlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1tb250aHNcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIiBmeExheW91dEdhcD1cIjhweFwiIGZ4RmlsbD5cclxuICAgICAgICBAZm9yIChtIG9mIG1vbnRocygpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICA8YnV0dG9uIGZ4RmxleD1cIjM3cHhcIiBtYXQtYnV0dG9uIGNsYXNzPVwic21hbGwgdXBwZXJjYXNlXCIgKGNsaWNrKT1cImZpbHRlckJ5TW9udGgobSlcIiBbZGlzYWJsZWRdPVwibS50b3RhbCA9PT0gMFwiPlxyXG4gICAgICAgICAgQGlmIChtLmV4cGlyZWQpIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXhwaXJlZFwiIFttYXRUb29sdGlwXT1cIm0uZXhwaXJlZCArICcgZWxlbWVudGkgaW4gcml0YXJkbydcIj57e20ubW9udGhTaG9ydE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoIW0uZXhwaXJlZCkge1xyXG4gICAgICAgICAgPHNwYW4gW21hdFRvb2x0aXBdPVwibS50b3RhbCArICcgZWxlbWVudGknXCI+e3ttLm1vbnRoU2hvcnROYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgZnhGbGV4PVwiKlwiIGNsYXNzPVwic2Nyb2xsLWF1dG9cIj5cclxuICAgIEBpZiAoIWJ1c3koKSkge1xyXG4gICAgPG1hdC1jYWxlbmRhciAjY2FsZW5kYXIgW2hlYWRlckNvbXBvbmVudF09XCJjYWxlbmRhckVtcHR5SGVhZGVyXCIgW2RhdGVDbGFzc109XCJjYWxlbmRhckRhdGVDbGFzc1wiXHJcbiAgICAgIFtkYXRlRmlsdGVyXT1cImNhbGVuZGFyRGF0ZUZpbHRlclwiIChzZWxlY3RlZENoYW5nZSk9XCJmaWx0ZXJCeURhdGUoJGV2ZW50KVwiIGNsYXNzPVwiY2FsZW5kYXItbW9udGhcIj5cclxuICAgIDwvbWF0LWNhbGVuZGFyPlxyXG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmRcIiBzdHlsZT1cInBhZGRpbmc6MCAxNXB4XCI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZmlsdGVyQnlEYXRlKCdtb250aCcpXCI+VHV0dG8gaWxcclxuICAgICAgICBtZXNlPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -875,7 +875,7 @@ class ClipperSearchCalendarComponent {
875
875
  this.calendarDate = d;
876
876
  }
877
877
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ClipperSearchCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
878
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track m) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule$1 }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
878
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule$1 }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
879
879
  }
880
880
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ClipperSearchCalendarComponent, decorators: [{
881
881
  type: Component,
@@ -888,7 +888,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
888
888
  MatIconModule,
889
889
  MatDividerModule,
890
890
  MatExpansionModule
891
- ], template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track m) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"] }]
891
+ ], template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"] }]
892
892
  }], propDecorators: { calendar: [{
893
893
  type: ViewChild,
894
894
  args: ['calendar']