myrta-ui 17.1.47 → 17.1.48
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/esm2022/lib/components/form/input-date/components/date-calendar/date-calendar.component.mjs +222 -0
- package/esm2022/lib/components/form/input-date/helpers/date-helpers.mjs +70 -0
- package/esm2022/lib/components/form/input-date/input-date.component.mjs +293 -0
- package/esm2022/lib/components/form/input-date/input-date.enum.mjs +7 -0
- package/esm2022/lib/components/form/input-date/input-date.module.mjs +51 -0
- package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +3 -3
- package/esm2022/lib/components/form/input-date-time/input-date-time.enum.mjs +7 -7
- package/esm2022/lib/components/form/input-tel/data/all-countries.mjs +2 -2
- package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +3 -3
- package/esm2022/lib/services/toaster-service/config/index.mjs +3 -2
- package/esm2022/lib/services/toaster-service/toaster-service.service.mjs +1 -1
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/myrta-ui.mjs +625 -9
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/form/input-date/components/date-calendar/date-calendar.component.d.ts +63 -0
- package/lib/components/form/input-date/helpers/date-helpers.d.ts +14 -0
- package/lib/components/form/input-date/input-date.component.d.ts +65 -0
- package/lib/components/form/input-date/input-date.enum.d.ts +11 -0
- package/lib/components/form/input-date/input-date.module.d.ts +14 -0
- package/lib/components/form/input-date-time/input-date-time.component.d.ts +2 -2
- package/lib/components/form/input-date-time/input-date-time.enum.d.ts +2 -2
- package/lib/services/toaster-service/config/index.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { adjustInvalidDate, clampDate, getRangeErrorMessage, isDateInRange, isValidDate, parseInputDate, toOutputFormat, formatDate } from './helpers/date-helpers';
|
|
4
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
5
|
+
import { DateCalendarComponent } from './components/date-calendar/date-calendar.component';
|
|
6
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
7
|
+
import { InputDateSizesEnum } from './input-date.enum';
|
|
8
|
+
import { filter, fromEvent } from 'rxjs';
|
|
9
|
+
import { PositionStrategyEnum } from '../../../enums/overlay';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
12
|
+
import * as i2 from "ngx-mask";
|
|
13
|
+
import * as i3 from "@angular/forms";
|
|
14
|
+
import * as i4 from "../../error-message/error-message.component";
|
|
15
|
+
import * as i5 from "../../save-state/save-state.component";
|
|
16
|
+
export class InputDateComponent {
|
|
17
|
+
_overlay;
|
|
18
|
+
_detector;
|
|
19
|
+
_elementRef;
|
|
20
|
+
_clickSubscription;
|
|
21
|
+
_overlayRef = null;
|
|
22
|
+
displayValue = '';
|
|
23
|
+
selectedDate = null;
|
|
24
|
+
mask = '';
|
|
25
|
+
errorMessage = null;
|
|
26
|
+
// SAVE STATE
|
|
27
|
+
uuid = uuidv4();
|
|
28
|
+
fields = [];
|
|
29
|
+
format = 'DD.MM.YYYY';
|
|
30
|
+
minDate = null;
|
|
31
|
+
maxDate = null;
|
|
32
|
+
isSilentValidation = true;
|
|
33
|
+
isManualInput = true;
|
|
34
|
+
closeAfterSelect = true;
|
|
35
|
+
required = false;
|
|
36
|
+
size = 'large';
|
|
37
|
+
customClasses = '';
|
|
38
|
+
disabled = false;
|
|
39
|
+
readonly = false;
|
|
40
|
+
placeholder = 'дд.мм.гггг';
|
|
41
|
+
popupPosition = 'bottom-start';
|
|
42
|
+
invalid = false;
|
|
43
|
+
invalidMessage = '';
|
|
44
|
+
checkInvalid = null;
|
|
45
|
+
changed = new EventEmitter();
|
|
46
|
+
modelChange = new EventEmitter();
|
|
47
|
+
blurred = new EventEmitter();
|
|
48
|
+
dateInput;
|
|
49
|
+
onChange = () => {
|
|
50
|
+
};
|
|
51
|
+
onTouched = () => {
|
|
52
|
+
};
|
|
53
|
+
constructor(_overlay, _detector, _elementRef) {
|
|
54
|
+
this._overlay = _overlay;
|
|
55
|
+
this._detector = _detector;
|
|
56
|
+
this._elementRef = _elementRef;
|
|
57
|
+
}
|
|
58
|
+
ngOnInit() {
|
|
59
|
+
this.mask = this.format.replace(/[DMY]/g, '0');
|
|
60
|
+
}
|
|
61
|
+
ngOnDestroy() {
|
|
62
|
+
this._clickSubscription.unsubscribe();
|
|
63
|
+
}
|
|
64
|
+
get checkValidClasses() {
|
|
65
|
+
if (!this.required) {
|
|
66
|
+
return '';
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return this.checkInvalid === false ? 'mrx-input-checked-success' : this.checkInvalid === true ? 'mrx-input-checked-error' : '';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
get getClasses() {
|
|
73
|
+
return `${InputDateSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;
|
|
74
|
+
}
|
|
75
|
+
get isViewCleanIcon() {
|
|
76
|
+
return !!this.dateInput?.nativeElement.value;
|
|
77
|
+
}
|
|
78
|
+
writeValue(value) {
|
|
79
|
+
this.value = value;
|
|
80
|
+
}
|
|
81
|
+
registerOnChange(fn) {
|
|
82
|
+
this.onChange = fn;
|
|
83
|
+
}
|
|
84
|
+
registerOnTouched(fn) {
|
|
85
|
+
this.onTouched = fn;
|
|
86
|
+
}
|
|
87
|
+
setDisabledState(isDisabled) {
|
|
88
|
+
this.disabled = isDisabled;
|
|
89
|
+
}
|
|
90
|
+
set value(value) {
|
|
91
|
+
const date = parseInputDate(value);
|
|
92
|
+
if (date && isDateInRange(date, this.minDate, this.maxDate)) {
|
|
93
|
+
this.selectedDate = date;
|
|
94
|
+
this.displayValue = formatDate(date, this.format);
|
|
95
|
+
this.errorMessage = null;
|
|
96
|
+
this.updateValue(value);
|
|
97
|
+
}
|
|
98
|
+
else if (this.isSilentValidation && date) {
|
|
99
|
+
const clampedDate = clampDate(date, this.minDate, this.maxDate);
|
|
100
|
+
this.selectedDate = clampedDate;
|
|
101
|
+
this.displayValue = formatDate(clampedDate, this.format);
|
|
102
|
+
this.errorMessage = null;
|
|
103
|
+
const clampedValue = toOutputFormat(clampedDate);
|
|
104
|
+
this.updateValue(clampedValue);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.selectedDate = null;
|
|
108
|
+
this.displayValue = date ? formatDate(date, this.format) : '';
|
|
109
|
+
this.errorMessage = date ? getRangeErrorMessage(date, this.minDate, this.maxDate) : null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
onInput(event) {
|
|
113
|
+
const inputElement = event.target;
|
|
114
|
+
const inputValue = inputElement.value;
|
|
115
|
+
this.processInput(inputValue);
|
|
116
|
+
}
|
|
117
|
+
processInput(inputValue) {
|
|
118
|
+
this.displayValue = inputValue;
|
|
119
|
+
this.errorMessage = null;
|
|
120
|
+
if (inputValue.length === this.format.length) {
|
|
121
|
+
const separator = this.format.match(/[^DMY]/)?.[0] || '.';
|
|
122
|
+
const regex = new RegExp(`^(\\d{2})${separator}(\\d{2})${separator}(\\d{4})$`);
|
|
123
|
+
const match = inputValue.match(regex);
|
|
124
|
+
if (!match)
|
|
125
|
+
return;
|
|
126
|
+
let day, month, year;
|
|
127
|
+
if (this.format.startsWith('DD')) {
|
|
128
|
+
[day, month, year] = [match[1], match[2], match[3]].map(Number);
|
|
129
|
+
}
|
|
130
|
+
else if (this.format.startsWith('MM')) {
|
|
131
|
+
[month, day, year] = [match[1], match[2], match[3]].map(Number);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
[year, month, day] = [match[1], match[2], match[3]].map(Number);
|
|
135
|
+
}
|
|
136
|
+
month -= 1;
|
|
137
|
+
let date = new Date(year, month, day);
|
|
138
|
+
if (isValidDate(date) && isDateInRange(date, this.minDate, this.maxDate)) {
|
|
139
|
+
this.selectedDate = date;
|
|
140
|
+
this.value = toOutputFormat(date);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const { year: adjYear, month: adjMonth, day: adjDay } = adjustInvalidDate(year, month, day);
|
|
144
|
+
date = new Date(adjYear, adjMonth, adjDay);
|
|
145
|
+
if (isDateInRange(date, this.minDate, this.maxDate)) {
|
|
146
|
+
this.selectedDate = date;
|
|
147
|
+
this.displayValue = formatDate(date, this.format);
|
|
148
|
+
this.value = toOutputFormat(date);
|
|
149
|
+
}
|
|
150
|
+
else if (this.isSilentValidation) {
|
|
151
|
+
const clampedDate = clampDate(date, this.minDate, this.maxDate);
|
|
152
|
+
this.selectedDate = clampedDate;
|
|
153
|
+
this.displayValue = formatDate(clampedDate, this.format);
|
|
154
|
+
this.value = toOutputFormat(clampedDate);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.selectedDate = null;
|
|
158
|
+
this.errorMessage = getRangeErrorMessage(date, this.minDate, this.maxDate);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
onBlur() {
|
|
164
|
+
this.onTouched();
|
|
165
|
+
if (this.displayValue.length > 0 && this.displayValue.length < this.format.length) {
|
|
166
|
+
this.displayValue = '';
|
|
167
|
+
this.selectedDate = null;
|
|
168
|
+
this.value = '';
|
|
169
|
+
this.errorMessage = null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
openCalendar() {
|
|
173
|
+
if (this.disabled || this._overlayRef)
|
|
174
|
+
return;
|
|
175
|
+
const positionStrategy = this._overlay
|
|
176
|
+
.position()
|
|
177
|
+
.flexibleConnectedTo(this.dateInput)
|
|
178
|
+
.withPositions(PositionStrategyEnum[this.popupPosition]);
|
|
179
|
+
this._overlayRef = this._overlay.create({
|
|
180
|
+
positionStrategy,
|
|
181
|
+
hasBackdrop: false
|
|
182
|
+
});
|
|
183
|
+
const portal = new ComponentPortal(DateCalendarComponent);
|
|
184
|
+
const componentRef = this._overlayRef.attach(portal);
|
|
185
|
+
componentRef.instance.selectedDate = this.selectedDate;
|
|
186
|
+
componentRef.instance.minDate = this.minDate;
|
|
187
|
+
componentRef.instance.maxDate = this.maxDate;
|
|
188
|
+
componentRef.instance.dateSelected.subscribe((date) => this.onDateSelected(date));
|
|
189
|
+
componentRef.instance.close.subscribe(() => this.closeCalendar());
|
|
190
|
+
this._clickSubscription = fromEvent(document, 'click')
|
|
191
|
+
.pipe(filter((event) => {
|
|
192
|
+
const clickTarget = event.target;
|
|
193
|
+
return (!!this._overlayRef &&
|
|
194
|
+
!this._overlayRef.overlayElement.contains(clickTarget) &&
|
|
195
|
+
!this._elementRef.nativeElement.contains(clickTarget));
|
|
196
|
+
}))
|
|
197
|
+
.subscribe(() => this.closeCalendar());
|
|
198
|
+
}
|
|
199
|
+
onDateSelected(date) {
|
|
200
|
+
const clampedDate = clampDate(date, this.minDate, this.maxDate);
|
|
201
|
+
this.selectedDate = clampedDate;
|
|
202
|
+
this.displayValue = formatDate(clampedDate, this.format);
|
|
203
|
+
this.value = toOutputFormat(clampedDate);
|
|
204
|
+
this.errorMessage = null;
|
|
205
|
+
if (this.closeAfterSelect) {
|
|
206
|
+
this.closeCalendar();
|
|
207
|
+
}
|
|
208
|
+
this._detector.detectChanges();
|
|
209
|
+
}
|
|
210
|
+
closeCalendar() {
|
|
211
|
+
if (this._overlayRef) {
|
|
212
|
+
this._overlayRef.dispose();
|
|
213
|
+
this._overlayRef = null;
|
|
214
|
+
}
|
|
215
|
+
this.errorMessage = null;
|
|
216
|
+
}
|
|
217
|
+
clickToIconCalendar() {
|
|
218
|
+
this.openCalendar();
|
|
219
|
+
}
|
|
220
|
+
clickToIconClear() {
|
|
221
|
+
this.value = '';
|
|
222
|
+
this.closeCalendar();
|
|
223
|
+
this.updateValue('');
|
|
224
|
+
}
|
|
225
|
+
updateValue(insideValue) {
|
|
226
|
+
this.changed.emit(insideValue);
|
|
227
|
+
this.modelChange.emit({ value: insideValue, id: this.uuid });
|
|
228
|
+
this.onChange(insideValue);
|
|
229
|
+
this.onTouched();
|
|
230
|
+
}
|
|
231
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputDateComponent, deps: [{ token: i1.Overlay }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
232
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputDateComponent, selector: "mrx-input-date", inputs: { fields: "fields", format: "format", minDate: "minDate", maxDate: "maxDate", isSilentValidation: "isSilentValidation", isManualInput: "isManualInput", closeAfterSelect: "closeAfterSelect", required: "required", size: "size", customClasses: "customClasses", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", popupPosition: "popupPosition", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed", modelChange: "modelChange", blurred: "blurred" }, providers: [
|
|
233
|
+
{
|
|
234
|
+
provide: NG_VALUE_ACCESSOR,
|
|
235
|
+
useExisting: forwardRef(() => InputDateComponent),
|
|
236
|
+
multi: true
|
|
237
|
+
}
|
|
238
|
+
], viewQueries: [{ propertyName: "dateInput", first: true, predicate: ["dateInput"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [ngModel]=\"displayValue\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"!isManualInput\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [dropSpecialCharacters]=\"false\"\r\n [placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n (input)=\"onInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n\r\n @if (!disabled) {\r\n <div class=\"mrx-input-date__icons\">\r\n @if (isViewCleanIcon) {\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n }\r\n\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (invalid) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\"></mrx-error-message>\r\n } @else {\r\n @if (errorMessage) {\r\n <mrx-error-message [invalidMessage]=\"errorMessage\"></mrx-error-message>\r\n }\r\n }\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [".mrx-input-date{width:100%;position:relative}.mrx-input-date .mrx-input-date__wrapper{position:relative}.mrx-input-date .mrx-input-date__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);color:var(--neutral-text-primary);width:100%;transition:outline-width .2s,border .2s}.mrx-input-date .mrx-input-date__input:focus,.mrx-input-date .mrx-input-date__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-date .mrx-input-date__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-date .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled);color:var(--neutral-text-tertiary)}.mrx-input-date.mrx-input-date-lg .mrx-input-date__input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-4) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-md .mrx-input-date__input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-3) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-sm .mrx-input-date__input{padding:calc(var(--spacing-2) - var(--border-width-default)) calc(var(--spacing-2) - var(--border-width-default));font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-date.mrx-input-date.mrx-input-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date .mrx-input-date__icons{position:absolute;top:0;right:0;display:flex;align-items:center}.mrx-input-date.mrx-input-date .mrx-input-date__icons-item,.mrx-input-date.mrx-input-date .mrx-input-date__icons .mrx-icon{cursor:pointer}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-icon{margin-top:calc(var(--spacing-3) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-2)}\n"], dependencies: [{ kind: "directive", type: i2.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i5.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
239
|
+
}
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputDateComponent, decorators: [{
|
|
241
|
+
type: Component,
|
|
242
|
+
args: [{ selector: 'mrx-input-date', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
243
|
+
{
|
|
244
|
+
provide: NG_VALUE_ACCESSOR,
|
|
245
|
+
useExisting: forwardRef(() => InputDateComponent),
|
|
246
|
+
multi: true
|
|
247
|
+
}
|
|
248
|
+
], template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [ngModel]=\"displayValue\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"!isManualInput\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [dropSpecialCharacters]=\"false\"\r\n [placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n (input)=\"onInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n\r\n @if (!disabled) {\r\n <div class=\"mrx-input-date__icons\">\r\n @if (isViewCleanIcon) {\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n }\r\n\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (invalid) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\"></mrx-error-message>\r\n } @else {\r\n @if (errorMessage) {\r\n <mrx-error-message [invalidMessage]=\"errorMessage\"></mrx-error-message>\r\n }\r\n }\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [".mrx-input-date{width:100%;position:relative}.mrx-input-date .mrx-input-date__wrapper{position:relative}.mrx-input-date .mrx-input-date__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);color:var(--neutral-text-primary);width:100%;transition:outline-width .2s,border .2s}.mrx-input-date .mrx-input-date__input:focus,.mrx-input-date .mrx-input-date__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-date .mrx-input-date__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-date .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled);color:var(--neutral-text-tertiary)}.mrx-input-date.mrx-input-date-lg .mrx-input-date__input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-4) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-md .mrx-input-date__input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-3) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-sm .mrx-input-date__input{padding:calc(var(--spacing-2) - var(--border-width-default)) calc(var(--spacing-2) - var(--border-width-default));font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-date.mrx-input-date.mrx-input-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date .mrx-input-date__icons{position:absolute;top:0;right:0;display:flex;align-items:center}.mrx-input-date.mrx-input-date .mrx-input-date__icons-item,.mrx-input-date.mrx-input-date .mrx-input-date__icons .mrx-icon{cursor:pointer}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-icon{margin-top:calc(var(--spacing-3) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-2)}\n"] }]
|
|
249
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { fields: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], format: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], minDate: [{
|
|
254
|
+
type: Input
|
|
255
|
+
}], maxDate: [{
|
|
256
|
+
type: Input
|
|
257
|
+
}], isSilentValidation: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], isManualInput: [{
|
|
260
|
+
type: Input
|
|
261
|
+
}], closeAfterSelect: [{
|
|
262
|
+
type: Input
|
|
263
|
+
}], required: [{
|
|
264
|
+
type: Input
|
|
265
|
+
}], size: [{
|
|
266
|
+
type: Input
|
|
267
|
+
}], customClasses: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], disabled: [{
|
|
270
|
+
type: Input
|
|
271
|
+
}], readonly: [{
|
|
272
|
+
type: Input
|
|
273
|
+
}], placeholder: [{
|
|
274
|
+
type: Input
|
|
275
|
+
}], popupPosition: [{
|
|
276
|
+
type: Input
|
|
277
|
+
}], invalid: [{
|
|
278
|
+
type: Input
|
|
279
|
+
}], invalidMessage: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], checkInvalid: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], changed: [{
|
|
284
|
+
type: Output
|
|
285
|
+
}], modelChange: [{
|
|
286
|
+
type: Output
|
|
287
|
+
}], blurred: [{
|
|
288
|
+
type: Output
|
|
289
|
+
}], dateInput: [{
|
|
290
|
+
type: ViewChild,
|
|
291
|
+
args: ['dateInput']
|
|
292
|
+
}] } });
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsV0FBVyxFQUNYLGNBQWMsRUFDZCxjQUFjLEVBQ2QsVUFBVSxFQUNYLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0UsTUFBTSxtQkFBbUIsQ0FBQztBQUl2SCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBZTVFLE1BQU0sT0FBTyxrQkFBa0I7SUEyQ25CO0lBQ0E7SUFDQTtJQTVD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RUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixrSUM3Q0gsb3REQXVEQTs7NEZEUmEsa0JBQWtCO2tCQWI5QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtxSUFhZSxNQUFNO3NCQUFyQixLQUFLO2dCQUVVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUVXLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTTtnQkFDVSxPQUFPO3NCQUF2QixNQUFNO2dCQUVpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCwgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBhZGp1c3RJbnZhbGlkRGF0ZSxcclxuICBjbGFtcERhdGUsXHJcbiAgZ2V0UmFuZ2VFcnJvck1lc3NhZ2UsXHJcbiAgaXNEYXRlSW5SYW5nZSxcclxuICBpc1ZhbGlkRGF0ZSxcclxuICBwYXJzZUlucHV0RGF0ZSxcclxuICB0b091dHB1dEZvcm1hdCxcclxuICBmb3JtYXREYXRlXHJcbn0gZnJvbSAnLi9oZWxwZXJzL2RhdGUtaGVscGVycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBEYXRlQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1jYWxlbmRhci9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgSW5wdXREYXRlU2l6ZXNFbnVtLCBJbnB1dERhdGVTaXplc1R5cGVzLCBJbnB1dERhdGVWYWx1ZVR5cGVzLCBJbnB1dERhdGVWYWx1ZVdpdGhJZCB9IGZyb20gJy4vaW5wdXQtZGF0ZS5lbnVtJztcclxuaW1wb3J0IHsgSW5wdXREYXRlVGltZVNpemVzVHlwZXMgfSBmcm9tICcuLi9pbnB1dC1kYXRlLXRpbWUvaW5wdXQtZGF0ZS10aW1lLmVudW0nO1xyXG5pbXBvcnQgeyBkYXRlTW9kZWxDb25zdGFudCwgdGltZU1vZGVsQ29uc3RhbnQgfSBmcm9tICcuLi9pbnB1dC1kYXRlLXRpbWUvY29uc3RhbnRzL3ZhbHVlLW1vZGVscyc7XHJcbmltcG9ydCB7IElucHV0RGF0ZVRpbWVWYWx1ZVR5cGVzLCBJbnB1dERhdGVUaW1lVmFsdWVXaXRoSWQgfSBmcm9tICcuLi9pbnB1dC1kYXRlLXRpbWUvbW9kZWxzL2lucHV0LWRhdGUtdGltZS5tb2RlbCc7XHJcbmltcG9ydCB7IGZpbHRlciwgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUG9zaXRpb25TdHJhdGVneUVudW0sIFBvc2l0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL292ZXJsYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtaW5wdXQtZGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWRhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9pbnB1dC1kYXRlLmNvbXBvbmVudC5sZXNzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0RGF0ZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfY2xpY2tTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBkaXNwbGF5VmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIG1hc2s6IHN0cmluZyA9ICcnO1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZHY0KCk7XHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybWF0OiBzdHJpbmcgPSAnREQuTU0uWVlZWSc7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkRhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgaXNTaWxlbnRWYWxpZGF0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaXNNYW51YWxJbnB1dCA9IHRydWU7XHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NlQWZ0ZXJTZWxlY3QgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiBJbnB1dERhdGVTaXplc1R5cGVzID0gJ2xhcmdlJztcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICfQtNC0LtC80Lwu0LPQs9Cz0LMnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwb3B1cFBvc2l0aW9uOiBQb3NpdGlvblR5cGUgPSAnYm90dG9tLXN0YXJ0JztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPElucHV0RGF0ZVRpbWVWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SW5wdXREYXRlVGltZVZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXREYXRlVGltZVZhbHVlV2l0aElkPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgYmx1cnJlZDogRXZlbnRFbWl0dGVyPElucHV0RGF0ZVRpbWVWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPElucHV0RGF0ZVRpbWVWYWx1ZVdpdGhJZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZGF0ZUlucHV0JykgZGF0ZUlucHV0ITogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9kZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubWFzayA9IHRoaXMuZm9ybWF0LnJlcGxhY2UoL1tETVldL2csICcwJyk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tJbnZhbGlkID09PSBmYWxzZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1zdWNjZXNzJyA6IHRoaXMuY2hlY2tJbnZhbGlkID09PSB0cnVlID8gJ21yeC1pbnB1dC1jaGVja2VkLWVycm9yJyA6ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7SW5wdXREYXRlU2l6ZXNFbnVtW3RoaXMuc2l6ZV19ICR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNWaWV3Q2xlYW5JY29uKCkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5kYXRlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGF0ZSA9IHBhcnNlSW5wdXREYXRlKHZhbHVlKTtcclxuXHJcbiAgICBpZiAoZGF0ZSAmJiBpc0RhdGVJblJhbmdlKGRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlKSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGU7XHJcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gZm9ybWF0RGF0ZShkYXRlLCB0aGlzLmZvcm1hdCk7XHJcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzU2lsZW50VmFsaWRhdGlvbiAmJiBkYXRlKSB7XHJcbiAgICAgIGNvbnN0IGNsYW1wZWREYXRlID0gY2xhbXBEYXRlKGRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBjbGFtcGVkRGF0ZTtcclxuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBmb3JtYXREYXRlKGNsYW1wZWREYXRlLCB0aGlzLmZvcm1hdCk7XHJcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcclxuICAgICAgY29uc3QgY2xhbXBlZFZhbHVlID0gdG9PdXRwdXRGb3JtYXQoY2xhbXBlZERhdGUpO1xyXG5cclxuICAgICAgdGhpcy51cGRhdGVWYWx1ZShjbGFtcGVkVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IGRhdGUgPyBmb3JtYXREYXRlKGRhdGUsIHRoaXMuZm9ybWF0KSA6ICcnO1xyXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGRhdGUgPyBnZXRSYW5nZUVycm9yTWVzc2FnZShkYXRlLCB0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSkgOiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IGlucHV0RWxlbWVudC52YWx1ZTtcclxuXHJcbiAgICB0aGlzLnByb2Nlc3NJbnB1dChpbnB1dFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvY2Vzc0lucHV0KGlucHV0VmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBpbnB1dFZhbHVlO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xyXG5cclxuICAgIGlmIChpbnB1dFZhbHVlLmxlbmd0aCA9PT0gdGhpcy5mb3JtYXQubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMuZm9ybWF0Lm1hdGNoKC9bXkRNWV0vKT8uWzBdIHx8ICcuJztcclxuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeKFxcXFxkezJ9KSR7c2VwYXJhdG9yfShcXFxcZHsyfSkke3NlcGFyYXRvcn0oXFxcXGR7NH0pJGApO1xyXG4gICAgICBjb25zdCBtYXRjaCA9IGlucHV0VmFsdWUubWF0Y2gocmVnZXgpO1xyXG5cclxuICAgICAgaWYgKCFtYXRjaCkgcmV0dXJuO1xyXG5cclxuICAgICAgbGV0IGRheSwgbW9udGgsIHllYXI7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1hdC5zdGFydHNXaXRoKCdERCcpKSB7XHJcbiAgICAgICAgW2RheSwgbW9udGgsIHllYXJdID0gW21hdGNoWzFdLCBtYXRjaFsyXSwgbWF0Y2hbM11dLm1hcChOdW1iZXIpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybWF0LnN0YXJ0c1dpdGgoJ01NJykpIHtcclxuICAgICAgICBbbW9udGgsIGRheSwgeWVhcl0gPSBbbWF0Y2hbMV0sIG1hdGNoWzJdLCBtYXRjaFszXV0ubWFwKE51bWJlcik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgW3llYXIsIG1vbnRoLCBkYXldID0gW21hdGNoWzFdLCBtYXRjaFsyXSwgbWF0Y2hbM11dLm1hcChOdW1iZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIG1vbnRoIC09IDE7XHJcblxyXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpO1xyXG5cclxuICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGUpICYmIGlzRGF0ZUluUmFuZ2UoZGF0ZSwgdGhpcy5taW5EYXRlLCB0aGlzLm1heERhdGUpKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0b091dHB1dEZvcm1hdChkYXRlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB7eWVhcjogYWRqWWVhciwgbW9udGg6IGFkak1vbnRoLCBkYXk6IGFkakRheX0gPSBhZGp1c3RJbnZhbGlkRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcclxuICAgICAgICBkYXRlID0gbmV3IERhdGUoYWRqWWVhciwgYWRqTW9udGgsIGFkakRheSk7XHJcblxyXG4gICAgICAgIGlmIChpc0RhdGVJblJhbmdlKGRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBmb3JtYXREYXRlKGRhdGUsIHRoaXMuZm9ybWF0KTtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSB0b091dHB1dEZvcm1hdChkYXRlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTaWxlbnRWYWxpZGF0aW9uKSB7XHJcbiAgICAgICAgICBjb25zdCBjbGFtcGVkRGF0ZSA9IGNsYW1wRGF0ZShkYXRlLCB0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGNsYW1wZWREYXRlO1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBmb3JtYXREYXRlKGNsYW1wZWREYXRlLCB0aGlzLmZvcm1hdCk7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdG9PdXRwdXRGb3JtYXQoY2xhbXBlZERhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGdldFJhbmdlRXJyb3JNZXNzYWdlKGRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGlzcGxheVZhbHVlLmxlbmd0aCA+IDAgJiYgdGhpcy5kaXNwbGF5VmFsdWUubGVuZ3RoIDwgdGhpcy5mb3JtYXQubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gJyc7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuQ2FsZW5kYXIoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLl9vdmVybGF5UmVmKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcclxuICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5kYXRlSW5wdXQpXHJcbiAgICAgIC53aXRoUG9zaXRpb25zKFBvc2l0aW9uU3RyYXRlZ3lFbnVtW3RoaXMucG9wdXBQb3NpdGlvbl0pO1xyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChEYXRlQ2FsZW5kYXJDb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcclxuXHJcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0ZWREYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XHJcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubWluRGF0ZSA9IHRoaXMubWluRGF0ZTtcclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tYXhEYXRlID0gdGhpcy5tYXhEYXRlO1xyXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRhdGVTZWxlY3RlZC5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMub25EYXRlU2VsZWN0ZWQoZGF0ZSkpO1xyXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNsb3NlLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlQ2FsZW5kYXIoKSk7XHJcblxyXG4gICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcigoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjbGlja1RhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAhIXRoaXMuX292ZXJsYXlSZWYgJiZcclxuICAgICAgICAgICAgIXRoaXMuX292ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY29udGFpbnMoY2xpY2tUYXJnZXQpICYmXHJcbiAgICAgICAgICAgICF0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoY2xpY2tUYXJnZXQpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlQ2FsZW5kYXIoKSk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVTZWxlY3RlZChkYXRlOiBEYXRlKSB7XHJcbiAgICBjb25zdCBjbGFtcGVkRGF0ZSA9IGNsYW1wRGF0ZShkYXRlLCB0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBjbGFtcGVkRGF0ZTtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gZm9ybWF0RGF0ZShjbGFtcGVkRGF0ZSwgdGhpcy5mb3JtYXQpO1xyXG4gICAgdGhpcy52YWx1ZSA9IHRvT3V0cHV0Rm9ybWF0KGNsYW1wZWREYXRlKTtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5jbG9zZUFmdGVyU2VsZWN0KSB7XHJcbiAgICAgIHRoaXMuY2xvc2VDYWxlbmRhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlQ2FsZW5kYXIoKSB7XHJcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xpY2tUb0ljb25DYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIHRoaXMub3BlbkNhbGVuZGFyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xpY2tUb0ljb25DbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgIHRoaXMuY2xvc2VDYWxlbmRhcigpO1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSgnJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlVmFsdWUoaW5zaWRlVmFsdWU6IElucHV0RGF0ZVZhbHVlVHlwZXMpIHtcclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGluc2lkZVZhbHVlKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IGluc2lkZVZhbHVlLCBpZDogdGhpcy51dWlkfSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGluc2lkZVZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIm1yeC1pbnB1dC1kYXRlXCJcclxuICBbY2xhc3MubXJ4LWlucHV0LWVycm9yXT1cImludmFsaWRcIlxyXG4gIFtjbGFzcy5tcngtaW5wdXQtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gIFtjbGFzc109XCJnZXRDbGFzc2VzXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZGF0ZV9fd3JhcHBlclwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNkYXRlSW5wdXRcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJub3BlXCJcclxuICAgICAgY2xhc3M9XCJtcngtaW5wdXQtZGF0ZV9faW5wdXQgbXJ4LWlucHV0LWRhdGVfX2RhdGVcIlxyXG4gICAgICBbbmdNb2RlbF09XCJkaXNwbGF5VmFsdWVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVhZE9ubHldPVwiIWlzTWFudWFsSW5wdXRcIlxyXG4gICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgW2xlYWRaZXJvRGF0ZVRpbWVdPVwidHJ1ZVwiXHJcbiAgICAgIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAoY2xpY2spPVwib3BlbkNhbGVuZGFyKClcIlxyXG4gICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcclxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgLz5cclxuXHJcbiAgICBAaWYgKCFkaXNhYmxlZCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWRhdGVfX2ljb25zXCI+XHJcbiAgICAgICAgQGlmIChpc1ZpZXdDbGVhbkljb24pIHtcclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja1RvSWNvbkNsZWFyKClcIlxyXG4gICAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTE2XT1cInNpemUgPT09ICdzbWFsbCdcIlxyXG4gICAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTI0XT1cInNpemUgPT09ICdtZWRpdW0nIHx8IHNpemUgPT09ICdsYXJnZSdcIlxyXG4gICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cIm1yeC1pY29uIGljb24tY2FsZW5kYXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsaWNrVG9JY29uQ2FsZW5kYXIoKVwiXHJcbiAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTE2XT1cInNpemUgPT09ICdzbWFsbCdcIlxyXG4gICAgICAgICAgW2NsYXNzLmljb24tZm9udC0yNF09XCJzaXplID09PSAnbWVkaXVtJyB8fCBzaXplID09PSAnbGFyZ2UnXCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuXHJcbiAgQGlmIChpbnZhbGlkKSB7XHJcbiAgICA8bXJ4LWVycm9yLW1lc3NhZ2UgW2ludmFsaWRNZXNzYWdlXT1cImludmFsaWRNZXNzYWdlXCI+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiAoZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgIDxtcngtZXJyb3ItbWVzc2FnZSBbaW52YWxpZE1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCI+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var InputDateSizesEnum;
|
|
2
|
+
(function (InputDateSizesEnum) {
|
|
3
|
+
InputDateSizesEnum["small"] = "mrx-input-date-sm";
|
|
4
|
+
InputDateSizesEnum["medium"] = "mrx-input-date-md";
|
|
5
|
+
InputDateSizesEnum["large"] = "mrx-input-date-lg";
|
|
6
|
+
})(InputDateSizesEnum || (InputDateSizesEnum = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixpREFBNkIsQ0FBQTtJQUM3QixrREFBOEIsQ0FBQTtJQUM5QixpREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIElucHV0RGF0ZVNpemVzRW51bSB7XHJcbiAgJ3NtYWxsJyA9ICdtcngtaW5wdXQtZGF0ZS1zbScsXHJcbiAgJ21lZGl1bScgPSAnbXJ4LWlucHV0LWRhdGUtbWQnLFxyXG4gICdsYXJnZScgPSAnbXJ4LWlucHV0LWRhdGUtbGcnLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJbnB1dERhdGVTaXplc1R5cGVzID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcclxuXHJcbmV4cG9ydCB0eXBlIElucHV0RGF0ZVZhbHVlVHlwZXMgPSBzdHJpbmc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElucHV0RGF0ZVZhbHVlV2l0aElkIHtcclxuICB2YWx1ZTogSW5wdXREYXRlVmFsdWVUeXBlcyxcclxuICBpZDogc3RyaW5nXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { InputDateComponent } from './input-date.component';
|
|
4
|
+
import { DateCalendarComponent } from './components/date-calendar/date-calendar.component';
|
|
5
|
+
import { NgxMaskDirective, provideNgxMask } from 'ngx-mask';
|
|
6
|
+
import { FormsModule } from '@angular/forms';
|
|
7
|
+
import { ErrorMessageModule } from '../../error-message/error-message.module';
|
|
8
|
+
import { LabelModule } from '../../label/label.module';
|
|
9
|
+
import { SaveStateModule } from '../../save-state/save-state.module';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class InputDateModule {
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: InputDateModule, declarations: [InputDateComponent,
|
|
14
|
+
DateCalendarComponent], imports: [CommonModule,
|
|
15
|
+
NgxMaskDirective,
|
|
16
|
+
FormsModule,
|
|
17
|
+
ErrorMessageModule,
|
|
18
|
+
LabelModule,
|
|
19
|
+
SaveStateModule], exports: [InputDateComponent] });
|
|
20
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputDateModule, providers: [
|
|
21
|
+
provideNgxMask(),
|
|
22
|
+
], imports: [CommonModule,
|
|
23
|
+
FormsModule,
|
|
24
|
+
ErrorMessageModule,
|
|
25
|
+
LabelModule,
|
|
26
|
+
SaveStateModule] });
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputDateModule, decorators: [{
|
|
29
|
+
type: NgModule,
|
|
30
|
+
args: [{
|
|
31
|
+
declarations: [
|
|
32
|
+
InputDateComponent,
|
|
33
|
+
DateCalendarComponent
|
|
34
|
+
],
|
|
35
|
+
imports: [
|
|
36
|
+
CommonModule,
|
|
37
|
+
NgxMaskDirective,
|
|
38
|
+
FormsModule,
|
|
39
|
+
ErrorMessageModule,
|
|
40
|
+
LabelModule,
|
|
41
|
+
SaveStateModule
|
|
42
|
+
],
|
|
43
|
+
exports: [
|
|
44
|
+
InputDateComponent
|
|
45
|
+
],
|
|
46
|
+
providers: [
|
|
47
|
+
provideNgxMask(),
|
|
48
|
+
]
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1kYXRlL2lucHV0LWRhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBdUJyRSxNQUFNLE9BQU8sZUFBZTt3R0FBZixlQUFlO3lHQUFmLGVBQWUsaUJBbEJ4QixrQkFBa0I7WUFDbEIscUJBQXFCLGFBR3JCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGtCQUFrQjtZQUNsQixXQUFXO1lBQ1gsZUFBZSxhQUdmLGtCQUFrQjt5R0FNVCxlQUFlLGFBSmY7WUFDVCxjQUFjLEVBQUU7U0FDakIsWUFaQyxZQUFZO1lBRVosV0FBVztZQUNYLGtCQUFrQjtZQUNsQixXQUFXO1lBQ1gsZUFBZTs7NEZBU04sZUFBZTtrQkFwQjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7cUJBQ25CO29CQUNELFNBQVMsRUFBRTt3QkFDVCxjQUFjLEVBQUU7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5wdXREYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLWNhbGVuZGFyL2RhdGUtY2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd4TWFza0RpcmVjdGl2ZSwgcHJvdmlkZU5neE1hc2sgfSBmcm9tICduZ3gtbWFzayc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VNb2R1bGUgfSBmcm9tICcuLi8uLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UubW9kdWxlJztcclxuaW1wb3J0IHsgTGFiZWxNb2R1bGUgfSBmcm9tICcuLi8uLi9sYWJlbC9sYWJlbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTYXZlU3RhdGVNb2R1bGUgfSBmcm9tICcuLi8uLi9zYXZlLXN0YXRlL3NhdmUtc3RhdGUubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSW5wdXREYXRlQ29tcG9uZW50LFxyXG4gICAgRGF0ZUNhbGVuZGFyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBOZ3hNYXNrRGlyZWN0aXZlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VNb2R1bGUsXHJcbiAgICBMYWJlbE1vZHVsZSxcclxuICAgIFNhdmVTdGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSW5wdXREYXRlQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHByb3ZpZGVOZ3hNYXNrKCksXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXREYXRlTW9kdWxlIHtcclxufVxyXG4iXX0=
|