@sd-angular/core 1.1.70 → 1.1.73
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/autocomplete/sd-angular-core-autocomplete.metadata.json +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.min.js +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.js +2 -2
- package/bundles/sd-angular-core-comment.umd.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.min.js +1 -1
- package/bundles/sd-angular-core-comment.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.js +6 -4
- package/bundles/sd-angular-core-form.umd.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.min.js +1 -1
- package/bundles/sd-angular-core-form.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.js +1 -1
- package/bundles/sd-angular-core-grid.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-input-number.umd.js +745 -0
- package/bundles/sd-angular-core-input-number.umd.js.map +1 -0
- package/bundles/sd-angular-core-input-number.umd.min.js +16 -0
- package/bundles/sd-angular-core-input-number.umd.min.js.map +1 -0
- package/bundles/sd-angular-core-popover.umd.js +3 -1
- package/bundles/sd-angular-core-popover.umd.js.map +1 -1
- package/bundles/sd-angular-core-popover.umd.min.js +1 -1
- package/bundles/sd-angular-core-popover.umd.min.js.map +1 -1
- package/bundles/sd-angular-core.umd.js +4 -4
- package/bundles/sd-angular-core.umd.min.js +1 -1
- package/bundles/sd-angular-core.umd.min.js.map +1 -1
- package/comment/sd-angular-core-comment.metadata.json +1 -1
- package/esm2015/autocomplete/src/lib/autocomplete.component.js +2 -2
- package/esm2015/comment/src/lib/comment.component.js +3 -3
- package/esm2015/form/src/lib/form.module.js +4 -1
- package/esm2015/grid/src/lib/components/grid-desktop-column-edit/grid-desktop-column-edit.component.js +2 -2
- package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +2 -2
- package/esm2015/input-number/index.js +2 -0
- package/esm2015/input-number/sd-angular-core-input-number.js +5 -0
- package/esm2015/input-number/src/lib/input-number.component.js +335 -0
- package/esm2015/input-number/src/lib/input-number.module.js +34 -0
- package/esm2015/input-number/src/public-api.js +6 -0
- package/esm2015/popover/src/lib/directives/popover-trigger.directive.js +4 -2
- package/esm2015/public-api.js +2 -1
- package/fesm2015/sd-angular-core-autocomplete.js +1 -1
- package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
- package/fesm2015/sd-angular-core-comment.js +2 -2
- package/fesm2015/sd-angular-core-comment.js.map +1 -1
- package/fesm2015/sd-angular-core-form.js +3 -0
- package/fesm2015/sd-angular-core-form.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +1 -1
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-grid.js +1 -1
- package/fesm2015/sd-angular-core-grid.js.map +1 -1
- package/fesm2015/sd-angular-core-input-number.js +373 -0
- package/fesm2015/sd-angular-core-input-number.js.map +1 -0
- package/fesm2015/sd-angular-core-popover.js +3 -1
- package/fesm2015/sd-angular-core-popover.js.map +1 -1
- package/fesm2015/sd-angular-core.js +1 -0
- package/fesm2015/sd-angular-core.js.map +1 -1
- package/form/sd-angular-core-form.metadata.json +1 -1
- package/grid/sd-angular-core-grid.metadata.json +1 -1
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/input-number/index.d.ts +1 -0
- package/input-number/package.json +12 -0
- package/input-number/sd-angular-core-input-number.d.ts +4 -0
- package/input-number/sd-angular-core-input-number.metadata.json +1 -0
- package/input-number/src/lib/input-number.component.d.ts +62 -0
- package/input-number/src/lib/input-number.module.d.ts +2 -0
- package/input-number/src/public-api.d.ts +2 -0
- package/package.json +1 -1
- package/popover/sd-angular-core-popover.metadata.json +1 -1
- package/popover/src/lib/directives/popover-trigger.directive.d.ts +1 -0
- package/public-api.d.ts +1 -0
- package/{sd-angular-core-1.1.70.tgz → sd-angular-core-1.1.73.tgz} +0 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
var _name, _valueInput, _form, _blurOnEnter_1, _model, _min, _max, _validator, _subscription, _setValueInput, _formatNumber, _updateValidator, _outPutValue, _customValidator;
|
|
2
|
+
import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { Component, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef, ContentChild, ChangeDetectionStrategy, Inject, Optional } from '@angular/core';
|
|
4
|
+
import { NgForm, Validators } from '@angular/forms';
|
|
5
|
+
import * as uuid from 'uuid';
|
|
6
|
+
import { debounceTime } from 'rxjs/operators';
|
|
7
|
+
import { Subscription } from 'rxjs';
|
|
8
|
+
// import { SdInputSuffixDirective } from './directives/input-suffix.directive';
|
|
9
|
+
import { SdFormControl } from '@sd-angular/core/common';
|
|
10
|
+
import { SdViewDefDirective } from '@sd-angular/core/common';
|
|
11
|
+
import { SdUtilityService } from '@sd-angular/core/utility';
|
|
12
|
+
import { FORM_CONFIG } from '@sd-angular/core/common';
|
|
13
|
+
class SdInputNumberErrotStateMatcher {
|
|
14
|
+
constructor(formControl) {
|
|
15
|
+
this.formControl = formControl;
|
|
16
|
+
}
|
|
17
|
+
isErrorState(control, form) {
|
|
18
|
+
var _a, _b, _c;
|
|
19
|
+
const isSubmitted = form && form.submitted;
|
|
20
|
+
return !!(((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.invalid) && (((_b = this.formControl) === null || _b === void 0 ? void 0 : _b.dirty) || ((_c = this.formControl) === null || _c === void 0 ? void 0 : _c.touched) || isSubmitted));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export class SdInputNumber {
|
|
24
|
+
constructor(ref, formConfig, utilityService) {
|
|
25
|
+
this.ref = ref;
|
|
26
|
+
this.formConfig = formConfig;
|
|
27
|
+
this.utilityService = utilityService;
|
|
28
|
+
this.id = `I${uuid.v4()}`;
|
|
29
|
+
_name.set(this, uuid.v4());
|
|
30
|
+
_valueInput.set(this, void 0);
|
|
31
|
+
_form.set(this, void 0);
|
|
32
|
+
this.disableErrorMessage = false;
|
|
33
|
+
_blurOnEnter_1.set(this, false);
|
|
34
|
+
_model.set(this, void 0);
|
|
35
|
+
this.modelChange = new EventEmitter();
|
|
36
|
+
// Validator
|
|
37
|
+
this.isRequired = false;
|
|
38
|
+
this.isReadonly = false;
|
|
39
|
+
_min.set(this, void 0);
|
|
40
|
+
_max.set(this, void 0);
|
|
41
|
+
_validator.set(this, void 0);
|
|
42
|
+
this.sdChange = new EventEmitter();
|
|
43
|
+
this.sdFocus = new EventEmitter();
|
|
44
|
+
this.sdFocusForceBlur = new EventEmitter();
|
|
45
|
+
this.keyupEnter = new EventEmitter();
|
|
46
|
+
this.formControl = new SdFormControl();
|
|
47
|
+
this.inputControl = new SdFormControl();
|
|
48
|
+
_subscription.set(this, new Subscription());
|
|
49
|
+
this.matcher = new SdInputNumberErrotStateMatcher(this.formControl);
|
|
50
|
+
this.isFocused = false;
|
|
51
|
+
_setValueInput.set(this, (value) => {
|
|
52
|
+
const arrayNext = value.split(',');
|
|
53
|
+
if (arrayNext.length >= 2) {
|
|
54
|
+
return `${__classPrivateFieldGet(this, _formatNumber).call(this, arrayNext[0])},${arrayNext[1]}`;
|
|
55
|
+
}
|
|
56
|
+
return __classPrivateFieldGet(this, _formatNumber).call(this, value);
|
|
57
|
+
});
|
|
58
|
+
_formatNumber.set(this, (string) => {
|
|
59
|
+
return string.toString().replace(/\./g, '').split("").reverse().reduce((acc, num, i, orig) => {
|
|
60
|
+
return num + (num != "-" && i && !(i % 3) ? "." : "") + acc;
|
|
61
|
+
}, "");
|
|
62
|
+
});
|
|
63
|
+
this.reValidate = () => {
|
|
64
|
+
this.formControl.updateValueAndValidity();
|
|
65
|
+
};
|
|
66
|
+
_updateValidator.set(this, () => {
|
|
67
|
+
this.formControl.clearValidators();
|
|
68
|
+
this.formControl.clearAsyncValidators();
|
|
69
|
+
const validators = [];
|
|
70
|
+
const asyncValidators = [];
|
|
71
|
+
if (this.isRequired) {
|
|
72
|
+
validators.push(Validators.required);
|
|
73
|
+
}
|
|
74
|
+
if (__classPrivateFieldGet(this, _validator)) {
|
|
75
|
+
asyncValidators.push(__classPrivateFieldGet(this, _customValidator).call(this, __classPrivateFieldGet(this, _validator)));
|
|
76
|
+
}
|
|
77
|
+
this.formControl.setValidators(validators);
|
|
78
|
+
this.formControl.setAsyncValidators(asyncValidators);
|
|
79
|
+
this.formControl.updateValueAndValidity();
|
|
80
|
+
});
|
|
81
|
+
_outPutValue.set(this, (value) => {
|
|
82
|
+
this.modelChange.emit(value);
|
|
83
|
+
this.sdChange.emit(value);
|
|
84
|
+
});
|
|
85
|
+
this.onKeyupEnter = () => {
|
|
86
|
+
var _a;
|
|
87
|
+
const val = ((_a = this.inputControl.value) !== null && _a !== void 0 ? _a : '').toString();
|
|
88
|
+
if (val.length > val.trim().length) {
|
|
89
|
+
this.inputControl.setValue(val.trim());
|
|
90
|
+
}
|
|
91
|
+
this.keyupEnter.emit(this.inputControl.value);
|
|
92
|
+
if (__classPrivateFieldGet(this, _blurOnEnter_1)) {
|
|
93
|
+
this.blur();
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
this.onKeydown = (event) => {
|
|
97
|
+
const key = event.keyCode || event.charCode;
|
|
98
|
+
if (key == 8 || key == 46) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (key == 46) {
|
|
102
|
+
event.preventDefault();
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const current = event.target.value;
|
|
106
|
+
const next = current.concat(event.key);
|
|
107
|
+
if (next === '-') {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const regexDecimal = new RegExp(/^[+-]?(([0-9]+(\.[0-9])?)+(\,[0-9]*){0,1})$/g);
|
|
111
|
+
if (next && !String(next).match(regexDecimal)) {
|
|
112
|
+
event.preventDefault();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
this.onFocus = () => {
|
|
117
|
+
var _a;
|
|
118
|
+
this.isFocused = true;
|
|
119
|
+
this.sdFocus.emit();
|
|
120
|
+
if (((_a = this.sdFocusForceBlur.observers) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
121
|
+
this.blur();
|
|
122
|
+
this.sdFocusForceBlur.emit();
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
this.onBlur = () => {
|
|
126
|
+
var _a;
|
|
127
|
+
this.isFocused = false;
|
|
128
|
+
let val = ((_a = this.inputControl.value) !== null && _a !== void 0 ? _a : '').toString();
|
|
129
|
+
const arrayValue = val.split(',');
|
|
130
|
+
const value = (val.toString().replace(/\./g, '').replace(/,/g, '.'));
|
|
131
|
+
if (Number(value) > __classPrivateFieldGet(this, _max)) {
|
|
132
|
+
this.inputControl.setValue(__classPrivateFieldGet(this, _formatNumber).call(this, __classPrivateFieldGet(this, _max)));
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (Number(value) < __classPrivateFieldGet(this, _min)) {
|
|
136
|
+
this.inputControl.setValue(__classPrivateFieldGet(this, _formatNumber).call(this, __classPrivateFieldGet(this, _min)));
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (arrayValue.length >= 2 && arrayValue[1] == '') {
|
|
140
|
+
this.inputControl.setValue(__classPrivateFieldGet(this, _formatNumber).call(this, arrayValue[0]));
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (val.length > val.trim().length) {
|
|
144
|
+
this.inputControl.setValue(val.trim());
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
this.onClick = () => {
|
|
148
|
+
var _a;
|
|
149
|
+
if ((_a = this.sdView) === null || _a === void 0 ? void 0 : _a.templateRef) {
|
|
150
|
+
if (!this.formControl.disabled && !this.isFocused) {
|
|
151
|
+
this.focus();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
this.blur = () => {
|
|
156
|
+
var _a, _b;
|
|
157
|
+
this.isFocused = false;
|
|
158
|
+
(_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.blur();
|
|
159
|
+
};
|
|
160
|
+
this.focus = () => {
|
|
161
|
+
this.isFocused = true;
|
|
162
|
+
setTimeout(() => {
|
|
163
|
+
var _a, _b;
|
|
164
|
+
(_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
|
|
165
|
+
}, 100);
|
|
166
|
+
};
|
|
167
|
+
_customValidator.set(this, (func) => {
|
|
168
|
+
return (c) => __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
const value = c.value || null;
|
|
170
|
+
if (func && typeof (func) === 'function') {
|
|
171
|
+
const result = func(value);
|
|
172
|
+
if (result instanceof Promise) {
|
|
173
|
+
const message = yield result;
|
|
174
|
+
if (message) {
|
|
175
|
+
return {
|
|
176
|
+
customValidator: message
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
if (result) {
|
|
182
|
+
return {
|
|
183
|
+
customValidator: result
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
return null;
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
set name(val) {
|
|
193
|
+
if (val) {
|
|
194
|
+
__classPrivateFieldSet(this, _name, val);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
set form(val) {
|
|
198
|
+
if (val) {
|
|
199
|
+
if (val instanceof NgForm) {
|
|
200
|
+
__classPrivateFieldSet(this, _form, val.form);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
__classPrivateFieldSet(this, _form, val);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
set _disableErrorMessage(val) {
|
|
208
|
+
this.disableErrorMessage = (val === '') || val;
|
|
209
|
+
}
|
|
210
|
+
set _blurOnEnter(val) {
|
|
211
|
+
__classPrivateFieldSet(this, _blurOnEnter_1, (val === '') || val);
|
|
212
|
+
}
|
|
213
|
+
set model(value) {
|
|
214
|
+
if (__classPrivateFieldGet(this, _model) !== value) {
|
|
215
|
+
__classPrivateFieldSet(this, _model, value);
|
|
216
|
+
this.formControl.setValue(value, {
|
|
217
|
+
emitEvent: false
|
|
218
|
+
});
|
|
219
|
+
if (value || value == 0) {
|
|
220
|
+
const val = value.toString().replace(/\./g, ',');
|
|
221
|
+
this.inputControl.setValue(__classPrivateFieldGet(this, _setValueInput).call(this, val));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
set required(val) {
|
|
226
|
+
this.isRequired = (val === '') || val;
|
|
227
|
+
__classPrivateFieldGet(this, _updateValidator).call(this);
|
|
228
|
+
}
|
|
229
|
+
set readonly(val) {
|
|
230
|
+
this.isReadonly = (val === '') || val;
|
|
231
|
+
}
|
|
232
|
+
set min(val) {
|
|
233
|
+
__classPrivateFieldSet(this, _min, val);
|
|
234
|
+
__classPrivateFieldGet(this, _updateValidator).call(this);
|
|
235
|
+
}
|
|
236
|
+
set max(val) {
|
|
237
|
+
__classPrivateFieldSet(this, _max, val);
|
|
238
|
+
__classPrivateFieldGet(this, _updateValidator).call(this);
|
|
239
|
+
}
|
|
240
|
+
set validator(validator) {
|
|
241
|
+
__classPrivateFieldSet(this, _validator, validator);
|
|
242
|
+
__classPrivateFieldGet(this, _updateValidator).call(this);
|
|
243
|
+
}
|
|
244
|
+
set disabled(val) {
|
|
245
|
+
val = (val === '') || val;
|
|
246
|
+
if (val) {
|
|
247
|
+
this.inputControl.disable();
|
|
248
|
+
this.formControl.disable();
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
this.inputControl.enable();
|
|
252
|
+
this.formControl.enable();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
ngOnInit() {
|
|
256
|
+
var _a;
|
|
257
|
+
this.appearance = this.appearance || ((_a = this.formConfig) === null || _a === void 0 ? void 0 : _a.appearance);
|
|
258
|
+
__classPrivateFieldGet(this, _subscription).add(this.inputControl.touchChanges.subscribe(() => {
|
|
259
|
+
this.formControl.markAsTouched();
|
|
260
|
+
this.ref.markForCheck();
|
|
261
|
+
}));
|
|
262
|
+
__classPrivateFieldGet(this, _subscription).add(this.formControl.sdChanges.subscribe(() => {
|
|
263
|
+
this.ref.markForCheck();
|
|
264
|
+
}));
|
|
265
|
+
__classPrivateFieldGet(this, _subscription).add(this.inputControl.sdChanges.subscribe(() => {
|
|
266
|
+
this.ref.markForCheck();
|
|
267
|
+
}));
|
|
268
|
+
}
|
|
269
|
+
ngAfterViewInit() {
|
|
270
|
+
var _a;
|
|
271
|
+
__classPrivateFieldGet(this, _subscription).add(this.inputControl.valueChanges.pipe(debounceTime(200)).subscribe(val => {
|
|
272
|
+
if (!val) {
|
|
273
|
+
this.formControl.setValue(undefined);
|
|
274
|
+
this.modelChange.emit(undefined);
|
|
275
|
+
this.sdChange.emit(undefined);
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
const item = __classPrivateFieldGet(this, _setValueInput).call(this, val);
|
|
279
|
+
if (__classPrivateFieldGet(this, _valueInput) === item) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
__classPrivateFieldSet(this, _valueInput, item);
|
|
283
|
+
const value = (val.toString().replace(/\./g, '').replace(/,/g, '.'));
|
|
284
|
+
this.inputControl.setValue(item);
|
|
285
|
+
this.formControl.setValue(value);
|
|
286
|
+
__classPrivateFieldGet(this, _outPutValue).call(this, Number(value));
|
|
287
|
+
}));
|
|
288
|
+
(_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.addControl(__classPrivateFieldGet(this, _name), this.formControl);
|
|
289
|
+
this.ref.detectChanges();
|
|
290
|
+
}
|
|
291
|
+
ngOnDestroy() {
|
|
292
|
+
var _a;
|
|
293
|
+
(_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.removeControl(__classPrivateFieldGet(this, _name));
|
|
294
|
+
__classPrivateFieldGet(this, _subscription).unsubscribe();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
_name = new WeakMap(), _valueInput = new WeakMap(), _form = new WeakMap(), _blurOnEnter_1 = new WeakMap(), _model = new WeakMap(), _min = new WeakMap(), _max = new WeakMap(), _validator = new WeakMap(), _subscription = new WeakMap(), _setValueInput = new WeakMap(), _formatNumber = new WeakMap(), _updateValidator = new WeakMap(), _outPutValue = new WeakMap(), _customValidator = new WeakMap();
|
|
298
|
+
SdInputNumber.decorators = [
|
|
299
|
+
{ type: Component, args: [{
|
|
300
|
+
selector: 'sd-input-number',
|
|
301
|
+
template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\" *ngIf=\"required\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container *ngIf=\"sdView?.templateRef && !isFocused; else default\">\r\n <ng-container *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{label}}</mat-label>\r\n <input [id]=\"id\" [formControl]=\"inputControl\" #control matInput [placeholder]=\"placeholder || label\" [errorStateMatcher]=\"matcher\"\r\n (keyup.enter)=\"onKeyupEnter()\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" (keydown)=\"onKeydown($event)\" [required]=\"isRequired\"\r\n [readonly]=\"isReadonly\" [autocomplete]=\"id\" autocorrect=\"off\" [step]=\"1\">\r\n <mat-error *ngIf=\"formControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf=\"!disableErrorMessage && formControl.errors?.customValidator\">\r\n {{formControl.errors?.customValidator}}\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>",
|
|
302
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
303
|
+
styles: [":host ::ng-deep .mat-form-field.sd-form-tooltip{width:calc(100% - 30px)}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}.sd-view:not(.c-focused):not(.c-disabled):hover{background-color:#ebecf0}.sd-tooltip{display:inline-block;margin:auto;text-align:center;width:30px}:host{display:block;padding-top:5px}.sd-md:hover .btn-copy{visibility:visible}.btn-copy{background:#e9e9e9!important;font-size:12px;line-height:26px!important;margin-bottom:3px;visibility:hidden}"]
|
|
304
|
+
},] }
|
|
305
|
+
];
|
|
306
|
+
SdInputNumber.ctorParameters = () => [
|
|
307
|
+
{ type: ChangeDetectorRef },
|
|
308
|
+
{ type: undefined, decorators: [{ type: Inject, args: [FORM_CONFIG,] }, { type: Optional }] },
|
|
309
|
+
{ type: SdUtilityService }
|
|
310
|
+
];
|
|
311
|
+
SdInputNumber.propDecorators = {
|
|
312
|
+
name: [{ type: Input }],
|
|
313
|
+
size: [{ type: Input }],
|
|
314
|
+
form: [{ type: Input }],
|
|
315
|
+
label: [{ type: Input }],
|
|
316
|
+
placeholder: [{ type: Input }],
|
|
317
|
+
_disableErrorMessage: [{ type: Input, args: ['disableErrorMessage',] }],
|
|
318
|
+
_blurOnEnter: [{ type: Input, args: ['blurOnEnter',] }],
|
|
319
|
+
model: [{ type: Input }],
|
|
320
|
+
modelChange: [{ type: Output }],
|
|
321
|
+
required: [{ type: Input }],
|
|
322
|
+
readonly: [{ type: Input }],
|
|
323
|
+
min: [{ type: Input }],
|
|
324
|
+
max: [{ type: Input }],
|
|
325
|
+
validator: [{ type: Input }],
|
|
326
|
+
disabled: [{ type: Input }],
|
|
327
|
+
appearance: [{ type: Input }],
|
|
328
|
+
sdChange: [{ type: Output }],
|
|
329
|
+
sdFocus: [{ type: Output }],
|
|
330
|
+
sdFocusForceBlur: [{ type: Output }],
|
|
331
|
+
keyupEnter: [{ type: Output }],
|
|
332
|
+
control: [{ type: ViewChild, args: ['control',] }],
|
|
333
|
+
sdView: [{ type: ContentChild, args: [SdViewDefDirective,] }]
|
|
334
|
+
};
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvaW5wdXQtbnVtYmVyLyIsInNvdXJjZXMiOlsic3JjL2xpYi9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBS2pCLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLE1BQU0sRUFBZSxVQUFVLEVBQWdFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEosT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsZ0ZBQWdGO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJdEQsTUFBTSw4QkFBOEI7SUFDbEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBSSxDQUFDO0lBQ2pELFlBQVksQ0FBQyxPQUEyQixFQUFFLElBQXdDOztRQUNoRixNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxDQUFD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QkFJM0IsS0FBSyxTQUFDLGFBQWE7b0JBSW5CLEtBQUs7MEJBWUwsTUFBTTt1QkFJTixLQUFLO3VCQU1MLEtBQUs7a0JBS0wsS0FBSztrQkFNTCxLQUFLO3dCQU1MLEtBQUs7dUJBS0wsS0FBSzt5QkFVTCxLQUFLO3VCQUVMLE1BQU07c0JBQ04sTUFBTTsrQkFDTixNQUFNO3lCQUNOLE1BQU07c0JBRU4sU0FBUyxTQUFDLFNBQVM7cUJBTW5CLFlBQVksU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uSW5pdCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdCxcclxuICBPcHRpb25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5nRm9ybSwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuLy8gaW1wb3J0IHsgU2RJbnB1dFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbnB1dC1zdWZmaXguZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RGb3JtQ29udHJvbCB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgU2RWaWV3RGVmRGlyZWN0aXZlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgeyBTZFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS91dGlsaXR5JztcclxuaW1wb3J0IHsgRk9STV9DT05GSUcgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcbmltcG9ydCB7IElGb3JtQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5jbGFzcyBTZElucHV0TnVtYmVyRXJyb3RTdGF0ZU1hdGNoZXIgaW1wbGVtZW50cyBFcnJvclN0YXRlTWF0Y2hlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHsgfVxyXG4gIGlzRXJyb3JTdGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCB8IG51bGwsIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGlzU3VibWl0dGVkID0gZm9ybSAmJiBmb3JtLnN1Ym1pdHRlZDtcclxuICAgIHJldHVybiAhISh0aGlzLmZvcm1Db250cm9sPy5pbnZhbGlkICYmICh0aGlzLmZvcm1Db250cm9sPy5kaXJ0eSB8fCB0aGlzLmZvcm1Db250cm9sPy50b3VjaGVkIHx8IGlzU3VibWl0dGVkKSk7XHJcbiAgfVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtaW5wdXQtbnVtYmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RJbnB1dE51bWJlciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBpZCA9IGBJJHt1dWlkLnY0KCl9YDtcclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICAjdmFsdWVJbnB1dDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBuYW1lKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuI25hbWUgPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbGcnO1xyXG4gICNmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsOiBOZ0Zvcm0gfCBGb3JtR3JvdXApIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5nRm9ybSkge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWwuZm9ybTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBkaXNhYmxlRXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcbiAgQElucHV0KCdkaXNhYmxlRXJyb3JNZXNzYWdlJykgc2V0IF9kaXNhYmxlRXJyb3JNZXNzYWdlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmRpc2FibGVFcnJvck1lc3NhZ2UgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gIH1cclxuICAjYmx1ck9uRW50ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoJ2JsdXJPbkVudGVyJykgc2V0IF9ibHVyT25FbnRlcih2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy4jYmx1ck9uRW50ZXIgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gIH1cclxuICAjbW9kZWw6IGFueTtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuI21vZGVsICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLiNtb2RlbCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlLCB7XHJcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgICAgaWYodmFsdWUgfHwgdmFsdWU9PTApe1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvXFwuL2csJywnKTtcclxuICAgICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLiNzZXRWYWx1ZUlucHV0KHZhbCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLy8gVmFsaWRhdG9yXHJcbiAgaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCByZXF1aXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgaXNSZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCByZWFkb25seSh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5pc1JlYWRvbmx5ID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcblxyXG4gICNtaW46IG51bWJlcjtcclxuICBASW5wdXQoKSBzZXQgbWluKHZhbDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLiNtaW4gPSB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gICNtYXg6IG51bWJlcjtcclxuICBASW5wdXQoKSBzZXQgbWF4KHZhbDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLiNtYXggPSB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gICN2YWxpZGF0b3I6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XHJcbiAgQElucHV0KCkgc2V0IHZhbGlkYXRvcih2YWxpZGF0b3I6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4pIHtcclxuICAgIHRoaXMuI3ZhbGlkYXRvciA9IHZhbGlkYXRvcjtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB2YWwgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbnB1dENvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2U7XHJcblxyXG4gIEBPdXRwdXQoKSBzZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBzZEZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNkRm9jdXNGb3JjZUJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkga2V5dXBFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udHJvbCcpIGNvbnRyb2w6IEVsZW1lbnRSZWY7XHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gIGlucHV0Q29udHJvbCA9IG5ldyBTZEZvcm1Db250cm9sKCk7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBtYXRjaGVyID0gbmV3IFNkSW5wdXROdW1iZXJFcnJvdFN0YXRlTWF0Y2hlcih0aGlzLmZvcm1Db250cm9sKTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChTZFZpZXdEZWZEaXJlY3RpdmUpIHNkVmlldzogU2RWaWV3RGVmRGlyZWN0aXZlO1xyXG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChGT1JNX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmb3JtQ29uZmlnOiBJRm9ybUNvbmZpZ3VyYXRpb24sXHJcbiAgICBwcml2YXRlIHV0aWxpdHlTZXJ2aWNlOiBTZFV0aWxpdHlTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXBwZWFyYW5jZSA9IHRoaXMuYXBwZWFyYW5jZSB8fCB0aGlzLmZvcm1Db25maWc/LmFwcGVhcmFuY2U7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuaW5wdXRDb250cm9sLnRvdWNoQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wuc2RDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmlucHV0Q29udHJvbC5zZENoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuaW5wdXRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyMDApKS5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgaWYoIXZhbCl7XHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpO1xyXG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh1bmRlZmluZWQpO1xyXG4gICAgICAgIHRoaXMuc2RDaGFuZ2UuZW1pdCh1bmRlZmluZWQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBpdGVtID0gIHRoaXMuI3NldFZhbHVlSW5wdXQodmFsKTtcclxuICAgICAgaWYoIHRoaXMuI3ZhbHVlSW5wdXQgPT09IGl0ZW0pe1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLiN2YWx1ZUlucHV0ID0gaXRlbTtcclxuICAgICAgY29uc3QgdmFsdWUgPSAodmFsLnRvU3RyaW5nKCkucmVwbGFjZSgvXFwuL2csJycpLnJlcGxhY2UoLywvZywnLicpKTtcclxuICAgICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUoaXRlbSk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICB0aGlzLiNvdXRQdXRWYWx1ZShOdW1iZXIodmFsdWUpKTtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAjc2V0VmFsdWVJbnB1dD0odmFsdWUpPT57XHJcbiAgICBjb25zdCBhcnJheU5leHQgPSB2YWx1ZS5zcGxpdCgnLCcpO1xyXG4gICAgaWYgKGFycmF5TmV4dC5sZW5ndGg+PTIpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuI2Zvcm1hdE51bWJlcihhcnJheU5leHRbMF0pfSwke2FycmF5TmV4dFsxXX1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuI2Zvcm1hdE51bWJlcih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAjZm9ybWF0TnVtYmVyPShzdHJpbmcpID0+e1xyXG4gICAgcmV0dXJuIHN0cmluZy50b1N0cmluZygpLnJlcGxhY2UoL1xcLi9nLCcnKS5zcGxpdChcIlwiKS5yZXZlcnNlKCkucmVkdWNlKChhY2MsIG51bSwgaSwgb3JpZykgPT4ge1xyXG4gICAgICByZXR1cm4gbnVtICsgKG51bSAhPSBcIi1cIiAmJiBpICYmICEoaSAlIDMpID8gXCIuXCIgOiBcIlwiKSArIGFjYztcclxuICAgIH0sIFwiXCIpO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy4jZm9ybT8ucmVtb3ZlQ29udHJvbCh0aGlzLiNuYW1lKTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI3VwZGF0ZVZhbGlkYXRvciA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLmNsZWFyQXN5bmNWYWxpZGF0b3JzKCk7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBjb25zdCBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuaXNSZXF1aXJlZCkge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy4jdmFsaWRhdG9yKSB7XHJcbiAgICAgIGFzeW5jVmFsaWRhdG9ycy5wdXNoKHRoaXMuI2N1c3RvbVZhbGlkYXRvcih0aGlzLiN2YWxpZGF0b3IpKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0QXN5bmNWYWxpZGF0b3JzKGFzeW5jVmFsaWRhdG9ycyk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gICNvdXRQdXRWYWx1ZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy5zZENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uS2V5dXBFbnRlciA9ICgpID0+IHtcclxuICAgIGNvbnN0IHZhbDogc3RyaW5nID0gKHRoaXMuaW5wdXRDb250cm9sLnZhbHVlID8/ICcnKS50b1N0cmluZygpO1xyXG4gICAgaWYgKHZhbC5sZW5ndGggPiB2YWwudHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSh2YWwudHJpbSgpKTtcclxuICAgIH1cclxuICAgIHRoaXMua2V5dXBFbnRlci5lbWl0KHRoaXMuaW5wdXRDb250cm9sLnZhbHVlKTtcclxuICAgIGlmICh0aGlzLiNibHVyT25FbnRlcikge1xyXG4gICAgICB0aGlzLmJsdXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uS2V5ZG93biA9IChldmVudCkgPT4ge1xyXG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5Q29kZSB8fCBldmVudC5jaGFyQ29kZTtcclxuICAgIGlmICgga2V5ID09IDggfHwga2V5ID09IDQ2ICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIGtleSA9PSA0Nikge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBjdXJyZW50OiBzdHJpbmcgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICBjb25zdCBuZXh0OiBzdHJpbmcgPSBjdXJyZW50LmNvbmNhdChldmVudC5rZXkpO1xyXG4gICAgaWYobmV4dCA9PT0gJy0nKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVnZXhEZWNpbWFsOiBSZWdFeHAgPSBuZXcgUmVnRXhwKC9eWystXT8oKFswLTldKyhcXC5bMC05XSk/KSsoXFwsWzAtOV0qKXswLDF9KSQvZyk7XHJcbiAgICBpZiAobmV4dCAmJiAhU3RyaW5nKG5leHQpLm1hdGNoKHJlZ2V4RGVjaW1hbCkpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2RGb2N1cy5lbWl0KCk7XHJcbiAgICBpZiAodGhpcy5zZEZvY3VzRm9yY2VCbHVyLm9ic2VydmVycz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmJsdXIoKTtcclxuICAgICAgdGhpcy5zZEZvY3VzRm9yY2VCbHVyLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1ciA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgICBsZXQgdmFsOiBzdHJpbmcgPSAodGhpcy5pbnB1dENvbnRyb2wudmFsdWUgPz8gJycpLnRvU3RyaW5nKCk7XHJcbiAgICBjb25zdCBhcnJheVZhbHVlID0gdmFsLnNwbGl0KCcsJyk7XHJcbiAgICBjb25zdCB2YWx1ZSA9ICh2YWwudG9TdHJpbmcoKS5yZXBsYWNlKC9cXC4vZywnJykucmVwbGFjZSgvLC9nLCcuJykpO1xyXG4gICAgaWYoTnVtYmVyKHZhbHVlKSA+IHRoaXMuI21heCl7XHJcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKHRoaXMuI2Zvcm1hdE51bWJlcih0aGlzLiNtYXgpKTtcclxuICAgICAgcmV0dXJuOyBcclxuICAgIH1cclxuICAgIGlmKE51bWJlcih2YWx1ZSkgPCB0aGlzLiNtaW4pe1xyXG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLiNmb3JtYXROdW1iZXIodGhpcy4jbWluKSk7XHJcbiAgICAgIHJldHVybjsgXHJcbiAgICB9XHJcbiAgICBpZiAoYXJyYXlWYWx1ZS5sZW5ndGg+PTIgJiYgYXJyYXlWYWx1ZVsxXSA9PSAnJykge1xyXG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLiNmb3JtYXROdW1iZXIoYXJyYXlWYWx1ZVswXSkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodmFsLmxlbmd0aCA+IHZhbC50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKHZhbC50cmltKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbGljayA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLnNkVmlldz8udGVtcGxhdGVSZWYpIHtcclxuICAgICAgaWYgKCF0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkICYmICF0aGlzLmlzRm9jdXNlZCkge1xyXG4gICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmx1ciA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbnRyb2w/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIGZvY3VzID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29udHJvbD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG5cclxuICAjY3VzdG9tVmFsaWRhdG9yID0gKGZ1bmM6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4pOiBBc3luY1ZhbGlkYXRvckZuID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoYzogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbD4gPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGMudmFsdWUgfHwgbnVsbDtcclxuICAgICAgaWYgKGZ1bmMgJiYgdHlwZW9mIChmdW5jKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZ1bmModmFsdWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgcmVzdWx0O1xyXG4gICAgICAgICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IG1lc3NhZ2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IHJlc3VsdFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SdInputNumber } from './input-number.component';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { MatInputModule } from '@angular/material/input';
|
|
7
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
|
+
import { SdTranslateModule } from '@sd-angular/core/translate';
|
|
11
|
+
import { SdCommonModule } from '@sd-angular/core/common';
|
|
12
|
+
export class SdInputNumberModule {
|
|
13
|
+
}
|
|
14
|
+
SdInputNumberModule.decorators = [
|
|
15
|
+
{ type: NgModule, args: [{
|
|
16
|
+
declarations: [SdInputNumber],
|
|
17
|
+
imports: [
|
|
18
|
+
CommonModule,
|
|
19
|
+
FormsModule,
|
|
20
|
+
ReactiveFormsModule,
|
|
21
|
+
MatFormFieldModule,
|
|
22
|
+
MatInputModule,
|
|
23
|
+
MatIconModule,
|
|
24
|
+
MatTooltipModule,
|
|
25
|
+
SdTranslateModule,
|
|
26
|
+
SdCommonModule,
|
|
27
|
+
MatButtonModule
|
|
28
|
+
],
|
|
29
|
+
exports: [
|
|
30
|
+
SdInputNumber
|
|
31
|
+
]
|
|
32
|
+
},] }
|
|
33
|
+
];
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvaW5wdXQtbnVtYmVyLyIsInNvdXJjZXMiOlsic3JjL2xpYi9pbnB1dC1udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBb0J6RCxNQUFNLE9BQU8sbUJBQW1COzs7WUFsQi9CLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLENBQUM7Z0JBQzdCLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxlQUFlO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsYUFBYTtpQkFDZDthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU2RJbnB1dE51bWJlciB9IGZyb20gJy4vaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBTZFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdHJhbnNsYXRlJztcclxuaW1wb3J0IHsgU2RDb21tb25Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NkSW5wdXROdW1iZXJdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBTZFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIFNkQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZElucHV0TnVtYmVyXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RJbnB1dE51bWJlck1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of superdev-angular-core
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/input-number.module';
|
|
5
|
+
export * from './lib/input-number.component';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvaW5wdXQtbnVtYmVyLyIsInNvdXJjZXMiOlsic3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc3VwZXJkZXYtYW5ndWxhci1jb3JlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQtbnVtYmVyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LW51bWJlci5jb21wb25lbnQnOyJdfQ==
|
|
@@ -22,6 +22,7 @@ export class PopoverTriggerDirective {
|
|
|
22
22
|
_destroy$.set(this, new Subject());
|
|
23
23
|
this.popoverOpen = false;
|
|
24
24
|
_popover.set(this, void 0);
|
|
25
|
+
this.disabled = false;
|
|
25
26
|
this.popoverOpened = new EventEmitter();
|
|
26
27
|
this.popoverClosed = new EventEmitter();
|
|
27
28
|
this.openPopover = () => {
|
|
@@ -176,7 +177,7 @@ export class PopoverTriggerDirective {
|
|
|
176
177
|
mergedMouseState$
|
|
177
178
|
.pipe(debounceTime(100), distinctUntilChanged(), filter(() => this.platform.isBrowser), takeUntil(__classPrivateFieldGet(this, _destroy$)))
|
|
178
179
|
.subscribe((visible) => {
|
|
179
|
-
if (visible) {
|
|
180
|
+
if (visible && !this.disabled) {
|
|
180
181
|
this.openPopover();
|
|
181
182
|
}
|
|
182
183
|
else {
|
|
@@ -217,7 +218,8 @@ PopoverTriggerDirective.ctorParameters = () => [
|
|
|
217
218
|
PopoverTriggerDirective.propDecorators = {
|
|
218
219
|
popover: [{ type: Input, args: ["sdPopoverTriggerFor",] }],
|
|
219
220
|
popoverData: [{ type: Input, args: ["sdPopoverData",] }],
|
|
221
|
+
disabled: [{ type: Input, args: ["sdPopoverDisabled",] }],
|
|
220
222
|
popoverOpened: [{ type: Output }],
|
|
221
223
|
popoverClosed: [{ type: Output }]
|
|
222
224
|
};
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvcG9wb3Zlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGlyZWN0aXZlcy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFFTCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixLQUFLLEVBQ0wsU0FBUyxHQUVWLE1BQU0sZ0JBQWdCLENBQUM7QUFZeEIsTUFBTSxPQUFPLHVCQUF1QjtJQWdDbEMsWUFDVSxRQUFpQixFQUNqQixRQUFpQyxFQUNqQyxPQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ04sSUFBb0I7UUFOaEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDTixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQXRDMUMsc0JBQWlDLElBQUksRUFBQztRQUN0Qyx5QkFBaUIsWUFBWSxDQUFDLEtBQUssRUFBQztRQUNwQywwQkFBd0I7UUFDeEIsb0JBQVksSUFBSSxPQUFPLEVBQUUsRUFBQztRQUUxQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQWtCcEIsMkJBQTJCO1FBS2pCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFzRG5ELGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsT0FBTzthQUNSO1lBRUQsTUFBTSxVQUFVLEdBQUcsa0RBQUEsSUFBSSxDQUFpQixDQUFDO1lBQ3pDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxNQUFNLGdCQUFnQixHQUNwQixhQUFhLENBQUMsZ0JBQXFELENBQUM7WUFDdEUsZ0RBQUEsSUFBSSxFQUFjLGdCQUFnQixDQUFDLENBQUM7WUFDcEMsYUFBYSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDbEMsVUFBVSxDQUFDLE1BQU0sQ0FBQyw4Q0FBQSxJQUFJLENBQWEsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUM1QixxREFBQSxJQUFJLEVBQW1CLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQztRQUVGLGlCQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUVGLDRCQUFvQixDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsQ0FBQyxFQUFDO1FBRUYscUJBQWEsR0FBbUIsRUFBRTs7WUFDaEMsSUFDRSxzQ0FBYTtnQkFDYixzQ0FBYSxXQUFXLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNyRCxPQUFBLHNDQUFhLE9BQU8sMENBQUUsSUFBSSxNQUFLLElBQUksQ0FBQyxXQUFXLEVBQy9DO2dCQUNBLHVCQUFBLElBQUksV0FBVyxJQUFJLGNBQWMsQ0FDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFDckI7b0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO2lCQUN2QixDQUNGLEVBQUM7YUFDSDtZQUVELDZDQUFvQjtRQUN0QixDQUFDLEVBQUM7UUFFRix5QkFBaUIsR0FBRyxFQUFFO1lBQ3BCLElBQUksMENBQWlCLEVBQUU7Z0JBQ3JCLE1BQU0sTUFBTSxHQUFHLHFEQUFBLElBQUksQ0FBb0IsQ0FBQztnQkFDeEMseURBQUEsSUFBSSxFQUNGLE1BQU0sQ0FBQyxnQkFBcUQsQ0FDN0QsQ0FBQztnQkFDRix1QkFBQSxJQUFJLGVBQWUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUM7YUFDakQ7WUFFRCxpREFBd0I7UUFDMUIsQ0FBQyxFQUFDO1FBRUYsdUJBQWUsQ0FBQyxnQkFBbUQsRUFBRSxFQUFFO1lBQ3JFLElBQUksT0FBTyxHQUErQixRQUFRLENBQUM7WUFDbkQsSUFBSSxPQUFPLEdBQWdDLEtBQUssQ0FBQztZQUNqRCxJQUFJLFFBQVEsR0FBK0IsUUFBUSxDQUFDO1lBQ3BELElBQUksUUFBUSxHQUFnQyxRQUFRLENBQUM7WUFDckQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUVqQixRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUM3QixLQUFLLE9BQU87b0JBQ1YsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDaEIsUUFBUSxHQUFHLFFBQVEsQ0FBQztvQkFDcEIsTUFBTTtnQkFDUixLQUFLLE9BQU87b0JBQ1YsT0FBTyxHQUFHLFFBQVEsQ0FBQztvQkFDbkIsUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDakIsTUFBTTthQUNUO1lBRUQsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO2dCQUM3QixhQUFhO2dCQUNiLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUN4RixZQUFZO2dCQUNaO29CQUNFLE9BQU8sRUFBRSxRQUFRO29CQUNqQixPQUFPLEVBQUUsS0FBSztvQkFDZCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLE9BQU87b0JBQ1AsT0FBTyxFQUFFLENBQUMsT0FBTztpQkFDbEI7Z0JBQ0QsWUFBWTtnQkFDWjtvQkFDRSxPQUFPLEVBQUUsUUFBUTtvQkFDakIsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUUsS0FBSztvQkFDZixPQUFPO29CQUNQLE9BQU87aUJBQ1I7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUM7UUFFRiw0QkFBb0IsR0FBRyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxhQUFhLENBQUM7Z0JBQ3ZCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRO3FCQUM1QixRQUFRLEVBQUU7cUJBQ1YsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztxQkFDbEMsa0JBQWtCLEVBQUU7cUJBQ3BCLGlCQUFpQixFQUFFO3FCQUNuQixxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDN0MsYUFBYSxFQUFFLGtDQUFrQztnQkFDakQsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtnQkFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO2dCQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2FBQzVCLENBQUMsQ0FBQztRQUNMLENBQUMsRUFBQztRQUVGLGdDQUF3QixDQUFDLFFBQTJDLEVBQUUsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ25DLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7O29CQUM1QyxNQUFNLEdBQUcsR0FDUCxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUUvRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDOUQ7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDdEM7b0JBRUQsTUFBTSxhQUFhLEdBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO29CQUNqRSxNQUFNLGNBQWMsU0FDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzVCLDBDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDaEIsSUFBSSxhQUFhLElBQUksY0FBYyxFQUFFO3dCQUNuQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQzt3QkFDekQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixFQUFFLENBQUM7d0JBQzNELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7d0JBQzFELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7d0JBRTdELE1BQU0sTUFBTSxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUM7d0JBRXhDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ3pDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLEVBQUM7UUFFRiwwQkFBa0IsR0FBRyxFQUFFO1lBQ3JCLElBQUksMENBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUMxQyxPQUFPO2FBQ1I7WUFDRCwwQ0FBaUIsTUFBTSxFQUFFLENBQUM7WUFDMUIscURBQUEsSUFBSSxFQUFtQixLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLEVBQUM7SUFsTUMsQ0FBQztJQWhDSixJQUNJLE9BQU87UUFDVCw4Q0FBcUI7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQXlCO1FBQ25DLElBQUksT0FBTywyQ0FBa0IsRUFBRTtZQUM3QixPQUFPO1NBQ1I7UUFDRCx1QkFBQSxJQUFJLFlBQVksT0FBTyxFQUFDO1FBQ3hCLDZDQUFvQixXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLE9BQU8sRUFBRTtZQUNYLHVCQUFBLElBQUksa0JBQWtCLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDbEQsbURBQUEsSUFBSSxDQUFrQixDQUFDO1lBQ3pCLENBQUMsQ0FBQyxFQUFDO1NBQ0o7SUFDSCxDQUFDO0lBbUJELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFFcEQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUMzQixTQUFTLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDeEQsU0FBUyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFELENBQUM7WUFFRixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUk7WUFDdEQsc0ZBQXNGO1lBQ3RGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FDckUsQ0FBQztZQUVGLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBRXJFLGlCQUFpQjtpQkFDZCxJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDckMsU0FBUyx5Q0FBZ0IsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksT0FBTyxFQUFFO29CQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDcEI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2lCQUNyQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULHdDQUFlLElBQUksRUFBRSxDQUFDO1FBQ3RCLHdDQUFlLFFBQVEsRUFBRSxDQUFDO1FBQzFCLCtDQUFzQjtZQUNwQiwwQ0FBaUIsT0FBTyxFQUFFLENBQUM7WUFDM0IsdUJBQUEsSUFBSSxlQUFlLElBQUksRUFBQztTQUN6QjtJQUNILENBQUM7Ozs7WUExRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLElBQUksRUFBRTtvQkFDSixlQUFlLEVBQUUsTUFBTTtvQkFDdkIsS0FBSyxFQUFFLG9CQUFvQjtpQkFDNUI7Z0JBQ0QsUUFBUSxFQUFFLGtCQUFrQjthQUM3Qjs7O1lBeENDLE9BQU87WUFVUCxVQUFVO1lBR1YsTUFBTTtZQUlOLGdCQUFnQjtZQVBoQixVQUFVO1lBTkgsUUFBUTtZQVBSLGNBQWMsdUJBbUZsQixRQUFROzs7c0JBL0JWLEtBQUssU0FBQyxxQkFBcUI7MEJBa0IzQixLQUFLLFNBQUMsZUFBZTs0QkFHckIsTUFBTTs0QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHtcclxuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgT3ZlcmxheSxcclxuICBPdmVybGF5Q29uZmlnLFxyXG4gIE92ZXJsYXlSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wbGF0Zm9ybVwiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7XHJcbiAgYXVkaXRUaW1lLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBmaWx0ZXIsXHJcbiAgbWFwLFxyXG4gIG1hcFRvLFxyXG4gIHRha2VVbnRpbCxcclxuICB0YXAsXHJcbn0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uL3BvcG92ZXIubW9kZWxcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gXCIuLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50XCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogXCJbc2RQb3BvdmVyVHJpZ2dlckZvcl1cIixcclxuICBob3N0OiB7XHJcbiAgICBcImFyaWEtaGFzcG9wdXBcIjogXCJ0cnVlXCIsXHJcbiAgICBjbGFzczogXCJzZC1wb3BvdmVyLXRyaWdnZXJcIixcclxuICB9LFxyXG4gIGV4cG9ydEFzOiBcInNkUG9wb3ZlclRyaWdnZXJcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAjb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG4gICNwb3BvdmVyQ2xvc2UkID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xyXG4gICNwb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xyXG4gICNkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHBvcG92ZXJPcGVuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dChcInNkUG9wb3ZlclRyaWdnZXJGb3JcIilcclxuICBnZXQgcG9wb3ZlcigpIHtcclxuICAgIHJldHVybiB0aGlzLiNwb3BvdmVyO1xyXG4gIH1cclxuICBzZXQgcG9wb3Zlcihwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KSB7XHJcbiAgICBpZiAocG9wb3ZlciA9PT0gdGhpcy4jcG9wb3Zlcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLiNwb3BvdmVyID0gcG9wb3ZlcjtcclxuICAgIHRoaXMuI3BvcG92ZXJDbG9zZSQudW5zdWJzY3JpYmUoKTtcclxuICAgIGlmIChwb3BvdmVyKSB7XHJcbiAgICAgIHRoaXMuI3BvcG92ZXJDbG9zZSQgPSBwb3BvdmVyLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lQb3BvdmVyKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAjcG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KFwic2RQb3BvdmVyRGF0YVwiKVxyXG4gIHBvcG92ZXJEYXRhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBwb3BvdmVyT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBwb3BvdmVyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5XHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyKSB7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIGNvbnN0IGhvc3RNb3VzZVN0YXRlJCA9IG1lcmdlKFxyXG4gICAgICAgIGZyb21FdmVudChuYXRpdmVFbGVtZW50LCBcIm1vdXNlZW50ZXJcIikucGlwZShtYXBUbyh0cnVlKSksXHJcbiAgICAgICAgZnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIFwibW91c2VsZWF2ZVwiKS5waXBlKG1hcFRvKGZhbHNlKSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGNvbnN0IHBvcG92ZXJNb3VzZVN0YXRlJCA9IHRoaXMucG9wb3Zlci5tb3VzZVN0YXRlJC5waXBlKFxyXG4gICAgICAgIC8vIGNo4buJIGzhuqV5IGx14buTbmcgZW1pdCBvcGVuIGLhu59pIGNow61uaCB0cmlnZ2VyICh0csOhbmggbOG7l2kgbmhp4buBdSB0cmlnZ2VyIGNobyBt4buZdCBwb3BvdmVyKVxyXG4gICAgICAgIGZpbHRlcigodikgPT4gIXRoaXMucG9wb3Zlci50cmlnZ2VyIHx8IHRoaXMucG9wb3Zlci50cmlnZ2VyID09IHRoaXMpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBjb25zdCBtZXJnZWRNb3VzZVN0YXRlJCA9IG1lcmdlKHBvcG92ZXJNb3VzZVN0YXRlJCwgaG9zdE1vdXNlU3RhdGUkKTtcclxuXHJcbiAgICAgIG1lcmdlZE1vdXNlU3RhdGUkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI2Rlc3Ryb3kkKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCh2aXNpYmxlKSA9PiB7XHJcbiAgICAgICAgICBpZiAodmlzaWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgaWYgKHRoaXMuI292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy4jb3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuI2NyZWF0ZU92ZXJsYXkoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBvdmVybGF5UmVmLmdldENvbmZpZygpO1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9XHJcbiAgICAgIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICB0aGlzLiNzZXRQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcclxuICAgIG92ZXJsYXlDb25maWcuaGFzQmFja2Ryb3AgPSBmYWxzZTtcclxuICAgIG92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuI2dldFBvcnRhbCgpKTtcclxuICAgIHRoaXMucG9wb3Zlci50cmlnZ2VyID0gdGhpcztcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4odHJ1ZSk7XHJcbiAgfTtcclxuXHJcbiAgY2xvc2VQb3BvdmVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5wb3BvdmVyLmNsb3NlZC5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgI3NldElzUG9wb3Zlck9wZW4gPSAoaXNPcGVuOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLnBvcG92ZXJPcGVuID0gaXNPcGVuO1xyXG4gICAgdGhpcy5wb3BvdmVyT3BlbiA/IHRoaXMucG9wb3Zlck9wZW5lZC5lbWl0KCkgOiB0aGlzLnBvcG92ZXJDbG9zZWQuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gICNnZXRQb3J0YWwgPSAoKTogVGVtcGxhdGVQb3J0YWwgPT4ge1xyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy4jcG9ydGFsIHx8XHJcbiAgICAgIHRoaXMuI3BvcnRhbC50ZW1wbGF0ZVJlZiAhPT0gdGhpcy5wb3BvdmVyLnRlbXBsYXRlUmVmIHx8XHJcbiAgICAgIHRoaXMuI3BvcnRhbC5jb250ZXh0Py5kYXRhICE9PSB0aGlzLnBvcG92ZXJEYXRhXHJcbiAgICApIHtcclxuICAgICAgdGhpcy4jcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgIHRoaXMucG9wb3Zlci50ZW1wbGF0ZVJlZixcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZGF0YTogdGhpcy5wb3BvdmVyRGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy4jcG9ydGFsO1xyXG4gIH07XHJcblxyXG4gICNjcmVhdGVPdmVybGF5ID0gKCkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLiNvdmVybGF5UmVmKSB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuI2dldE92ZXJsYXlDb25maWcoKTtcclxuICAgICAgdGhpcy4jc3Vic2NyaWJlVG9Qb3NpdGlvbnMoXHJcbiAgICAgICAgY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLiNvdmVybGF5UmVmO1xyXG4gIH07XHJcblxyXG4gICNzZXRQb3NpdGlvbiA9IChwb3NpdGlvblN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpID0+IHtcclxuICAgIGxldCBvcmlnaW5YOiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiA9IFwiY2VudGVyXCI7XHJcbiAgICBsZXQgb3JpZ2luWTogXCJ0b3BcIiB8IFwiY2VudGVyXCIgfCBcImJvdHRvbVwiID0gXCJ0b3BcIjtcclxuICAgIGxldCBvdmVybGF5WDogXCJzdGFydFwiIHwgXCJjZW50ZXJcIiB8IFwiZW5kXCIgPSBcImNlbnRlclwiO1xyXG4gICAgbGV0IG92ZXJsYXlZOiBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCIgPSBcImJvdHRvbVwiO1xyXG4gICAgbGV0IG9mZnNldFggPSAwO1xyXG4gICAgbGV0IG9mZnNldFkgPSAxNjtcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMucG9wb3Zlci5wb3NpdGlvbikge1xyXG4gICAgICBjYXNlIFwiYWJvdmVcIjpcclxuICAgICAgICBvcmlnaW5ZID0gXCJ0b3BcIjtcclxuICAgICAgICBvdmVybGF5WSA9IFwiYm90dG9tXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJiZWxvd1wiOlxyXG4gICAgICAgIG9yaWdpblkgPSBcImJvdHRvbVwiO1xyXG4gICAgICAgIG92ZXJsYXlZID0gXCJ0b3BcIjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAvLyB0aGVvIGlucHV0XHJcbiAgICAgIHsgb3JpZ2luWCwgb3JpZ2luWSwgb3ZlcmxheVgsIG92ZXJsYXlZLCBvZmZzZXRZOiBvcmlnaW5ZID09IFwidG9wXCIgPyAtb2Zmc2V0WSA6IG9mZnNldFkgfSxcclxuICAgICAgLy8gZ2nhu69hIHRyw6puXHJcbiAgICAgIHtcclxuICAgICAgICBvcmlnaW5YOiBcImNlbnRlclwiLFxyXG4gICAgICAgIG9yaWdpblk6IFwidG9wXCIsXHJcbiAgICAgICAgb3ZlcmxheVg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3ZlcmxheVk6IFwiYm90dG9tXCIsXHJcbiAgICAgICAgb2Zmc2V0WCxcclxuICAgICAgICBvZmZzZXRZOiAtb2Zmc2V0WSxcclxuICAgICAgfSxcclxuICAgICAgLy8gZ2nhu69hIGTGsOG7m2lcclxuICAgICAge1xyXG4gICAgICAgIG9yaWdpblg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3JpZ2luWTogXCJib3R0b21cIixcclxuICAgICAgICBvdmVybGF5WDogXCJjZW50ZXJcIixcclxuICAgICAgICBvdmVybGF5WTogXCJ0b3BcIixcclxuICAgICAgICBvZmZzZXRYLFxyXG4gICAgICAgIG9mZnNldFksXHJcbiAgICAgIH0sXHJcbiAgICBdKTtcclxuICB9O1xyXG5cclxuICAjZ2V0T3ZlcmxheUNvbmZpZyA9ICgpID0+IHtcclxuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnQpXHJcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXHJcbiAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKClcclxuICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKFwiLnNkLXBvcG92ZXItcGFuZWxcIiksXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcclxuICAgICAgcGFuZWxDbGFzczogdGhpcy5wb3BvdmVyLnBhbmVsQ2xhc3MsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLFxyXG4gICAgICB3aWR0aDogdGhpcy5wb3BvdmVyLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMucG9wb3Zlci5oZWlnaHQsXHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICAjc3Vic2NyaWJlVG9Qb3NpdGlvbnMgPSAocG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkgPT4ge1xyXG4gICAgaWYgKHRoaXMucG9wb3Zlci5zZXRQb3NpdGlvbkNsYXNzZXMpIHtcclxuICAgICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcG9zOiBQb3NpdGlvbiA9XHJcbiAgICAgICAgICBjaGFuZ2UuY29ubmVjdGlvblBhaXIub3ZlcmxheVkgPT09IFwidG9wXCIgPyBcImJlbG93XCIgOiBcImFib3ZlXCI7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9uZ1pvbmUpIHtcclxuICAgICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4gdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCBvdmVybGF5RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoXHJcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZ2V0KDApIGFzIGFueVxyXG4gICAgICAgICk/LnJvb3ROb2Rlc1swXTtcclxuICAgICAgICBpZiAob3JpZ2luRWxlbWVudCAmJiBvdmVybGF5RWxlbWVudCkge1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luUmVjdCA9IG9yaWdpbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBvdmVybGF5UmVjdCA9IG92ZXJsYXlFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luTGVmdCA9IG9yaWdpblJlY3QubGVmdCArIG9yaWdpblJlY3Qud2lkdGggLyAyO1xyXG4gICAgICAgICAgY29uc3Qgb3ZlcmxheUxlZnQgPSBvdmVybGF5UmVjdC5sZWZ0ICsgb3ZlcmxheVJlY3Qud2lkdGggLyAyO1xyXG5cclxuICAgICAgICAgIGNvbnN0IG9mZnNldCA9IG9yaWdpbkxlZnQgLSBvdmVybGF5TGVmdDtcclxuXHJcbiAgICAgICAgICB0aGlzLnBvcG92ZXIuYWRkQXJyb3dUcmFuc2xhdGVYKG9mZnNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAjZGVzdHJveVBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuI292ZXJsYXlSZWYgfHwgIXRoaXMucG9wb3Zlck9wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy4jb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4oZmFsc2UpO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvcG9wb3Zlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGlyZWN0aXZlcy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFFTCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixLQUFLLEVBQ0wsU0FBUyxHQUVWLE1BQU0sZ0JBQWdCLENBQUM7QUFZeEIsTUFBTSxPQUFPLHVCQUF1QjtJQW1DbEMsWUFDVSxRQUFpQixFQUNqQixRQUFpQyxFQUNqQyxPQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ04sSUFBb0I7UUFOaEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFr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QztRQUMxQiwrQ0FBc0I7WUFDcEIsMENBQWlCLE9BQU8sRUFBRSxDQUFDO1lBQzNCLHVCQUFBLElBQUksZUFBZSxJQUFJLEVBQUM7U0FDekI7SUFDSCxDQUFDOzs7O1lBN0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxJQUFJLEVBQUU7b0JBQ0osZUFBZSxFQUFFLE1BQU07b0JBQ3ZCLEtBQUssRUFBRSxvQkFBb0I7aUJBQzVCO2dCQUNELFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7OztZQXhDQyxPQUFPO1lBVVAsVUFBVTtZQUdWLE1BQU07WUFJTixnQkFBZ0I7WUFQaEIsVUFBVTtZQU5ILFFBQVE7WUFQUixjQUFjLHVCQXNGbEIsUUFBUTs7O3NCQWxDVixLQUFLLFNBQUMscUJBQXFCOzBCQWtCM0IsS0FBSyxTQUFDLGVBQWU7dUJBR3JCLEtBQUssU0FBQyxtQkFBbUI7NEJBR3pCLE1BQU07NEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7XHJcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxyXG4gIE92ZXJsYXksXHJcbiAgT3ZlcmxheUNvbmZpZyxcclxuICBPdmVybGF5UmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcGxhdGZvcm1cIjtcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudEluaXQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIGF1ZGl0VGltZSxcclxuICBkZWJvdW5jZVRpbWUsXHJcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXHJcbiAgZmlsdGVyLFxyXG4gIG1hcCxcclxuICBtYXBUbyxcclxuICB0YWtlVW50aWwsXHJcbiAgdGFwLFxyXG59IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCIuLi9wb3BvdmVyLm1vZGVsXCI7XHJcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudFwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW3NkUG9wb3ZlclRyaWdnZXJGb3JdXCIsXHJcbiAgaG9zdDoge1xyXG4gICAgXCJhcmlhLWhhc3BvcHVwXCI6IFwidHJ1ZVwiLFxyXG4gICAgY2xhc3M6IFwic2QtcG9wb3Zlci10cmlnZ2VyXCIsXHJcbiAgfSxcclxuICBleHBvcnRBczogXCJzZFBvcG92ZXJUcmlnZ2VyXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgI292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcclxuICAjcG9wb3ZlckNsb3NlJCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcclxuICAjcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcclxuICAjZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwb3BvdmVyT3BlbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoXCJzZFBvcG92ZXJUcmlnZ2VyRm9yXCIpXHJcbiAgZ2V0IHBvcG92ZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy4jcG9wb3ZlcjtcclxuICB9XHJcbiAgc2V0IHBvcG92ZXIocG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudCkge1xyXG4gICAgaWYgKHBvcG92ZXIgPT09IHRoaXMuI3BvcG92ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy4jcG9wb3ZlciA9IHBvcG92ZXI7XHJcbiAgICB0aGlzLiNwb3BvdmVyQ2xvc2UkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAocG9wb3Zlcikge1xyXG4gICAgICB0aGlzLiNwb3BvdmVyQ2xvc2UkID0gcG9wb3Zlci5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLiNkZXN0cm95UG9wb3ZlcigpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgI3BvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dChcInNkUG9wb3ZlckRhdGFcIilcclxuICBwb3BvdmVyRGF0YTogYW55O1xyXG5cclxuICBASW5wdXQoXCJzZFBvcG92ZXJEaXNhYmxlZFwiKVxyXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBwb3BvdmVyT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBwb3BvdmVyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5XHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyKSB7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIGNvbnN0IGhvc3RNb3VzZVN0YXRlJCA9IG1lcmdlKFxyXG4gICAgICAgIGZyb21FdmVudChuYXRpdmVFbGVtZW50LCBcIm1vdXNlZW50ZXJcIikucGlwZShtYXBUbyh0cnVlKSksXHJcbiAgICAgICAgZnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIFwibW91c2VsZWF2ZVwiKS5waXBlKG1hcFRvKGZhbHNlKSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGNvbnN0IHBvcG92ZXJNb3VzZVN0YXRlJCA9IHRoaXMucG9wb3Zlci5tb3VzZVN0YXRlJC5waXBlKFxyXG4gICAgICAgIC8vIGNo4buJIGzhuqV5IGx14buTbmcgZW1pdCBvcGVuIGLhu59pIGNow61uaCB0cmlnZ2VyICh0csOhbmggbOG7l2kgbmhp4buBdSB0cmlnZ2VyIGNobyBt4buZdCBwb3BvdmVyKVxyXG4gICAgICAgIGZpbHRlcigodikgPT4gIXRoaXMucG9wb3Zlci50cmlnZ2VyIHx8IHRoaXMucG9wb3Zlci50cmlnZ2VyID09IHRoaXMpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBjb25zdCBtZXJnZWRNb3VzZVN0YXRlJCA9IG1lcmdlKHBvcG92ZXJNb3VzZVN0YXRlJCwgaG9zdE1vdXNlU3RhdGUkKTtcclxuXHJcbiAgICAgIG1lcmdlZE1vdXNlU3RhdGUkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI2Rlc3Ryb3kkKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCh2aXNpYmxlKSA9PiB7XHJcbiAgICAgICAgICBpZiAodmlzaWJsZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLiNkZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgaWYgKHRoaXMuI292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy4jb3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuI2NyZWF0ZU92ZXJsYXkoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBvdmVybGF5UmVmLmdldENvbmZpZygpO1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9XHJcbiAgICAgIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICB0aGlzLiNzZXRQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcclxuICAgIG92ZXJsYXlDb25maWcuaGFzQmFja2Ryb3AgPSBmYWxzZTtcclxuICAgIG92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuI2dldFBvcnRhbCgpKTtcclxuICAgIHRoaXMucG9wb3Zlci50cmlnZ2VyID0gdGhpcztcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4odHJ1ZSk7XHJcbiAgfTtcclxuXHJcbiAgY2xvc2VQb3BvdmVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5wb3BvdmVyLmNsb3NlZC5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgI3NldElzUG9wb3Zlck9wZW4gPSAoaXNPcGVuOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLnBvcG92ZXJPcGVuID0gaXNPcGVuO1xyXG4gICAgdGhpcy5wb3BvdmVyT3BlbiA/IHRoaXMucG9wb3Zlck9wZW5lZC5lbWl0KCkgOiB0aGlzLnBvcG92ZXJDbG9zZWQuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gICNnZXRQb3J0YWwgPSAoKTogVGVtcGxhdGVQb3J0YWwgPT4ge1xyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy4jcG9ydGFsIHx8XHJcbiAgICAgIHRoaXMuI3BvcnRhbC50ZW1wbGF0ZVJlZiAhPT0gdGhpcy5wb3BvdmVyLnRlbXBsYXRlUmVmIHx8XHJcbiAgICAgIHRoaXMuI3BvcnRhbC5jb250ZXh0Py5kYXRhICE9PSB0aGlzLnBvcG92ZXJEYXRhXHJcbiAgICApIHtcclxuICAgICAgdGhpcy4jcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgIHRoaXMucG9wb3Zlci50ZW1wbGF0ZVJlZixcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZGF0YTogdGhpcy5wb3BvdmVyRGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy4jcG9ydGFsO1xyXG4gIH07XHJcblxyXG4gICNjcmVhdGVPdmVybGF5ID0gKCkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLiNvdmVybGF5UmVmKSB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuI2dldE92ZXJsYXlDb25maWcoKTtcclxuICAgICAgdGhpcy4jc3Vic2NyaWJlVG9Qb3NpdGlvbnMoXHJcbiAgICAgICAgY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuI292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLiNvdmVybGF5UmVmO1xyXG4gIH07XHJcblxyXG4gICNzZXRQb3NpdGlvbiA9IChwb3NpdGlvblN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpID0+IHtcclxuICAgIGxldCBvcmlnaW5YOiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiA9IFwiY2VudGVyXCI7XHJcbiAgICBsZXQgb3JpZ2luWTogXCJ0b3BcIiB8IFwiY2VudGVyXCIgfCBcImJvdHRvbVwiID0gXCJ0b3BcIjtcclxuICAgIGxldCBvdmVybGF5WDogXCJzdGFydFwiIHwgXCJjZW50ZXJcIiB8IFwiZW5kXCIgPSBcImNlbnRlclwiO1xyXG4gICAgbGV0IG92ZXJsYXlZOiBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCIgPSBcImJvdHRvbVwiO1xyXG4gICAgbGV0IG9mZnNldFggPSAwO1xyXG4gICAgbGV0IG9mZnNldFkgPSAxNjtcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMucG9wb3Zlci5wb3NpdGlvbikge1xyXG4gICAgICBjYXNlIFwiYWJvdmVcIjpcclxuICAgICAgICBvcmlnaW5ZID0gXCJ0b3BcIjtcclxuICAgICAgICBvdmVybGF5WSA9IFwiYm90dG9tXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJiZWxvd1wiOlxyXG4gICAgICAgIG9yaWdpblkgPSBcImJvdHRvbVwiO1xyXG4gICAgICAgIG92ZXJsYXlZID0gXCJ0b3BcIjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAvLyB0aGVvIGlucHV0XHJcbiAgICAgIHsgb3JpZ2luWCwgb3JpZ2luWSwgb3ZlcmxheVgsIG92ZXJsYXlZLCBvZmZzZXRZOiBvcmlnaW5ZID09IFwidG9wXCIgPyAtb2Zmc2V0WSA6IG9mZnNldFkgfSxcclxuICAgICAgLy8gZ2nhu69hIHRyw6puXHJcbiAgICAgIHtcclxuICAgICAgICBvcmlnaW5YOiBcImNlbnRlclwiLFxyXG4gICAgICAgIG9yaWdpblk6IFwidG9wXCIsXHJcbiAgICAgICAgb3ZlcmxheVg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3ZlcmxheVk6IFwiYm90dG9tXCIsXHJcbiAgICAgICAgb2Zmc2V0WCxcclxuICAgICAgICBvZmZzZXRZOiAtb2Zmc2V0WSxcclxuICAgICAgfSxcclxuICAgICAgLy8gZ2nhu69hIGTGsOG7m2lcclxuICAgICAge1xyXG4gICAgICAgIG9yaWdpblg6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgb3JpZ2luWTogXCJib3R0b21cIixcclxuICAgICAgICBvdmVybGF5WDogXCJjZW50ZXJcIixcclxuICAgICAgICBvdmVybGF5WTogXCJ0b3BcIixcclxuICAgICAgICBvZmZzZXRYLFxyXG4gICAgICAgIG9mZnNldFksXHJcbiAgICAgIH0sXHJcbiAgICBdKTtcclxuICB9O1xyXG5cclxuICAjZ2V0T3ZlcmxheUNvbmZpZyA9ICgpID0+IHtcclxuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnQpXHJcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXHJcbiAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKClcclxuICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKFwiLnNkLXBvcG92ZXItcGFuZWxcIiksXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcclxuICAgICAgcGFuZWxDbGFzczogdGhpcy5wb3BvdmVyLnBhbmVsQ2xhc3MsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLFxyXG4gICAgICB3aWR0aDogdGhpcy5wb3BvdmVyLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMucG9wb3Zlci5oZWlnaHQsXHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICAjc3Vic2NyaWJlVG9Qb3NpdGlvbnMgPSAocG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkgPT4ge1xyXG4gICAgaWYgKHRoaXMucG9wb3Zlci5zZXRQb3NpdGlvbkNsYXNzZXMpIHtcclxuICAgICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcG9zOiBQb3NpdGlvbiA9XHJcbiAgICAgICAgICBjaGFuZ2UuY29ubmVjdGlvblBhaXIub3ZlcmxheVkgPT09IFwidG9wXCIgPyBcImJlbG93XCIgOiBcImFib3ZlXCI7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9uZ1pvbmUpIHtcclxuICAgICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4gdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCBvdmVybGF5RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoXHJcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZ2V0KDApIGFzIGFueVxyXG4gICAgICAgICk/LnJvb3ROb2Rlc1swXTtcclxuICAgICAgICBpZiAob3JpZ2luRWxlbWVudCAmJiBvdmVybGF5RWxlbWVudCkge1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luUmVjdCA9IG9yaWdpbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBvdmVybGF5UmVjdCA9IG92ZXJsYXlFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luTGVmdCA9IG9yaWdpblJlY3QubGVmdCArIG9yaWdpblJlY3Qud2lkdGggLyAyO1xyXG4gICAgICAgICAgY29uc3Qgb3ZlcmxheUxlZnQgPSBvdmVybGF5UmVjdC5sZWZ0ICsgb3ZlcmxheVJlY3Qud2lkdGggLyAyO1xyXG5cclxuICAgICAgICAgIGNvbnN0IG9mZnNldCA9IG9yaWdpbkxlZnQgLSBvdmVybGF5TGVmdDtcclxuXHJcbiAgICAgICAgICB0aGlzLnBvcG92ZXIuYWRkQXJyb3dUcmFuc2xhdGVYKG9mZnNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAjZGVzdHJveVBvcG92ZXIgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuI292ZXJsYXlSZWYgfHwgIXRoaXMucG9wb3Zlck9wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy4jb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuI3NldElzUG9wb3Zlck9wZW4oZmFsc2UpO1xyXG4gIH07XHJcbn1cclxuIl19
|
package/esm2015/public-api.js
CHANGED
|
@@ -18,6 +18,7 @@ import '@sd-angular/core/modal-resizable';
|
|
|
18
18
|
import '@sd-angular/core/db';
|
|
19
19
|
import '@sd-angular/core/group';
|
|
20
20
|
import '@sd-angular/core/json-editor';
|
|
21
|
+
import '@sd-angular/core/input-number';
|
|
21
22
|
export { SdCoreModule } from './lib/core.module';
|
|
22
23
|
export { MaterialModule } from './lib/material.module';
|
|
23
24
|
export * from './lib/material.module';
|
|
@@ -47,4 +48,4 @@ export * from '@sd-angular/core/radio';
|
|
|
47
48
|
export * from '@sd-angular/core/form';
|
|
48
49
|
export * from '@sd-angular/core/service';
|
|
49
50
|
export * from '@sd-angular/core/popover';
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvc3JjLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTywyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sOEJBQThCLENBQUM7QUFDdEMsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTywwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sOEJBQThCLENBQUM7QUFDdEMsT0FBTywrQkFBK0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSwwQ0FBMEM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUF3QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3RGLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL2xhYmVsJztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL2lucHV0LXVwbG9hZC1maWxlJztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL2NoaXAnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvdGV4dGFyZWEnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvY2hlY2tib3gnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvdGltZSc7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS9zaWRlLWRyYXdlcic7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS90YWItcm91dGVyJztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL2V4Y2VsJztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL2lucHV0JztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL3NlbGVjdCc7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS9xdWljay1hY3Rpb24nO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvaW1hZ2UtcHJldmlldyc7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS9jb21tZW50JztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL2ZpbHRlcic7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS9tb2RhbC1yZXNpemFibGUnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvZGInO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvZ3JvdXAnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvanNvbi1lZGl0b3InO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvaW5wdXQtbnVtYmVyJztcclxuXHJcbmV4cG9ydCB7IFNkQ29yZU1vZHVsZSB9IGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcclxuZXhwb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL2xpYi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5cclxuZXhwb3J0IHsgU2RBcGlNb2R1bGUsIFNkQXBpU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYXBpJztcclxuLy8gZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9leGNlbCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbG9hZGluZyc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9zZXR0aW5nJztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS90cmFuc2xhdGUnO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3V0aWxpdHknO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2R5bmFtaWMtcmVwb3J0JztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jaGFydCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdXBsb2FkLWZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2RhdGUtcmFuZ2UnO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2RhdGUtdGltZSc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYnV0dG9uJztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9rb252YSc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYXV0b2NvbXBsZXRlJztcclxuZXhwb3J0IHsgU2RHcmlkTWF0ZXJpYWwsIFNkR3JpZE1hdGVyaWFsT3B0aW9uIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9ncmlkLW1hdGVyaWFsJztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9zZWxlY3QtZWRpdG9yJztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9lZGl0b3InO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL21vZGFsJztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9ncmlkJztcclxuZXhwb3J0ICogZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS91cGxvYWQtZXhjZWwnO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3N3aXRjaCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvcmFkaW8nO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2Zvcm0nO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3BvcG92ZXInO1xyXG4iXX0=
|
|
@@ -314,7 +314,7 @@ _model = new WeakMap(), _delay = new WeakMap(), _name = new WeakMap(), _form = n
|
|
|
314
314
|
SdAutocomplete.decorators = [
|
|
315
315
|
{ type: Component, args: [{
|
|
316
316
|
selector: 'sd-autocomplete',
|
|
317
|
-
template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\"\r\n *ngIf=\"isRequired\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container *ngIf=\"sdView?.templateRef && !autocompleteTrigger?.panelOpen && !isFocused; else default\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value, selectedItem: selected | async }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n [floatLabel]=\"size === 'sm' || formControl.value ? 'always':'auto'\" [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" #autocompleteTrigger [formControl]=\"inputControl\" [placeholder]=\"controlPlaceHolder | async\"\r\n [ngClass]=\"{'c-selected': formControl?.value}\" [matAutocomplete]=\"auto\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n matInput [autocomplete]=\"id\" autocorrect=\"off\" [errorStateMatcher]=\"matcher\" [required]=\"isRequired\" [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\" #input />\r\n <mat-icon *ngIf=\"!loading && formControl?.value && !inputControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon *ngIf=\"actionIcon && !loading && !formControl?.value && !inputControl.disabled\"\r\n class=\"pointer sd-suffix-icon\" (click)=\"onAction($event)\" matSuffix>{{actionIcon}}\r\n </mat-icon>\r\n <mat-spinner *ngIf=\"loading\" strokeWidth=\"2\" mode=\"indeterminate\" diameter=\"18\" value=\"100\" matSuffix>\r\n </mat-spinner>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onSelect($event.option.value)\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"displayField ? item[displayField] : item\">\r\n <ng-container *ngIf=\"autocompleteDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"autocompleteDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!autocompleteDisplayDef?.templateRef\">\r\n {{ displayField ? item[displayField] : item }}\r\n </ng-container>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"formControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>",
|
|
317
|
+
template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\"\r\n *ngIf=\"isRequired\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container *ngIf=\"sdView?.templateRef && !autocompleteTrigger?.panelOpen && !isFocused; else default\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value, selectedItem: selected | async }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n [floatLabel]=\"size === 'sm' || formControl.value ? 'always':'auto'\" [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" #autocompleteTrigger [formControl]=\"inputControl\" [placeholder]=\"controlPlaceHolder | async\"\r\n [ngClass]=\"{'c-selected': formControl?.value}\" [matAutocomplete]=\"auto\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n matInput [autocomplete]=\"id\" autocorrect=\"off\" [errorStateMatcher]=\"matcher\" [required]=\"isRequired\" [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\" #input />\r\n <mat-icon *ngIf=\"!loading && formControl?.value && !inputControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon *ngIf=\"actionIcon && !loading && !formControl?.value && !inputControl.disabled\"\r\n class=\"pointer sd-suffix-icon\" (click)=\"onAction($event)\" matSuffix>{{actionIcon}}\r\n </mat-icon>\r\n <mat-spinner *ngIf=\"loading\" strokeWidth=\"2\" mode=\"indeterminate\" diameter=\"18\" value=\"100\" matSuffix>\r\n </mat-spinner>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onSelect($event.option.value)\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"displayField ? item[displayField] : item\">\r\n <ng-container *ngIf=\"autocompleteDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"autocompleteDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!autocompleteDisplayDef?.templateRef\">\r\n {{ displayField ? item[displayField] : item }}\r\n </ng-container>\r\n </mat-option>\r\n <mat-option *ngIf=\"!(filteredItems | async)?.length\" \r\n [value]=\"\" style=\"color: #4d4d4d\">\r\n Kh\u00F4ng c\u00F3 d\u1EEF li\u1EC7u\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"formControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>",
|
|
318
318
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
319
319
|
styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.c-selected::-moz-placeholder{color:#000;opacity:1}:host ::ng-deep .mat-form-field input.c-selected::placeholder{color:#000;opacity:1}:host ::ng-deep .mat-form-field input.c-selected:-ms-input-placeholder{color:#000}:host ::ng-deep .mat-form-field input.c-selected::-ms-input-placeholder{color:#000}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected::-moz-placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected::placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected:-ms-input-placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected::-ms-input-placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}.sd-view:not(.c-focused):not(.c-disabled):hover{background-color:#ebecf0}"]
|
|
320
320
|
},] }
|