lib-portal-angular 0.0.21 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/components/advanced-calendar/calendar.component.mjs +135 -0
- package/esm2022/lib/components/advanced-calendar/date-picker.component.mjs +113 -0
- package/esm2022/lib/components/advanced-calendar/date-time-picker.component.mjs +113 -0
- package/esm2022/lib/components/button/button.component.mjs +37 -53
- package/esm2022/lib/components/components.module.mjs +28 -21
- package/esm2022/lib/components/form/form.component.mjs +19 -46
- package/esm2022/lib/components/imput/input.component.mjs +11 -42
- package/esm2022/public-api.mjs +4 -4
- package/fesm2022/lib-portal-angular.mjs +427 -256
- package/fesm2022/lib-portal-angular.mjs.map +1 -1
- package/lib/components/advanced-calendar/calendar.component.d.ts +28 -0
- package/lib/components/advanced-calendar/date-picker.component.d.ts +25 -0
- package/lib/components/advanced-calendar/date-time-picker.component.d.ts +25 -0
- package/lib/components/button/button.component.d.ts +1 -4
- package/lib/components/components.module.d.ts +12 -9
- package/lib/components/form/form.component.d.ts +1 -10
- package/lib/components/imput/input.component.d.ts +1 -18
- package/package.json +1 -1
- package/public-api.d.ts +3 -2
- package/esm2022/lib/components/alert/alert.component.mjs +0 -83
- package/esm2022/lib/components/alert/notification.service.mjs +0 -31
- package/lib/components/alert/alert.component.d.ts +0 -20
- package/lib/components/alert/notification.service.d.ts +0 -17
@@ -0,0 +1,135 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
+
import Brazilian from 'flatpickr/dist/l10n/pt.js'; // Importa a localização brasileira
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/common";
|
6
|
+
import * as i2 from "@angular/forms";
|
7
|
+
import * as i3 from "angularx-flatpickr";
|
8
|
+
export class CalendarComponent {
|
9
|
+
constructor() {
|
10
|
+
this.inputId = 'startDate';
|
11
|
+
this.label = 'Event Start Date';
|
12
|
+
this.placeholder = 'Not set';
|
13
|
+
this.marginTop = 0;
|
14
|
+
this.marginBottom = 0;
|
15
|
+
this.marginLeft = 0;
|
16
|
+
this.marginRight = 0;
|
17
|
+
this.altInput = true;
|
18
|
+
this.convertModelValue = true;
|
19
|
+
this.enableTime = true;
|
20
|
+
this.dateFormat = 'd/m/Y H:i';
|
21
|
+
this.altFormat = 'd/m/Y';
|
22
|
+
this.locale = Brazilian.pt; // Define o idioma como brasileiro por padrão
|
23
|
+
this.onChange = (_) => { };
|
24
|
+
this.onTouched = () => { };
|
25
|
+
}
|
26
|
+
ngOnInit() {
|
27
|
+
// Any necessary initialization
|
28
|
+
}
|
29
|
+
writeValue(value) {
|
30
|
+
this.value = value;
|
31
|
+
}
|
32
|
+
registerOnChange(fn) {
|
33
|
+
this.onChange = fn;
|
34
|
+
}
|
35
|
+
registerOnTouched(fn) {
|
36
|
+
this.onTouched = fn;
|
37
|
+
}
|
38
|
+
onNgModelChange(event) {
|
39
|
+
this.onChange(event);
|
40
|
+
this.onTouched();
|
41
|
+
}
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarComponent, selector: "sim-advanced-calendar", inputs: { inputId: "inputId", label: "label", placeholder: "placeholder", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight", altInput: "altInput", convertModelValue: "convertModelValue", enableTime: "enableTime", dateFormat: "dateFormat", altFormat: "altFormat", locale: "locale" }, providers: [
|
44
|
+
{
|
45
|
+
provide: NG_VALUE_ACCESSOR,
|
46
|
+
useExisting: forwardRef(() => CalendarComponent),
|
47
|
+
multi: true
|
48
|
+
}
|
49
|
+
], ngImport: i0, template: `
|
50
|
+
<div class="form-group" [ngStyle]="{
|
51
|
+
'margin-top': marginTop + 'rem',
|
52
|
+
'margin-bottom': marginBottom + 'rem',
|
53
|
+
'margin-left': marginLeft + 'rem',
|
54
|
+
'margin-right': marginRight + 'rem'
|
55
|
+
}">
|
56
|
+
<label [for]="inputId" class="form-label">{{ label }}</label>
|
57
|
+
<input
|
58
|
+
[id]="inputId"
|
59
|
+
class="form-control"
|
60
|
+
type="text"
|
61
|
+
mwlFlatpickr
|
62
|
+
[(ngModel)]="value"
|
63
|
+
(ngModelChange)="onNgModelChange($event)"
|
64
|
+
[altInput]="altInput"
|
65
|
+
[convertModelValue]="convertModelValue"
|
66
|
+
[enableTime]="enableTime"
|
67
|
+
[dateFormat]="dateFormat"
|
68
|
+
[altFormat]="altFormat"
|
69
|
+
[placeholder]="placeholder"
|
70
|
+
[locale]="locale"
|
71
|
+
/>
|
72
|
+
</div>
|
73
|
+
`, isInline: true, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem}.form-label{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FlatpickrDirective, selector: "[mwlFlatpickr]", inputs: ["options", "altFormat", "altInput", "altInputClass", "allowInput", "allowInvalidPreload", "appendTo", "ariaDateFormat", "clickOpens", "dateFormat", "defaultHour", "defaultMinute", "defaultSeconds", "disable", "disableMobile", "enable", "enableTime", "enableSeconds", "formatDate", "hourIncrement", "inline", "maxDate", "minDate", "maxTime", "minTime", "minuteIncrement", "mode", "nextArrow", "noCalendar", "now", "parseDate", "prevArrow", "shorthandCurrentMonth", "showMonths", "static", "time24hr", "weekNumbers", "getWeek", "wrap", "plugins", "locale", "convertModelValue", "monthSelectorType", "ignoredFocusElements"], outputs: ["flatpickrReady", "flatpickrChange", "flatpickrValueUpdate", "flatpickrOpen", "flatpickrClose", "flatpickrMonthChange", "flatpickrYearChange", "flatpickrDayCreate"], exportAs: ["mwlFlatpickr"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
74
|
+
}
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarComponent, decorators: [{
|
76
|
+
type: Component,
|
77
|
+
args: [{ selector: 'sim-advanced-calendar', template: `
|
78
|
+
<div class="form-group" [ngStyle]="{
|
79
|
+
'margin-top': marginTop + 'rem',
|
80
|
+
'margin-bottom': marginBottom + 'rem',
|
81
|
+
'margin-left': marginLeft + 'rem',
|
82
|
+
'margin-right': marginRight + 'rem'
|
83
|
+
}">
|
84
|
+
<label [for]="inputId" class="form-label">{{ label }}</label>
|
85
|
+
<input
|
86
|
+
[id]="inputId"
|
87
|
+
class="form-control"
|
88
|
+
type="text"
|
89
|
+
mwlFlatpickr
|
90
|
+
[(ngModel)]="value"
|
91
|
+
(ngModelChange)="onNgModelChange($event)"
|
92
|
+
[altInput]="altInput"
|
93
|
+
[convertModelValue]="convertModelValue"
|
94
|
+
[enableTime]="enableTime"
|
95
|
+
[dateFormat]="dateFormat"
|
96
|
+
[altFormat]="altFormat"
|
97
|
+
[placeholder]="placeholder"
|
98
|
+
[locale]="locale"
|
99
|
+
/>
|
100
|
+
</div>
|
101
|
+
`, providers: [
|
102
|
+
{
|
103
|
+
provide: NG_VALUE_ACCESSOR,
|
104
|
+
useExisting: forwardRef(() => CalendarComponent),
|
105
|
+
multi: true
|
106
|
+
}
|
107
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-group{font-family:Arial,sans-serif;font-size:1rem}.form-label{font-weight:700}\n"] }]
|
108
|
+
}], propDecorators: { inputId: [{
|
109
|
+
type: Input
|
110
|
+
}], label: [{
|
111
|
+
type: Input
|
112
|
+
}], placeholder: [{
|
113
|
+
type: Input
|
114
|
+
}], marginTop: [{
|
115
|
+
type: Input
|
116
|
+
}], marginBottom: [{
|
117
|
+
type: Input
|
118
|
+
}], marginLeft: [{
|
119
|
+
type: Input
|
120
|
+
}], marginRight: [{
|
121
|
+
type: Input
|
122
|
+
}], altInput: [{
|
123
|
+
type: Input
|
124
|
+
}], convertModelValue: [{
|
125
|
+
type: Input
|
126
|
+
}], enableTime: [{
|
127
|
+
type: Input
|
128
|
+
}], dateFormat: [{
|
129
|
+
type: Input
|
130
|
+
}], altFormat: [{
|
131
|
+
type: Input
|
132
|
+
}], locale: [{
|
133
|
+
type: Input
|
134
|
+
}] } });
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLFNBQVMsTUFBTSwyQkFBMkIsQ0FBQyxDQUFDLG1DQUFtQzs7Ozs7QUFnRHRGLE1BQU0sT0FBTyxpQkFBaUI7SUE5QzlCO1FBK0NXLFlBQU8sR0FBVyxXQUFXLENBQUM7UUFDOUIsVUFBSyxHQUFXLGtCQUFrQixDQUFDO1FBQ25DLGdCQUFXLEdBQVcsU0FBUyxDQUFDO1FBQ2hDLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUNsQyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBVyxXQUFXLENBQUM7UUFDakMsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixXQUFNLEdBQVEsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLDZDQUE2QztRQUkxRSxhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQixjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBc0IvQjtJQXBCQyxRQUFRO1FBQ04sK0JBQStCO0lBQ2pDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzsrR0F2Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIsb1lBbkJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkEvQlM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDs7NEZBb0JVLGlCQUFpQjtrQkE5QzdCLFNBQVM7K0JBQ0UsdUJBQXVCLFlBQ3ZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBV2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBCcmF6aWxpYW4gZnJvbSAnZmxhdHBpY2tyL2Rpc3QvbDEwbi9wdC5qcyc7IC8vIEltcG9ydGEgYSBsb2NhbGl6YcOnw6NvIGJyYXNpbGVpcmFcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltLWFkdmFuY2VkLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ1N0eWxlXT1cIntcbiAgICAgICdtYXJnaW4tdG9wJzogbWFyZ2luVG9wICsgJ3JlbScsXG4gICAgICAnbWFyZ2luLWJvdHRvbSc6IG1hcmdpbkJvdHRvbSArICdyZW0nLFxuICAgICAgJ21hcmdpbi1sZWZ0JzogbWFyZ2luTGVmdCArICdyZW0nLFxuICAgICAgJ21hcmdpbi1yaWdodCc6IG1hcmdpblJpZ2h0ICsgJ3JlbSdcbiAgICB9XCI+XG4gICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIG13bEZsYXRwaWNrclxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25OZ01vZGVsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbYWx0SW5wdXRdPVwiYWx0SW5wdXRcIlxuICAgICAgICBbY29udmVydE1vZGVsVmFsdWVdPVwiY29udmVydE1vZGVsVmFsdWVcIlxuICAgICAgICBbZW5hYmxlVGltZV09XCJlbmFibGVUaW1lXCJcbiAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdFwiXG4gICAgICAgIFthbHRGb3JtYXRdPVwiYWx0Rm9ybWF0XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDYWxlbmRhckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgc3R5bGVzOiBbYFxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgLmZvcm0tbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICBgXSxcblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmcgPSAnc3RhcnREYXRlJztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdFdmVudCBTdGFydCBEYXRlJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdOb3Qgc2V0JztcbiAgQElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5Cb3R0b206IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpblJpZ2h0OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBhbHRJbnB1dDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNvbnZlcnRNb2RlbFZhbHVlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZW5hYmxlVGltZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRhdGVGb3JtYXQ6IHN0cmluZyA9ICdkL20vWSBIOmknO1xuICBASW5wdXQoKSBhbHRGb3JtYXQ6IHN0cmluZyA9ICdkL20vWSc7XG4gIEBJbnB1dCgpIGxvY2FsZTogYW55ID0gQnJhemlsaWFuLnB0OyAvLyBEZWZpbmUgbyBpZGlvbWEgY29tbyBicmFzaWxlaXJvIHBvciBwYWRyw6NvXG5cbiAgdmFsdWU6IGFueTtcblxuICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBBbnkgbmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uXG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIG9uTmdNb2RlbENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZShldmVudCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/common";
|
5
|
+
import * as i2 from "@angular/forms";
|
6
|
+
export class DatePickerComponent {
|
7
|
+
constructor() {
|
8
|
+
this.inputId = '';
|
9
|
+
this.label = '';
|
10
|
+
this.placeholder = '';
|
11
|
+
this.marginTop = 0;
|
12
|
+
this.marginBottom = 0;
|
13
|
+
this.marginLeft = 0;
|
14
|
+
this.marginRight = 0;
|
15
|
+
this.ngModelChange = new EventEmitter();
|
16
|
+
// ControlValueAccessor interface methods
|
17
|
+
this.onChange = () => { };
|
18
|
+
this.onTouched = () => { };
|
19
|
+
}
|
20
|
+
get value() {
|
21
|
+
return this.innerValue;
|
22
|
+
}
|
23
|
+
set value(val) {
|
24
|
+
this.innerValue = val;
|
25
|
+
this.onChange(val);
|
26
|
+
this.onTouched();
|
27
|
+
}
|
28
|
+
onNgModelChange(event) {
|
29
|
+
this.value = event;
|
30
|
+
this.ngModelChange.emit(event);
|
31
|
+
}
|
32
|
+
writeValue(value) {
|
33
|
+
this.value = value;
|
34
|
+
}
|
35
|
+
registerOnChange(fn) {
|
36
|
+
this.onChange = fn;
|
37
|
+
}
|
38
|
+
registerOnTouched(fn) {
|
39
|
+
this.onTouched = fn;
|
40
|
+
}
|
41
|
+
setDisabledState(isDisabled) {
|
42
|
+
// Logic for disabling the component
|
43
|
+
}
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, selector: "sim-date-picker", inputs: { inputId: "inputId", label: "label", placeholder: "placeholder", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { ngModelChange: "ngModelChange" }, providers: [
|
46
|
+
{
|
47
|
+
provide: NG_VALUE_ACCESSOR,
|
48
|
+
useExisting: forwardRef(() => DatePickerComponent),
|
49
|
+
multi: true
|
50
|
+
}
|
51
|
+
], ngImport: i0, template: `
|
52
|
+
<div class="form-group" [ngStyle]="{
|
53
|
+
'margin-top': marginTop + 'rem',
|
54
|
+
'margin-bottom': marginBottom + 'rem',
|
55
|
+
'margin-left': marginLeft + 'rem',
|
56
|
+
'margin-right': marginRight + 'rem'
|
57
|
+
}">
|
58
|
+
<label [for]="inputId" class="form-label">{{ label }}</label>
|
59
|
+
<input
|
60
|
+
[id]="inputId"
|
61
|
+
class="form-control"
|
62
|
+
type="date"
|
63
|
+
[(ngModel)]="value"
|
64
|
+
(ngModelChange)="onNgModelChange($event)"
|
65
|
+
[placeholder]="placeholder"
|
66
|
+
/>
|
67
|
+
</div>
|
68
|
+
`, isInline: true, styles: [".form-label{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
69
|
+
}
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
|
71
|
+
type: Component,
|
72
|
+
args: [{ selector: 'sim-date-picker', template: `
|
73
|
+
<div class="form-group" [ngStyle]="{
|
74
|
+
'margin-top': marginTop + 'rem',
|
75
|
+
'margin-bottom': marginBottom + 'rem',
|
76
|
+
'margin-left': marginLeft + 'rem',
|
77
|
+
'margin-right': marginRight + 'rem'
|
78
|
+
}">
|
79
|
+
<label [for]="inputId" class="form-label">{{ label }}</label>
|
80
|
+
<input
|
81
|
+
[id]="inputId"
|
82
|
+
class="form-control"
|
83
|
+
type="date"
|
84
|
+
[(ngModel)]="value"
|
85
|
+
(ngModelChange)="onNgModelChange($event)"
|
86
|
+
[placeholder]="placeholder"
|
87
|
+
/>
|
88
|
+
</div>
|
89
|
+
`, providers: [
|
90
|
+
{
|
91
|
+
provide: NG_VALUE_ACCESSOR,
|
92
|
+
useExisting: forwardRef(() => DatePickerComponent),
|
93
|
+
multi: true
|
94
|
+
}
|
95
|
+
], styles: [".form-label{font-weight:700}\n"] }]
|
96
|
+
}], propDecorators: { inputId: [{
|
97
|
+
type: Input
|
98
|
+
}], label: [{
|
99
|
+
type: Input
|
100
|
+
}], placeholder: [{
|
101
|
+
type: Input
|
102
|
+
}], marginTop: [{
|
103
|
+
type: Input
|
104
|
+
}], marginBottom: [{
|
105
|
+
type: Input
|
106
|
+
}], marginLeft: [{
|
107
|
+
type: Input
|
108
|
+
}], marginRight: [{
|
109
|
+
type: Input
|
110
|
+
}], ngModelChange: [{
|
111
|
+
type: Output
|
112
|
+
}] } });
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1jYWxlbmRhci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBbUN6RSxNQUFNLE9BQU8sbUJBQW1CO0lBakNoQztRQWtDVyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRXZCLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFtQmhFLHlDQUF5QztRQUN6QyxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FpQjVCO0lBbENDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsR0FBUTtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQU1ELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxvQ0FBb0M7SUFDdEMsQ0FBQzsrR0E5Q1UsbUJBQW1CO21HQUFuQixtQkFBbUIsK1FBYm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQXhCUzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7OzRGQWNVLG1CQUFtQjtrQkFqQy9CLFNBQVM7K0JBQ0UsaUJBQWlCLFlBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVCxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFRUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ1N0eWxlXT1cIntcbiAgICAgICdtYXJnaW4tdG9wJzogbWFyZ2luVG9wICsgJ3JlbScsXG4gICAgICAnbWFyZ2luLWJvdHRvbSc6IG1hcmdpbkJvdHRvbSArICdyZW0nLFxuICAgICAgJ21hcmdpbi1sZWZ0JzogbWFyZ2luTGVmdCArICdyZW0nLFxuICAgICAgJ21hcmdpbi1yaWdodCc6IG1hcmdpblJpZ2h0ICsgJ3JlbSdcbiAgICB9XCI+XG4gICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICB0eXBlPVwiZGF0ZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk5nTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHN0eWxlczogW2BcbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5Cb3R0b206IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpblJpZ2h0OiBudW1iZXIgPSAwO1xuXG4gIEBPdXRwdXQoKSBuZ01vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIGlubmVyVmFsdWU6IGFueTtcblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbDogYW55KSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsO1xuICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgb25OZ01vZGVsQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQ7XG4gICAgdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIG1ldGhvZHNcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gTG9naWMgZm9yIGRpc2FibGluZyB0aGUgY29tcG9uZW50XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/common";
|
5
|
+
import * as i2 from "@angular/forms";
|
6
|
+
export class DateTimePickerComponent {
|
7
|
+
constructor() {
|
8
|
+
this.inputId = '';
|
9
|
+
this.label = '';
|
10
|
+
this.placeholder = '';
|
11
|
+
this.marginTop = 0;
|
12
|
+
this.marginBottom = 0;
|
13
|
+
this.marginLeft = 0;
|
14
|
+
this.marginRight = 0;
|
15
|
+
this.ngModelChange = new EventEmitter();
|
16
|
+
// ControlValueAccessor interface methods
|
17
|
+
this.onChange = () => { };
|
18
|
+
this.onTouched = () => { };
|
19
|
+
}
|
20
|
+
get value() {
|
21
|
+
return this._value;
|
22
|
+
}
|
23
|
+
set value(val) {
|
24
|
+
this._value = val;
|
25
|
+
this.onChange(val);
|
26
|
+
this.onTouched();
|
27
|
+
}
|
28
|
+
onNgModelChange(event) {
|
29
|
+
this.value = event;
|
30
|
+
this.ngModelChange.emit(event);
|
31
|
+
}
|
32
|
+
writeValue(value) {
|
33
|
+
this._value = value;
|
34
|
+
}
|
35
|
+
registerOnChange(fn) {
|
36
|
+
this.onChange = fn;
|
37
|
+
}
|
38
|
+
registerOnTouched(fn) {
|
39
|
+
this.onTouched = fn;
|
40
|
+
}
|
41
|
+
setDisabledState(isDisabled) {
|
42
|
+
// Logic for disabling the component
|
43
|
+
}
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateTimePickerComponent, selector: "sim-date-time-picker", inputs: { inputId: "inputId", label: "label", placeholder: "placeholder", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { ngModelChange: "ngModelChange" }, providers: [
|
46
|
+
{
|
47
|
+
provide: NG_VALUE_ACCESSOR,
|
48
|
+
useExisting: forwardRef(() => DateTimePickerComponent),
|
49
|
+
multi: true
|
50
|
+
}
|
51
|
+
], ngImport: i0, template: `
|
52
|
+
<div class="form-group" [ngStyle]="{
|
53
|
+
'margin-top': marginTop + 'rem',
|
54
|
+
'margin-bottom': marginBottom + 'rem',
|
55
|
+
'margin-left': marginLeft + 'rem',
|
56
|
+
'margin-right': marginRight + 'rem'
|
57
|
+
}">
|
58
|
+
<label [for]="inputId" class="form-label">{{ label }}</label>
|
59
|
+
<input
|
60
|
+
[id]="inputId"
|
61
|
+
class="form-control"
|
62
|
+
type="datetime-local"
|
63
|
+
[(ngModel)]="value"
|
64
|
+
(ngModelChange)="onNgModelChange($event)"
|
65
|
+
[placeholder]="placeholder"
|
66
|
+
/>
|
67
|
+
</div>
|
68
|
+
`, isInline: true, styles: [".form-label{font-weight:700}.custom-input{border:1px solid #9aa4b2;transition:border-color .3s,box-shadow .3s}.custom-input:hover{border-color:#2196f3;border-width:2px}.custom-input:focus{border-color:#2196f3;border-width:2px;box-shadow:0 0 5px #007bff80}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
69
|
+
}
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
71
|
+
type: Component,
|
72
|
+
args: [{ selector: 'sim-date-time-picker', template: `
|
73
|
+
<div class="form-group" [ngStyle]="{
|
74
|
+
'margin-top': marginTop + 'rem',
|
75
|
+
'margin-bottom': marginBottom + 'rem',
|
76
|
+
'margin-left': marginLeft + 'rem',
|
77
|
+
'margin-right': marginRight + 'rem'
|
78
|
+
}">
|
79
|
+
<label [for]="inputId" class="form-label">{{ label }}</label>
|
80
|
+
<input
|
81
|
+
[id]="inputId"
|
82
|
+
class="form-control"
|
83
|
+
type="datetime-local"
|
84
|
+
[(ngModel)]="value"
|
85
|
+
(ngModelChange)="onNgModelChange($event)"
|
86
|
+
[placeholder]="placeholder"
|
87
|
+
/>
|
88
|
+
</div>
|
89
|
+
`, providers: [
|
90
|
+
{
|
91
|
+
provide: NG_VALUE_ACCESSOR,
|
92
|
+
useExisting: forwardRef(() => DateTimePickerComponent),
|
93
|
+
multi: true
|
94
|
+
}
|
95
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".form-label{font-weight:700}.custom-input{border:1px solid #9aa4b2;transition:border-color .3s,box-shadow .3s}.custom-input:hover{border-color:#2196f3;border-width:2px}.custom-input:focus{border-color:#2196f3;border-width:2px;box-shadow:0 0 5px #007bff80}\n"] }]
|
96
|
+
}], propDecorators: { inputId: [{
|
97
|
+
type: Input
|
98
|
+
}], label: [{
|
99
|
+
type: Input
|
100
|
+
}], placeholder: [{
|
101
|
+
type: Input
|
102
|
+
}], marginTop: [{
|
103
|
+
type: Input
|
104
|
+
}], marginBottom: [{
|
105
|
+
type: Input
|
106
|
+
}], marginLeft: [{
|
107
|
+
type: Input
|
108
|
+
}], marginRight: [{
|
109
|
+
type: Input
|
110
|
+
}], ngModelChange: [{
|
111
|
+
type: Output
|
112
|
+
}] } });
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FkdmFuY2VkLWNhbGVuZGFyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlEekUsTUFBTSxPQUFPLHVCQUF1QjtJQS9DcEM7UUFnRFcsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV2QixrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBbUJoRSx5Q0FBeUM7UUFDekMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBaUI1QjtJQWxDQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFNRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsb0NBQW9DO0lBQ3RDLENBQUM7K0dBOUNVLHVCQUF1QjttR0FBdkIsdUJBQXVCLG9SQVR2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3RELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkExQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUOzs0RkE0QlUsdUJBQXVCO2tCQS9DbkMsU0FBUzsrQkFDRSxzQkFBc0IsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJULGFBbUJVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW0tZGF0ZS10aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdTdHlsZV09XCJ7XG4gICAgICAnbWFyZ2luLXRvcCc6IG1hcmdpblRvcCArICdyZW0nLFxuICAgICAgJ21hcmdpbi1ib3R0b20nOiBtYXJnaW5Cb3R0b20gKyAncmVtJyxcbiAgICAgICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQgKyAncmVtJyxcbiAgICAgICdtYXJnaW4tcmlnaHQnOiBtYXJnaW5SaWdodCArICdyZW0nXG4gICAgfVwiPlxuICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTmdNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLmN1c3RvbS1pbnB1dCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOWFhNGIyOyAvKiBDaW56YSBtYWlzIGVzY3VybyAqL1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MsIGJveC1zaGFkb3cgMC4zczsgLyogU3Vhdml6YSBhIHRyYW5zacOnw6NvICovXG4gICAgfVxuICAgIC5jdXN0b20taW5wdXQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjE5NmYzOyAvKiBBenVsIG1haXMgaW50ZW5zbyBhbyBwYXNzYXIgbyBtb3VzZSAqL1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7IC8qIEVzcGVzc3VyYSBkYSBib3JkYSBhbyBwYXNzYXIgbyBtb3VzZSAqL1xuICAgIH1cbiAgICAuY3VzdG9tLWlucHV0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIxOTZmMzsgLyogQXp1bCBtYWlzIGludGVuc28gYW8gZm9jYXIgKi9cbiAgICAgIGJvcmRlci13aWR0aDogMnB4OyAvKiBFc3Blc3N1cmEgZGEgYm9yZGEgYW8gZm9jYXIgKi9cbiAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsgLyogRWZlaXRvIGRlIGZvY28gbWFpcyBwcm9udW5jaWFkbyAqL1xuICAgIH1cbiAgYF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1hcmdpblRvcDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFyZ2luQm90dG9tOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5MZWZ0OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5SaWdodDogbnVtYmVyID0gMDtcblxuICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsOiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIG9uTmdNb2RlbENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50O1xuICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSBtZXRob2RzXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBMb2dpYyBmb3IgZGlzYWJsaW5nIHRoZSBjb21wb25lbnRcbiAgfVxufVxuIl19
|
@@ -22,8 +22,6 @@ export class ButtonComponent {
|
|
22
22
|
this.marginBottom = 0;
|
23
23
|
this.marginLeft = 0;
|
24
24
|
this.marginRight = 0;
|
25
|
-
this.permissions = [];
|
26
|
-
this.permissionChecker = null;
|
27
25
|
this.clickEvent = new EventEmitter();
|
28
26
|
this.isHovered = false;
|
29
27
|
this.isActive = false;
|
@@ -98,57 +96,47 @@ export class ButtonComponent {
|
|
98
96
|
'filter': activeFilter
|
99
97
|
};
|
100
98
|
}
|
101
|
-
hasPermission() {
|
102
|
-
if (!this.permissionChecker || this.permissions.length === 0) {
|
103
|
-
return true;
|
104
|
-
}
|
105
|
-
return this.permissionChecker(this.permissions);
|
106
|
-
}
|
107
99
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, selector: "sim-app-button", inputs: { type: "type", label: "label", btnClass: "btnClass", fontSize: "fontSize", disabled: "disabled", autofocus: "autofocus", form: "form", formaction: "formaction", formenctype: "formenctype", formmethod: "formmethod", formnovalidate: "formnovalidate", formtarget: "formtarget", name: "name", value: "value", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight"
|
109
|
-
<
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
</ng-container>
|
128
|
-
`, isInline: true, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, selector: "sim-app-button", inputs: { type: "type", label: "label", btnClass: "btnClass", fontSize: "fontSize", disabled: "disabled", autofocus: "autofocus", form: "form", formaction: "formaction", formenctype: "formenctype", formmethod: "formmethod", formnovalidate: "formnovalidate", formtarget: "formtarget", name: "name", value: "value", marginTop: "marginTop", marginBottom: "marginBottom", marginLeft: "marginLeft", marginRight: "marginRight" }, outputs: { clickEvent: "clickEvent" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()" } }, ngImport: i0, template: `
|
101
|
+
<button [type]="type"
|
102
|
+
class="btn"
|
103
|
+
[ngClass]="btnClass"
|
104
|
+
[ngStyle]="getDynamicStyles()"
|
105
|
+
(click)="onClick($event)"
|
106
|
+
[disabled]="disabled"
|
107
|
+
[attr.autofocus]="autofocus ? true : null"
|
108
|
+
[attr.form]="form"
|
109
|
+
[attr.formaction]="formaction"
|
110
|
+
[attr.formenctype]="formenctype"
|
111
|
+
[attr.formmethod]="formmethod"
|
112
|
+
[attr.formnovalidate]="formnovalidate"
|
113
|
+
[attr.formtarget]="formtarget"
|
114
|
+
[attr.name]="name"
|
115
|
+
[attr.value]="value">
|
116
|
+
{{ label }}
|
117
|
+
</button>
|
118
|
+
`, isInline: true, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
129
119
|
}
|
130
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
131
121
|
type: Component,
|
132
122
|
args: [{ selector: 'sim-app-button', template: `
|
133
|
-
<
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
</button>
|
151
|
-
</ng-container>
|
123
|
+
<button [type]="type"
|
124
|
+
class="btn"
|
125
|
+
[ngClass]="btnClass"
|
126
|
+
[ngStyle]="getDynamicStyles()"
|
127
|
+
(click)="onClick($event)"
|
128
|
+
[disabled]="disabled"
|
129
|
+
[attr.autofocus]="autofocus ? true : null"
|
130
|
+
[attr.form]="form"
|
131
|
+
[attr.formaction]="formaction"
|
132
|
+
[attr.formenctype]="formenctype"
|
133
|
+
[attr.formmethod]="formmethod"
|
134
|
+
[attr.formnovalidate]="formnovalidate"
|
135
|
+
[attr.formtarget]="formtarget"
|
136
|
+
[attr.name]="name"
|
137
|
+
[attr.value]="value">
|
138
|
+
{{ label }}
|
139
|
+
</button>
|
152
140
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".btn{padding:.5rem 1rem;border-radius:.25rem;transition:background-color .3s,border-color .3s,filter .3s;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.005em;text-align:left}\n"] }]
|
153
141
|
}], propDecorators: { type: [{
|
154
142
|
type: Input
|
@@ -186,10 +174,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
186
174
|
type: Input
|
187
175
|
}], marginRight: [{
|
188
176
|
type: Input
|
189
|
-
}], permissions: [{
|
190
|
-
type: Input
|
191
|
-
}], permissionChecker: [{
|
192
|
-
type: Input
|
193
177
|
}], clickEvent: [{
|
194
178
|
type: Output
|
195
179
|
}], onMouseEnter: [{
|
@@ -205,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
205
189
|
type: HostListener,
|
206
190
|
args: ['mouseup']
|
207
191
|
}] } });
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUF3QzdELE1BQU0sT0FBTyxlQUFlO0lBdEM1QjtRQXVDVyxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLFVBQUssR0FBVyxRQUFRLENBQUM7UUFDekIsYUFBUSxHQUFrQixhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ2hELGFBQVEsR0FBVyxNQUFNLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFeEIsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFDM0Isc0JBQWlCLEdBQWdELElBQUksQ0FBQztR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QUFuQixNQUFNO2dCQUtxQixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBSUUsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQUtDLFdBQVc7c0JBQXJDLFlBQVk7dUJBQUMsV0FBVztnQkFJQSxTQUFTO3NCQUFqQyxZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ2xhc3NlcyB9IGZyb20gJy4uLy4uL2VudW0vQnV0dG9uQ2xhc3Nlc0VudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW0tYXBwLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1Blcm1pc3Npb24oKVwiPlxuICAgICAgPGJ1dHRvbiBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJidG5DbGFzc1wiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldER5bmFtaWNTdHlsZXMoKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b2ZvY3VzID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JtYWN0aW9uXT1cImZvcm1hY3Rpb25cIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JtZW5jdHlwZV09XCJmb3JtZW5jdHlwZVwiXG4gICAgICAgICAgICAgIFthdHRyLmZvcm1tZXRob2RdPVwiZm9ybW1ldGhvZFwiXG4gICAgICAgICAgICAgIFthdHRyLmZvcm1ub3ZhbGlkYXRlXT1cImZvcm1ub3ZhbGlkYXRlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9ybXRhcmdldF09XCJmb3JtdGFyZ2V0XCJcbiAgICAgICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcztcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDA1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1N1Ym1pdCc7XG4gIEBJbnB1dCgpIGJ0bkNsYXNzOiBCdXR0b25DbGFzc2VzID0gQnV0dG9uQ2xhc3Nlcy5QcmltYXJ5O1xuICBASW5wdXQoKSBmb250U2l6ZTogc3RyaW5nID0gJzFyZW0nO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZm9ybTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1hY3Rpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3JtZW5jdHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1tZXRob2Q6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3Jtbm92YWxpZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JtdGFyZ2V0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5Cb3R0b206IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpblJpZ2h0OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpIHBlcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBwZXJtaXNzaW9uQ2hlY2tlcjogKChwZXJtaXNzaW9uczogc3RyaW5nW10pID0+IGJvb2xlYW4pIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHByaXZhdGUgaXNIb3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMuaXNIb3ZlcmVkID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5pc0hvdmVyZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKSBvbk1vdXNlRG93bigpIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKSBvbk1vdXNlVXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBnZXREeW5hbWljU3R5bGVzKCkge1xuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSAnJztcbiAgICBsZXQgdGV4dENvbG9yID0gJyNmZmYnOyAvLyBEZWZhdWx0IHRleHQgY29sb3JcbiAgICBsZXQgYm9yZGVyQ29sb3IgPSAnJztcblxuICAgIHN3aXRjaCAodGhpcy5idG5DbGFzcykge1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlByaW1hcnk6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDA0NDRDJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuU2Vjb25kYXJ5OlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzJDQTU4RCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlN1Y2Nlc3M6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDBDODUzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuRGFuZ2VyOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnI0QzMkYyRic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLldhcm5pbmc6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjRkZDMTA3JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuSW5mbzpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMzRUM5RDYnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5MaWdodDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyNFRUYyRjYnO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaWdodFxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5EYXJrOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzExMTkzNic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLkxpbms6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICd0cmFuc3BhcmVudCc7XG4gICAgICAgIGJvcmRlckNvbG9yID0gJyNEREU1RTknO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaW5rXG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMwMDQ0NEMnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBob3ZlckZpbHRlciA9IHRoaXMuaXNIb3ZlcmVkID8gJ2JyaWdodG5lc3MoODAlKScgOiAnbm9uZSc7IC8vIEFkanVzdGVkIGhvdmVyIGJyaWdodG5lc3NcbiAgICBjb25zdCBhY3RpdmVGaWx0ZXIgPSB0aGlzLmlzQWN0aXZlID8gJ2JyaWdodG5lc3MoNjAlKScgOiBob3ZlckZpbHRlcjsgLy8gQWRqdXN0ZWQgYWN0aXZlIGJyaWdodG5lc3NcblxuICAgIHJldHVybiB7XG4gICAgICAnZm9udC1zaXplJzogdGhpcy5mb250U2l6ZSxcbiAgICAgICdtYXJnaW4tdG9wJzogYCR7dGhpcy5tYXJnaW5Ub3B9cmVtYCxcbiAgICAgICdtYXJnaW4tYm90dG9tJzogYCR7dGhpcy5tYXJnaW5Cb3R0b219cmVtYCxcbiAgICAgICdtYXJnaW4tbGVmdCc6IGAke3RoaXMubWFyZ2luTGVmdH1yZW1gLFxuICAgICAgJ21hcmdpbi1yaWdodCc6IGAke3RoaXMubWFyZ2luUmlnaHR9cmVtYCxcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogYmFja2dyb3VuZENvbG9yLFxuICAgICAgJ2NvbG9yJzogdGV4dENvbG9yLFxuICAgICAgJ2JvcmRlcic6IGJvcmRlckNvbG9yID8gYDFweCBzb2xpZCAke2JvcmRlckNvbG9yfWAgOiAnbm9uZScsXG4gICAgICAndHJhbnNpdGlvbic6ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcycsXG4gICAgICAnZmlsdGVyJzogYWN0aXZlRmlsdGVyXG4gICAgfTtcbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnBlcm1pc3Npb25DaGVja2VyIHx8IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbkNoZWNrZXIodGhpcy5wZXJtaXNzaW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFzQzdELE1BQU0sT0FBTyxlQUFlO0lBcEM1QjtRQXFDVyxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLFVBQUssR0FBVyxRQUFRLENBQUM7UUFDekIsYUFBUSxHQUFrQixhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ2hELGFBQVEsR0FBVyxNQUFNLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWtCLElBQUksQ0FBQztRQUU1QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFdkIsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBRTlELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztLQWdGbkM7SUE5RTZCLFlBQVk7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUUyQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFMEIsV0FBVztRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRXdCLFNBQVM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMscUJBQXFCO1FBQzdDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUVyQixRQUFRLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDckIsS0FBSyxhQUFhLENBQUMsT0FBTztnQkFDeEIsZUFBZSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsTUFBTTtZQUNSLEtBQUssYUFBYSxDQUFDLFNBQVM7Z0JBQzFCLGVBQWUsR0FBRyxTQUFTLENBQUM7Z0JBQzVCLE1BQU07WUFDUixLQUFLLGFBQWEsQ0FBQyxPQUFPO2dCQUN4QixlQUFlLEdBQUcsU0FBUyxDQUFDO2dCQUM1QixNQUFNO1lBQ1IsS0FBSyxhQUFhLENBQUMsTUFBTTtnQkFDdkIsZUFBZSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsTUFBTTtZQUNSLEtBQUssYUFBYSxDQUFDLE9BQU87Z0JBQ3hCLGVBQWUsR0FBRyxTQUFTLENBQUM7Z0JBQzVCLE1BQU07WUFDUixLQUFLLGFBQWEsQ0FBQyxJQUFJO2dCQUNyQixlQUFlLEdBQUcsU0FBUyxDQUFDO2dCQUM1QixNQUFNO1lBQ1IsS0FBSyxhQUFhLENBQUMsS0FBSztnQkFDdEIsZUFBZSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLDhCQUE4QjtnQkFDckQsTUFBTTtZQUNSLEtBQUssYUFBYSxDQUFDLElBQUk7Z0JBQ3JCLGVBQWUsR0FBRyxTQUFTLENBQUM7Z0JBQzVCLE1BQU07WUFDUixLQUFLLGFBQWEsQ0FBQyxJQUFJO2dCQUNyQixlQUFlLEdBQUcsYUFBYSxDQUFDO2dCQUNoQyxXQUFXLEdBQUcsU0FBUyxDQUFDO2dCQUN4QixTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsNkJBQTZCO2dCQUNwRCxNQUFNO1lBQ1I7Z0JBQ0UsZUFBZSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsTUFBTTtTQUNUO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLDRCQUE0QjtRQUM3RixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsNkJBQTZCO1FBRW5HLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDMUIsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSztZQUNwQyxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxLQUFLO1lBQzFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUs7WUFDdEMsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSztZQUN4QyxrQkFBa0IsRUFBRSxlQUFlO1lBQ25DLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDM0QsWUFBWSxFQUFFLHVEQUF1RDtZQUNyRSxRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDO0lBQ0osQ0FBQzsrR0F2R1UsZUFBZTttR0FBZixlQUFlLHNwQkFsQ2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQ7OzRGQWdCVSxlQUFlO2tCQXBDM0IsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEI7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVCxtQkFjZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBS3FCLFlBQVk7c0JBQXZDLFlBQVk7dUJBQUMsWUFBWTtnQkFJRSxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBS0MsV0FBVztzQkFBckMsWUFBWTt1QkFBQyxXQUFXO2dCQUlBLFNBQVM7c0JBQWpDLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25DbGFzc2VzIH0gZnJvbSAnLi4vLi4vZW51bS9CdXR0b25DbGFzc2VzRW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbS1hcHAtYnV0dG9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiYnRuQ2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0RHluYW1pY1N0eWxlcygpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFthdHRyLmF1dG9mb2N1c109XCJhdXRvZm9jdXMgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5mb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgW2F0dHIuZm9ybWFjdGlvbl09XCJmb3JtYWN0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmZvcm1lbmN0eXBlXT1cImZvcm1lbmN0eXBlXCJcbiAgICAgICAgICAgIFthdHRyLmZvcm1tZXRob2RdPVwiZm9ybW1ldGhvZFwiXG4gICAgICAgICAgICBbYXR0ci5mb3Jtbm92YWxpZGF0ZV09XCJmb3Jtbm92YWxpZGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci5mb3JtdGFyZ2V0XT1cImZvcm10YXJnZXRcIlxuICAgICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCI+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcztcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDA1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1N1Ym1pdCc7XG4gIEBJbnB1dCgpIGJ0bkNsYXNzOiBCdXR0b25DbGFzc2VzID0gQnV0dG9uQ2xhc3Nlcy5QcmltYXJ5O1xuICBASW5wdXQoKSBmb250U2l6ZTogc3RyaW5nID0gJzFyZW0nO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZm9ybTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1hY3Rpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3JtZW5jdHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGZvcm1tZXRob2Q6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3Jtbm92YWxpZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JtdGFyZ2V0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBtYXJnaW5Ub3A6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkJvdHRvbTogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFyZ2luTGVmdDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFyZ2luUmlnaHQ6IG51bWJlciA9IDA7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHByaXZhdGUgaXNIb3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMuaXNIb3ZlcmVkID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5pc0hvdmVyZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKSBvbk1vdXNlRG93bigpIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKSBvbk1vdXNlVXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBnZXREeW5hbWljU3R5bGVzKCkge1xuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSAnJztcbiAgICBsZXQgdGV4dENvbG9yID0gJyNmZmYnOyAvLyBEZWZhdWx0IHRleHQgY29sb3JcbiAgICBsZXQgYm9yZGVyQ29sb3IgPSAnJztcblxuICAgIHN3aXRjaCAodGhpcy5idG5DbGFzcykge1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlByaW1hcnk6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDA0NDRDJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuU2Vjb25kYXJ5OlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzJDQTU4RCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLlN1Y2Nlc3M6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjMDBDODUzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuRGFuZ2VyOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnI0QzMkYyRic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLldhcm5pbmc6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICcjRkZDMTA3JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEJ1dHRvbkNsYXNzZXMuSW5mbzpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMzRUM5RDYnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5MaWdodDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyNFRUYyRjYnO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaWdodFxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQnV0dG9uQ2xhc3Nlcy5EYXJrOlxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAnIzExMTkzNic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBCdXR0b25DbGFzc2VzLkxpbms6XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9ICd0cmFuc3BhcmVudCc7XG4gICAgICAgIGJvcmRlckNvbG9yID0gJyNEREU1RTknO1xuICAgICAgICB0ZXh0Q29sb3IgPSAnIzAwNDQ0Qyc7IC8vIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciBMaW5rXG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJyMwMDQ0NEMnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBob3ZlckZpbHRlciA9IHRoaXMuaXNIb3ZlcmVkID8gJ2JyaWdodG5lc3MoODAlKScgOiAnbm9uZSc7IC8vIEFkanVzdGVkIGhvdmVyIGJyaWdodG5lc3NcbiAgICBjb25zdCBhY3RpdmVGaWx0ZXIgPSB0aGlzLmlzQWN0aXZlID8gJ2JyaWdodG5lc3MoNjAlKScgOiBob3ZlckZpbHRlcjsgLy8gQWRqdXN0ZWQgYWN0aXZlIGJyaWdodG5lc3NcblxuICAgIHJldHVybiB7XG4gICAgICAnZm9udC1zaXplJzogdGhpcy5mb250U2l6ZSxcbiAgICAgICdtYXJnaW4tdG9wJzogYCR7dGhpcy5tYXJnaW5Ub3B9cmVtYCxcbiAgICAgICdtYXJnaW4tYm90dG9tJzogYCR7dGhpcy5tYXJnaW5Cb3R0b219cmVtYCxcbiAgICAgICdtYXJnaW4tbGVmdCc6IGAke3RoaXMubWFyZ2luTGVmdH1yZW1gLFxuICAgICAgJ21hcmdpbi1yaWdodCc6IGAke3RoaXMubWFyZ2luUmlnaHR9cmVtYCxcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogYmFja2dyb3VuZENvbG9yLFxuICAgICAgJ2NvbG9yJzogdGV4dENvbG9yLFxuICAgICAgJ2JvcmRlcic6IGJvcmRlckNvbG9yID8gYDFweCBzb2xpZCAke2JvcmRlckNvbG9yfWAgOiAnbm9uZScsXG4gICAgICAndHJhbnNpdGlvbic6ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBmaWx0ZXIgMC4zcycsXG4gICAgICAnZmlsdGVyJzogYWN0aXZlRmlsdGVyXG4gICAgfTtcbiAgfVxufVxuIl19
|