@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.
- package/CHANGELOG.md +16 -0
- package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +2 -4
- package/components/calendar/lib/calendar.config.d.ts +24 -93
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +0 -9
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +0 -9
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +7 -21
- package/components/calendar/lib/utils/get-A11y-label.d.ts +1 -2
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +2 -10
- package/esm2022/components/calendar/lib/calendar.config.mjs +1 -12
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +2 -2
- package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +22 -9
- package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +10 -8
- package/esm2022/internal/lib/helpers/fast-equals.mjs +3 -0
- package/esm2022/internal/lib/helpers/index.mjs +2 -1
- package/esm2022/localization/lib/localization.config.mjs +3 -5
- package/esm2022/localization/lib/localization.logger.mjs +3 -0
- package/esm2022/localization/lib/localization.service.mjs +20 -29
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs +1 -9
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +39 -34
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-internal.mjs +4 -1
- package/fesm2022/odx-angular-internal.mjs.map +1 -1
- package/fesm2022/odx-angular-localization.mjs +24 -32
- package/fesm2022/odx-angular-localization.mjs.map +1 -1
- package/internal/lib/helpers/fast-equals.d.ts +1 -0
- package/internal/lib/helpers/index.d.ts +1 -0
- package/localization/lib/localization.config.d.ts +0 -2
- package/localization/lib/localization.logger.d.ts +3 -0
- package/localization/lib/localization.service.d.ts +3 -7
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @odx/angular
|
|
2
2
|
|
|
3
|
+
## 6.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- a931064: Breaking changes:
|
|
8
|
+
|
|
9
|
+
- The CalendarComponent no longer uses date-fns for providing translated months and weekdays names. This is because previously, in order to configure the CalendarComponent, the developer was forced to use date-fns types, which required to have date-fns installed.
|
|
10
|
+
- Configuration options of CalendarComponent were reduced. Properties such as monthYearLabel, monthLabel, weekLabel, dayLabel, yearLabel, dayA11yLabel, monthA11yLabel, yearA11yLabel and locale are no longer available. Now instead of adjusting unreasonable number of formatting options, the developer just sets the language through LocalizationService and the native Intl.DateTimeFormat() gets the right translations in right locale and format internally. So in order to use translated version of the CalendarComponent, call localizationService.setActiveLanguage() method with valid and available language code.
|
|
11
|
+
- Simplified approach to LocalizationService. Fields availableLocales, defaultLocale and methods getActiveLocale() and setActiveLocale() are no longer available and should be substituted with availableLanguages, defaultLanguage, getActiveLanguage() and setActiveLanguage(). It's up to developer to supply either language subcode ('en'), or language with specified region ('en-US'). Both are treated as same locale with or without information about the region (which can obviously have an impact on label formatting appearance). It also goes for 'availableLanguages' configuration property, which can hold variously represented language codes, in example: ['en-US', 'en-GB', 'en', 'fr', 'de-DE']. Internally, LocalizationService also uses the Intl.Locale features.
|
|
12
|
+
|
|
13
|
+
## 5.7.4
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- f7e1aa3: Fix connected overlay stacking issues to prevent badges from overlaying modals
|
|
18
|
+
|
|
3
19
|
## 5.7.3
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { AnimationEvent } from '@angular/animations';
|
|
2
|
-
import { ElementRef, Injector, OnChanges, OnDestroy
|
|
2
|
+
import { ElementRef, Injector, OnChanges, OnDestroy } from '@angular/core';
|
|
3
3
|
import { VirtualElement } from '@floating-ui/dom';
|
|
4
4
|
import { NgChanges, Side } from '@odx/angular/utils';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { ConnectedOverlayOptions } from './models';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class ConnectedOverlayComponent implements
|
|
9
|
-
private static Z_LAYER;
|
|
8
|
+
export declare class ConnectedOverlayComponent implements OnChanges, OnDestroy {
|
|
10
9
|
private readonly renderer;
|
|
11
10
|
private readonly zone;
|
|
12
11
|
private positionUpdater;
|
|
@@ -18,7 +17,6 @@ export declare class ConnectedOverlayComponent implements OnInit, OnChanges, OnD
|
|
|
18
17
|
referenceElement: VirtualElement;
|
|
19
18
|
options: ConnectedOverlayOptions;
|
|
20
19
|
closed: Subject<void>;
|
|
21
|
-
ngOnInit(): void;
|
|
22
20
|
ngOnChanges(changes: NgChanges<ConnectedOverlayComponent>): void;
|
|
23
21
|
ngOnDestroy(): void;
|
|
24
22
|
protected onAnimationStart({ fromState, toState }: AnimationEvent): void;
|
|
@@ -1,81 +1,48 @@
|
|
|
1
|
-
import { Locale } from 'date-fns';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
1
|
import { CalendarSelectionMode } from './models/selection-mode';
|
|
4
2
|
export interface CalendarConfig {
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
* @default
|
|
8
|
-
*/
|
|
9
|
-
monthYearLabel: string;
|
|
10
|
-
/**
|
|
11
|
-
* Pattern by which month label is transformed
|
|
12
|
-
* @default 'LLL'
|
|
13
|
-
*/
|
|
14
|
-
monthLabel: string;
|
|
15
|
-
/**
|
|
16
|
-
* Pattern by which week label is transformed
|
|
17
|
-
* @default 'EEEEE'
|
|
18
|
-
*/
|
|
19
|
-
weekLabel: string;
|
|
20
|
-
/**
|
|
21
|
-
* Pattern by which day label is transformed
|
|
22
|
-
* @default 'd'
|
|
23
|
-
*/
|
|
24
|
-
dayLabel: string;
|
|
25
|
-
/**
|
|
26
|
-
* Pattern by which Year label is transformed
|
|
27
|
-
* @default 'yyyy'
|
|
28
|
-
*/
|
|
29
|
-
yearLabel: string;
|
|
30
|
-
/**
|
|
31
|
-
* Pattern by which A11y day label is transformed
|
|
32
|
-
* @default 'MMMM dd, yyyy'
|
|
4
|
+
* Displays the adjacent days in month calendar view.
|
|
5
|
+
* @default true
|
|
33
6
|
*/
|
|
34
|
-
|
|
7
|
+
displayAdjacentDays: boolean;
|
|
35
8
|
/**
|
|
36
|
-
*
|
|
37
|
-
* @default
|
|
9
|
+
* Switches between single selection and a daterange selection.
|
|
10
|
+
* @default CalendarSelectionMode.Date
|
|
38
11
|
*/
|
|
39
|
-
|
|
12
|
+
selectionMode: CalendarSelectionMode;
|
|
40
13
|
/**
|
|
41
|
-
*
|
|
42
|
-
* @
|
|
14
|
+
* Configuration for the year view.
|
|
15
|
+
* @typedef {Object} YearViewConfig
|
|
16
|
+
* @property {number} itemsPerRow - Number of items to display per row in the year view.
|
|
17
|
+
* @default 3
|
|
43
18
|
*/
|
|
44
|
-
yearA11yLabel: string;
|
|
45
19
|
/**
|
|
46
|
-
*
|
|
47
|
-
* @
|
|
20
|
+
* Configuration options for the calendar's year view.
|
|
21
|
+
* @type {YearViewConfig}
|
|
48
22
|
*/
|
|
49
|
-
|
|
23
|
+
yearView: {
|
|
24
|
+
itemsPerRow: number;
|
|
25
|
+
};
|
|
50
26
|
/**
|
|
51
|
-
*
|
|
52
|
-
* @
|
|
27
|
+
* Configuration for the years view.
|
|
28
|
+
* @typedef {Object} YearsViewConfig
|
|
29
|
+
* @property {number} itemsPerRow - Number of items to display per row in the years view.
|
|
30
|
+
* @property {number} [padding=100] - The number of year items before and after the current year
|
|
31
|
+
* @default
|
|
32
|
+
* itemsPerRow: 3,
|
|
33
|
+
* padding: 100
|
|
53
34
|
*/
|
|
54
|
-
locale: BehaviorSubject<Locale>;
|
|
55
35
|
/**
|
|
56
|
-
*
|
|
57
|
-
* @
|
|
36
|
+
* Configuration options for the calendar's years view.
|
|
37
|
+
* @type {YearsViewConfig}
|
|
58
38
|
*/
|
|
59
|
-
selectionMode: CalendarSelectionMode;
|
|
60
|
-
yearView: {
|
|
61
|
-
itemsPerRow: number;
|
|
62
|
-
};
|
|
63
39
|
yearsView: {
|
|
64
40
|
itemsPerRow: number;
|
|
65
41
|
padding: number;
|
|
66
42
|
};
|
|
67
43
|
}
|
|
68
44
|
export declare const CalendarConfig: import("@angular/core").InjectionToken<Partial<{
|
|
69
|
-
monthYearLabel: string;
|
|
70
|
-
monthLabel: string;
|
|
71
|
-
weekLabel: string;
|
|
72
|
-
dayLabel: string;
|
|
73
|
-
yearLabel: string;
|
|
74
|
-
dayA11yLabel: string;
|
|
75
|
-
monthA11yLabel: string;
|
|
76
|
-
yearA11yLabel: string;
|
|
77
45
|
displayAdjacentDays: boolean;
|
|
78
|
-
locale: BehaviorSubject<Locale>;
|
|
79
46
|
selectionMode: CalendarSelectionMode;
|
|
80
47
|
yearView: {
|
|
81
48
|
itemsPerRow: number;
|
|
@@ -85,16 +52,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
85
52
|
padding: number;
|
|
86
53
|
};
|
|
87
54
|
}>>, CalendarDefaultConfig: {
|
|
88
|
-
monthYearLabel: string;
|
|
89
|
-
monthLabel: string;
|
|
90
|
-
weekLabel: string;
|
|
91
|
-
dayLabel: string;
|
|
92
|
-
yearLabel: string;
|
|
93
|
-
dayA11yLabel: string;
|
|
94
|
-
monthA11yLabel: string;
|
|
95
|
-
yearA11yLabel: string;
|
|
96
55
|
displayAdjacentDays: boolean;
|
|
97
|
-
locale: BehaviorSubject<Locale>;
|
|
98
56
|
selectionMode: CalendarSelectionMode;
|
|
99
57
|
yearView: {
|
|
100
58
|
itemsPerRow: number;
|
|
@@ -104,16 +62,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
104
62
|
padding: number;
|
|
105
63
|
};
|
|
106
64
|
}, injectCalendarConfig: () => {
|
|
107
|
-
monthYearLabel: string;
|
|
108
|
-
monthLabel: string;
|
|
109
|
-
weekLabel: string;
|
|
110
|
-
dayLabel: string;
|
|
111
|
-
yearLabel: string;
|
|
112
|
-
dayA11yLabel: string;
|
|
113
|
-
monthA11yLabel: string;
|
|
114
|
-
yearA11yLabel: string;
|
|
115
65
|
displayAdjacentDays: boolean;
|
|
116
|
-
locale: BehaviorSubject<Locale>;
|
|
117
66
|
selectionMode: CalendarSelectionMode;
|
|
118
67
|
yearView: {
|
|
119
68
|
itemsPerRow: number;
|
|
@@ -123,16 +72,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
123
72
|
padding: number;
|
|
124
73
|
};
|
|
125
74
|
}, provideCalendarConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<Partial<{
|
|
126
|
-
monthYearLabel: string;
|
|
127
|
-
monthLabel: string;
|
|
128
|
-
weekLabel: string;
|
|
129
|
-
dayLabel: string;
|
|
130
|
-
yearLabel: string;
|
|
131
|
-
dayA11yLabel: string;
|
|
132
|
-
monthA11yLabel: string;
|
|
133
|
-
yearA11yLabel: string;
|
|
134
75
|
displayAdjacentDays: boolean;
|
|
135
|
-
locale: BehaviorSubject<Locale>;
|
|
136
76
|
selectionMode: CalendarSelectionMode;
|
|
137
77
|
yearView: {
|
|
138
78
|
itemsPerRow: number;
|
|
@@ -142,16 +82,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
142
82
|
padding: number;
|
|
143
83
|
};
|
|
144
84
|
}>>>(config: import("@odx/angular/utils").ConfigProvider<Partial<{
|
|
145
|
-
monthYearLabel: string;
|
|
146
|
-
monthLabel: string;
|
|
147
|
-
weekLabel: string;
|
|
148
|
-
dayLabel: string;
|
|
149
|
-
yearLabel: string;
|
|
150
|
-
dayA11yLabel: string;
|
|
151
|
-
monthA11yLabel: string;
|
|
152
|
-
yearA11yLabel: string;
|
|
153
85
|
displayAdjacentDays: boolean;
|
|
154
|
-
locale: BehaviorSubject<Locale>;
|
|
155
86
|
selectionMode: CalendarSelectionMode;
|
|
156
87
|
yearView: {
|
|
157
88
|
itemsPerRow: number;
|
|
@@ -9,16 +9,7 @@ export declare class CalendarCellDirective implements OnChanges, OnInit, OnDestr
|
|
|
9
9
|
private readonly calendarService;
|
|
10
10
|
private registeredEventId;
|
|
11
11
|
protected readonly config: {
|
|
12
|
-
monthYearLabel: string;
|
|
13
|
-
monthLabel: string;
|
|
14
|
-
weekLabel: string;
|
|
15
|
-
dayLabel: string;
|
|
16
|
-
yearLabel: string;
|
|
17
|
-
dayA11yLabel: string;
|
|
18
|
-
monthA11yLabel: string;
|
|
19
|
-
yearA11yLabel: string;
|
|
20
12
|
displayAdjacentDays: boolean;
|
|
21
|
-
locale: import("rxjs").BehaviorSubject<import("date-fns").Locale>;
|
|
22
13
|
selectionMode: CalendarSelectionMode;
|
|
23
14
|
yearView: {
|
|
24
15
|
itemsPerRow: number;
|
|
@@ -6,16 +6,7 @@ export declare abstract class CalendarViewDirective {
|
|
|
6
6
|
protected readonly takeUntilDestroyed: <T>() => import("rxjs").MonoTypeOperatorFunction<T>;
|
|
7
7
|
protected readonly calendar: CalendarService;
|
|
8
8
|
protected readonly config: {
|
|
9
|
-
monthYearLabel: string;
|
|
10
|
-
monthLabel: string;
|
|
11
|
-
weekLabel: string;
|
|
12
|
-
dayLabel: string;
|
|
13
|
-
yearLabel: string;
|
|
14
|
-
dayA11yLabel: string;
|
|
15
|
-
monthA11yLabel: string;
|
|
16
|
-
yearA11yLabel: string;
|
|
17
9
|
displayAdjacentDays: boolean;
|
|
18
|
-
locale: import("rxjs").BehaviorSubject<import("date-fns").Locale>;
|
|
19
10
|
selectionMode: import("../models").CalendarSelectionMode;
|
|
20
11
|
yearView: {
|
|
21
12
|
itemsPerRow: number;
|
|
@@ -1,27 +1,13 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class DateLabelPipe implements PipeTransform {
|
|
4
|
-
readonly
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
monthA11yLabel: string;
|
|
12
|
-
yearA11yLabel: string;
|
|
13
|
-
displayAdjacentDays: boolean;
|
|
14
|
-
locale: import("rxjs").BehaviorSubject<import("date-fns").Locale>;
|
|
15
|
-
selectionMode: import("@odx/angular/components/calendar").CalendarSelectionMode;
|
|
16
|
-
yearView: {
|
|
17
|
-
itemsPerRow: number;
|
|
18
|
-
};
|
|
19
|
-
yearsView: {
|
|
20
|
-
itemsPerRow: number;
|
|
21
|
-
padding: number;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
transform(value: Date | null, dateFormat: string): string;
|
|
4
|
+
private readonly localizationService;
|
|
5
|
+
private readonly windowRef;
|
|
6
|
+
private readonly cdr;
|
|
7
|
+
private lastValue;
|
|
8
|
+
private lastFormatOptions;
|
|
9
|
+
private formattedValue;
|
|
10
|
+
transform(value: Date | null, formatOptions: Intl.DateTimeFormatOptions): string;
|
|
25
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<DateLabelPipe, never>;
|
|
26
12
|
static ɵpipe: i0.ɵɵPipeDeclaration<DateLabelPipe, "odxDateLabel", true>;
|
|
27
13
|
}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { CalendarConfig } from '../calendar.config';
|
|
2
1
|
import { CalendarView } from '../models';
|
|
3
|
-
export declare function getA11yLabel(calendarView: CalendarView
|
|
2
|
+
export declare function getA11yLabel(calendarView: CalendarView): Intl.DateTimeFormatOptions;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
var ConnectedOverlayComponent_1;
|
|
2
1
|
import { __decorate } from "tslib";
|
|
3
2
|
import { group, transition, trigger, useAnimation } from '@angular/animations';
|
|
4
3
|
import { ChangeDetectionStrategy, Component, ElementRef, Injector, Input, NgZone, Output, Renderer2, RendererStyleFlags2, ViewChild, ViewEncapsulation, inject, } from '@angular/core';
|
|
@@ -22,12 +21,6 @@ export let ConnectedOverlayComponent = class ConnectedOverlayComponent {
|
|
|
22
21
|
this.options = DefaultConnectedOverlayOptions;
|
|
23
22
|
this.closed = new Subject();
|
|
24
23
|
}
|
|
25
|
-
static { ConnectedOverlayComponent_1 = this; }
|
|
26
|
-
static { this.Z_LAYER = 0; }
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
ConnectedOverlayComponent_1.Z_LAYER++;
|
|
29
|
-
this.element.nativeElement.style.setProperty('--odx-cdk-connected-overlay-current-z-layer', ConnectedOverlayComponent_1.Z_LAYER.toFixed(0));
|
|
30
|
-
}
|
|
31
24
|
ngOnChanges(changes) {
|
|
32
25
|
if (hasChanged(changes, ['options'], false)) {
|
|
33
26
|
this.overlaySide = getSide(this.options.position);
|
|
@@ -39,7 +32,6 @@ export let ConnectedOverlayComponent = class ConnectedOverlayComponent {
|
|
|
39
32
|
}
|
|
40
33
|
ngOnDestroy() {
|
|
41
34
|
this.stopPositionUpdater();
|
|
42
|
-
ConnectedOverlayComponent_1.Z_LAYER--;
|
|
43
35
|
}
|
|
44
36
|
onAnimationStart({ fromState, toState }) {
|
|
45
37
|
if (!fromState)
|
|
@@ -92,7 +84,7 @@ export let ConnectedOverlayComponent = class ConnectedOverlayComponent {
|
|
|
92
84
|
]),
|
|
93
85
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
94
86
|
};
|
|
95
|
-
ConnectedOverlayComponent =
|
|
87
|
+
ConnectedOverlayComponent = __decorate([
|
|
96
88
|
CSSComponent('cdk-connected-overlay')
|
|
97
89
|
], ConnectedOverlayComponent);
|
|
98
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectedOverlayComponent, decorators: [{
|
|
@@ -125,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
125
117
|
}], closed: [{
|
|
126
118
|
type: Output
|
|
127
119
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGVkLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9jb25uZWN0ZWQtb3ZlcmxheS9zcmMvbGliL2Nvbm5lY3RlZC1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY29ubmVjdGVkLW92ZXJsYXkvc3JjL2xpYi9jb25uZWN0ZWQtb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBa0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0YsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsTUFBTSxFQUNOLE9BQU8sRUFDUCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLGFBQWEsRUFDYixVQUFVLEVBQ1Ysc0JBQXNCLEdBQ3ZCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBbUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFF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QUFFLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDckgsQ0FBQztxQkFDSDs4QkFZUyxjQUFjO3NCQUR2QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLFlBQVk7c0JBRHJCLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNN0IsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxNQUFNO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25FdmVudCwgZ3JvdXAsIHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlclN0eWxlRmxhZ3MyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlydHVhbEVsZW1lbnQsIGF1dG9VcGRhdGUgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHtcbiAgZmFkZUluLFxuICBmYWRlT3V0LFxuICBzbGlkZUluTGVmdCxcbiAgc2xpZGVJblJpZ2h0LFxuICBzbGlkZUluVXAsXG4gIHNsaWRlT3V0RG93bixcbiAgc2xpZGVPdXRMZWZ0LFxuICBzbGlkZU91dFJpZ2h0LFxuICBzbGlkZU91dFVwLFxuICB3YWl0Rm9yQ2hpbGRBbmltYXRpb25zLFxufSBmcm9tICdAb2R4L2FuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBEeW5hbWljVmlld0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBOZ0NoYW5nZXMsIFNpZGUsIGdldFNpZGUsIGhhc0NoYW5nZWQsIGluamVjdEVsZW1lbnQsIGlzUHJlc2VudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb21wdXRlT3ZlcmxheVBvc2l0aW9uIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IENvbm5lY3RlZE92ZXJsYXlPcHRpb25zLCBEZWZhdWx0Q29ubmVjdGVkT3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDU1NDb21wb25lbnQoJ2Nkay1jb25uZWN0ZWQtb3ZlcmxheScpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtY29ubmVjdGVkLW92ZXJsYXknLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRHluYW1pY1ZpZXdEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJ2Nvbm5lY3RlZC1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW0Bob3N0QW5pbWF0aW9uXSc6ICd0cnVlJyxcbiAgfSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2hvc3RBbmltYXRpb24nLCBbd2FpdEZvckNoaWxkQW5pbWF0aW9uc10pLFxuICAgIHRyaWdnZXIoJ2NvbnRlbnRBbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IHRvcCcsIGdyb3VwKFt1c2VBbmltYXRpb24oc2xpZGVJblVwLCB7IHBhcmFtczogeyBmcm9tOiAnLThweCcgfSB9KSwgdXNlQW5pbWF0aW9uKGZhZGVJbigpKV0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3RvcCA9PiB2b2lkJywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZU91dFVwLCB7IHBhcmFtczogeyB0bzogJy04cHgnIH0gfSksIHVzZUFuaW1hdGlvbihmYWRlT3V0KCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiByaWdodCcsIGdyb3VwKFt1c2VBbmltYXRpb24oc2xpZGVJbkxlZnQsIHsgcGFyYW1zOiB7IGZyb206ICc4cHgnIH0gfSksIHVzZUFuaW1hdGlvbihmYWRlSW4oKSldKSksXG4gICAgICB0cmFuc2l0aW9uKCdyaWdodCA9PiB2b2lkJywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZU91dFJpZ2h0LCB7IHBhcmFtczogeyB0bzogJzhweCcgfSB9KSwgdXNlQW5pbWF0aW9uKGZhZGVPdXQoKSldKSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGJvdHRvbScsIGdyb3VwKFt1c2VBbmltYXRpb24oc2xpZGVJblVwLCB7IHBhcmFtczogeyBmcm9tOiAnOHB4JyB9IH0pLCB1c2VBbmltYXRpb24oZmFkZUluKCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbignYm90dG9tID0+IHZvaWQnLCBncm91cChbdXNlQW5pbWF0aW9uKHNsaWRlT3V0RG93biwgeyBwYXJhbXM6IHsgdG86ICc4cHgnIH0gfSksIHVzZUFuaW1hdGlvbihmYWRlT3V0KCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBsZWZ0JywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZUluUmlnaHQsIHsgcGFyYW1zOiB7IGZyb206ICctOHB4JyB9IH0pLCB1c2VBbmltYXRpb24oZmFkZUluKCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbignbGVmdCA9PiB2b2lkJywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZU91dExlZnQsIHsgcGFyYW1zOiB7IHRvOiAnLThweCcgfSB9KSwgdXNlQW5pbWF0aW9uKGZhZGVPdXQoKSldKSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RlZE92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgWl9MQVlFUiA9IDA7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcG9zaXRpb25VcGRhdGVyOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcm90ZWN0ZWQgb3ZlcmxheVNpZGU/OiBTaWRlO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgY29udGVudEVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdhcnJvdycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBhcnJvd0VsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVmZXJlbmNlRWxlbWVudCE6IFZpcnR1YWxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBDb25uZWN0ZWRPdmVybGF5T3B0aW9ucyA9IERlZmF1bHRDb25uZWN0ZWRPdmVybGF5T3B0aW9ucztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIENvbm5lY3RlZE92ZXJsYXlDb21wb25lbnQuWl9MQVlFUisrO1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLW9keC1jZGstY29ubmVjdGVkLW92ZXJsYXktY3VycmVudC16LWxheWVyJywgQ29ubmVjdGVkT3ZlcmxheUNvbXBvbmVudC5aX0xBWUVSLnRvRml4ZWQoMCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxDb25uZWN0ZWRPdmVybGF5Q29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnb3B0aW9ucyddLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNpZGUgPSBnZXRTaWRlKHRoaXMub3B0aW9ucy5wb3NpdGlvbik7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsncmVmZXJlbmNlRWxlbWVudCcsICdvcHRpb25zJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5zdG9wUG9zaXRpb25VcGRhdGVyKCk7XG4gICAgICB0aGlzLnN0YXJ0UG9zaXRpb25VcGRhdGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcFBvc2l0aW9uVXBkYXRlcigpO1xuICAgIENvbm5lY3RlZE92ZXJsYXlDb21wb25lbnQuWl9MQVlFUi0tO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQW5pbWF0aW9uU3RhcnQoeyBmcm9tU3RhdGUsIHRvU3RhdGUgfTogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWZyb21TdGF0ZSkgcmV0dXJuO1xuICAgIGlmIChmcm9tU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICB0aGlzLm9wdGlvbnMuaG9va3M/LmJlZm9yZU9wZW4/LigpO1xuICAgIH0gZWxzZSBpZiAodG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICB0aGlzLm9wdGlvbnMuaG9va3M/LmJlZm9yZUNsb3NlPy4oKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25BbmltYXRpb25Eb25lKHsgZnJvbVN0YXRlLCB0b1N0YXRlIH06IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFmcm9tU3RhdGUpIHJldHVybjtcbiAgICBpZiAoZnJvbVN0YXRlID09PSAndm9pZCcpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5ob29rcz8uYWZ0ZXJPcGVuPy4oKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdwb2ludGVyLWV2ZW50cycpO1xuICAgIH0gZWxzZSBpZiAodG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICB0aGlzLm9wdGlvbnMuaG9va3M/LmFmdGVyQ2xvc2U/LigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQb3NpdGlvblVwZGF0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5wb3NpdGlvblVwZGF0ZXIgPSB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIGF1dG9VcGRhdGUodGhpcy5yZWZlcmVuY2VFbGVtZW50LCB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgKCkgPT4gdGhpcy51cGRhdGVQb3NpdGlvbigpLCB7XG4gICAgICAgIGVsZW1lbnRSZXNpemU6IGlzUHJlc2VudCh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFBvc2l0aW9uVXBkYXRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnBvc2l0aW9uVXBkYXRlcj8uKCk7XG4gICAgdGhpcy5wb3NpdGlvblVwZGF0ZXIgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVQb3NpdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gY29tcHV0ZU92ZXJsYXlQb3NpdGlvbihcbiAgICAgIHRoaXMucmVmZXJlbmNlRWxlbWVudCxcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5hcnJvd0VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgIHRoaXMub3B0aW9ucyxcbiAgICApLnRoZW4oKHsgcGxhY2VtZW50IH0pID0+IHtcbiAgICAgIHRoaXMub3ZlcmxheVNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW0Bjb250ZW50QW5pbWF0aW9uXT1cIm92ZXJsYXlTaWRlXCJcbiAgKEBjb250ZW50QW5pbWF0aW9uLnN0YXJ0KT1cIm9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gIChAY29udGVudEFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgY2xhc3M9XCJvZHgtY2RrLWNvbm5lY3RlZC1vdmVybGF5X19jb250ZW50IHt7IG9wdGlvbnMuY29udGFpbmVyQ2xhc3MgfX1cIlxuICAjY29udGVudFxuPlxuICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cIm9wdGlvbnMuY29udGVudFwiIFtvZHhEeW5hbWljVmlld0NvbnRleHRdPVwib3B0aW9ucy5jb250ZXh0XCIgW29keER5bmFtaWNWaWV3SW5qZWN0b3JdPVwiaW5qZWN0b3JcIj48L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwib2R4LWNkay1jb25uZWN0ZWQtb3ZlcmxheS1hcnJvd1wiICNhcnJvdz48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGVkLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9jb25uZWN0ZWQtb3ZlcmxheS9zcmMvbGliL2Nvbm5lY3RlZC1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY29ubmVjdGVkLW92ZXJsYXkvc3JjL2xpYi9jb25uZWN0ZWQtb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFrQixLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osYUFBYSxFQUNiLFVBQVUsRUFDVixzQkFBc0IsR0FDdkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFtQixPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUs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TztzQkFEYixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50LCBncm91cCwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlclN0eWxlRmxhZ3MyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlydHVhbEVsZW1lbnQsIGF1dG9VcGRhdGUgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHtcbiAgZmFkZUluLFxuICBmYWRlT3V0LFxuICBzbGlkZUluTGVmdCxcbiAgc2xpZGVJblJpZ2h0LFxuICBzbGlkZUluVXAsXG4gIHNsaWRlT3V0RG93bixcbiAgc2xpZGVPdXRMZWZ0LFxuICBzbGlkZU91dFJpZ2h0LFxuICBzbGlkZU91dFVwLFxuICB3YWl0Rm9yQ2hpbGRBbmltYXRpb25zLFxufSBmcm9tICdAb2R4L2FuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBEeW5hbWljVmlld0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBOZ0NoYW5nZXMsIFNpZGUsIGdldFNpZGUsIGhhc0NoYW5nZWQsIGluamVjdEVsZW1lbnQsIGlzUHJlc2VudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb21wdXRlT3ZlcmxheVBvc2l0aW9uIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IENvbm5lY3RlZE92ZXJsYXlPcHRpb25zLCBEZWZhdWx0Q29ubmVjdGVkT3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDU1NDb21wb25lbnQoJ2Nkay1jb25uZWN0ZWQtb3ZlcmxheScpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtY29ubmVjdGVkLW92ZXJsYXknLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRHluYW1pY1ZpZXdEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJ2Nvbm5lY3RlZC1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW0Bob3N0QW5pbWF0aW9uXSc6ICd0cnVlJyxcbiAgfSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2hvc3RBbmltYXRpb24nLCBbd2FpdEZvckNoaWxkQW5pbWF0aW9uc10pLFxuICAgIHRyaWdnZXIoJ2NvbnRlbnRBbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IHRvcCcsIGdyb3VwKFt1c2VBbmltYXRpb24oc2xpZGVJblVwLCB7IHBhcmFtczogeyBmcm9tOiAnLThweCcgfSB9KSwgdXNlQW5pbWF0aW9uKGZhZGVJbigpKV0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3RvcCA9PiB2b2lkJywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZU91dFVwLCB7IHBhcmFtczogeyB0bzogJy04cHgnIH0gfSksIHVzZUFuaW1hdGlvbihmYWRlT3V0KCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiByaWdodCcsIGdyb3VwKFt1c2VBbmltYXRpb24oc2xpZGVJbkxlZnQsIHsgcGFyYW1zOiB7IGZyb206ICc4cHgnIH0gfSksIHVzZUFuaW1hdGlvbihmYWRlSW4oKSldKSksXG4gICAgICB0cmFuc2l0aW9uKCdyaWdodCA9PiB2b2lkJywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZU91dFJpZ2h0LCB7IHBhcmFtczogeyB0bzogJzhweCcgfSB9KSwgdXNlQW5pbWF0aW9uKGZhZGVPdXQoKSldKSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGJvdHRvbScsIGdyb3VwKFt1c2VBbmltYXRpb24oc2xpZGVJblVwLCB7IHBhcmFtczogeyBmcm9tOiAnOHB4JyB9IH0pLCB1c2VBbmltYXRpb24oZmFkZUluKCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbignYm90dG9tID0+IHZvaWQnLCBncm91cChbdXNlQW5pbWF0aW9uKHNsaWRlT3V0RG93biwgeyBwYXJhbXM6IHsgdG86ICc4cHgnIH0gfSksIHVzZUFuaW1hdGlvbihmYWRlT3V0KCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBsZWZ0JywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZUluUmlnaHQsIHsgcGFyYW1zOiB7IGZyb206ICctOHB4JyB9IH0pLCB1c2VBbmltYXRpb24oZmFkZUluKCkpXSkpLFxuICAgICAgdHJhbnNpdGlvbignbGVmdCA9PiB2b2lkJywgZ3JvdXAoW3VzZUFuaW1hdGlvbihzbGlkZU91dExlZnQsIHsgcGFyYW1zOiB7IHRvOiAnLThweCcgfSB9KSwgdXNlQW5pbWF0aW9uKGZhZGVPdXQoKSldKSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RlZE92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcG9zaXRpb25VcGRhdGVyOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcm90ZWN0ZWQgb3ZlcmxheVNpZGU/OiBTaWRlO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgY29udGVudEVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdhcnJvdycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBhcnJvd0VsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVmZXJlbmNlRWxlbWVudCE6IFZpcnR1YWxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBDb25uZWN0ZWRPdmVybGF5T3B0aW9ucyA9IERlZmF1bHRDb25uZWN0ZWRPdmVybGF5T3B0aW9ucztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxDb25uZWN0ZWRPdmVybGF5Q29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnb3B0aW9ucyddLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNpZGUgPSBnZXRTaWRlKHRoaXMub3B0aW9ucy5wb3NpdGlvbik7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsncmVmZXJlbmNlRWxlbWVudCcsICdvcHRpb25zJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5zdG9wUG9zaXRpb25VcGRhdGVyKCk7XG4gICAgICB0aGlzLnN0YXJ0UG9zaXRpb25VcGRhdGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcFBvc2l0aW9uVXBkYXRlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQW5pbWF0aW9uU3RhcnQoeyBmcm9tU3RhdGUsIHRvU3RhdGUgfTogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWZyb21TdGF0ZSkgcmV0dXJuO1xuICAgIGlmIChmcm9tU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICB0aGlzLm9wdGlvbnMuaG9va3M/LmJlZm9yZU9wZW4/LigpO1xuICAgIH0gZWxzZSBpZiAodG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICB0aGlzLm9wdGlvbnMuaG9va3M/LmJlZm9yZUNsb3NlPy4oKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25BbmltYXRpb25Eb25lKHsgZnJvbVN0YXRlLCB0b1N0YXRlIH06IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFmcm9tU3RhdGUpIHJldHVybjtcbiAgICBpZiAoZnJvbVN0YXRlID09PSAndm9pZCcpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5ob29rcz8uYWZ0ZXJPcGVuPy4oKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdwb2ludGVyLWV2ZW50cycpO1xuICAgIH0gZWxzZSBpZiAodG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICB0aGlzLm9wdGlvbnMuaG9va3M/LmFmdGVyQ2xvc2U/LigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQb3NpdGlvblVwZGF0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5wb3NpdGlvblVwZGF0ZXIgPSB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIGF1dG9VcGRhdGUodGhpcy5yZWZlcmVuY2VFbGVtZW50LCB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgKCkgPT4gdGhpcy51cGRhdGVQb3NpdGlvbigpLCB7XG4gICAgICAgIGVsZW1lbnRSZXNpemU6IGlzUHJlc2VudCh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFBvc2l0aW9uVXBkYXRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnBvc2l0aW9uVXBkYXRlcj8uKCk7XG4gICAgdGhpcy5wb3NpdGlvblVwZGF0ZXIgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVQb3NpdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gY29tcHV0ZU92ZXJsYXlQb3NpdGlvbihcbiAgICAgIHRoaXMucmVmZXJlbmNlRWxlbWVudCxcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5hcnJvd0VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgIHRoaXMub3B0aW9ucyxcbiAgICApLnRoZW4oKHsgcGxhY2VtZW50IH0pID0+IHtcbiAgICAgIHRoaXMub3ZlcmxheVNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW0Bjb250ZW50QW5pbWF0aW9uXT1cIm92ZXJsYXlTaWRlXCJcbiAgKEBjb250ZW50QW5pbWF0aW9uLnN0YXJ0KT1cIm9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gIChAY29udGVudEFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgY2xhc3M9XCJvZHgtY2RrLWNvbm5lY3RlZC1vdmVybGF5X19jb250ZW50IHt7IG9wdGlvbnMuY29udGFpbmVyQ2xhc3MgfX1cIlxuICAjY29udGVudFxuPlxuICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cIm9wdGlvbnMuY29udGVudFwiIFtvZHhEeW5hbWljVmlld0NvbnRleHRdPVwib3B0aW9ucy5jb250ZXh0XCIgW29keER5bmFtaWNWaWV3SW5qZWN0b3JdPVwiaW5qZWN0b3JcIj48L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwib2R4LWNkay1jb25uZWN0ZWQtb3ZlcmxheS1hcnJvd1wiICNhcnJvdz48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
import { createConfigTokens } from '@odx/angular/utils';
|
|
2
|
-
import { enGB } from 'date-fns/locale';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
2
|
import { CalendarSelectionMode } from './models/selection-mode';
|
|
5
3
|
export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, provideCalendarConfig } = createConfigTokens('Calendar', '@odx/angular/components/calendar', {
|
|
6
|
-
monthYearLabel: 'LLLL yyyy',
|
|
7
|
-
monthLabel: 'LLL',
|
|
8
|
-
weekLabel: 'EEEEE',
|
|
9
|
-
dayLabel: 'd',
|
|
10
|
-
yearLabel: 'yyyy',
|
|
11
|
-
dayA11yLabel: 'MMMM dd, yyyy',
|
|
12
|
-
monthA11yLabel: 'MMMM, yyyy',
|
|
13
|
-
yearA11yLabel: 'yyyy',
|
|
14
4
|
displayAdjacentDays: true,
|
|
15
|
-
locale: new BehaviorSubject(enGB),
|
|
16
5
|
selectionMode: CalendarSelectionMode.Date,
|
|
17
6
|
yearView: {
|
|
18
7
|
itemsPerRow: 3,
|
|
@@ -22,4 +11,4 @@ export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, prov
|
|
|
22
11
|
padding: 100,
|
|
23
12
|
},
|
|
24
13
|
});
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUF5Q2hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLEdBQUcsa0JBQWtCLENBQ3RILFVBQVUsRUFDVixrQ0FBa0MsRUFDbEM7SUFDRSxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO0lBQ3pDLFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxDQUFDO0tBQ2Y7SUFDRCxTQUFTLEVBQUU7UUFDVCxXQUFXLEVBQUUsQ0FBQztRQUNkLE9BQU8sRUFBRSxHQUFHO0tBQ2I7Q0FDRixDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb25maWdUb2tlbnMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0aW9uLW1vZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyQ29uZmlnIHtcbiAgLyoqXG4gICAqIERpc3BsYXlzIHRoZSBhZGphY2VudCBkYXlzIGluIG1vbnRoIGNhbGVuZGFyIHZpZXcuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRpc3BsYXlBZGphY2VudERheXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTd2l0Y2hlcyBiZXR3ZWVuIHNpbmdsZSBzZWxlY3Rpb24gYW5kIGEgZGF0ZXJhbmdlIHNlbGVjdGlvbi5cbiAgICogQGRlZmF1bHQgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLkRhdGVcbiAgICovXG4gIHNlbGVjdGlvbk1vZGU6IENhbGVuZGFyU2VsZWN0aW9uTW9kZTtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHllYXIgdmlldy5cbiAgICogQHR5cGVkZWYge09iamVjdH0gWWVhclZpZXdDb25maWdcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGl0ZW1zUGVyUm93IC0gTnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdyBpbiB0aGUgeWVhciB2aWV3LlxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgY2FsZW5kYXIncyB5ZWFyIHZpZXcuXG4gICAqIEB0eXBlIHtZZWFyVmlld0NvbmZpZ31cbiAgICovXG4gIHllYXJWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXIgfTtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSB5ZWFycyB2aWV3LlxuICAgKiBAdHlwZWRlZiB7T2JqZWN0fSBZZWFyc1ZpZXdDb25maWdcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGl0ZW1zUGVyUm93IC0gTnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdyBpbiB0aGUgeWVhcnMgdmlldy5cbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IFtwYWRkaW5nPTEwMF0gLSBUaGUgbnVtYmVyIG9mIHllYXIgaXRlbXMgYmVmb3JlIGFuZCBhZnRlciB0aGUgY3VycmVudCB5ZWFyXG4gICAqIEBkZWZhdWx0XG4gICAqICAgaXRlbXNQZXJSb3c6IDMsXG4gICAqICAgcGFkZGluZzogMTAwXG4gICAqL1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgY2FsZW5kYXIncyB5ZWFycyB2aWV3LlxuICAgKiBAdHlwZSB7WWVhcnNWaWV3Q29uZmlnfVxuICAgKi9cbiAgeWVhcnNWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXI7IHBhZGRpbmc6IG51bWJlciB9O1xufVxuXG5leHBvcnQgY29uc3QgeyBDYWxlbmRhckNvbmZpZywgQ2FsZW5kYXJEZWZhdWx0Q29uZmlnLCBpbmplY3RDYWxlbmRhckNvbmZpZywgcHJvdmlkZUNhbGVuZGFyQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoXG4gICdDYWxlbmRhcicsXG4gICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhcicsXG4gIHtcbiAgICBkaXNwbGF5QWRqYWNlbnREYXlzOiB0cnVlLFxuICAgIHNlbGVjdGlvbk1vZGU6IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlLFxuICAgIHllYXJWaWV3OiB7XG4gICAgICBpdGVtc1BlclJvdzogMyxcbiAgICB9LFxuICAgIHllYXJzVmlldzoge1xuICAgICAgaXRlbXNQZXJSb3c6IDMsXG4gICAgICBwYWRkaW5nOiAxMDAsXG4gICAgfSxcbiAgfSxcbik7XG4iXX0=
|
package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs
CHANGED
|
@@ -42,13 +42,13 @@ export let CalendarMonthComponent = class CalendarMonthComponent extends Calenda
|
|
|
42
42
|
this.calendar.selectDate(value, { emitOutside: true });
|
|
43
43
|
}
|
|
44
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarMonthComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month", providers: [CalendarMonthService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel:
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month", providers: [CalendarMonthService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { month: 'long', year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ (day | odxDateLabel: { weekday: 'short' }).charAt(0) }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: { day: '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: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
46
46
|
};
|
|
47
47
|
CalendarMonthComponent = __decorate([
|
|
48
48
|
CSSComponent('calendar-month')
|
|
49
49
|
], CalendarMonthComponent);
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarMonthComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
|
-
args: [{ selector: 'odx-calendar-month', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarMonthService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel:
|
|
52
|
+
args: [{ selector: 'odx-calendar-month', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarMonthService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { month: 'long', year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ (day | odxDateLabel: { weekday: 'short' }).charAt(0) }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: { day: 'numeric' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
53
53
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVl0RCxXQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLHFCQUFxQjtJQUExRDs7UUFDYyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzdDLGFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztLQStCckQ7SUE3QlcsV0FBVyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxPQUFPLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVc7UUFDOUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FqQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsaUVBRnRCLENBQUMsb0JBQW9CLENBQUMsaURDbEJuQywwMERBb0RBLDJDRHRDWSxVQUFVLG1UQUFFLHFCQUFxQix3UEFBRSx1QkFBdUIsc0tBQUUsYUFBYTs7QUFNeEUsc0JBQXNCO0lBVmxDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQVVsQixzQkFBc0IsQ0FrQ2xDOzRGQWxDWSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZERheXMsIGFkZE1vbnRocywgYWRkV2Vla3MsIHN1YkRheXMsIHN1Yk1vbnRocywgc3ViV2Vla3MgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXItaGVhZGVyJztcblxuQENTU0NvbXBvbmVudCgnY2FsZW5kYXItbW9udGgnKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWNhbGVuZGFyLW1vbnRoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItbW9udGguY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJNb250aFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhck1vbnRoQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyTW9udGggPSBpbmplY3QoQ2FsZW5kYXJNb250aFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcnM7XG4gIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50VmlldyA9IENhbGVuZGFyVmlldy5Nb250aDtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNEYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJEYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHREYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGREYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzV2VlayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1YldlZWtzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRXZWVrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkV2Vla3ModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKHZhbHVlLCB7IGVtaXRPdXRzaWRlOiB0cnVlIH0pO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3RhYmxlXCIgcm9sZT1cImdyaWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwib2R4LWNhbGVuZGFyXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGggY29sc3Bhbj1cIjdcIj5cbiAgICAgICAgPG9keC1jYWxlbmRhci1oZWFkZXJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAocHJldmlvdXMpPVwicHJldmlvdXNNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0TW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgKGNoYW5nZVZpZXcpPVwiY2hhbmdlVmlldygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFjdGl2ZURhdGUgfCBvZHhEYXRlTGFiZWw6IHsgbW9udGg6ICdsb25nJywgeWVhcjogJ251bWVyaWMnIH0gfX1cbiAgICAgICAgPC9vZHgtY2FsZW5kYXItaGVhZGVyPlxuICAgICAgPC90aD5cbiAgICA8L3RyPlxuXG4gICAgPHRyIGNsYXNzPVwib2R4LWNhbGVuZGFyX193ZWVrZGF5c1wiPlxuICAgICAgPHRkICpuZ0Zvcj1cImxldCBkYXkgb2YgY2FsZW5kYXJNb250aC53ZWVrRGF5cyQgfCBhc3luY1wiPlxuICAgICAgICB7eyAoZGF5IHwgb2R4RGF0ZUxhYmVsOiB7IHdlZWtkYXk6ICdzaG9ydCcgfSkuY2hhckF0KDApIH19XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX2JvZHlcIlxuICAgIChrZXlkb3duLkFycm93TGVmdCk9XCJwcmV2aW91c0RheSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd1JpZ2h0KT1cIm5leHREYXkoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1dlZWsoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRXZWVrKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VVcCk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VEb3duKT1cIm5leHRNb250aCgkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiBjYWxlbmRhck1vbnRoLndlZWtzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWs7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkKGRheSlcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxdPVwiZGF5XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsUHJldmlld0RhdGVdPVwicHJldmlld0RhdGVcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRheSlcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZGF5IHwgb2R4RGF0ZUxhYmVsOiB7IGRheTogJ251bWVyaWMnIH0gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
|
package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs
CHANGED
|
@@ -44,13 +44,13 @@ export let CalendarYearComponent = class CalendarYearComponent extends CalendarV
|
|
|
44
44
|
this.changeView();
|
|
45
45
|
}
|
|
46
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearComponent, isStandalone: true, selector: "odx-calendar-year", providers: [CalendarYearService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel:
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearComponent, isStandalone: true, selector: "odx-calendar-year", providers: [CalendarYearService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: { month: 'short' } }}\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: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
48
48
|
};
|
|
49
49
|
CalendarYearComponent = __decorate([
|
|
50
50
|
CSSComponent('calendar-year')
|
|
51
51
|
], CalendarYearComponent);
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: 'odx-calendar-year', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel:
|
|
54
|
+
args: [{ selector: 'odx-calendar-year', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: { month: 'short' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
55
55
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIteWVhci9jYWxlbmRhci15ZWFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFyL2NhbGVuZGFyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBWXRELFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEscUJBQXFCO0lBQXpEOztRQUNjLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO0tBa0NwRDtJQWhDVyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBVztRQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUV2QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQXBDVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixnRUFGckIsQ0FBQyxtQkFBbUIsQ0FBQyxpRENsQmxDLDBtREE2Q0EsMkNEL0JZLFVBQVUsbVRBQUUscUJBQXFCLHdQQUFFLHVCQUF1QixzS0FBRSxhQUFhOztBQU14RSxxQkFBcUI7SUFWakMsWUFBWSxDQUFDLGVBQWUsQ0FBQztHQVVqQixxQkFBcUIsQ0FxQ2pDOzRGQXJDWSxxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZE1vbnRocywgZ2V0TW9udGgsIHNldE1vbnRoLCBzdWJNb250aHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclllYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci15ZWFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIteWVhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJZZWFyQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhciA9IGluamVjdChDYWxlbmRhclllYXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5leHRWaWV3ID0gQ2FsZW5kYXJWaWV3Lk1vbnRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNTZWFzb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFNlYXNvbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1llYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMikpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3REYXRlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQodmFsdWUpKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlID0gc2V0TW9udGgodGhpcy5hY3RpdmVEYXRlLCBnZXRNb250aCh2YWx1ZSkpO1xuICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZShkYXRlLCB7IHNraXBEYXRlcmFuZ2VVcGRhdGU6IHRydWUgfSk7XG5cbiAgICB0aGlzLmNoYW5nZVZpZXcoKTtcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwib2R4LWNhbGVuZGFyX190YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1kZXNjcmliZWRieT1cIm9keC1jYWxlbmRhclwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoIGNvbHNwYW49XCIzXCI+XG4gICAgICAgIDxvZHgtY2FsZW5kYXItaGVhZGVyXG4gICAgICAgICAgKHByZXZpb3VzKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAoY2hhbmdlVmlldyk9XCJjaGFuZ2VWaWV3KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aXZlRGF0ZSB8IG9keERhdGVMYWJlbDogeyB5ZWFyOiAnbnVtZXJpYycgfSB9fVxuICAgICAgICA8L29keC1jYWxlbmRhci1oZWFkZXI+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX2JvZHlcIlxuICAgIChrZXlkb3duLkFycm93TGVmdCk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dE1vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93VXApPVwicHJldmlvdXNTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZURvd24pPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZVVwKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9fc2Vhc29uXCIgKm5nRm9yPVwibGV0IHNlYXNvbiBvZiBjYWxlbmRhclllYXIuc2Vhc29ucyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICA8dGQgcm9sZT1cImdyaWRjZWxsXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIHNlYXNvbjsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQobW9udGgpXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsXT1cIm1vbnRoXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShtb250aClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbW9udGggfCBvZHhEYXRlTGFiZWw6IHsgbW9udGg6ICdzaG9ydCcgfSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
|