@alauda/ui 7.4.2-beta.4 → 7.4.2-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/date-picker/calendar/header/component.d.ts +18 -5
- package/esm2022/date-picker/calendar/header/component.mjs +43 -26
- package/esm2022/i18n/i18n.pipe.mjs +5 -15
- package/esm2022/i18n/i18n.service.mjs +15 -20
- package/fesm2022/alauda-ui.mjs +53 -49
- package/fesm2022/alauda-ui.mjs.map +1 -1
- package/i18n/i18n.pipe.d.ts +3 -6
- package/i18n/i18n.service.d.ts +3 -6
- package/package.json +1 -1
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import dayjs, { ConfigType, Dayjs } from 'dayjs';
|
|
3
3
|
import { I18nService } from '../../../i18n';
|
|
4
|
-
import {
|
|
4
|
+
import { DateNavRange, Side } from '../../date-picker.type';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class CalendarHeaderComponent {
|
|
7
7
|
private readonly i18nService;
|
|
8
|
-
dateNavRange: DateNavRange;
|
|
9
|
-
|
|
8
|
+
get dateNavRange(): DateNavRange;
|
|
9
|
+
set dateNavRange(val: DateNavRange);
|
|
10
|
+
get anchor(): dayjs.Dayjs;
|
|
11
|
+
set anchor(val: dayjs.Dayjs);
|
|
10
12
|
maxAvail?: ConfigType;
|
|
11
13
|
private get _maxAvail();
|
|
12
14
|
minAvail?: ConfigType;
|
|
13
15
|
private get _minAvail();
|
|
14
16
|
navRangeChange: EventEmitter<DateNavRange>;
|
|
15
17
|
anchorChange: EventEmitter<dayjs.Dayjs>;
|
|
16
|
-
|
|
18
|
+
private readonly $$dateNavRange;
|
|
19
|
+
private readonly $$anchor;
|
|
17
20
|
bem: import("../../../internal/utils").Bem;
|
|
18
21
|
DateNavRange: typeof DateNavRange;
|
|
19
|
-
monthBeforeYear
|
|
22
|
+
$monthBeforeYear: import("@angular/core").Signal<boolean>;
|
|
23
|
+
$headerRange: import("@angular/core").Signal<{
|
|
24
|
+
start: {
|
|
25
|
+
year: string;
|
|
26
|
+
month: string;
|
|
27
|
+
};
|
|
28
|
+
end: {
|
|
29
|
+
year: string;
|
|
30
|
+
month: string;
|
|
31
|
+
};
|
|
32
|
+
}>;
|
|
20
33
|
constructor(i18nService: I18nService);
|
|
21
34
|
shouldShowNav(type: DateNavRange, side: Side): boolean;
|
|
22
35
|
compareNavValue(type: DateNavRange, constrain: Dayjs, anchor: Dayjs): 1 | 0 | -1;
|
|
@@ -1,40 +1,64 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, computed, signal, } from '@angular/core';
|
|
3
3
|
import dayjs from 'dayjs';
|
|
4
|
-
import { map, startWith } from 'rxjs';
|
|
5
4
|
import { ButtonComponent } from '../../../button/button.component';
|
|
6
5
|
import { I18nPipe } from '../../../i18n';
|
|
7
6
|
import { IconComponent } from '../../../icon/icon.component';
|
|
8
|
-
import { buildBem
|
|
9
|
-
import { DateNavRange, Side
|
|
10
|
-
import {
|
|
7
|
+
import { buildBem } from '../../../internal/utils';
|
|
8
|
+
import { DateNavRange, Side } from '../../date-picker.type';
|
|
9
|
+
import { MONTH, YEAR } from '../constant';
|
|
11
10
|
import { calcRangeValue } from '../util';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
12
|
import * as i1 from "../../../i18n";
|
|
14
13
|
const bem = buildBem('aui-calendar-header');
|
|
15
14
|
export class CalendarHeaderComponent {
|
|
15
|
+
get dateNavRange() {
|
|
16
|
+
return this.$$dateNavRange();
|
|
17
|
+
}
|
|
18
|
+
set dateNavRange(val) {
|
|
19
|
+
if (!val || this.$$dateNavRange() === val) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.$$dateNavRange.set(val);
|
|
23
|
+
}
|
|
24
|
+
get anchor() {
|
|
25
|
+
return this.$$anchor();
|
|
26
|
+
}
|
|
27
|
+
set anchor(val) {
|
|
28
|
+
if (!val || this.$$anchor() === val) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.$$anchor.set(val);
|
|
32
|
+
}
|
|
16
33
|
get _maxAvail() {
|
|
17
34
|
return this.maxAvail ? dayjs(this.maxAvail) : null;
|
|
18
35
|
}
|
|
19
36
|
get _minAvail() {
|
|
20
37
|
return this.minAvail ? dayjs(this.minAvail) : null;
|
|
21
38
|
}
|
|
22
|
-
get headerRange() {
|
|
23
|
-
return calcRangeValue(this.dateNavRange, this.anchor);
|
|
24
|
-
}
|
|
25
39
|
constructor(i18nService) {
|
|
26
40
|
this.i18nService = i18nService;
|
|
27
|
-
this.dateNavRange = DateNavRange.Month;
|
|
28
|
-
this.anchor = dayjs();
|
|
29
41
|
this.navRangeChange = new EventEmitter();
|
|
30
42
|
this.anchorChange = new EventEmitter();
|
|
43
|
+
this.$$dateNavRange = signal(DateNavRange.Month);
|
|
44
|
+
this.$$anchor = signal(dayjs());
|
|
31
45
|
this.bem = bem;
|
|
32
46
|
this.DateNavRange = DateNavRange;
|
|
33
|
-
this
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
47
|
+
this.$monthBeforeYear = this.i18nService.$monthBeforeYear;
|
|
48
|
+
this.$headerRange = computed(() => {
|
|
49
|
+
const locale = this.i18nService.$locale();
|
|
50
|
+
const [start, end] = Object.values(calcRangeValue(this.$$dateNavRange(), this.$$anchor())).map(date => date.toDate());
|
|
51
|
+
return {
|
|
52
|
+
start: {
|
|
53
|
+
year: start.toLocaleDateString(locale, { year: 'numeric' }),
|
|
54
|
+
month: start.toLocaleDateString(locale, { month: 'short' }),
|
|
55
|
+
},
|
|
56
|
+
end: {
|
|
57
|
+
year: end?.toLocaleDateString(locale, { year: 'numeric' }),
|
|
58
|
+
month: end?.toLocaleDateString(locale, { month: 'short' }),
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
});
|
|
38
62
|
this.clickNav = (range) => {
|
|
39
63
|
if (![DateNavRange.Month, DateNavRange.Year].includes(range)) {
|
|
40
64
|
return;
|
|
@@ -87,18 +111,11 @@ export class CalendarHeaderComponent {
|
|
|
87
111
|
this.anchorChange.next(anchor);
|
|
88
112
|
}
|
|
89
113
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CalendarHeaderComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: CalendarHeaderComponent, isStandalone: true, selector: "aui-calendar-header", inputs: { dateNavRange: "dateNavRange", anchor: "anchor", maxAvail: "maxAvail", minAvail: "minAvail" }, outputs: { navRangeChange: "navRangeChange", anchorChange: "anchorChange" }, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <ng-container\n [ngTemplateOutlet]=\"
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: CalendarHeaderComponent, isStandalone: true, selector: "aui-calendar-header", inputs: { dateNavRange: "dateNavRange", anchor: "anchor", maxAvail: "maxAvail", minAvail: "minAvail" }, outputs: { navRangeChange: "navRangeChange", anchorChange: "anchorChange" }, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <ng-container\n [ngTemplateOutlet]=\"$monthBeforeYear() ? monthTemplate : yearTemplate\"\n ></ng-container>\n <div class=\"separator\"></div>\n <ng-container\n [ngTemplateOutlet]=\"$monthBeforeYear() ? yearTemplate : monthTemplate\"\n ></ng-container>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <button\n aui-button=\"text\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ $headerRange().start.year }}\n </button>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ $headerRange().start.year }} - {{ $headerRange().end.year }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template\n #yearControl\n let-side=\"side\"\n>\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template\n #decadeControl\n let-side=\"side\"\n>\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n\n<ng-template #yearTemplate>\n <button\n aui-button=\"text\"\n class=\"header-range\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ $headerRange().start.year }}\n </button>\n</ng-template>\n<ng-template #monthTemplate>\n <button\n aui-button=\"text\"\n class=\"header-range\"\n (click)=\"clickNav(DateNavRange.Month)\"\n >\n {{ $headerRange().start.month }}\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;max-width:calc(100% - var(--aui-inline-height-xs) * 4 - 4px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;font-size:var(--aui-font-size-l);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bolder)}.aui-calendar-header__nav-content .separator{margin:0 var(--aui-spacing-s)}.aui-calendar-header__nav-content .aui-button--text{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content .aui-button--text .aui-button__content{font-size:var(--aui-font-size-l);font-weight:var(--aui-font-weight-bolder);padding:0}.aui-calendar-header__nav-content .aui-button--text:hover{background-color:transparent;color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content .aui-button--text+.aui-button--text{margin-left:0}.aui-calendar-header__nav-content .aui-button--text.header-range{max-width:100%}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
91
115
|
}
|
|
92
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
|
|
93
117
|
type: Component,
|
|
94
|
-
args: [{ selector: 'aui-calendar-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
95
|
-
NgIf,
|
|
96
|
-
NgTemplateOutlet,
|
|
97
|
-
ButtonComponent,
|
|
98
|
-
IconComponent,
|
|
99
|
-
I18nPipe,
|
|
100
|
-
AsyncPipe,
|
|
101
|
-
], template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n (monthBeforeYear$ | async) ? monthTemplate : yearTemplate\n \"\n ></ng-container>\n <div class=\"separator\">\n <span *ngIf=\"!('year_suffix' | auiI18n) && !('month_suffix' | auiI18n)\">\n /\n </span>\n </div>\n <ng-container\n [ngTemplateOutlet]=\"\n (monthBeforeYear$ | async) ? yearTemplate : monthTemplate\n \"\n ></ng-container>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <button\n aui-button=\"text\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </button>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template\n #yearControl\n let-side=\"side\"\n>\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template\n #decadeControl\n let-side=\"side\"\n>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n\n<ng-template #yearTemplate>\n <button\n aui-button=\"text\"\n class=\"header-range\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </button>\n</ng-template>\n<ng-template #monthTemplate>\n <button\n aui-button=\"text\"\n class=\"header-range\"\n (click)=\"clickNav(DateNavRange.Month)\"\n >\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;max-width:calc(100% - 100px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;font-size:var(--aui-font-size-l);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bolder)}.aui-calendar-header__nav-content .separator{margin:0 var(--aui-spacing-s)}.aui-calendar-header__nav-content .aui-button--text{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content .aui-button--text .aui-button__content{font-size:var(--aui-font-size-l);font-weight:var(--aui-font-weight-bolder);padding:0}.aui-calendar-header__nav-content .aui-button--text:hover{background-color:transparent;color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content .aui-button--text+.aui-button--text{margin-left:0}.aui-calendar-header__nav-content .aui-button--text.header-range{max-width:100%}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"] }]
|
|
118
|
+
args: [{ selector: 'aui-calendar-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, ButtonComponent, IconComponent, I18nPipe], template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <ng-container\n [ngTemplateOutlet]=\"$monthBeforeYear() ? monthTemplate : yearTemplate\"\n ></ng-container>\n <div class=\"separator\"></div>\n <ng-container\n [ngTemplateOutlet]=\"$monthBeforeYear() ? yearTemplate : monthTemplate\"\n ></ng-container>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <button\n aui-button=\"text\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ $headerRange().start.year }}\n </button>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ $headerRange().start.year }} - {{ $headerRange().end.year }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template\n #yearControl\n let-side=\"side\"\n>\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template\n #decadeControl\n let-side=\"side\"\n>\n <button\n aui-button=\"text\"\n size=\"mini\"\n [square]=\"true\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angles_left' : 'angles_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n\n<ng-template #yearTemplate>\n <button\n aui-button=\"text\"\n class=\"header-range\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ $headerRange().start.year }}\n </button>\n</ng-template>\n<ng-template #monthTemplate>\n <button\n aui-button=\"text\"\n class=\"header-range\"\n (click)=\"clickNav(DateNavRange.Month)\"\n >\n {{ $headerRange().start.month }}\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;max-width:calc(100% - var(--aui-inline-height-xs) * 4 - 4px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;font-size:var(--aui-font-size-l);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bolder)}.aui-calendar-header__nav-content .separator{margin:0 var(--aui-spacing-s)}.aui-calendar-header__nav-content .aui-button--text{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content .aui-button--text .aui-button__content{font-size:var(--aui-font-size-l);font-weight:var(--aui-font-weight-bolder);padding:0}.aui-calendar-header__nav-content .aui-button--text:hover{background-color:transparent;color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content .aui-button--text+.aui-button--text{margin-left:0}.aui-calendar-header__nav-content .aui-button--text.header-range{max-width:100%}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"] }]
|
|
102
119
|
}], ctorParameters: function () { return [{ type: i1.I18nService }]; }, propDecorators: { dateNavRange: [{
|
|
103
120
|
type: Input
|
|
104
121
|
}], anchor: [{
|
|
@@ -112,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
112
129
|
}], anchorChange: [{
|
|
113
130
|
type: Output
|
|
114
131
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL2hlYWRlci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvaGVhZGVyL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUE0QixNQUFNLE9BQU8sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBRUwsWUFBWSxFQUNaLElBQUksR0FDTCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFFekMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFrQjVDLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFD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QUM7Z0JBQ3ZDLE1BQU07YUFDUDtZQUNELEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDdEMsTUFBTTthQUNQO1NBQ0Y7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOzhHQXRHVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixvUUMxQ3BDLHUxSEE4SUEsMG5DRDVHSSxJQUFJLDZGQUNKLGdCQUFnQixvSkFDaEIsZUFBZSxzSUFDZixhQUFhLHVKQUNiLFFBQVEsMkNBQ1IsU0FBUzs7MkZBR0EsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDRSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixTQUFTO3FCQUNWO2tHQUlELFlBQVk7c0JBRFgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQVFOLFFBQVE7c0JBRFAsS0FBSztnQkFRTixjQUFjO3NCQURiLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzLCB7IENvbmZpZ1R5cGUsIERheWpzIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSTE4blBpcGUsIEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaTE4bic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBidWlsZEJlbSwgcHVibGlzaFJlZiB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFsL3V0aWxzJztcbmltcG9ydCB7XG4gIENhbGVuZGFySGVhZGVyUmFuZ2UsXG4gIERhdGVOYXZSYW5nZSxcbiAgU2lkZSxcbn0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyVHlwZSwgTU9OVEgsIFlFQVIgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQgeyBjYWxjUmFuZ2VWYWx1ZSB9IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWNhbGVuZGFyLWhlYWRlcicpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktY2FsZW5kYXItaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEkxOG5QaXBlLFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBkYXRlTmF2UmFuZ2UgPSBEYXRlTmF2UmFuZ2UuTW9udGg7XG5cbiAgQElucHV0KClcbiAgYW5jaG9yID0gZGF5anMoKTtcblxuICBASW5wdXQoKVxuICBtYXhBdmFpbD86IENvbmZpZ1R5cGU7XG5cbiAgcHJpdmF0ZSBnZXQgX21heEF2YWlsKCkge1xuICAgIHJldHVybiB0aGlzLm1heEF2YWlsID8gZGF5anModGhpcy5tYXhBdmFpbCkgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgbWluQXZhaWw/OiBDb25maWdUeXBlO1xuXG4gIHByaXZhdGUgZ2V0IF9taW5BdmFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5taW5BdmFpbCA/IGRheWpzKHRoaXMubWluQXZhaWwpIDogbnVsbDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBuYXZSYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZU5hdlJhbmdlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBhbmNob3JDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERheWpzPigpO1xuXG4gIGdldCBoZWFkZXJSYW5nZSgpOiBDYWxlbmRhckhlYWRlclJhbmdlIHtcbiAgICByZXR1cm4gY2FsY1JhbmdlVmFsdWUodGhpcy5kYXRlTmF2UmFuZ2UsIHRoaXMuYW5jaG9yKTtcbiAgfVxuXG4gIGJlbSA9IGJlbTtcblxuICBEYXRlTmF2UmFuZ2UgPSBEYXRlTmF2UmFuZ2U7XG5cbiAgbW9udGhCZWZvcmVZZWFyJCA9IHRoaXMuaTE4blNlcnZpY2UubG9jYWxlQ2hhbmdlJC5waXBlKFxuICAgIG1hcChsb2NhbGUgPT4ge1xuICAgICAgY29uc3QgcGFydHMgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGUpLmZvcm1hdFRvUGFydHMobmV3IERhdGUoKSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBwYXJ0cy5maW5kSW5kZXgocGFydCA9PiBwYXJ0LnR5cGUgPT09IERhdGVQaWNrZXJUeXBlLk1vbnRoKSA8XG4gICAgICAgIHBhcnRzLmZpbmRJbmRleChwYXJ0ID0+IHBhcnQudHlwZSA9PT0gRGF0ZVBpY2tlclR5cGUuWWVhcilcbiAgICAgICk7XG4gICAgfSksXG4gICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHt9XG5cbiAgLy8gbWF4QXZhaWwgPiBjdXJyZW50IGRhdGUg77yacmlnaHQgYnRuIGhpZGVcbiAgLy8gbWluQXZhaWwgPiBjdXJyZW50IGRhdGUg77yabGVmdCBidG4gaGlkZVxuICBzaG91bGRTaG93TmF2KHR5cGU6IERhdGVOYXZSYW5nZSwgc2lkZTogU2lkZSkge1xuICAgIGNvbnN0IGF2YWlsVmFsdWUgPSAoXG4gICAgICBzaWRlID09PSBTaWRlLkxlZnQgPyB0aGlzLl9taW5BdmFpbCA6IHRoaXMuX21heEF2YWlsXG4gICAgKT8uY2xvbmUoKTtcbiAgICBpZiAoIWF2YWlsVmFsdWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyDlr7nkuo7lubTnmoTliKTliKvvvIwyMDE0LTUtMeiHszIwMTUtNi0x5pel77yM5LuN5b2T5bGV56S65oyJ6ZKuXG4gICAgY29uc3QgY29uc3RyYWluRGF0ZSA9IFtEYXRlTmF2UmFuZ2UuTW9udGgsIERhdGVOYXZSYW5nZS5ZZWFyXS5pbmNsdWRlcyh0eXBlKVxuICAgICAgPyBhdmFpbFZhbHVlLmFkZChzaWRlID09PSBTaWRlLkxlZnQgPyAxIDogLTEsIHR5cGUgYXMgJ21vbnRoJyB8ICd5ZWFyJylcbiAgICAgIDogYXZhaWxWYWx1ZTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb21wYXJlTmF2VmFsdWUodHlwZSwgY29uc3RyYWluRGF0ZSwgdGhpcy5hbmNob3IpID09PVxuICAgICAgKHNpZGUgPT09IFNpZGUuTGVmdCA/IC0xIDogMSlcbiAgICApO1xuICB9XG5cbiAgLy8gQHJldHVybiBpc0JldHdlZW58aXNFcXVhbDowLCBpc0JlZm9yZTotMSxpc0FmdGVyOjFcbiAgY29tcGFyZU5hdlZhbHVlKHR5cGU6IERhdGVOYXZSYW5nZSwgY29uc3RyYWluOiBEYXlqcywgYW5jaG9yOiBEYXlqcykge1xuICAgIGNvbnN0IHJhbmdlID0gY2FsY1JhbmdlVmFsdWUodHlwZSwgYW5jaG9yKTtcbiAgICBjb25zdCBjb25zdHJhaW5WYWx1ZSA9IGNvbnN0cmFpbjtcbiAgICBpZiAodHlwZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZSkge1xuICAgICAgaWYgKGNvbnN0cmFpblZhbHVlLmlzQmV0d2VlbihyYW5nZS5zdGFydCwgcmFuZ2UuZW5kLCBZRUFSKSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb25zdHJhaW5WYWx1ZS5pc0JlZm9yZShyYW5nZS5zdGFydCkgPyAtMSA6IDE7XG4gICAgfVxuICAgIHJldHVybiBjb25zdHJhaW5WYWx1ZS5pc1NhbWUocmFuZ2Uuc3RhcnQsIE1PTlRIKVxuICAgICAgPyAwXG4gICAgICA6IGNvbnN0cmFpblZhbHVlLmlzQmVmb3JlKHJhbmdlLnN0YXJ0LCBNT05USClcbiAgICAgID8gLTFcbiAgICAgIDogMTtcbiAgfVxuXG4gIG5hdkhlYWQocmFuZ2U6IERhdGVOYXZSYW5nZSwgdmFsdWU6IG51bWJlcikge1xuICAgIGxldCBhbmNob3I6IERheWpzO1xuICAgIHN3aXRjaCAocmFuZ2UpIHtcbiAgICAgIGNhc2UgRGF0ZU5hdlJhbmdlLk1vbnRoOiB7XG4gICAgICAgIGFuY2hvciA9IHRoaXMuYW5jaG9yLmFkZCh2YWx1ZSwgTU9OVEgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgRGF0ZU5hdlJhbmdlLlllYXI6IHtcbiAgICAgICAgYW5jaG9yID0gdGhpcy5hbmNob3IuYWRkKHZhbHVlLCBZRUFSKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERhdGVOYXZSYW5nZS5EZWNhZGU6IHtcbiAgICAgICAgYW5jaG9yID0gdGhpcy5hbmNob3IuYWRkKHZhbHVlLCBZRUFSKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuYW5jaG9yQ2hhbmdlLm5leHQoYW5jaG9yKTtcbiAgfVxuXG4gIGNsaWNrTmF2ID0gKHJhbmdlOiBEYXRlTmF2UmFuZ2UpID0+IHtcbiAgICBpZiAoIVtEYXRlTmF2UmFuZ2UuTW9udGgsIERhdGVOYXZSYW5nZS5ZZWFyXS5pbmNsdWRlcyhyYW5nZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5uYXZSYW5nZUNoYW5nZS5uZXh0KFxuICAgICAgcmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCA/IERhdGVOYXZSYW5nZS5ZZWFyIDogRGF0ZU5hdlJhbmdlLkRlY2FkZSxcbiAgICApO1xuICB9O1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbnRhaW5lcicpXCI+XG4gIDxkaXY+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5EZWNhZGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwieWVhckNvbnRyb2xcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2lkZTogJ2xlZnQnIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlY2FkZUNvbnRyb2xcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2lkZTogJ2xlZnQnIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDwhLS0g5YaF5a655Yy6IC0tPlxuICA8c3BhblxuICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuTW9udGhcIlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnbmF2LWNvbnRlbnQnKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgKG1vbnRoQmVmb3JlWWVhciQgfCBhc3luYykgPyBtb250aFRlbXBsYXRlIDogeWVhclRlbXBsYXRlXG4gICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cIiEoJ3llYXJfc3VmZml4JyB8IGF1aUkxOG4pICYmICEoJ21vbnRoX3N1ZmZpeCcgfCBhdWlJMThuKVwiPlxuICAgICAgICAvXG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiXG4gICAgICAgIChtb250aEJlZm9yZVllYXIkIHwgYXN5bmMpID8geWVhclRlbXBsYXRlIDogbW9udGhUZW1wbGF0ZVxuICAgICAgXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cblxuICA8c3BhblxuICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhclwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtY29udGVudCcpXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgIChjbGljayk9XCJjbGlja05hdihEYXRlTmF2UmFuZ2UuWWVhcilcIlxuICAgID5cbiAgICAgIHt7IGhlYWRlclJhbmdlPy5zdGFydD8ueWVhcigpIH19e3sgJ3llYXJfc3VmZml4JyB8IGF1aUkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zcGFuPlxuXG4gIDxzcGFuXG4gICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGVcIlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnbmF2LWNvbnRlbnQnKVwiXG4gID5cbiAgICB7eyBoZWFkZXJSYW5nZT8uc3RhcnQueWVhcigpIH19IC0ge3sgaGVhZGVyUmFuZ2U/LmVuZD8ueWVhcigpIH19XG4gIDwvc3Bhbj5cblxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnbmF2LWFjdGlvbicpXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5EZWNhZGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwieWVhckNvbnRyb2xcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2lkZTogJ3JpZ2h0JyB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cImRhdGVOYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWNhZGVDb250cm9sXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNpZGU6ICdyaWdodCcgfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgI3llYXJDb250cm9sXG4gIGxldC1zaWRlPVwic2lkZVwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiYWN0aW9uLWJhclwiPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICpuZ0lmPVwic2lkZSA9PT0gJ3JpZ2h0J1wiXG4gICAgICBbY2xhc3MuaGlkZGVuXT1cIlxuICAgICAgICAhc2hvdWxkU2hvd05hdihEYXRlTmF2UmFuZ2UuTW9udGgsIHNpZGUpIHx8XG4gICAgICAgIGRhdGVOYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLk1vbnRoXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLk1vbnRoLCAxKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9yaWdodFwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLlllYXIsIHNpZGUgPT09ICdsZWZ0JyA/IC0xIDogMSlcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCIhc2hvdWxkU2hvd05hdihEYXRlTmF2UmFuZ2UuWWVhciwgc2lkZSlcIlxuICAgID5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBbaWNvbl09XCJzaWRlID09PSAnbGVmdCcgPyAnYW5nbGVzX2xlZnQnIDogJ2FuZ2xlc19yaWdodCdcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKm5nSWY9XCJzaWRlID09PSAnbGVmdCdcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCJcbiAgICAgICAgIXNob3VsZFNob3dOYXYoRGF0ZU5hdlJhbmdlLk1vbnRoLCBzaWRlKSB8fFxuICAgICAgICBkYXRlTmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5Nb250aFxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJuYXZIZWFkKERhdGVOYXZSYW5nZS5Nb250aCwgLTEpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2xlZnRcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlY2FkZUNvbnRyb2xcbiAgbGV0LXNpZGU9XCJzaWRlXCJcbj5cbiAgPGJ1dHRvblxuICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAoY2xpY2spPVwibmF2SGVhZChEYXRlTmF2UmFuZ2UuRGVjYWRlLCBzaWRlID09PSAnbGVmdCcgPyAtMTAgOiAxMClcIlxuICAgIFtjbGFzcy5oaWRkZW5dPVwiIXNob3VsZFNob3dOYXYoRGF0ZU5hdlJhbmdlLkRlY2FkZSwgc2lkZSlcIlxuICA+XG4gICAgPGF1aS1pY29uXG4gICAgICBbaWNvbl09XCJzaWRlID09PSAnbGVmdCcgPyAnYW5nbGVzX2xlZnQnIDogJ2FuZ2xlc19yaWdodCdcIlxuICAgID48L2F1aS1pY29uPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjeWVhclRlbXBsYXRlPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIGNsYXNzPVwiaGVhZGVyLXJhbmdlXCJcbiAgICAoY2xpY2spPVwiY2xpY2tOYXYoRGF0ZU5hdlJhbmdlLlllYXIpXCJcbiAgPlxuICAgIHt7IGhlYWRlclJhbmdlPy5zdGFydD8ueWVhcigpIH19e3sgJ3llYXJfc3VmZml4JyB8IGF1aUkxOG4gfX1cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNtb250aFRlbXBsYXRlPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIGNsYXNzPVwiaGVhZGVyLXJhbmdlXCJcbiAgICAoY2xpY2spPVwiY2xpY2tOYXYoRGF0ZU5hdlJhbmdlLk1vbnRoKVwiXG4gID5cbiAgICB7eyBoZWFkZXJSYW5nZT8uc3RhcnQ/Lm1vbnRoKCkgKyAxIH19e3sgJ21vbnRoX3N1ZmZpeCcgfCBhdWlJMThuIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL2hlYWRlci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvaGVhZGVyL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBNEIsTUFBTSxPQUFPLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQUV6QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQVc1QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLElBQ0ksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxHQUFHO1FBQ2xCLElBQUks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QUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOzhHQS9IVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixvUUNoQ3BDLHF3SEE4SUEsMHBDRGhIWSxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxlQUFlLHNJQUFFLGFBQWE7OzJGQUVyRCx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0UscUJBQXFCLGlCQUdoQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQztrR0FJdkUsWUFBWTtzQkFEZixLQUFLO2dCQWFGLE1BQU07c0JBRFQsS0FBSztnQkFhTixRQUFRO3NCQURQLEtBQUs7Z0JBUU4sUUFBUTtzQkFEUCxLQUFLO2dCQVFOLGNBQWM7c0JBRGIsTUFBTTtnQkFJUCxZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzLCB7IENvbmZpZ1R5cGUsIERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJMThuUGlwZSwgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9pMThuJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IGJ1aWxkQmVtIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWwvdXRpbHMnO1xuaW1wb3J0IHsgRGF0ZU5hdlJhbmdlLCBTaWRlIH0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBNT05USCwgWUVBUiB9IGZyb20gJy4uL2NvbnN0YW50JztcbmltcG9ydCB7IGNhbGNSYW5nZVZhbHVlIH0gZnJvbSAnLi4vdXRpbCc7XG5cbmNvbnN0IGJlbSA9IGJ1aWxkQmVtKCdhdWktY2FsZW5kYXItaGVhZGVyJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1jYWxlbmRhci1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBCdXR0b25Db21wb25lbnQsIEljb25Db21wb25lbnQsIEkxOG5QaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBnZXQgZGF0ZU5hdlJhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLiQkZGF0ZU5hdlJhbmdlKCk7XG4gIH1cblxuICBzZXQgZGF0ZU5hdlJhbmdlKHZhbCkge1xuICAgIGlmICghdmFsIHx8IHRoaXMuJCRkYXRlTmF2UmFuZ2UoKSA9PT0gdmFsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuJCRkYXRlTmF2UmFuZ2Uuc2V0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgYW5jaG9yKCkge1xuICAgIHJldHVybiB0aGlzLiQkYW5jaG9yKCk7XG4gIH1cblxuICBzZXQgYW5jaG9yKHZhbCkge1xuICAgIGlmICghdmFsIHx8IHRoaXMuJCRhbmNob3IoKSA9PT0gdmFsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuJCRhbmNob3Iuc2V0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBtYXhBdmFpbD86IENvbmZpZ1R5cGU7XG5cbiAgcHJpdmF0ZSBnZXQgX21heEF2YWlsKCkge1xuICAgIHJldHVybiB0aGlzLm1heEF2YWlsID8gZGF5anModGhpcy5tYXhBdmFpbCkgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgbWluQXZhaWw/OiBDb25maWdUeXBlO1xuXG4gIHByaXZhdGUgZ2V0IF9taW5BdmFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5taW5BdmFpbCA/IGRheWpzKHRoaXMubWluQXZhaWwpIDogbnVsbDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBuYXZSYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZU5hdlJhbmdlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBhbmNob3JDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERheWpzPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgJCRkYXRlTmF2UmFuZ2UgPSBzaWduYWwoRGF0ZU5hdlJhbmdlLk1vbnRoKTtcbiAgcHJpdmF0ZSByZWFkb25seSAkJGFuY2hvciA9IHNpZ25hbChkYXlqcygpKTtcblxuICBiZW0gPSBiZW07XG5cbiAgRGF0ZU5hdlJhbmdlID0gRGF0ZU5hdlJhbmdlO1xuXG4gICRtb250aEJlZm9yZVllYXIgPSB0aGlzLmkxOG5TZXJ2aWNlLiRtb250aEJlZm9yZVllYXI7XG5cbiAgJGhlYWRlclJhbmdlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2UuJGxvY2FsZSgpO1xuICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IE9iamVjdC52YWx1ZXMoXG4gICAgICBjYWxjUmFuZ2VWYWx1ZSh0aGlzLiQkZGF0ZU5hdlJhbmdlKCksIHRoaXMuJCRhbmNob3IoKSksXG4gICAgKS5tYXAoZGF0ZSA9PiBkYXRlLnRvRGF0ZSgpKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdGFydDoge1xuICAgICAgICB5ZWFyOiBzdGFydC50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7IHllYXI6ICdudW1lcmljJyB9KSxcbiAgICAgICAgbW9udGg6IHN0YXJ0LnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIHsgbW9udGg6ICdzaG9ydCcgfSksXG4gICAgICB9LFxuICAgICAgZW5kOiB7XG4gICAgICAgIHllYXI6IGVuZD8udG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSksXG4gICAgICAgIG1vbnRoOiBlbmQ/LnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUsIHsgbW9udGg6ICdzaG9ydCcgfSksXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlKSB7fVxuXG4gIC8vIG1heEF2YWlsID4gY3VycmVudCBkYXRlIO+8mnJpZ2h0IGJ0biBoaWRlXG4gIC8vIG1pbkF2YWlsID4gY3VycmVudCBkYXRlIO+8mmxlZnQgYnRuIGhpZGVcbiAgc2hvdWxkU2hvd05hdih0eXBlOiBEYXRlTmF2UmFuZ2UsIHNpZGU6IFNpZGUpIHtcbiAgICBjb25zdCBhdmFpbFZhbHVlID0gKFxuICAgICAgc2lkZSA9PT0gU2lkZS5MZWZ0ID8gdGhpcy5fbWluQXZhaWwgOiB0aGlzLl9tYXhBdmFpbFxuICAgICk/LmNsb25lKCk7XG4gICAgaWYgKCFhdmFpbFZhbHVlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8g5a+55LqO5bm055qE5Yik5Yir77yMMjAxNC01LTHoh7MyMDE1LTYtMeaXpe+8jOS7jeW9k+WxleekuuaMiemSrlxuICAgIGNvbnN0IGNvbnN0cmFpbkRhdGUgPSBbRGF0ZU5hdlJhbmdlLk1vbnRoLCBEYXRlTmF2UmFuZ2UuWWVhcl0uaW5jbHVkZXModHlwZSlcbiAgICAgID8gYXZhaWxWYWx1ZS5hZGQoc2lkZSA9PT0gU2lkZS5MZWZ0ID8gMSA6IC0xLCB0eXBlIGFzICdtb250aCcgfCAneWVhcicpXG4gICAgICA6IGF2YWlsVmFsdWU7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29tcGFyZU5hdlZhbHVlKHR5cGUsIGNvbnN0cmFpbkRhdGUsIHRoaXMuYW5jaG9yKSA9PT1cbiAgICAgIChzaWRlID09PSBTaWRlLkxlZnQgPyAtMSA6IDEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIEByZXR1cm4gaXNCZXR3ZWVufGlzRXF1YWw6MCwgaXNCZWZvcmU6LTEsaXNBZnRlcjoxXG4gIGNvbXBhcmVOYXZWYWx1ZSh0eXBlOiBEYXRlTmF2UmFuZ2UsIGNvbnN0cmFpbjogRGF5anMsIGFuY2hvcjogRGF5anMpIHtcbiAgICBjb25zdCByYW5nZSA9IGNhbGNSYW5nZVZhbHVlKHR5cGUsIGFuY2hvcik7XG4gICAgY29uc3QgY29uc3RyYWluVmFsdWUgPSBjb25zdHJhaW47XG4gICAgaWYgKHR5cGUgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgIGlmIChjb25zdHJhaW5WYWx1ZS5pc0JldHdlZW4ocmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZCwgWUVBUikpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29uc3RyYWluVmFsdWUuaXNCZWZvcmUocmFuZ2Uuc3RhcnQpID8gLTEgOiAxO1xuICAgIH1cbiAgICByZXR1cm4gY29uc3RyYWluVmFsdWUuaXNTYW1lKHJhbmdlLnN0YXJ0LCBNT05USClcbiAgICAgID8gMFxuICAgICAgOiBjb25zdHJhaW5WYWx1ZS5pc0JlZm9yZShyYW5nZS5zdGFydCwgTU9OVEgpXG4gICAgICA/IC0xXG4gICAgICA6IDE7XG4gIH1cblxuICBuYXZIZWFkKHJhbmdlOiBEYXRlTmF2UmFuZ2UsIHZhbHVlOiBudW1iZXIpIHtcbiAgICBsZXQgYW5jaG9yOiBEYXlqcztcbiAgICBzd2l0Y2ggKHJhbmdlKSB7XG4gICAgICBjYXNlIERhdGVOYXZSYW5nZS5Nb250aDoge1xuICAgICAgICBhbmNob3IgPSB0aGlzLmFuY2hvci5hZGQodmFsdWUsIE1PTlRIKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERhdGVOYXZSYW5nZS5ZZWFyOiB7XG4gICAgICAgIGFuY2hvciA9IHRoaXMuYW5jaG9yLmFkZCh2YWx1ZSwgWUVBUik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBEYXRlTmF2UmFuZ2UuRGVjYWRlOiB7XG4gICAgICAgIGFuY2hvciA9IHRoaXMuYW5jaG9yLmFkZCh2YWx1ZSwgWUVBUik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmFuY2hvckNoYW5nZS5uZXh0KGFuY2hvcik7XG4gIH1cblxuICBjbGlja05hdiA9IChyYW5nZTogRGF0ZU5hdlJhbmdlKSA9PiB7XG4gICAgaWYgKCFbRGF0ZU5hdlJhbmdlLk1vbnRoLCBEYXRlTmF2UmFuZ2UuWWVhcl0uaW5jbHVkZXMocmFuZ2UpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubmF2UmFuZ2VDaGFuZ2UubmV4dChcbiAgICAgIHJhbmdlID09PSBEYXRlTmF2UmFuZ2UuTW9udGggPyBEYXRlTmF2UmFuZ2UuWWVhciA6IERhdGVOYXZSYW5nZS5EZWNhZGUsXG4gICAgKTtcbiAgfTtcbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb250YWluZXInKVwiPlxuICA8ZGl2PlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlICE9PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInllYXJDb250cm9sXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNpZGU6ICdsZWZ0JyB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cImRhdGVOYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWNhZGVDb250cm9sXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNpZGU6ICdsZWZ0JyB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8IS0tIOWGheWuueWMuiAtLT5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImRhdGVOYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoXCJcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ25hdi1jb250ZW50JylcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJG1vbnRoQmVmb3JlWWVhcigpID8gbW9udGhUZW1wbGF0ZSA6IHllYXJUZW1wbGF0ZVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkbW9udGhCZWZvcmVZZWFyKCkgPyB5ZWFyVGVtcGxhdGUgOiBtb250aFRlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cblxuICA8c3BhblxuICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhclwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtY29udGVudCcpXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgIChjbGljayk9XCJjbGlja05hdihEYXRlTmF2UmFuZ2UuWWVhcilcIlxuICAgID5cbiAgICAgIHt7ICRoZWFkZXJSYW5nZSgpLnN0YXJ0LnllYXIgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zcGFuPlxuXG4gIDxzcGFuXG4gICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGVcIlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnbmF2LWNvbnRlbnQnKVwiXG4gID5cbiAgICB7eyAkaGVhZGVyUmFuZ2UoKS5zdGFydC55ZWFyIH19IC0ge3sgJGhlYWRlclJhbmdlKCkuZW5kLnllYXIgfX1cbiAgPC9zcGFuPlxuXG4gIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtYWN0aW9uJylcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cImRhdGVOYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLkRlY2FkZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ5ZWFyQ29udHJvbFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzaWRlOiAncmlnaHQnIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlY2FkZUNvbnRyb2xcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2lkZTogJ3JpZ2h0JyB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjeWVhckNvbnRyb2xcbiAgbGV0LXNpZGU9XCJzaWRlXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tYmFyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgc2l6ZT1cIm1pbmlcIlxuICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICpuZ0lmPVwic2lkZSA9PT0gJ3JpZ2h0J1wiXG4gICAgICBbY2xhc3MuaGlkZGVuXT1cIlxuICAgICAgICAhc2hvdWxkU2hvd05hdihEYXRlTmF2UmFuZ2UuTW9udGgsIHNpZGUpIHx8XG4gICAgICAgIGRhdGVOYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLk1vbnRoXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLk1vbnRoLCAxKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9yaWdodFwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgc2l6ZT1cIm1pbmlcIlxuICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgIChjbGljayk9XCJuYXZIZWFkKERhdGVOYXZSYW5nZS5ZZWFyLCBzaWRlID09PSAnbGVmdCcgPyAtMSA6IDEpXCJcbiAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIXNob3VsZFNob3dOYXYoRGF0ZU5hdlJhbmdlLlllYXIsIHNpZGUpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgW2ljb25dPVwic2lkZSA9PT0gJ2xlZnQnID8gJ2FuZ2xlc19sZWZ0JyA6ICdhbmdsZXNfcmlnaHQnXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAqbmdJZj1cInNpZGUgPT09ICdsZWZ0J1wiXG4gICAgICBbY2xhc3MuaGlkZGVuXT1cIlxuICAgICAgICAhc2hvdWxkU2hvd05hdihEYXRlTmF2UmFuZ2UuTW9udGgsIHNpZGUpIHx8XG4gICAgICAgIGRhdGVOYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLk1vbnRoXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLk1vbnRoLCAtMSlcIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVfbGVmdFwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVjYWRlQ29udHJvbFxuICBsZXQtc2lkZT1cInNpZGVcIlxuPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIHNpemU9XCJtaW5pXCJcbiAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgIChjbGljayk9XCJuYXZIZWFkKERhdGVOYXZSYW5nZS5EZWNhZGUsIHNpZGUgPT09ICdsZWZ0JyA/IC0xMCA6IDEwKVwiXG4gICAgW2NsYXNzLmhpZGRlbl09XCIhc2hvdWxkU2hvd05hdihEYXRlTmF2UmFuZ2UuRGVjYWRlLCBzaWRlKVwiXG4gID5cbiAgICA8YXVpLWljb25cbiAgICAgIFtpY29uXT1cInNpZGUgPT09ICdsZWZ0JyA/ICdhbmdsZXNfbGVmdCcgOiAnYW5nbGVzX3JpZ2h0J1wiXG4gICAgPjwvYXVpLWljb24+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN5ZWFyVGVtcGxhdGU+XG4gIDxidXR0b25cbiAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgY2xhc3M9XCJoZWFkZXItcmFuZ2VcIlxuICAgIChjbGljayk9XCJjbGlja05hdihEYXRlTmF2UmFuZ2UuWWVhcilcIlxuICA+XG4gICAge3sgJGhlYWRlclJhbmdlKCkuc3RhcnQueWVhciB9fVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI21vbnRoVGVtcGxhdGU+XG4gIDxidXR0b25cbiAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgY2xhc3M9XCJoZWFkZXItcmFuZ2VcIlxuICAgIChjbGljayk9XCJjbGlja05hdihEYXRlTmF2UmFuZ2UuTW9udGgpXCJcbiAgPlxuICAgIHt7ICRoZWFkZXJSYW5nZSgpLnN0YXJ0Lm1vbnRoIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
import { Pipe
|
|
2
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "./i18n.service";
|
|
5
4
|
export class I18nPipe {
|
|
6
|
-
constructor(i18n
|
|
5
|
+
constructor(i18n) {
|
|
7
6
|
this.i18n = i18n;
|
|
8
|
-
this.cdr = cdr;
|
|
9
|
-
this.destroy$$ = new Subject();
|
|
10
|
-
this.i18n.localeChange$
|
|
11
|
-
.pipe(takeUntil(this.destroy$$))
|
|
12
|
-
.subscribe(() => this.cdr.markForCheck());
|
|
13
7
|
}
|
|
14
8
|
transform(value, data) {
|
|
15
9
|
return this.i18n.translate(value, data);
|
|
16
10
|
}
|
|
17
|
-
|
|
18
|
-
this.destroy$$.next();
|
|
19
|
-
this.destroy$$.complete();
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: I18nPipe, deps: [{ token: i1.I18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: I18nPipe, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
22
12
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: I18nPipe, isStandalone: true, name: "auiI18n", pure: false }); }
|
|
23
13
|
}
|
|
24
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: I18nPipe, decorators: [{
|
|
@@ -28,5 +18,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
28
18
|
pure: false,
|
|
29
19
|
standalone: true,
|
|
30
20
|
}]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i1.I18nService }
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.I18nService }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2kxOG4vaTE4bi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFTcEQsTUFBTSxPQUFPLFFBQVE7SUFDbkIsWUFBNkIsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7SUFFbEQsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUE2QjtRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQUxVLFFBQVE7NEdBQVIsUUFBUTs7MkZBQVIsUUFBUTtrQkFMcEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi9pMThuLnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhdWlJMThuJyxcbiAgcHVyZTogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaTE4bjogSTE4blNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50cmFuc2xhdGUodmFsdWUsIGRhdGEpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Injectable, computed, inject, isDevMode, signal } from '@angular/core';
|
|
2
|
+
import { DatePickerType } from '..';
|
|
3
3
|
import { I18NInterfaceToken } from './i18n.type';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class I18nService {
|
|
6
|
-
constructor(
|
|
7
|
-
this
|
|
8
|
-
this
|
|
9
|
-
this
|
|
10
|
-
.
|
|
11
|
-
.
|
|
6
|
+
constructor() {
|
|
7
|
+
this.$$i18n = signal(inject(I18NInterfaceToken));
|
|
8
|
+
this.$locale = computed(() => this.$$i18n().locale);
|
|
9
|
+
this.$monthBeforeYear = computed(() => {
|
|
10
|
+
const parts = new Intl.DateTimeFormat(this.$locale()).formatToParts(new Date());
|
|
11
|
+
return (parts.findIndex(part => part.type === DatePickerType.Month) <
|
|
12
|
+
parts.findIndex(part => part.type === DatePickerType.Year));
|
|
13
|
+
});
|
|
12
14
|
}
|
|
13
15
|
setI18n(i18n) {
|
|
14
|
-
this.
|
|
15
|
-
this.i18nChange$$.next(i18n);
|
|
16
|
-
}
|
|
17
|
-
get i18n() {
|
|
18
|
-
return this._i18n;
|
|
16
|
+
this.$$i18n.set(i18n);
|
|
19
17
|
}
|
|
20
18
|
translate(key, data, ignoreNonExist = false) {
|
|
21
|
-
let content = this.
|
|
19
|
+
let content = this.$$i18n().translation[key];
|
|
22
20
|
if (content == null) {
|
|
23
21
|
if (isDevMode() && !ignoreNonExist) {
|
|
24
22
|
console.warn(`No exist translate key for ${key}`);
|
|
@@ -30,7 +28,7 @@ export class I18nService {
|
|
|
30
28
|
}
|
|
31
29
|
return content;
|
|
32
30
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: I18nService, deps: [
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: I18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
32
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: I18nService, providedIn: 'root' }); }
|
|
35
33
|
}
|
|
36
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: I18nService, decorators: [{
|
|
@@ -38,8 +36,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
38
36
|
args: [{
|
|
39
37
|
providedIn: 'root',
|
|
40
38
|
}]
|
|
41
|
-
}]
|
|
42
|
-
|
|
43
|
-
args: [I18NInterfaceToken]
|
|
44
|
-
}] }]; } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2kxOG4vaTE4bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQWlCLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUtoRSxNQUFNLE9BQU8sV0FBVztJQUt0QixZQUFnRCxLQUFvQjtRQUFwQixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ2xFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZO2FBQ25DLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQW1CO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFNBQVMsQ0FDUCxHQUFXLEVBQ1gsSUFBNkIsRUFDN0IsY0FBYyxHQUFHLEtBQUs7UUFFdEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ25CLElBQUksU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDbkQ7WUFDRCxPQUFPLEdBQUcsQ0FBQztTQUNaO1FBQ0QsSUFBSSxJQUFJLEVBQUU7WUFDUixPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FDMUIsY0FBYyxFQUNkLENBQUMsUUFBUSxFQUFFLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUMxQyxDQUFDO1NBQ0g7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQXhDVSxXQUFXLGtCQUtGLGtCQUFrQjtrSEFMM0IsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNYyxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJMThOSW50ZXJmYWNlLCBJMThOSW50ZXJmYWNlVG9rZW4gfSBmcm9tICcuL2kxOG4udHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4bkNoYW5nZSQkOiBCZWhhdmlvclN1YmplY3Q8STE4TkludGVyZmFjZT47XG5cbiAgbG9jYWxlQ2hhbmdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoSTE4TkludGVyZmFjZVRva2VuKSBwcml2YXRlIF9pMThuOiBJMThOSW50ZXJmYWNlKSB7XG4gICAgdGhpcy5pMThuQ2hhbmdlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEkxOE5JbnRlcmZhY2U+KHRoaXMuX2kxOG4pO1xuICAgIHRoaXMubG9jYWxlQ2hhbmdlJCA9IHRoaXMuaTE4bkNoYW5nZSQkXG4gICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKG1hcChpMThuID0+IGkxOG4ubG9jYWxlKSk7XG4gIH1cblxuICBzZXRJMThuKGkxOG46IEkxOE5JbnRlcmZhY2UpIHtcbiAgICB0aGlzLl9pMThuID0gaTE4bjtcbiAgICB0aGlzLmkxOG5DaGFuZ2UkJC5uZXh0KGkxOG4pO1xuICB9XG5cbiAgZ2V0IGkxOG4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2kxOG47XG4gIH1cblxuICB0cmFuc2xhdGUoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgZGF0YT86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSxcbiAgKSB7XG4gICAgbGV0IGNvbnRlbnQgPSB0aGlzLl9pMThuLnRyYW5zbGF0aW9uW2tleV07XG4gICAgaWYgKGNvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpICYmICFpZ25vcmVOb25FeGlzdCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYE5vIGV4aXN0IHRyYW5zbGF0ZSBrZXkgZm9yICR7a2V5fWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGNvbnRlbnQgPSBjb250ZW50LnJlcGxhY2VBbGwoXG4gICAgICAgIC97eyhbXnt9XSspfX0vLFxuICAgICAgICAoX21hdGNoZWQsICQwOiBzdHJpbmcpID0+IGRhdGFbJDAudHJpbSgpXSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG59XG4iXX0=
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2kxOG4vaTE4bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEMsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLaEUsTUFBTSxPQUFPLFdBQVc7SUFIeEI7UUFJVyxXQUFNLEdBQUcsTUFBTSxDQUFnQixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBRXBFLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FDakUsSUFBSSxJQUFJLEVBQUUsQ0FDWCxDQUFDO1lBQ0YsT0FBTyxDQUNMLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxLQUFLLENBQUM7Z0JBQzNELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDM0QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBMEJKO0lBeEJDLE9BQU8sQ0FBQyxJQUFtQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUNQLEdBQVcsRUFDWCxJQUE2QixFQUM3QixjQUFjLEdBQUcsS0FBSztRQUV0QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNsQyxPQUFPLENBQUMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUNELElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQzFCLGNBQWMsRUFDZCxDQUFDLFFBQVEsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDMUMsQ0FBQztTQUNIO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs4R0F0Q1UsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBjb21wdXRlZCwgaW5qZWN0LCBpc0Rldk1vZGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEYXRlUGlja2VyVHlwZSB9IGZyb20gJy4uJztcblxuaW1wb3J0IHsgSTE4TkludGVyZmFjZSwgSTE4TkludGVyZmFjZVRva2VuIH0gZnJvbSAnLi9pMThuLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSTE4blNlcnZpY2Uge1xuICByZWFkb25seSAkJGkxOG4gPSBzaWduYWw8STE4TkludGVyZmFjZT4oaW5qZWN0KEkxOE5JbnRlcmZhY2VUb2tlbikpO1xuXG4gICRsb2NhbGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiQkaTE4bigpLmxvY2FsZSk7XG5cbiAgJG1vbnRoQmVmb3JlWWVhciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuJGxvY2FsZSgpKS5mb3JtYXRUb1BhcnRzKFxuICAgICAgbmV3IERhdGUoKSxcbiAgICApO1xuICAgIHJldHVybiAoXG4gICAgICBwYXJ0cy5maW5kSW5kZXgocGFydCA9PiBwYXJ0LnR5cGUgPT09IERhdGVQaWNrZXJUeXBlLk1vbnRoKSA8XG4gICAgICBwYXJ0cy5maW5kSW5kZXgocGFydCA9PiBwYXJ0LnR5cGUgPT09IERhdGVQaWNrZXJUeXBlLlllYXIpXG4gICAgKTtcbiAgfSk7XG5cbiAgc2V0STE4bihpMThuOiBJMThOSW50ZXJmYWNlKSB7XG4gICAgdGhpcy4kJGkxOG4uc2V0KGkxOG4pO1xuICB9XG5cbiAgdHJhbnNsYXRlKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgIGlnbm9yZU5vbkV4aXN0ID0gZmFsc2UsXG4gICkge1xuICAgIGxldCBjb250ZW50ID0gdGhpcy4kJGkxOG4oKS50cmFuc2xhdGlvbltrZXldO1xuICAgIGlmIChjb250ZW50ID09IG51bGwpIHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSAmJiAhaWdub3JlTm9uRXhpc3QpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBObyBleGlzdCB0cmFuc2xhdGUga2V5IGZvciAke2tleX1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBjb250ZW50ID0gY29udGVudC5yZXBsYWNlQWxsKFxuICAgICAgICAve3soW157fV0rKX19LyxcbiAgICAgICAgKF9tYXRjaGVkLCAkMDogc3RyaW5nKSA9PiBkYXRhWyQwLnRyaW0oKV0sXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxufVxuIl19
|