@odx/angular 5.7.3 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +2 -4
  3. package/components/calendar/lib/calendar.config.d.ts +24 -93
  4. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +0 -9
  5. package/components/calendar/lib/directives/calendar-view.directive.d.ts +0 -9
  6. package/components/calendar/lib/pipes/date-label.pipe.d.ts +7 -21
  7. package/components/calendar/lib/utils/get-A11y-label.d.ts +1 -2
  8. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +2 -10
  9. package/esm2022/components/calendar/lib/calendar.config.mjs +1 -12
  10. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
  11. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
  12. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
  13. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +2 -2
  14. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +22 -9
  15. package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +10 -8
  16. package/esm2022/internal/lib/helpers/fast-equals.mjs +3 -0
  17. package/esm2022/internal/lib/helpers/index.mjs +2 -1
  18. package/esm2022/localization/lib/localization.config.mjs +3 -5
  19. package/esm2022/localization/lib/localization.logger.mjs +3 -0
  20. package/esm2022/localization/lib/localization.service.mjs +20 -29
  21. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +1 -9
  22. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  23. package/fesm2022/odx-angular-components-calendar.mjs +39 -34
  24. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  25. package/fesm2022/odx-angular-internal.mjs +4 -1
  26. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  27. package/fesm2022/odx-angular-localization.mjs +24 -32
  28. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  29. package/internal/lib/helpers/fast-equals.d.ts +1 -0
  30. package/internal/lib/helpers/index.d.ts +1 -0
  31. package/localization/lib/localization.config.d.ts +0 -2
  32. package/localization/lib/localization.logger.d.ts +3 -0
  33. package/localization/lib/localization.service.d.ts +3 -7
  34. package/package.json +8 -7
@@ -53,13 +53,13 @@ export let CalendarYearsComponent = class CalendarYearsComponent extends Calenda
53
53
  }
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearsComponent, isStandalone: true, selector: "odx-calendar-years", providers: [CalendarYearsService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: i3.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearsComponent, isStandalone: true, selector: "odx-calendar-years", providers: [CalendarYearsService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: { year: 'numeric' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: i3.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
57
  };
58
58
  CalendarYearsComponent = __decorate([
59
59
  CSSComponent('calendar-years')
60
60
  ], CalendarYearsComponent);
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearsComponent, decorators: [{
62
62
  type: Component,
63
- args: [{ selector: 'odx-calendar-years', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearsService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
63
+ args: [{ selector: 'odx-calendar-years', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearsService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: { year: 'numeric' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
64
64
  }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFv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RE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaXNGdW5jdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBhZGRNb250aHMsIGdldFllYXIsIHNldFllYXIsIHN1Yk1vbnRocyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IENhbGVuZGFyWWVhcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFycycpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtY2FsZW5kYXIteWVhcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhckhlYWRlckNvbXBvbmVudCwgRGF0ZUxhYmVsUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyWWVhcnNDb21wb25lbnQgZXh0ZW5kcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhcnMgPSBpbmplY3QoQ2FsZW5kYXJZZWFyc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRWaWV3ID0gQ2FsZW5kYXJWaWV3LlllYXJzO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgZGVmZXJGbigoKSA9PiB0aGlzLnNjcm9sbEN1cnJlbnRZZWFySW50b1ZpZXcoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0WWVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNSb3coZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMiAqIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0Um93KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIgKiAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZSA9IHNldFllYXIodGhpcy5hY3RpdmVEYXRlLCBnZXRZZWFyKHZhbHVlKSk7XG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKGRhdGUsIHsgc2tpcERhdGVyYW5nZVVwZGF0ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMuY2hhbmdlVmlldygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxDdXJyZW50WWVhckludG9WaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkWWVhciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9keC1jYWxlbmRhci1jZWxsLmlzLXNlbGVjdGVkJyk7XG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vZHgtY2FsZW5kYXItY2VsbC0taXMtY3VycmVudCcpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHNlbGVjdGVkWWVhciB8fCBjdXJyZW50WWVhcjtcblxuICAgIGlmIChlbGVtZW50ICYmIGlzRnVuY3Rpb24oZWxlbWVudC5zY3JvbGxJbnRvVmlldykpIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm9keC1jYWxlbmRhcl9fdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJvZHgtY2FsZW5kYXJcIiAqbmdyeExldD1cImNhbGVuZGFyLmFjdGl2ZURhdGUkIGFzIGFjdGl2ZURhdGVcIj5cbiAgPHRoZWFkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDx0aD48L3RoPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1JvdygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwibmV4dFJvdygkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9feWVhci1yb3dcIiAqbmdGb3I9XCJsZXQgeWVhclJvdyBvZiBjYWxlbmRhclllYXJzLnllYXJzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyUm93OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZCh5ZWFyKVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJ5ZWFyXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSh5ZWFyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB5ZWFyIHwgb2R4RGF0ZUxhYmVsOiBjb25maWcueWVhckxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFv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RE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaXNGdW5jdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBhZGRNb250aHMsIGdldFllYXIsIHNldFllYXIsIHN1Yk1vbnRocyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IENhbGVuZGFyWWVhcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFycycpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtY2FsZW5kYXIteWVhcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhckhlYWRlckNvbXBvbmVudCwgRGF0ZUxhYmVsUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyWWVhcnNDb21wb25lbnQgZXh0ZW5kcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhcnMgPSBpbmplY3QoQ2FsZW5kYXJZZWFyc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRWaWV3ID0gQ2FsZW5kYXJWaWV3LlllYXJzO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgZGVmZXJGbigoKSA9PiB0aGlzLnNjcm9sbEN1cnJlbnRZZWFySW50b1ZpZXcoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0WWVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNSb3coZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMiAqIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0Um93KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIgKiAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZSA9IHNldFllYXIodGhpcy5hY3RpdmVEYXRlLCBnZXRZZWFyKHZhbHVlKSk7XG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKGRhdGUsIHsgc2tpcERhdGVyYW5nZVVwZGF0ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMuY2hhbmdlVmlldygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxDdXJyZW50WWVhckludG9WaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkWWVhciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9keC1jYWxlbmRhci1jZWxsLmlzLXNlbGVjdGVkJyk7XG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vZHgtY2FsZW5kYXItY2VsbC0taXMtY3VycmVudCcpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHNlbGVjdGVkWWVhciB8fCBjdXJyZW50WWVhcjtcblxuICAgIGlmIChlbGVtZW50ICYmIGlzRnVuY3Rpb24oZWxlbWVudC5zY3JvbGxJbnRvVmlldykpIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm9keC1jYWxlbmRhcl9fdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJvZHgtY2FsZW5kYXJcIiAqbmdyeExldD1cImNhbGVuZGFyLmFjdGl2ZURhdGUkIGFzIGFjdGl2ZURhdGVcIj5cbiAgPHRoZWFkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDx0aD48L3RoPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1JvdygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwibmV4dFJvdygkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9feWVhci1yb3dcIiAqbmdGb3I9XCJsZXQgeWVhclJvdyBvZiBjYWxlbmRhclllYXJzLnllYXJzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyUm93OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZCh5ZWFyKVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJ5ZWFyXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSh5ZWFyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB5ZWFyIHwgb2R4RGF0ZUxhYmVsOiB7IHllYXI6ICdudW1lcmljJyB9IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
@@ -42,7 +42,7 @@ export let CalendarCellDirective = class CalendarCellDirective {
42
42
  }
43
43
  ngOnChanges(changes) {
44
44
  if (hasChanged(changes, ['date', 'calendarView'], false)) {
45
- this.ariaLabel = this.dateLabelPipe.transform(this.date, getA11yLabel(this.calendarView, this.config));
45
+ this.ariaLabel = this.dateLabelPipe.transform(this.date, getA11yLabel(this.calendarView));
46
46
  this.isCurrent = checkIdenticalDate(this.date, new Date(), this.calendarView);
47
47
  }
48
48
  if (this.activeDate && hasChanged(changes, ['date', 'activeDate'], false)) {
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
169
169
  type: Input,
170
170
  args: ['odxCalendarCellPreviewDate']
171
171
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBYSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQWtCLE1BQU0sV0FBVyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFrQnpELFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBQTNCO1FBQ1ksdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFakQsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7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S0FBSzt1QkFBQyw2QkFBNkI7Z0JBSTdCLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxrQ0FBa0M7Z0JBSWxDLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXNhYmxlZENvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBFdmVudE1hbmFnZXIsIGhhc0NoYW5nZWQsIGluamVjdEVsZW1lbnQsIE5nQ2hhbmdlcyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBpc1NhbWVNb250aCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGluamVjdENhbGVuZGFyQ29uZmlnIH0gZnJvbSAnLi4vY2FsZW5kYXIuY29uZmlnJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLCBDYWxlbmRhclZpZXcsIERhdGVSYW5nZVNlbGVjdGlvblN0YXRlLCBEYXRlUmFuZ2VTdGF0ZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBEYXRlTGFiZWxQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgY2hlY2tJZGVudGljYWxEYXRlLCBnZXRBMTF5TGFiZWwgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBjaGVja0NlbGxJblJhbmdlIH0gZnJvbSAnLi4vdXRpbHMvY2hlY2stY2VsbC1pbi1yYW5nZSc7XG5cbkBDU1NDb21wb25lbnQoJ2NhbGVuZGFyLWNlbGwnKVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW29keENhbGVuZGFyQ2VsbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtEaXNhYmxlZENvbnRyb2xsZXIuY29ubmVjdCgpLCBEYXRlTGFiZWxQaXBlXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuaXMtc2VsZWN0ZWRdJzogJ2lzU2VsZWN0ZWQnLFxuICAgICdbY2xhc3MuaXMtaW4tYW55LXJhbmdlXSc6ICdpc0luUmFuZ2UgfHwgaXNJblByZXZpZXdSYW5nZScsXG4gICAgJ1thdHRyLmhpZGRlbl0nOiAnaXNIaWRkZW4gfHwgbnVsbCcsXG4gICAgJ1t0YWJpbmRleF0nOiAnaXNBY3RpdmUgPyAwIDogLTEnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdhcmlhTGFiZWwnLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkJyxcbiAgICAnW2F0dHIudHlwZV0nOiAnXCJidXR0b25cIicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50TWFuYWdlciA9IGluamVjdChFdmVudE1hbmFnZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbGVuZGFyU2VydmljZSA9IGluamVjdChDYWxlbmRhclNlcnZpY2UpO1xuICBwcml2YXRlIHJlZ2lzdGVyZWRFdmVudElkID0gJyc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhbGVuZGFyQ29uZmlnKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRlTGFiZWxQaXBlID0gaW5qZWN0KERhdGVMYWJlbFBpcGUpO1xuICBwcm90ZWN0ZWQgaXNBY3RpdmUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzSGlkZGVuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBhcmlhTGFiZWwgPSAnJztcblxuICBwcm90ZWN0ZWQgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LmRpc2FibGVkO1xuICB9XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGlzQ3VycmVudCA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBhZGphY2VudCA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBpc0luUmFuZ2UgPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBwcm90ZWN0ZWQgaXNSYW5nZVN0YXJ0ID0gZmFsc2U7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGlzUmFuZ2VFbmQgPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBwcm90ZWN0ZWQgaXNJblByZXZpZXdSYW5nZSA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBpc1ByZXZpZXdSYW5nZVN0YXJ0ID0gZmFsc2U7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGlzUHJldmlld1JhbmdlRW5kID0gZmFsc2U7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgQElucHV0KCdvZHhDYWxlbmRhckNlbGwnKVxuICBwdWJsaWMgZGF0ZSE6IERhdGU7XG5cbiAgQElucHV0KCdvZHhDYWxlbmRhckNlbGxDYWxlbmRhclZpZXcnKVxuICBwdWJsaWMgY2FsZW5kYXJWaWV3ITogQ2FsZW5kYXJWaWV3O1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZScpXG4gIHB1YmxpYyBhY3RpdmVEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCdvZHhDYWxlbmRhckNlbGxTZWxlY3RlZERhdGUnKVxuICBwdWJsaWMgc2VsZWN0ZWREYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlUmFuZ2UnKVxuICBwdWJsaWMgc2VsZWN0ZWREYXRlUmFuZ2U/OiBEYXRlUmFuZ2VTdGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsUHJldmlld0RhdGUnKVxuICBwdWJsaWMgcHJldmlld0RhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxDYWxlbmRhckNlbGxEaXJlY3RpdmU+KTogdm9pZCB7XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgWydkYXRlJywgJ2NhbGVuZGFyVmlldyddLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMuYXJpYUxhYmVsID0gdGhpcy5kYXRlTGFiZWxQaXBlLnRyYW5zZm9ybSh0aGlzLmRhdGUsIGdldEExMXlMYWJlbCh0aGlzLmNhbGVuZGFyVmlldywgdGhpcy5jb25maWcpKTtcbiAgICAgIHRoaXMuaXNDdXJyZW50ID0gY2hlY2tJZGVudGljYWxEYXRlKHRoaXMuZGF0ZSwgbmV3IERhdGUoKSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2ZURhdGUgJiYgaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnYWN0aXZlRGF0ZSddLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCB0aGlzLmFjdGl2ZURhdGUsIHRoaXMuY2FsZW5kYXJWaWV3KTtcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gQ2FsZW5kYXJWaWV3Lk1vbnRoKSB7XG4gICAgICAgIHRoaXMuYWRqYWNlbnQgPSAhaXNTYW1lTW9udGgodGhpcy5kYXRlLCB0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgICB0aGlzLmlzSGlkZGVuID0gdGhpcy5hZGphY2VudCAmJiAhdGhpcy5jb25maWcuZGlzcGxheUFkamFjZW50RGF5cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUgJiYgaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnc2VsZWN0ZWREYXRlJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gY2hlY2tJZGVudGljYWxEYXRlKHRoaXMuZGF0ZSwgdGhpcy5zZWxlY3RlZERhdGUsIHRoaXMuY2FsZW5kYXJWaWV3KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0aW9uTW9kZSA9PT0gQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLkRhdGVSYW5nZSAmJiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlICYmIGhhc0NoYW5nZWQoY2hhbmdlcywgWydkYXRlJywgJ3NlbGVjdGVkRGF0ZVJhbmdlJ10sIGZhbHNlKSkge1xuICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmRhdGVSYW5nZS5zdGFydDtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGNoZWNrSWRlbnRpY2FsRGF0ZSh0aGlzLmRhdGUsIHN0YXJ0IHx8IG5ldyBEYXRlKCksIHRoaXMuY2FsZW5kYXJWaWV3KTtcbiAgICAgIGNvbnN0IHJhbmdlVmFsaWRhdGlvbiA9IGNoZWNrQ2VsbEluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLCB0aGlzLmNhbGVuZGFyVmlldywgRGF0ZVJhbmdlU2VsZWN0aW9uU3RhdGUuRW5kU2VsZWN0ZWQpO1xuICAgICAgdGhpcy5pc1JhbmdlU3RhcnQgPSByYW5nZVZhbGlkYXRpb24uaXNSYW5nZVN0YXJ0O1xuICAgICAgdGhpcy5pc1JhbmdlRW5kID0gcmFuZ2VWYWxpZGF0aW9uLmlzUmFuZ2VFbmQ7XG4gICAgICB0aGlzLmlzSW5SYW5nZSA9IHJhbmdlVmFsaWRhdGlvbi5pc0luUmFuZ2U7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uTW9kZSA9PT0gQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLkRhdGVSYW5nZSAmJlxuICAgICAgdGhpcy5wcmV2aWV3RGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSAmJlxuICAgICAgaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnc2VsZWN0ZWREYXRlUmFuZ2UnLCAncHJldmlld0RhdGUnXSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHByZXZpZXdSYW5nZTogRGF0ZVJhbmdlU3RhdGUgPSB7XG4gICAgICAgIHNlbGVjdGlvblN0YXRlOiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnNlbGVjdGlvblN0YXRlLFxuICAgICAgICBkYXRlUmFuZ2U6IHsgc3RhcnQ6IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZGF0ZVJhbmdlLnN0YXJ0LCBlbmQ6IHRoaXMucHJldmlld0RhdGUgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCByYW5nZVZhbGlkYXRpb24gPSBjaGVja0NlbGxJblJhbmdlKHRoaXMuZGF0ZSwgcHJldmlld1JhbmdlLCB0aGlzLmNhbGVuZGFyVmlldywgRGF0ZVJhbmdlU2VsZWN0aW9uU3RhdGUuU3RhcnRTZWxlY3RlZCk7XG4gICAgICB0aGlzLmlzUHJldmlld1JhbmdlU3RhcnQgPSByYW5nZVZhbGlkYXRpb24uaXNSYW5nZVN0YXJ0O1xuICAgICAgdGhpcy5pc1ByZXZpZXdSYW5nZUVuZCA9IHJhbmdlVmFsaWRhdGlvbi5pc1JhbmdlRW5kO1xuICAgICAgdGhpcy5pc0luUHJldmlld1JhbmdlID0gcmFuZ2VWYWxpZGF0aW9uLmlzSW5SYW5nZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgZGVmZXJGbigoKSA9PiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdGlvbk1vZGUgPT09IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlUmFuZ2UgJiYgdGhpcy5jYWxlbmRhclZpZXcgPT09IENhbGVuZGFyVmlldy5Nb250aCkge1xuICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50TWFuYWdlci5kZXN0cm95TGlzdGVuZXIodGhpcy5yZWdpc3RlcmVkRXZlbnRJZCk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZEV2ZW50SWQgPSB0aGlzLmV2ZW50TWFuYWdlci5yZWdpc3RlcihcbiAgICAgIFsnbW91c2VvdmVyJ10sXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2Uuc2V0SG92ZXJlZERhdGUodGhpcy5kYXRlKTtcbiAgICAgIH0sXG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICApWzBdO1xuICB9XG59XG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBYSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQWtCLE1BQU0sV0FBVyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFrQnpELFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBQTNCO1FBQ1ksdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFakQsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7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QUk3QixpQkFBaUI7c0JBRHZCLEtBQUs7dUJBQUMsa0NBQWtDO2dCQUlsQyxXQUFXO3NCQURqQixLQUFLO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzYWJsZWRDb250cm9sbGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgRXZlbnRNYW5hZ2VyLCBoYXNDaGFuZ2VkLCBpbmplY3RFbGVtZW50LCBOZ0NoYW5nZXMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgaXNTYW1lTW9udGggfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3RDYWxlbmRhckNvbmZpZyB9IGZyb20gJy4uL2NhbGVuZGFyLmNvbmZpZyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbGVuZGFyU2VsZWN0aW9uTW9kZSwgQ2FsZW5kYXJWaWV3LCBEYXRlUmFuZ2VTZWxlY3Rpb25TdGF0ZSwgRGF0ZVJhbmdlU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7IGNoZWNrSWRlbnRpY2FsRGF0ZSwgZ2V0QTExeUxhYmVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgY2hlY2tDZWxsSW5SYW5nZSB9IGZyb20gJy4uL3V0aWxzL2NoZWNrLWNlbGwtaW4tcmFuZ2UnO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci1jZWxsJylcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tvZHhDYWxlbmRhckNlbGxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbRGlzYWJsZWRDb250cm9sbGVyLmNvbm5lY3QoKSwgRGF0ZUxhYmVsUGlwZV0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmlzLXNlbGVjdGVkXSc6ICdpc1NlbGVjdGVkJyxcbiAgICAnW2NsYXNzLmlzLWluLWFueS1yYW5nZV0nOiAnaXNJblJhbmdlIHx8IGlzSW5QcmV2aWV3UmFuZ2UnLFxuICAgICdbYXR0ci5oaWRkZW5dJzogJ2lzSGlkZGVuIHx8IG51bGwnLFxuICAgICdbdGFiaW5kZXhdJzogJ2lzQWN0aXZlID8gMCA6IC0xJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCcsXG4gICAgJ1thdHRyLnR5cGVdJzogJ1wiYnV0dG9uXCInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNlbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlZENvbnRyb2xsZXIgPSBEaXNhYmxlZENvbnRyb2xsZXIuaW5qZWN0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBldmVudE1hbmFnZXIgPSBpbmplY3QoRXZlbnRNYW5hZ2VyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWdpc3RlcmVkRXZlbnRJZCA9ICcnO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3RDYWxlbmRhckNvbmZpZygpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZUxhYmVsUGlwZSA9IGluamVjdChEYXRlTGFiZWxQaXBlKTtcbiAgcHJvdGVjdGVkIGlzQWN0aXZlID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc1NlbGVjdGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc0hpZGRlbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgYXJpYUxhYmVsID0gJyc7XG5cbiAgcHJvdGVjdGVkIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZGlzYWJsZWRDb250cm9sbGVyPy5kaXNhYmxlZDtcbiAgfVxuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBpc0N1cnJlbnQgPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBwcm90ZWN0ZWQgYWRqYWNlbnQgPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBwcm90ZWN0ZWQgaXNJblJhbmdlID0gZmFsc2U7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGlzUmFuZ2VTdGFydCA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBpc1JhbmdlRW5kID0gZmFsc2U7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGlzSW5QcmV2aWV3UmFuZ2UgPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBwcm90ZWN0ZWQgaXNQcmV2aWV3UmFuZ2VTdGFydCA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBpc1ByZXZpZXdSYW5nZUVuZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsJylcbiAgcHVibGljIGRhdGUhOiBEYXRlO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3JylcbiAgcHVibGljIGNhbGVuZGFyVmlldyE6IENhbGVuZGFyVmlldztcblxuICBASW5wdXQoJ29keENhbGVuZGFyQ2VsbEFjdGl2ZURhdGUnKVxuICBwdWJsaWMgYWN0aXZlRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlJylcbiAgcHVibGljIHNlbGVjdGVkRGF0ZT86IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoJ29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlJylcbiAgcHVibGljIHNlbGVjdGVkRGF0ZVJhbmdlPzogRGF0ZVJhbmdlU3RhdGUgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoJ29keENhbGVuZGFyQ2VsbFByZXZpZXdEYXRlJylcbiAgcHVibGljIHByZXZpZXdEYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8Q2FsZW5kYXJDZWxsRGlyZWN0aXZlPik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnZGF0ZScsICdjYWxlbmRhclZpZXcnXSwgZmFsc2UpKSB7XG4gICAgICB0aGlzLmFyaWFMYWJlbCA9IHRoaXMuZGF0ZUxhYmVsUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlLCBnZXRBMTF5TGFiZWwodGhpcy5jYWxlbmRhclZpZXcpKTtcbiAgICAgIHRoaXMuaXNDdXJyZW50ID0gY2hlY2tJZGVudGljYWxEYXRlKHRoaXMuZGF0ZSwgbmV3IERhdGUoKSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2ZURhdGUgJiYgaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnYWN0aXZlRGF0ZSddLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCB0aGlzLmFjdGl2ZURhdGUsIHRoaXMuY2FsZW5kYXJWaWV3KTtcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gQ2FsZW5kYXJWaWV3Lk1vbnRoKSB7XG4gICAgICAgIHRoaXMuYWRqYWNlbnQgPSAhaXNTYW1lTW9udGgodGhpcy5kYXRlLCB0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgICB0aGlzLmlzSGlkZGVuID0gdGhpcy5hZGphY2VudCAmJiAhdGhpcy5jb25maWcuZGlzcGxheUFkamFjZW50RGF5cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUgJiYgaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnc2VsZWN0ZWREYXRlJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gY2hlY2tJZGVudGljYWxEYXRlKHRoaXMuZGF0ZSwgdGhpcy5zZWxlY3RlZERhdGUsIHRoaXMuY2FsZW5kYXJWaWV3KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0aW9uTW9kZSA9PT0gQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLkRhdGVSYW5nZSAmJiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlICYmIGhhc0NoYW5nZWQoY2hhbmdlcywgWydkYXRlJywgJ3NlbGVjdGVkRGF0ZVJhbmdlJ10sIGZhbHNlKSkge1xuICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmRhdGVSYW5nZS5zdGFydDtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGNoZWNrSWRlbnRpY2FsRGF0ZSh0aGlzLmRhdGUsIHN0YXJ0IHx8IG5ldyBEYXRlKCksIHRoaXMuY2FsZW5kYXJWaWV3KTtcbiAgICAgIGNvbnN0IHJhbmdlVmFsaWRhdGlvbiA9IGNoZWNrQ2VsbEluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLCB0aGlzLmNhbGVuZGFyVmlldywgRGF0ZVJhbmdlU2VsZWN0aW9uU3RhdGUuRW5kU2VsZWN0ZWQpO1xuICAgICAgdGhpcy5pc1JhbmdlU3RhcnQgPSByYW5nZVZhbGlkYXRpb24uaXNSYW5nZVN0YXJ0O1xuICAgICAgdGhpcy5pc1JhbmdlRW5kID0gcmFuZ2VWYWxpZGF0aW9uLmlzUmFuZ2VFbmQ7XG4gICAgICB0aGlzLmlzSW5SYW5nZSA9IHJhbmdlVmFsaWRhdGlvbi5pc0luUmFuZ2U7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uTW9kZSA9PT0gQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLkRhdGVSYW5nZSAmJlxuICAgICAgdGhpcy5wcmV2aWV3RGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSAmJlxuICAgICAgaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnc2VsZWN0ZWREYXRlUmFuZ2UnLCAncHJldmlld0RhdGUnXSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHByZXZpZXdSYW5nZTogRGF0ZVJhbmdlU3RhdGUgPSB7XG4gICAgICAgIHNlbGVjdGlvblN0YXRlOiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnNlbGVjdGlvblN0YXRlLFxuICAgICAgICBkYXRlUmFuZ2U6IHsgc3RhcnQ6IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZGF0ZVJhbmdlLnN0YXJ0LCBlbmQ6IHRoaXMucHJldmlld0RhdGUgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCByYW5nZVZhbGlkYXRpb24gPSBjaGVja0NlbGxJblJhbmdlKHRoaXMuZGF0ZSwgcHJldmlld1JhbmdlLCB0aGlzLmNhbGVuZGFyVmlldywgRGF0ZVJhbmdlU2VsZWN0aW9uU3RhdGUuU3RhcnRTZWxlY3RlZCk7XG4gICAgICB0aGlzLmlzUHJldmlld1JhbmdlU3RhcnQgPSByYW5nZVZhbGlkYXRpb24uaXNSYW5nZVN0YXJ0O1xuICAgICAgdGhpcy5pc1ByZXZpZXdSYW5nZUVuZCA9IHJhbmdlVmFsaWRhdGlvbi5pc1JhbmdlRW5kO1xuICAgICAgdGhpcy5pc0luUHJldmlld1JhbmdlID0gcmFuZ2VWYWxpZGF0aW9uLmlzSW5SYW5nZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgZGVmZXJGbigoKSA9PiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdGlvbk1vZGUgPT09IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlUmFuZ2UgJiYgdGhpcy5jYWxlbmRhclZpZXcgPT09IENhbGVuZGFyVmlldy5Nb250aCkge1xuICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50TWFuYWdlci5kZXN0cm95TGlzdGVuZXIodGhpcy5yZWdpc3RlcmVkRXZlbnRJZCk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZEV2ZW50SWQgPSB0aGlzLmV2ZW50TWFuYWdlci5yZWdpc3RlcihcbiAgICAgIFsnbW91c2VvdmVyJ10sXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2Uuc2V0SG92ZXJlZERhdGUodGhpcy5kYXRlKTtcbiAgICAgIH0sXG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICApWzBdO1xuICB9XG59XG4iXX0=
@@ -1,25 +1,38 @@
1
- import { Pipe } from '@angular/core';
2
- import { format } from 'date-fns';
3
- import { injectCalendarConfig } from '../calendar.config';
1
+ import { ChangeDetectorRef, Pipe, inject } from '@angular/core';
2
+ import { WindowRef } from '@odx/angular';
3
+ import { fastDeepEqual } from '@odx/angular/internal';
4
+ import { LocalizationService } from '@odx/angular/localization';
4
5
  import * as i0 from "@angular/core";
5
6
  export class DateLabelPipe {
6
7
  constructor() {
7
- this.config = injectCalendarConfig();
8
+ this.localizationService = inject(LocalizationService);
9
+ this.windowRef = inject(WindowRef);
10
+ this.cdr = inject(ChangeDetectorRef);
11
+ this.lastValue = null;
12
+ this.lastFormatOptions = null;
13
+ this.formattedValue = '';
8
14
  }
9
- transform(value, dateFormat) {
15
+ transform(value, formatOptions) {
10
16
  if (!value)
11
17
  return '';
12
- return format(value, dateFormat, { locale: this.config.locale.getValue() });
18
+ if (value === this.lastValue && fastDeepEqual(formatOptions, this.lastFormatOptions)) {
19
+ return this.formattedValue;
20
+ }
21
+ this.formattedValue = this.windowRef.nativeWindow.Intl.DateTimeFormat(this.localizationService.getActiveLanguage(), formatOptions).format(value);
22
+ this.lastValue = value;
23
+ this.lastFormatOptions = formatOptions;
24
+ this.cdr.markForCheck();
25
+ return this.formattedValue;
13
26
  }
14
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DateLabelPipe, isStandalone: true, name: "odxDateLabel" }); }
28
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DateLabelPipe, isStandalone: true, name: "odxDateLabel", pure: false }); }
16
29
  }
17
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateLabelPipe, decorators: [{
18
31
  type: Pipe,
19
32
  args: [{
20
33
  standalone: true,
21
34
  name: 'odxDateLabel',
22
- pure: true,
35
+ pure: false,
23
36
  }]
24
37
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1sYWJlbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9waXBlcy9kYXRlLWxhYmVsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFPMUQsTUFBTSxPQUFPLGFBQWE7SUFMMUI7UUFNa0IsV0FBTSxHQUFHLG9CQUFvQixFQUFFLENBQUM7S0FPakQ7SUFMUSxTQUFTLENBQUMsS0FBa0IsRUFBRSxVQUFrQjtRQUNyRCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7K0dBUFUsYUFBYTs2R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUx6QixJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsY0FBYztvQkFDcEIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3RDYWxlbmRhckNvbmZpZyB9IGZyb20gJy4uL2NhbGVuZGFyLmNvbmZpZyc7XG5cbkBQaXBlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgbmFtZTogJ29keERhdGVMYWJlbCcsXG4gIHB1cmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhbGVuZGFyQ29uZmlnKCk7XG5cbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogRGF0ZSB8IG51bGwsIGRhdGVGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xuXG4gICAgcmV0dXJuIGZvcm1hdCh2YWx1ZSwgZGF0ZUZvcm1hdCwgeyBsb2NhbGU6IHRoaXMuY29uZmlnLmxvY2FsZS5nZXRWYWx1ZSgpIH0pO1xuICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1sYWJlbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9waXBlcy9kYXRlLWxhYmVsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU9oRSxNQUFNLE9BQU8sYUFBYTtJQUwxQjtRQU1tQix3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5QixzQkFBaUIsR0FBc0MsSUFBSSxDQUFDO1FBQzVELG1CQUFjLEdBQUcsRUFBRSxDQUFDO0tBZ0I3QjtJQWRRLFNBQVMsQ0FBQyxLQUFrQixFQUFFLGFBQXlDO1FBQzVFLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsSUFBSSxhQUFhLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BGLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakosSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOytHQXJCVSxhQUFhOzZHQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBTHpCLElBQUk7bUJBQUM7b0JBQ0osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBmYXN0RGVlcEVxdWFsIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvbG9jYWxpemF0aW9uJztcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnb2R4RGF0ZUxhYmVsJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KExvY2FsaXphdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZiA9IGluamVjdChXaW5kb3dSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgbGFzdFZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbGFzdEZvcm1hdE9wdGlvbnM6IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZm9ybWF0dGVkVmFsdWUgPSAnJztcblxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBEYXRlIHwgbnVsbCwgZm9ybWF0T3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcblxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5sYXN0VmFsdWUgJiYgZmFzdERlZXBFcXVhbChmb3JtYXRPcHRpb25zLCB0aGlzLmxhc3RGb3JtYXRPcHRpb25zKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSA9IHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5JbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5nZXRBY3RpdmVMYW5ndWFnZSgpLCBmb3JtYXRPcHRpb25zKS5mb3JtYXQodmFsdWUpO1xuICAgIHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5sYXN0Rm9ybWF0T3B0aW9ucyA9IGZvcm1hdE9wdGlvbnM7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cbiAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgfVxufVxuIl19
@@ -1,10 +1,12 @@
1
1
  import { CalendarView } from '../models';
2
- const labelResolvers = {
3
- [CalendarView.Month]: (config) => config.dayA11yLabel,
4
- [CalendarView.Year]: (config) => config.monthA11yLabel,
5
- [CalendarView.Years]: (config) => config.yearA11yLabel,
6
- };
7
- export function getA11yLabel(calendarView, config) {
8
- return labelResolvers[calendarView](config);
2
+ export function getA11yLabel(calendarView) {
3
+ switch (calendarView) {
4
+ case CalendarView.Year:
5
+ return { month: 'long', year: 'numeric' };
6
+ case CalendarView.Years:
7
+ return { year: 'numeric' };
8
+ default:
9
+ return { month: 'long', day: '2-digit', year: 'numeric' };
10
+ }
9
11
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LUExMXktbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2dldC1BMTF5LWxhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsTUFBTSxjQUFjLEdBQTZEO0lBQy9FLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBc0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVk7SUFDckUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFzQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYztJQUN0RSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQXNCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhO0NBQ3ZFLENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLFlBQTBCLEVBQUUsTUFBc0I7SUFDN0UsT0FBTyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbGVuZGFyQ29uZmlnIH0gZnJvbSAnLi4vY2FsZW5kYXIuY29uZmlnJztcbmltcG9ydCB7IENhbGVuZGFyVmlldyB9IGZyb20gJy4uL21vZGVscyc7XG5cbmNvbnN0IGxhYmVsUmVzb2x2ZXJzOiBSZWNvcmQ8Q2FsZW5kYXJWaWV3LCAoY29uZmlnOiBDYWxlbmRhckNvbmZpZykgPT4gc3RyaW5nPiA9IHtcbiAgW0NhbGVuZGFyVmlldy5Nb250aF06IChjb25maWc6IENhbGVuZGFyQ29uZmlnKSA9PiBjb25maWcuZGF5QTExeUxhYmVsLFxuICBbQ2FsZW5kYXJWaWV3LlllYXJdOiAoY29uZmlnOiBDYWxlbmRhckNvbmZpZykgPT4gY29uZmlnLm1vbnRoQTExeUxhYmVsLFxuICBbQ2FsZW5kYXJWaWV3LlllYXJzXTogKGNvbmZpZzogQ2FsZW5kYXJDb25maWcpID0+IGNvbmZpZy55ZWFyQTExeUxhYmVsLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEExMXlMYWJlbChjYWxlbmRhclZpZXc6IENhbGVuZGFyVmlldywgY29uZmlnOiBDYWxlbmRhckNvbmZpZyk6IHN0cmluZyB7XG4gIHJldHVybiBsYWJlbFJlc29sdmVyc1tjYWxlbmRhclZpZXddKGNvbmZpZyk7XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LUExMXktbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2dldC1BMTF5LWxhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsTUFBTSxVQUFVLFlBQVksQ0FBQyxZQUEwQjtJQUNyRCxRQUFRLFlBQVksRUFBRTtRQUNwQixLQUFLLFlBQVksQ0FBQyxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUU1QyxLQUFLLFlBQVksQ0FBQyxLQUFLO1lBQ3JCLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFFN0I7WUFDRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztLQUM3RDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QTExeUxhYmVsKGNhbGVuZGFyVmlldzogQ2FsZW5kYXJWaWV3KTogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMge1xuICBzd2l0Y2ggKGNhbGVuZGFyVmlldykge1xuICAgIGNhc2UgQ2FsZW5kYXJWaWV3LlllYXI6XG4gICAgICByZXR1cm4geyBtb250aDogJ2xvbmcnLCB5ZWFyOiAnbnVtZXJpYycgfTtcblxuICAgIGNhc2UgQ2FsZW5kYXJWaWV3LlllYXJzOlxuICAgICAgcmV0dXJuIHsgeWVhcjogJ251bWVyaWMnIH07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHsgbW9udGg6ICdsb25nJywgZGF5OiAnMi1kaWdpdCcsIHllYXI6ICdudW1lcmljJyB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { deepEqual } from 'fast-equals';
2
+ export const fastDeepEqual = (obj1, obj2) => deepEqual(obj1, obj2);
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFzdC1lcXVhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2xpYi9oZWxwZXJzL2Zhc3QtZXF1YWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBYSxFQUFFLElBQWEsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gJ2Zhc3QtZXF1YWxzJztcblxuZXhwb3J0IGNvbnN0IGZhc3REZWVwRXF1YWwgPSAob2JqMTogdW5rbm93biwgb2JqMjogdW5rbm93bikgPT4gZGVlcEVxdWFsKG9iajEsIG9iajIpO1xuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './camel-to-kebab-case';
2
2
  export * from './decorator-property-name';
3
3
  export * from './deepmerge';
4
+ export * from './fast-equals';
4
5
  export * from './get-css-variables';
5
6
  export * from './get-enum-values';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2xpYi9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbWVsLXRvLWtlYmFiLWNhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3ItcHJvcGVydHktbmFtZSc7XG5leHBvcnQgKiBmcm9tICcuL2RlZXBtZXJnZSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jc3MtdmFyaWFibGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVudW0tdmFsdWVzJztcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2xpYi9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbWVsLXRvLWtlYmFiLWNhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3ItcHJvcGVydHktbmFtZSc7XG5leHBvcnQgKiBmcm9tICcuL2RlZXBtZXJnZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zhc3QtZXF1YWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNzcy12YXJpYWJsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtZW51bS12YWx1ZXMnO1xuIl19
@@ -1,11 +1,9 @@
1
1
  import { APP_INITIALIZER, makeEnvironmentProviders } from '@angular/core';
2
- import { createConfigTokens, getLanguageCode } from '@odx/angular/utils';
2
+ import { createConfigTokens } from '@odx/angular/utils';
3
3
  import { LocalizationService } from './localization.service';
4
- export const DEFAULT_AVAILABLE_LOCALES = ['en-US', 'en-GB', 'de-DE', 'es-ES', 'fr-FR', 'fr-CA'];
5
- export const DEFAULT_AVAILABLE_LANGUAGES = Array.from(new Set(DEFAULT_AVAILABLE_LOCALES.map(getLanguageCode)));
4
+ export const DEFAULT_AVAILABLE_LANGUAGES = ['en-US', 'en-GB', 'en', 'de-DE', 'de', 'es-ES', 'es', 'fr-FR', 'fr-CA', 'fr'];
6
5
  export const { LocalizationConfig, LocalizationDefaultConfig, injectLocalizationConfig, provideLocalizationConfig } = createConfigTokens('Localization', '@odx/angular/internal/translate', {
7
6
  availableLanguages: DEFAULT_AVAILABLE_LANGUAGES,
8
- availableLocales: DEFAULT_AVAILABLE_LOCALES,
9
7
  });
10
8
  export function provideLocalization(config, ...features) {
11
9
  return makeEnvironmentProviders([
@@ -19,4 +17,4 @@ export function provideLocalization(config, ...features) {
19
17
  features,
20
18
  ]);
21
19
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9sb2NhbGl6YXRpb24vc3JjL2xpYi9sb2NhbGl6YXRpb24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc3RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEcsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBUS9HLE1BQU0sQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxrQkFBa0IsQ0FDdEksY0FBYyxFQUNkLGlDQUFpQyxFQUNqQztJQUNFLGtCQUFrQixFQUFFLDJCQUEyQjtJQUMvQyxnQkFBZ0IsRUFBRSx5QkFBeUI7Q0FDdEIsQ0FDeEIsQ0FBQztBQUVGLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFtQyxFQUFFLEdBQUcsUUFBK0I7SUFDekcsT0FBTyx3QkFBd0IsQ0FBQztRQUM5Qix5QkFBeUIsQ0FBQyxNQUFNLENBQUM7UUFDakM7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsQ0FBQyxtQkFBd0MsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUU7WUFDeEcsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDM0IsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNELFFBQVE7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVDb25maWdUb2tlbnMsIGdldExhbmd1YWdlQ29kZSB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMYW5ndWFnZUxvYWRlckZuLCBMb2NhbGl6YXRpb25GZWF0dXJlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9BVkFJTEFCTEVfTE9DQUxFUyA9IFsnZW4tVVMnLCAnZW4tR0InLCAnZGUtREUnLCAnZXMtRVMnLCAnZnItRlInLCAnZnItQ0EnXTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0FWQUlMQUJMRV9MQU5HVUFHRVMgPSBBcnJheS5mcm9tKG5ldyBTZXQoREVGQVVMVF9BVkFJTEFCTEVfTE9DQUxFUy5tYXAoZ2V0TGFuZ3VhZ2VDb2RlKSkpO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsaXphdGlvbkNvbmZpZyB7XG4gIGFjdGl2ZUxhbmd1YWdlTG9hZGVyPzogTGFuZ3VhZ2VMb2FkZXJGbjtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBzdHJpbmdbXTtcbiAgYXZhaWxhYmxlTG9jYWxlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCB7IExvY2FsaXphdGlvbkNvbmZpZywgTG9jYWxpemF0aW9uRGVmYXVsdENvbmZpZywgaW5qZWN0TG9jYWxpemF0aW9uQ29uZmlnLCBwcm92aWRlTG9jYWxpemF0aW9uQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoXG4gICdMb2NhbGl6YXRpb24nLFxuICAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZScsXG4gIHtcbiAgICBhdmFpbGFibGVMYW5ndWFnZXM6IERFRkFVTFRfQVZBSUxBQkxFX0xBTkdVQUdFUyxcbiAgICBhdmFpbGFibGVMb2NhbGVzOiBERUZBVUxUX0FWQUlMQUJMRV9MT0NBTEVTLFxuICB9IGFzIExvY2FsaXphdGlvbkNvbmZpZyxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTG9jYWxpemF0aW9uKGNvbmZpZzogUGFydGlhbDxMb2NhbGl6YXRpb25Db25maWc+LCAuLi5mZWF0dXJlczogTG9jYWxpemF0aW9uRmVhdHVyZVtdKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBwcm92aWRlTG9jYWxpemF0aW9uQ29uZmlnKGNvbmZpZyksXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogKGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UpID0+ICgpID0+IGxvY2FsaXphdGlvblNlcnZpY2UubG9hZEFjdGl2ZUxhbmd1YWdlKCksXG4gICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIGZlYXR1cmVzLFxuICBdKTtcbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9sb2NhbGl6YXRpb24vc3JjL2xpYi9sb2NhbGl6YXRpb24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFNMUgsTUFBTSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSxHQUFHLGtCQUFrQixDQUN0SSxjQUFjLEVBQ2QsaUNBQWlDLEVBQ2pDO0lBQ0Usa0JBQWtCLEVBQUUsMkJBQTJCO0NBQzFCLENBQ3hCLENBQUM7QUFFRixNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBbUMsRUFBRSxHQUFHLFFBQStCO0lBQ3pHLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIseUJBQXlCLENBQUMsTUFBTSxDQUFDO1FBQ2pDO1lBQ0UsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLENBQUMsbUJBQXdDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFO1lBQ3hHLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQzNCLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRCxRQUFRO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExhbmd1YWdlTG9hZGVyRm4sIExvY2FsaXphdGlvbkZlYXR1cmUgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FWQUlMQUJMRV9MQU5HVUFHRVMgPSBbJ2VuLVVTJywgJ2VuLUdCJywgJ2VuJywgJ2RlLURFJywgJ2RlJywgJ2VzLUVTJywgJ2VzJywgJ2ZyLUZSJywgJ2ZyLUNBJywgJ2ZyJ107XG5leHBvcnQgaW50ZXJmYWNlIExvY2FsaXphdGlvbkNvbmZpZyB7XG4gIGFjdGl2ZUxhbmd1YWdlTG9hZGVyPzogTGFuZ3VhZ2VMb2FkZXJGbjtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHsgTG9jYWxpemF0aW9uQ29uZmlnLCBMb2NhbGl6YXRpb25EZWZhdWx0Q29uZmlnLCBpbmplY3RMb2NhbGl6YXRpb25Db25maWcsIHByb3ZpZGVMb2NhbGl6YXRpb25Db25maWcgfSA9IGNyZWF0ZUNvbmZpZ1Rva2VucyhcbiAgJ0xvY2FsaXphdGlvbicsXG4gICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwvdHJhbnNsYXRlJyxcbiAge1xuICAgIGF2YWlsYWJsZUxhbmd1YWdlczogREVGQVVMVF9BVkFJTEFCTEVfTEFOR1VBR0VTLFxuICB9IGFzIExvY2FsaXphdGlvbkNvbmZpZyxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTG9jYWxpemF0aW9uKGNvbmZpZzogUGFydGlhbDxMb2NhbGl6YXRpb25Db25maWc+LCAuLi5mZWF0dXJlczogTG9jYWxpemF0aW9uRmVhdHVyZVtdKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBwcm92aWRlTG9jYWxpemF0aW9uQ29uZmlnKGNvbmZpZyksXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogKGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UpID0+ICgpID0+IGxvY2FsaXphdGlvblNlcnZpY2UubG9hZEFjdGl2ZUxhbmd1YWdlKCksXG4gICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIGZlYXR1cmVzLFxuICBdKTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { Logger } from '@odx/angular/internal';
2
+ export default new Logger('@odx/angular/localization');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLmxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9sb2NhbGl6YXRpb24vc3JjL2xpYi9sb2NhbGl6YXRpb24ubG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxlQUFlLElBQUksTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuXG5leHBvcnQgZGVmYXVsdCBuZXcgTG9nZ2VyKCdAb2R4L2FuZ3VsYXIvbG9jYWxpemF0aW9uJyk7XG4iXX0=
@@ -1,51 +1,42 @@
1
1
  import { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';
2
- import { getLanguageCode } from '@odx/angular/utils';
3
- import { BehaviorSubject, distinctUntilChanged, filter, firstValueFrom, from, isObservable, of, shareReplay } from 'rxjs';
2
+ import { BehaviorSubject, distinctUntilChanged, filter, firstValueFrom, from, isObservable, map, of, shareReplay } from 'rxjs';
4
3
  import { injectLocalizationConfig } from './localization.config';
4
+ import logger from './localization.logger';
5
5
  import * as i0 from "@angular/core";
6
6
  export class LocalizationService {
7
7
  constructor() {
8
- this.injector = inject(Injector);
9
8
  this.localizationConfig = injectLocalizationConfig();
10
- this.activeLanguage$$ = new BehaviorSubject(undefined);
11
- this.activeLocale$$ = new BehaviorSubject(undefined);
12
- this.activeLanguage$ = this.activeLanguage$$.pipe(filter(Boolean), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
9
+ this.injector = inject(Injector);
10
+ this.localeState$ = new BehaviorSubject(new Intl.Locale(this.localizationConfig.availableLanguages[0]));
11
+ this.activeLanguage$ = this.localeState$.pipe(filter(Boolean), map((x) => x.baseName), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
13
12
  this.availableLanguages = this.localizationConfig.availableLanguages;
14
13
  this.defaultLanguage = this.availableLanguages[0];
15
- this.availableLocales = this.localizationConfig.availableLocales;
16
- this.defaultLocale = this.availableLocales[0];
17
14
  }
18
15
  getActiveLanguage() {
19
- return this.activeLanguage$$.getValue() ?? this.defaultLanguage;
16
+ return this.localeState$.getValue()?.baseName ?? new Intl.Locale(this.defaultLanguage).baseName; // returns full locale name e.g. 'en-US' or just 'en' if no region info is attached
17
+ }
18
+ getActiveLanguageSubtag() {
19
+ return this.localeState$.getValue()?.language ?? new Intl.Locale(this.defaultLanguage).language; // returns two digits language subtag, e.g. 'en', 'fr'
20
20
  }
21
21
  setActiveLanguage(language) {
22
- if (this.availableLanguages.includes(language)) {
23
- this.activeLanguage$$.next(language);
24
- return;
22
+ try {
23
+ const locale = new Intl.Locale(language);
24
+ if (this.availableLanguages.includes(locale.baseName) || this.availableLanguages.includes(locale.language)) {
25
+ this.localeState$.next(locale);
26
+ }
27
+ else {
28
+ throw new Error(`Unrecognizable language '${language}'. Make sure it's a part of availableLanguages inside LocalizationService config.`);
29
+ }
25
30
  }
26
- const languageCode = getLanguageCode(language);
27
- if (this.availableLanguages.includes(languageCode)) {
28
- this.activeLanguage$$.next(languageCode);
29
- return;
30
- }
31
- this.activeLanguage$$.next(this.defaultLanguage);
32
- }
33
- getActiveLocale() {
34
- return this.activeLocale$$.getValue() ?? this.defaultLocale;
35
- }
36
- setActiveLocale(locale) {
37
- if (this.availableLocales.includes(locale)) {
38
- this.activeLocale$$.next(locale);
39
- return;
31
+ catch (error) {
32
+ logger.error(error);
40
33
  }
41
- this.activeLocale$$.next(this.defaultLocale);
42
34
  }
43
35
  async loadActiveLanguage() {
44
36
  return runInInjectionContext(this.injector, async () => {
45
37
  const activeLanguageLoader$ = this.createActiveLanguageLoader$();
46
38
  const activeLanguage = await firstValueFrom(activeLanguageLoader$).catch(() => null);
47
39
  this.setActiveLanguage(activeLanguage ?? this.defaultLanguage);
48
- this.setActiveLocale(activeLanguage ?? this.defaultLocale);
49
40
  });
50
41
  }
51
42
  createActiveLanguageLoader$() {
@@ -65,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
65
56
  type: Injectable,
66
57
  args: [{ providedIn: 'root' }]
67
58
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbG9jYWxpemF0aW9uL3NyYy9saWIvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFjLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUdqRSxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRW1CLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsdUJBQWtCLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDdEUsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFFckUsb0JBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0SSx1QkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7UUFDaEUsb0JBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MscUJBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1FBQzVELGtCQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0tBa0QxRDtJQWhEUSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNsRSxDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBZ0I7UUFDdkMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckMsT0FBTztTQUNSO1FBQ0QsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNsRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlELENBQUM7SUFFTSxlQUFlLENBQUMsTUFBYztRQUNuQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ2pFLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTywyQkFBMkI7UUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztRQUNsRSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMxQixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUNELElBQUksUUFBUSxZQUFZLE9BQU8sRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7K0dBM0RVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRE4sTUFBTTs7NEZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldExhbmd1YWdlQ29kZSB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpcnN0VmFsdWVGcm9tLCBmcm9tLCBpc09ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0TG9jYWxpemF0aW9uQ29uZmlnIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24uY29uZmlnJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxpemF0aW9uQ29uZmlnID0gaW5qZWN0TG9jYWxpemF0aW9uQ29uZmlnKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlTGFuZ3VhZ2UkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2ZUxvY2FsZSQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZUxhbmd1YWdlJCA9IHRoaXMuYWN0aXZlTGFuZ3VhZ2UkJC5waXBlKGZpbHRlcihCb29sZWFuKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSk7XG4gIHB1YmxpYyByZWFkb25seSBhdmFpbGFibGVMYW5ndWFnZXMgPSB0aGlzLmxvY2FsaXphdGlvbkNvbmZpZy5hdmFpbGFibGVMYW5ndWFnZXM7XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0TGFuZ3VhZ2UgPSB0aGlzLmF2YWlsYWJsZUxhbmd1YWdlc1swXTtcbiAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJsZUxvY2FsZXMgPSB0aGlzLmxvY2FsaXphdGlvbkNvbmZpZy5hdmFpbGFibGVMb2NhbGVzO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdExvY2FsZSA9IHRoaXMuYXZhaWxhYmxlTG9jYWxlc1swXTtcblxuICBwdWJsaWMgZ2V0QWN0aXZlTGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVMYW5ndWFnZSQkLmdldFZhbHVlKCkgPz8gdGhpcy5kZWZhdWx0TGFuZ3VhZ2U7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF2YWlsYWJsZUxhbmd1YWdlcy5pbmNsdWRlcyhsYW5ndWFnZSkpIHtcbiAgICAgIHRoaXMuYWN0aXZlTGFuZ3VhZ2UkJC5uZXh0KGxhbmd1YWdlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbGFuZ3VhZ2VDb2RlID0gZ2V0TGFuZ3VhZ2VDb2RlKGxhbmd1YWdlKTtcbiAgICBpZiAodGhpcy5hdmFpbGFibGVMYW5ndWFnZXMuaW5jbHVkZXMobGFuZ3VhZ2VDb2RlKSkge1xuICAgICAgdGhpcy5hY3RpdmVMYW5ndWFnZSQkLm5leHQobGFuZ3VhZ2VDb2RlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hY3RpdmVMYW5ndWFnZSQkLm5leHQodGhpcy5kZWZhdWx0TGFuZ3VhZ2UpO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUxvY2FsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUxvY2FsZSQkLmdldFZhbHVlKCkgPz8gdGhpcy5kZWZhdWx0TG9jYWxlO1xuICB9XG5cbiAgcHVibGljIHNldEFjdGl2ZUxvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF2YWlsYWJsZUxvY2FsZXMuaW5jbHVkZXMobG9jYWxlKSkge1xuICAgICAgdGhpcy5hY3RpdmVMb2NhbGUkJC5uZXh0KGxvY2FsZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlTG9jYWxlJCQubmV4dCh0aGlzLmRlZmF1bHRMb2NhbGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRBY3RpdmVMYW5ndWFnZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUxhbmd1YWdlTG9hZGVyJCA9IHRoaXMuY3JlYXRlQWN0aXZlTGFuZ3VhZ2VMb2FkZXIkKCk7XG4gICAgICBjb25zdCBhY3RpdmVMYW5ndWFnZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKGFjdGl2ZUxhbmd1YWdlTG9hZGVyJCkuY2F0Y2goKCkgPT4gbnVsbCk7XG4gICAgICB0aGlzLnNldEFjdGl2ZUxhbmd1YWdlKGFjdGl2ZUxhbmd1YWdlID8/IHRoaXMuZGVmYXVsdExhbmd1YWdlKTtcbiAgICAgIHRoaXMuc2V0QWN0aXZlTG9jYWxlKGFjdGl2ZUxhbmd1YWdlID8/IHRoaXMuZGVmYXVsdExvY2FsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFjdGl2ZUxhbmd1YWdlTG9hZGVyJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sb2NhbGl6YXRpb25Db25maWcuYWN0aXZlTGFuZ3VhZ2VMb2FkZXI/LigpO1xuICAgIGlmIChpc09ic2VydmFibGUobGFuZ3VhZ2UpKSB7XG4gICAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gICAgfVxuICAgIGlmIChsYW5ndWFnZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiBmcm9tKGxhbmd1YWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGxhbmd1YWdlKTtcbiAgfVxufVxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbG9jYWxpemF0aW9uL3NyYy9saWIvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQWMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sTUFBTSxNQUFNLHVCQUF1QixDQUFDOztBQUczQyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRW1CLHVCQUFrQixHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFDaEQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUEwQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3SCxvQkFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0RCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQ3RCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQy9DLENBQUM7UUFFYyx1QkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7UUFDaEUsb0JBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7S0F5QzlEO0lBdkNRLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsbUZBQW1GO0lBQ3RMLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNEQUFzRDtJQUN6SixDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBZ0I7UUFDdkMsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUMxRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNoQztpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixRQUFRLG1GQUFtRixDQUFDLENBQUM7YUFDMUk7U0FDRjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ2pFLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1FBQ2xFLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFCLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxRQUFRLFlBQVksT0FBTyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEIsQ0FBQzsrR0FyRFUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FETixNQUFNOzs0RkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaXJzdFZhbHVlRnJvbSwgZnJvbSwgaXNPYnNlcnZhYmxlLCBtYXAsIG9mLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0TG9jYWxpemF0aW9uQ29uZmlnIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24uY29uZmlnJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi9sb2NhbGl6YXRpb24ubG9nZ2VyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6YXRpb25Db25maWcgPSBpbmplY3RMb2NhbGl6YXRpb25Db25maWcoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnRsLkxvY2FsZSB8IHVuZGVmaW5lZD4obmV3IEludGwuTG9jYWxlKHRoaXMubG9jYWxpemF0aW9uQ29uZmlnLmF2YWlsYWJsZUxhbmd1YWdlc1swXSkpO1xuXG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVMYW5ndWFnZSQgPSB0aGlzLmxvY2FsZVN0YXRlJC5waXBlKFxuICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICBtYXAoKHgpID0+IHguYmFzZU5hbWUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdGhpcy5sb2NhbGl6YXRpb25Db25maWcuYXZhaWxhYmxlTGFuZ3VhZ2VzO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdExhbmd1YWdlID0gdGhpcy5hdmFpbGFibGVMYW5ndWFnZXNbMF07XG5cbiAgcHVibGljIGdldEFjdGl2ZUxhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU3RhdGUkLmdldFZhbHVlKCk/LmJhc2VOYW1lID8/IG5ldyBJbnRsLkxvY2FsZSh0aGlzLmRlZmF1bHRMYW5ndWFnZSkuYmFzZU5hbWU7IC8vIHJldHVybnMgZnVsbCBsb2NhbGUgbmFtZSBlLmcuICdlbi1VUycgb3IganVzdCAnZW4nIGlmIG5vIHJlZ2lvbiBpbmZvIGlzIGF0dGFjaGVkXG4gIH1cblxuICBwdWJsaWMgZ2V0QWN0aXZlTGFuZ3VhZ2VTdWJ0YWcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbGVTdGF0ZSQuZ2V0VmFsdWUoKT8ubGFuZ3VhZ2UgPz8gbmV3IEludGwuTG9jYWxlKHRoaXMuZGVmYXVsdExhbmd1YWdlKS5sYW5ndWFnZTsgLy8gcmV0dXJucyB0d28gZGlnaXRzIGxhbmd1YWdlIHN1YnRhZywgZS5nLiAnZW4nLCAnZnInXG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsb2NhbGUgPSBuZXcgSW50bC5Mb2NhbGUobGFuZ3VhZ2UpO1xuICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzLmluY2x1ZGVzKGxvY2FsZS5iYXNlTmFtZSkgfHwgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMuaW5jbHVkZXMobG9jYWxlLmxhbmd1YWdlKSkge1xuICAgICAgICB0aGlzLmxvY2FsZVN0YXRlJC5uZXh0KGxvY2FsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXphYmxlIGxhbmd1YWdlICcke2xhbmd1YWdlfScuIE1ha2Ugc3VyZSBpdCdzIGEgcGFydCBvZiBhdmFpbGFibGVMYW5ndWFnZXMgaW5zaWRlIExvY2FsaXphdGlvblNlcnZpY2UgY29uZmlnLmApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkQWN0aXZlTGFuZ3VhZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVMYW5ndWFnZUxvYWRlciQgPSB0aGlzLmNyZWF0ZUFjdGl2ZUxhbmd1YWdlTG9hZGVyJCgpO1xuICAgICAgY29uc3QgYWN0aXZlTGFuZ3VhZ2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShhY3RpdmVMYW5ndWFnZUxvYWRlciQpLmNhdGNoKCgpID0+IG51bGwpO1xuICAgICAgdGhpcy5zZXRBY3RpdmVMYW5ndWFnZShhY3RpdmVMYW5ndWFnZSA/PyB0aGlzLmRlZmF1bHRMYW5ndWFnZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFjdGl2ZUxhbmd1YWdlTG9hZGVyJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sb2NhbGl6YXRpb25Db25maWcuYWN0aXZlTGFuZ3VhZ2VMb2FkZXI/LigpO1xuICAgIGlmIChpc09ic2VydmFibGUobGFuZ3VhZ2UpKSB7XG4gICAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gICAgfVxuICAgIGlmIChsYW5ndWFnZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiBmcm9tKGxhbmd1YWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGxhbmd1YWdlKTtcbiAgfVxufVxuIl19
@@ -87,7 +87,6 @@ class ConnectedOverlayRef {
87
87
  }
88
88
  }
89
89
 
90
- var ConnectedOverlayComponent_1;
91
90
  let ConnectedOverlayComponent = class ConnectedOverlayComponent {
92
91
  constructor() {
93
92
  this.renderer = inject(Renderer2);
@@ -98,12 +97,6 @@ let ConnectedOverlayComponent = class ConnectedOverlayComponent {
98
97
  this.options = DefaultConnectedOverlayOptions;
99
98
  this.closed = new Subject();
100
99
  }
101
- static { ConnectedOverlayComponent_1 = this; }
102
- static { this.Z_LAYER = 0; }
103
- ngOnInit() {
104
- ConnectedOverlayComponent_1.Z_LAYER++;
105
- this.element.nativeElement.style.setProperty('--odx-cdk-connected-overlay-current-z-layer', ConnectedOverlayComponent_1.Z_LAYER.toFixed(0));
106
- }
107
100
  ngOnChanges(changes) {
108
101
  if (hasChanged(changes, ['options'], false)) {
109
102
  this.overlaySide = getSide(this.options.position);
@@ -115,7 +108,6 @@ let ConnectedOverlayComponent = class ConnectedOverlayComponent {
115
108
  }
116
109
  ngOnDestroy() {
117
110
  this.stopPositionUpdater();
118
- ConnectedOverlayComponent_1.Z_LAYER--;
119
111
  }
120
112
  onAnimationStart({ fromState, toState }) {
121
113
  if (!fromState)
@@ -168,7 +160,7 @@ let ConnectedOverlayComponent = class ConnectedOverlayComponent {
168
160
  ]),
169
161
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
170
162
  };
171
- ConnectedOverlayComponent = ConnectedOverlayComponent_1 = __decorate([
163
+ ConnectedOverlayComponent = __decorate([
172
164
  CSSComponent('cdk-connected-overlay')
173
165
  ], ConnectedOverlayComponent);
174
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectedOverlayComponent, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-cdk-connected-overlay.mjs","sources":["../../../../libs/angular/cdk/connected-overlay/src/lib/helpers/compute-overlay-position.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/models/connected-overlay-options.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/models/connected-overlay-ref.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/connected-overlay.component.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/connected-overlay.component.html","../../../../libs/angular/cdk/connected-overlay/src/lib/connected-overlay.service.ts","../../../../libs/angular/cdk/connected-overlay/src/odx-angular-cdk-connected-overlay.ts"],"sourcesContent":["import { ComputePositionReturn, VirtualElement, arrow, computePosition, flip, hide, shift, size, offset as withOffset } from '@floating-ui/dom';\nimport { applyStyles, cssTranslate, getOppositeSide, getSide, px } from '@odx/angular/utils';\nimport { ConnectedOverlayOptions } from '../models';\n\nexport async function computeOverlayPosition(\n referenceElement: VirtualElement,\n overlayElement: HTMLElement,\n contentElement: HTMLElement,\n arrowElement: HTMLElement,\n options: ConnectedOverlayOptions,\n): Promise<ComputePositionReturn> {\n const { position, offset, outerPadding, matchReferenceWidth, enableFallback, fallbackAxisSideDirection, strategy, minHeight } = options;\n const arrowSize = options.showArrow ? arrowElement.offsetWidth : 0;\n const arrowMiddleware = options.showArrow ? [arrow({ element: arrowElement, padding: 8 })] : [];\n const flipMiddleWare = enableFallback ? [flip({ fallbackAxisSideDirection })] : [];\n\n return computePosition(referenceElement, overlayElement, {\n strategy,\n placement: position,\n middleware: [\n withOffset(Math.max(offset, arrowSize + offset)),\n shift({ padding: outerPadding }),\n ...flipMiddleWare,\n size({\n padding: outerPadding,\n apply: ({ availableHeight, availableWidth, rects }) => {\n const variablePrefix = '--odx-cdk-connected-overlay';\n contentElement.style.setProperty(`${variablePrefix}-max-height`, px(availableHeight));\n contentElement.style.setProperty(`${variablePrefix}-max-width`, px(availableWidth));\n contentElement.style.setProperty(`${variablePrefix}-min-height`, minHeight ? px(Math.min(availableHeight, minHeight)) : null);\n contentElement.style.setProperty(`${variablePrefix}-min-width`, matchReferenceWidth ? px(rects.reference.width) : null);\n },\n }),\n ...arrowMiddleware,\n hide(),\n ],\n }).then((result) => {\n applyStyles(overlayElement, {\n top: '0',\n left: '0',\n transform: cssTranslate(px(result.x), px(result.y)),\n });\n if (options.hiddenClass) {\n overlayElement.classList.toggle(options.hiddenClass, !!result.middlewareData.hide?.referenceHidden);\n }\n if (options.showArrow) {\n const overlaySide = getSide(result.placement);\n const arrowSide = getOppositeSide(result.placement);\n applyStyles(arrowElement, {\n display: null,\n top: px(result.middlewareData.arrow?.y),\n left: px(result.middlewareData.arrow?.x),\n [arrowSide]: px(-arrowSize / 2),\n [overlaySide]: null,\n });\n } else {\n applyStyles(arrowElement, { display: 'none' });\n }\n\n return result;\n });\n}\n","import { Strategy } from '@floating-ui/dom';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { Position } from '@odx/angular/utils';\n\nexport interface ConnectedOverlayOptions {\n content?: DynamicContent | null;\n context?: Record<string, unknown>;\n containerClass?: string | null;\n hiddenClass: string | null;\n enableFallback: boolean;\n fallbackAxisSideDirection: 'start' | 'end';\n matchReferenceWidth: boolean;\n minHeight?: number | null;\n offset: number;\n outerPadding: number;\n position: Position;\n strategy: Strategy;\n showArrow?: boolean;\n hooks?: {\n beforeOpen?: () => void;\n afterOpen?: () => void;\n beforeClose?: () => void;\n afterClose?: () => void;\n };\n}\n\nexport const DefaultConnectedOverlayOptions: ConnectedOverlayOptions = {\n hiddenClass: 'is-hidden',\n enableFallback: false,\n fallbackAxisSideDirection: 'start',\n matchReferenceWidth: false,\n offset: 8,\n outerPadding: 12,\n position: Position.BOTTOM,\n strategy: 'fixed',\n};\n","import { DynamicViewRef } from '@odx/angular/cdk/dynamic-view';\nimport { EMPTY, Observable } from 'rxjs';\nimport { ConnectedOverlayComponent } from '../connected-overlay.component';\nimport { ConnectedOverlayOptions } from './connected-overlay-options';\n\nexport class ConnectedOverlayRef {\n public readonly element = this.dynamicViewRef.getElement();\n public readonly onClose$: Observable<void> = this.dynamicViewRef.getContext().closed ?? EMPTY;\n\n constructor(private readonly dynamicViewRef: DynamicViewRef<typeof ConnectedOverlayComponent>) {}\n\n public update(options: Partial<ConnectedOverlayOptions>) {\n this.dynamicViewRef.update({ options: options as ConnectedOverlayOptions });\n }\n\n public close(): void {\n this.dynamicViewRef.destroy();\n }\n}\n","import { AnimationEvent, group, transition, trigger, useAnimation } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n RendererStyleFlags2,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { VirtualElement, autoUpdate } from '@floating-ui/dom';\nimport { CoreModule } from '@odx/angular';\nimport {\n fadeIn,\n fadeOut,\n slideInLeft,\n slideInRight,\n slideInUp,\n slideOutDown,\n slideOutLeft,\n slideOutRight,\n slideOutUp,\n waitForChildAnimations,\n} from '@odx/angular/animations';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { NgChanges, Side, getSide, hasChanged, injectElement, isPresent } from '@odx/angular/utils';\nimport { Subject } from 'rxjs';\nimport { computeOverlayPosition } from './helpers';\nimport { ConnectedOverlayOptions, DefaultConnectedOverlayOptions } from './models';\n\n@CSSComponent('cdk-connected-overlay')\n@Component({\n standalone: true,\n selector: 'odx-connected-overlay',\n imports: [CoreModule, DynamicViewDirective],\n templateUrl: 'connected-overlay.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[@hostAnimation]': 'true',\n },\n animations: [\n trigger('hostAnimation', [waitForChildAnimations]),\n trigger('contentAnimation', [\n transition('void => top', group([useAnimation(slideInUp, { params: { from: '-8px' } }), useAnimation(fadeIn())])),\n transition('top => void', group([useAnimation(slideOutUp, { params: { to: '-8px' } }), useAnimation(fadeOut())])),\n transition('void => right', group([useAnimation(slideInLeft, { params: { from: '8px' } }), useAnimation(fadeIn())])),\n transition('right => void', group([useAnimation(slideOutRight, { params: { to: '8px' } }), useAnimation(fadeOut())])),\n transition('void => bottom', group([useAnimation(slideInUp, { params: { from: '8px' } }), useAnimation(fadeIn())])),\n transition('bottom => void', group([useAnimation(slideOutDown, { params: { to: '8px' } }), useAnimation(fadeOut())])),\n transition('void => left', group([useAnimation(slideInRight, { params: { from: '-8px' } }), useAnimation(fadeIn())])),\n transition('left => void', group([useAnimation(slideOutLeft, { params: { to: '-8px' } }), useAnimation(fadeOut())])),\n ]),\n ],\n})\nexport class ConnectedOverlayComponent implements OnInit, OnChanges, OnDestroy {\n private static Z_LAYER = 0;\n private readonly renderer = inject(Renderer2);\n private readonly zone = inject(NgZone);\n private positionUpdater: (() => void) | null = null;\n\n protected readonly injector = inject(Injector);\n protected overlaySide?: Side;\n\n @ViewChild('content', { static: true })\n protected contentElement!: ElementRef<HTMLElement>;\n\n @ViewChild('arrow', { static: true })\n protected arrowElement!: ElementRef<HTMLElement>;\n\n public readonly element = injectElement();\n\n @Input()\n public referenceElement!: VirtualElement;\n\n @Input()\n public options: ConnectedOverlayOptions = DefaultConnectedOverlayOptions;\n\n @Output()\n public closed = new Subject<void>();\n\n public ngOnInit(): void {\n ConnectedOverlayComponent.Z_LAYER++;\n this.element.nativeElement.style.setProperty('--odx-cdk-connected-overlay-current-z-layer', ConnectedOverlayComponent.Z_LAYER.toFixed(0));\n }\n\n public ngOnChanges(changes: NgChanges<ConnectedOverlayComponent>): void {\n if (hasChanged(changes, ['options'], false)) {\n this.overlaySide = getSide(this.options.position);\n }\n if (hasChanged(changes, ['referenceElement', 'options'], false)) {\n this.stopPositionUpdater();\n this.startPositionUpdater();\n }\n }\n\n public ngOnDestroy(): void {\n this.stopPositionUpdater();\n ConnectedOverlayComponent.Z_LAYER--;\n }\n\n protected onAnimationStart({ fromState, toState }: AnimationEvent): void {\n if (!fromState) return;\n if (fromState === 'void') {\n this.renderer.setStyle(this.element.nativeElement, 'pointer-events', 'none', RendererStyleFlags2.Important);\n this.options.hooks?.beforeOpen?.();\n } else if (toState === 'void') {\n this.options.hooks?.beforeClose?.();\n }\n }\n\n protected onAnimationDone({ fromState, toState }: AnimationEvent): void {\n if (!fromState) return;\n if (fromState === 'void') {\n this.options.hooks?.afterOpen?.();\n this.renderer.removeStyle(this.element.nativeElement, 'pointer-events');\n } else if (toState === 'void') {\n this.options.hooks?.afterClose?.();\n }\n }\n\n private startPositionUpdater(): void {\n this.positionUpdater = this.zone.runOutsideAngular(() =>\n autoUpdate(this.referenceElement, this.element.nativeElement, () => this.updatePosition(), {\n elementResize: isPresent(window.ResizeObserver),\n }),\n );\n }\n\n private stopPositionUpdater(): void {\n this.positionUpdater?.();\n this.positionUpdater = null;\n }\n\n private async updatePosition(): Promise<void> {\n return computeOverlayPosition(\n this.referenceElement,\n this.element.nativeElement,\n this.contentElement.nativeElement,\n this.arrowElement.nativeElement,\n this.options,\n ).then(({ placement }) => {\n this.overlaySide = getSide(placement);\n });\n }\n}\n","<div\n [@contentAnimation]=\"overlaySide\"\n (@contentAnimation.start)=\"onAnimationStart($event)\"\n (@contentAnimation.done)=\"onAnimationDone($event)\"\n class=\"odx-cdk-connected-overlay__content {{ options.containerClass }}\"\n #content\n>\n <ng-template [odxDynamicView]=\"options.content\" [odxDynamicViewContext]=\"options.context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n <div class=\"odx-cdk-connected-overlay-arrow\" #arrow></div>\n</div>\n","import { inject, Injectable } from '@angular/core';\nimport { VirtualElement } from '@floating-ui/dom';\nimport { DynamicViewRenderingOptions, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deepmerge } from '@odx/angular/internal';\nimport { ConnectedOverlayComponent } from './connected-overlay.component';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, DefaultConnectedOverlayOptions } from './models';\n\n@Injectable({ providedIn: 'root' })\nexport class ConnectedOverlayService {\n private readonly dynamicViewService = inject(DynamicViewService);\n\n public createOverlay(\n referenceElement: VirtualElement,\n options?: Partial<ConnectedOverlayOptions>,\n renderingOptions?: Partial<DynamicViewRenderingOptions>\n ): ConnectedOverlayRef {\n const dynamicViewRef = this.dynamicViewService.createView(ConnectedOverlayComponent, {\n ...renderingOptions,\n context: { options: deepmerge(DefaultConnectedOverlayOptions, options) as ConnectedOverlayOptions, referenceElement },\n });\n\n return new ConnectedOverlayRef(dynamicViewRef);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["offset","withOffset"],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-cdk-connected-overlay.mjs","sources":["../../../../libs/angular/cdk/connected-overlay/src/lib/helpers/compute-overlay-position.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/models/connected-overlay-options.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/models/connected-overlay-ref.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/connected-overlay.component.ts","../../../../libs/angular/cdk/connected-overlay/src/lib/connected-overlay.component.html","../../../../libs/angular/cdk/connected-overlay/src/lib/connected-overlay.service.ts","../../../../libs/angular/cdk/connected-overlay/src/odx-angular-cdk-connected-overlay.ts"],"sourcesContent":["import { ComputePositionReturn, VirtualElement, arrow, computePosition, flip, hide, shift, size, offset as withOffset } from '@floating-ui/dom';\nimport { applyStyles, cssTranslate, getOppositeSide, getSide, px } from '@odx/angular/utils';\nimport { ConnectedOverlayOptions } from '../models';\n\nexport async function computeOverlayPosition(\n referenceElement: VirtualElement,\n overlayElement: HTMLElement,\n contentElement: HTMLElement,\n arrowElement: HTMLElement,\n options: ConnectedOverlayOptions,\n): Promise<ComputePositionReturn> {\n const { position, offset, outerPadding, matchReferenceWidth, enableFallback, fallbackAxisSideDirection, strategy, minHeight } = options;\n const arrowSize = options.showArrow ? arrowElement.offsetWidth : 0;\n const arrowMiddleware = options.showArrow ? [arrow({ element: arrowElement, padding: 8 })] : [];\n const flipMiddleWare = enableFallback ? [flip({ fallbackAxisSideDirection })] : [];\n\n return computePosition(referenceElement, overlayElement, {\n strategy,\n placement: position,\n middleware: [\n withOffset(Math.max(offset, arrowSize + offset)),\n shift({ padding: outerPadding }),\n ...flipMiddleWare,\n size({\n padding: outerPadding,\n apply: ({ availableHeight, availableWidth, rects }) => {\n const variablePrefix = '--odx-cdk-connected-overlay';\n contentElement.style.setProperty(`${variablePrefix}-max-height`, px(availableHeight));\n contentElement.style.setProperty(`${variablePrefix}-max-width`, px(availableWidth));\n contentElement.style.setProperty(`${variablePrefix}-min-height`, minHeight ? px(Math.min(availableHeight, minHeight)) : null);\n contentElement.style.setProperty(`${variablePrefix}-min-width`, matchReferenceWidth ? px(rects.reference.width) : null);\n },\n }),\n ...arrowMiddleware,\n hide(),\n ],\n }).then((result) => {\n applyStyles(overlayElement, {\n top: '0',\n left: '0',\n transform: cssTranslate(px(result.x), px(result.y)),\n });\n if (options.hiddenClass) {\n overlayElement.classList.toggle(options.hiddenClass, !!result.middlewareData.hide?.referenceHidden);\n }\n if (options.showArrow) {\n const overlaySide = getSide(result.placement);\n const arrowSide = getOppositeSide(result.placement);\n applyStyles(arrowElement, {\n display: null,\n top: px(result.middlewareData.arrow?.y),\n left: px(result.middlewareData.arrow?.x),\n [arrowSide]: px(-arrowSize / 2),\n [overlaySide]: null,\n });\n } else {\n applyStyles(arrowElement, { display: 'none' });\n }\n\n return result;\n });\n}\n","import { Strategy } from '@floating-ui/dom';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { Position } from '@odx/angular/utils';\n\nexport interface ConnectedOverlayOptions {\n content?: DynamicContent | null;\n context?: Record<string, unknown>;\n containerClass?: string | null;\n hiddenClass: string | null;\n enableFallback: boolean;\n fallbackAxisSideDirection: 'start' | 'end';\n matchReferenceWidth: boolean;\n minHeight?: number | null;\n offset: number;\n outerPadding: number;\n position: Position;\n strategy: Strategy;\n showArrow?: boolean;\n hooks?: {\n beforeOpen?: () => void;\n afterOpen?: () => void;\n beforeClose?: () => void;\n afterClose?: () => void;\n };\n}\n\nexport const DefaultConnectedOverlayOptions: ConnectedOverlayOptions = {\n hiddenClass: 'is-hidden',\n enableFallback: false,\n fallbackAxisSideDirection: 'start',\n matchReferenceWidth: false,\n offset: 8,\n outerPadding: 12,\n position: Position.BOTTOM,\n strategy: 'fixed',\n};\n","import { DynamicViewRef } from '@odx/angular/cdk/dynamic-view';\nimport { EMPTY, Observable } from 'rxjs';\nimport { ConnectedOverlayComponent } from '../connected-overlay.component';\nimport { ConnectedOverlayOptions } from './connected-overlay-options';\n\nexport class ConnectedOverlayRef {\n public readonly element = this.dynamicViewRef.getElement();\n public readonly onClose$: Observable<void> = this.dynamicViewRef.getContext().closed ?? EMPTY;\n\n constructor(private readonly dynamicViewRef: DynamicViewRef<typeof ConnectedOverlayComponent>) {}\n\n public update(options: Partial<ConnectedOverlayOptions>) {\n this.dynamicViewRef.update({ options: options as ConnectedOverlayOptions });\n }\n\n public close(): void {\n this.dynamicViewRef.destroy();\n }\n}\n","import { AnimationEvent, group, transition, trigger, useAnimation } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n RendererStyleFlags2,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { VirtualElement, autoUpdate } from '@floating-ui/dom';\nimport { CoreModule } from '@odx/angular';\nimport {\n fadeIn,\n fadeOut,\n slideInLeft,\n slideInRight,\n slideInUp,\n slideOutDown,\n slideOutLeft,\n slideOutRight,\n slideOutUp,\n waitForChildAnimations,\n} from '@odx/angular/animations';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { NgChanges, Side, getSide, hasChanged, injectElement, isPresent } from '@odx/angular/utils';\nimport { Subject } from 'rxjs';\nimport { computeOverlayPosition } from './helpers';\nimport { ConnectedOverlayOptions, DefaultConnectedOverlayOptions } from './models';\n\n@CSSComponent('cdk-connected-overlay')\n@Component({\n standalone: true,\n selector: 'odx-connected-overlay',\n imports: [CoreModule, DynamicViewDirective],\n templateUrl: 'connected-overlay.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[@hostAnimation]': 'true',\n },\n animations: [\n trigger('hostAnimation', [waitForChildAnimations]),\n trigger('contentAnimation', [\n transition('void => top', group([useAnimation(slideInUp, { params: { from: '-8px' } }), useAnimation(fadeIn())])),\n transition('top => void', group([useAnimation(slideOutUp, { params: { to: '-8px' } }), useAnimation(fadeOut())])),\n transition('void => right', group([useAnimation(slideInLeft, { params: { from: '8px' } }), useAnimation(fadeIn())])),\n transition('right => void', group([useAnimation(slideOutRight, { params: { to: '8px' } }), useAnimation(fadeOut())])),\n transition('void => bottom', group([useAnimation(slideInUp, { params: { from: '8px' } }), useAnimation(fadeIn())])),\n transition('bottom => void', group([useAnimation(slideOutDown, { params: { to: '8px' } }), useAnimation(fadeOut())])),\n transition('void => left', group([useAnimation(slideInRight, { params: { from: '-8px' } }), useAnimation(fadeIn())])),\n transition('left => void', group([useAnimation(slideOutLeft, { params: { to: '-8px' } }), useAnimation(fadeOut())])),\n ]),\n ],\n})\nexport class ConnectedOverlayComponent implements OnChanges, OnDestroy {\n private readonly renderer = inject(Renderer2);\n private readonly zone = inject(NgZone);\n private positionUpdater: (() => void) | null = null;\n\n protected readonly injector = inject(Injector);\n protected overlaySide?: Side;\n\n @ViewChild('content', { static: true })\n protected contentElement!: ElementRef<HTMLElement>;\n\n @ViewChild('arrow', { static: true })\n protected arrowElement!: ElementRef<HTMLElement>;\n\n public readonly element = injectElement();\n\n @Input()\n public referenceElement!: VirtualElement;\n\n @Input()\n public options: ConnectedOverlayOptions = DefaultConnectedOverlayOptions;\n\n @Output()\n public closed = new Subject<void>();\n\n public ngOnChanges(changes: NgChanges<ConnectedOverlayComponent>): void {\n if (hasChanged(changes, ['options'], false)) {\n this.overlaySide = getSide(this.options.position);\n }\n if (hasChanged(changes, ['referenceElement', 'options'], false)) {\n this.stopPositionUpdater();\n this.startPositionUpdater();\n }\n }\n\n public ngOnDestroy(): void {\n this.stopPositionUpdater();\n }\n\n protected onAnimationStart({ fromState, toState }: AnimationEvent): void {\n if (!fromState) return;\n if (fromState === 'void') {\n this.renderer.setStyle(this.element.nativeElement, 'pointer-events', 'none', RendererStyleFlags2.Important);\n this.options.hooks?.beforeOpen?.();\n } else if (toState === 'void') {\n this.options.hooks?.beforeClose?.();\n }\n }\n\n protected onAnimationDone({ fromState, toState }: AnimationEvent): void {\n if (!fromState) return;\n if (fromState === 'void') {\n this.options.hooks?.afterOpen?.();\n this.renderer.removeStyle(this.element.nativeElement, 'pointer-events');\n } else if (toState === 'void') {\n this.options.hooks?.afterClose?.();\n }\n }\n\n private startPositionUpdater(): void {\n this.positionUpdater = this.zone.runOutsideAngular(() =>\n autoUpdate(this.referenceElement, this.element.nativeElement, () => this.updatePosition(), {\n elementResize: isPresent(window.ResizeObserver),\n }),\n );\n }\n\n private stopPositionUpdater(): void {\n this.positionUpdater?.();\n this.positionUpdater = null;\n }\n\n private async updatePosition(): Promise<void> {\n return computeOverlayPosition(\n this.referenceElement,\n this.element.nativeElement,\n this.contentElement.nativeElement,\n this.arrowElement.nativeElement,\n this.options,\n ).then(({ placement }) => {\n this.overlaySide = getSide(placement);\n });\n }\n}\n","<div\n [@contentAnimation]=\"overlaySide\"\n (@contentAnimation.start)=\"onAnimationStart($event)\"\n (@contentAnimation.done)=\"onAnimationDone($event)\"\n class=\"odx-cdk-connected-overlay__content {{ options.containerClass }}\"\n #content\n>\n <ng-template [odxDynamicView]=\"options.content\" [odxDynamicViewContext]=\"options.context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n <div class=\"odx-cdk-connected-overlay-arrow\" #arrow></div>\n</div>\n","import { inject, Injectable } from '@angular/core';\nimport { VirtualElement } from '@floating-ui/dom';\nimport { DynamicViewRenderingOptions, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deepmerge } from '@odx/angular/internal';\nimport { ConnectedOverlayComponent } from './connected-overlay.component';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, DefaultConnectedOverlayOptions } from './models';\n\n@Injectable({ providedIn: 'root' })\nexport class ConnectedOverlayService {\n private readonly dynamicViewService = inject(DynamicViewService);\n\n public createOverlay(\n referenceElement: VirtualElement,\n options?: Partial<ConnectedOverlayOptions>,\n renderingOptions?: Partial<DynamicViewRenderingOptions>\n ): ConnectedOverlayRef {\n const dynamicViewRef = this.dynamicViewService.createView(ConnectedOverlayComponent, {\n ...renderingOptions,\n context: { options: deepmerge(DefaultConnectedOverlayOptions, options) as ConnectedOverlayOptions, referenceElement },\n });\n\n return new ConnectedOverlayRef(dynamicViewRef);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["offset","withOffset"],"mappings":";;;;;;;;;;;;AAIO,eAAe,sBAAsB,CAC1C,gBAAgC,EAChC,cAA2B,EAC3B,cAA2B,EAC3B,YAAyB,EACzB,OAAgC,EAAA;AAEhC,IAAA,MAAM,EAAE,QAAQ,UAAEA,QAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;AACxI,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AAChG,IAAA,MAAM,cAAc,GAAG,cAAc,GAAG,CAAC,IAAI,CAAC,EAAE,yBAAyB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AAEnF,IAAA,OAAO,eAAe,CAAC,gBAAgB,EAAE,cAAc,EAAE;QACvD,QAAQ;AACR,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,UAAU,EAAE;YACVC,MAAU,CAAC,IAAI,CAAC,GAAG,CAACD,QAAM,EAAE,SAAS,GAAGA,QAAM,CAAC,CAAC;AAChD,YAAA,KAAK,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAChC,YAAA,GAAG,cAAc;AACjB,YAAA,IAAI,CAAC;AACH,gBAAA,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,KAAI;oBACpD,MAAM,cAAc,GAAG,6BAA6B,CAAC;AACrD,oBAAA,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAG,EAAA,cAAc,CAAa,WAAA,CAAA,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AACtF,oBAAA,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAG,EAAA,cAAc,CAAY,UAAA,CAAA,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACpF,oBAAA,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,EAAG,cAAc,CAAA,WAAA,CAAa,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC9H,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAG,EAAA,cAAc,CAAY,UAAA,CAAA,EAAE,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;iBACzH;aACF,CAAC;AACF,YAAA,GAAG,eAAe;AAClB,YAAA,IAAI,EAAE;AACP,SAAA;AACF,KAAA,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;QACjB,WAAW,CAAC,cAAc,EAAE;AAC1B,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,SAAA,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,WAAW,EAAE;AACvB,YAAA,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACrG,SAAA;QACD,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,WAAW,CAAC,YAAY,EAAE;AACxB,gBAAA,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC/B,CAAC,WAAW,GAAG,IAAI;AACpB,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;YACL,WAAW,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;AAChB,KAAC,CAAC,CAAC;AACL;;ACnCa,MAAA,8BAA8B,GAA4B;AACrE,IAAA,WAAW,EAAE,WAAW;AACxB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,yBAAyB,EAAE,OAAO;AAClC,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,QAAQ,CAAC,MAAM;AACzB,IAAA,QAAQ,EAAE,OAAO;;;MC7BN,mBAAmB,CAAA;AAI9B,IAAA,WAAA,CAA6B,cAAgE,EAAA;QAAhE,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkD;AAH7E,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAQ,CAAA,QAAA,GAAqB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC;KAEG;AAE1F,IAAA,MAAM,CAAC,OAAyC,EAAA;QACrD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAkC,EAAE,CAAC,CAAC;KAC7E;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;KAC/B;AACF;;AC6CY,IAAA,yBAAyB,GAA/B,MAAM,yBAAyB,CAAA;AAA/B,IAAA,WAAA,GAAA;AACY,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAe,CAAA,eAAA,GAAwB,IAAI,CAAC;AAEjC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAS/B,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;QAMnC,IAAO,CAAA,OAAA,GAA4B,8BAA8B,CAAC;AAGlE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAQ,CAAC;AA4DrC,KAAA;AA1DQ,IAAA,WAAW,CAAC,OAA6C,EAAA;QAC9D,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnD,SAAA;AACD,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE;YAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC7B,SAAA;KACF;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;AAES,IAAA,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAkB,EAAA;AAC/D,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC5G,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC;AACpC,SAAA;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;AACrC,SAAA;KACF;AAES,IAAA,eAAe,CAAC,EAAE,SAAS,EAAE,OAAO,EAAkB,EAAA;AAC9D,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC;AAClC,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACzE,SAAA;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC;AACpC,SAAA;KACF;IAEO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MACjD,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE;AACzF,YAAA,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;AAChD,SAAA,CAAC,CACH,CAAC;KACH;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,eAAe,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B;AAEO,IAAA,MAAM,cAAc,GAAA;AAC1B,QAAA,OAAO,sBAAsB,CAC3B,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,IAAI,CAAC,cAAc,CAAC,aAAa,EACjC,IAAI,CAAC,YAAY,CAAC,aAAa,EAC/B,IAAI,CAAC,OAAO,CACb,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAI;AACvB,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;KACJ;+GAlFU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8dC/DtC,2dAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDgCY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAO9B,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;AACV,YAAA,OAAO,CAAC,eAAe,EAAE,CAAC,sBAAsB,CAAC,CAAC;YAClD,OAAO,CAAC,kBAAkB,EAAE;AAC1B,gBAAA,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACjH,gBAAA,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjH,gBAAA,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACpH,gBAAA,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACrH,gBAAA,UAAU,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACnH,gBAAA,UAAU,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACrH,gBAAA,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACrH,gBAAA,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;aACrH,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAEU,yBAAyB,GAAA,UAAA,CAAA;IAzBrC,YAAY,CAAC,uBAAuB,CAAC;AAyBzB,CAAA,EAAA,yBAAyB,CAmFrC,CAAA;4FAnFY,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAxBrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,uBAAuB,EAAA,OAAA,EACxB,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAE1B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACJ,wBAAA,kBAAkB,EAAE,MAAM;qBAC3B,EACW,UAAA,EAAA;AACV,wBAAA,OAAO,CAAC,eAAe,EAAE,CAAC,sBAAsB,CAAC,CAAC;wBAClD,OAAO,CAAC,kBAAkB,EAAE;AAC1B,4BAAA,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACjH,4BAAA,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjH,4BAAA,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACpH,4BAAA,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACrH,4BAAA,UAAU,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACnH,4BAAA,UAAU,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACrH,4BAAA,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACrH,4BAAA,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;yBACrH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,2dAAA,EAAA,CAAA;8BAWS,cAAc,EAAA,CAAA;sBADvB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAI5B,YAAY,EAAA,CAAA;sBADrB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAM7B,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,MAAM,EAAA,CAAA;sBADZ,MAAM;;;ME7EI,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAclE,KAAA;AAZQ,IAAA,aAAa,CAClB,gBAAgC,EAChC,OAA0C,EAC1C,gBAAuD,EAAA;QAEvD,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,yBAAyB,EAAE;AACnF,YAAA,GAAG,gBAAgB;AACnB,YAAA,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAA4B,EAAE,gBAAgB,EAAE;AACtH,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;KAChD;+GAdU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADV,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACPlC;;AAEG;;;;"}