@wavemaker/app-ng-runtime 11.14.3-rc.6401 → 11.15.0-2.247
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/build-task/bundles/index.umd.js +13 -2
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +9 -2
- package/build-task/esm2022/input/default/radioset/radioset.build.mjs +6 -2
- package/build-task/fesm2022/index.mjs +13 -2
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/base/bundles/index.umd.js +271 -128
- package/components/base/esm2022/public_api.mjs +2 -2
- package/components/base/esm2022/utils/autolayout-utils.mjs +252 -0
- package/components/base/esm2022/utils/live-utils.mjs +10 -7
- package/components/base/esm2022/utils/widget-utils.mjs +8 -1
- package/components/base/esm2022/widgets/common/base/base.component.mjs +7 -8
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +4 -1
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +28 -150
- package/components/base/esm2022/widgets/common/container/container.props.mjs +6 -2
- package/components/base/fesm2022/index.mjs +273 -129
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/public_api.d.ts +1 -1
- package/components/base/utils/autolayout-utils.d.ts +29 -0
- package/components/base/utils/widget-utils.d.ts +1 -0
- package/components/base/widgets/common/container/container.directive.d.ts +7 -9
- package/components/basic/label/bundles/index.umd.js +4 -0
- package/components/basic/label/esm2022/label.directive.mjs +5 -1
- package/components/basic/label/fesm2022/index.mjs +4 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/bundles/index.umd.js +13 -11
- package/components/basic/search/esm2022/search.component.mjs +14 -12
- package/components/basic/search/fesm2022/index.mjs +13 -11
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/chart/bundles/index.umd.js +2 -2
- package/components/chart/esm2022/chart.utils.mjs +3 -3
- package/components/chart/fesm2022/index.mjs +2 -2
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -0
- package/components/containers/accordion/accordion.directive.d.ts +4 -0
- package/components/containers/accordion/bundles/index.umd.js +34 -0
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +6 -2
- package/components/containers/accordion/esm2022/accordion.directive.mjs +32 -2
- package/components/containers/accordion/fesm2022/index.mjs +36 -2
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/bundles/index.umd.js +34 -0
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +6 -2
- package/components/containers/tabs/esm2022/tabs.component.mjs +33 -4
- package/components/containers/tabs/fesm2022/index.mjs +36 -2
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -0
- package/components/containers/tabs/tabs.component.d.ts +5 -1
- package/components/containers/wizard/bundles/index.umd.js +46 -2
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +8 -2
- package/components/containers/wizard/esm2022/wizard.component.mjs +42 -4
- package/components/containers/wizard/fesm2022/index.mjs +48 -4
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +4 -0
- package/components/containers/wizard/wizard.component.d.ts +1 -0
- package/components/data/form/bundles/index.umd.js +28 -1
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +4 -1
- package/components/data/form/esm2022/form.component.mjs +24 -2
- package/components/data/form/esm2022/form.props.mjs +3 -2
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +2 -1
- package/components/data/form/fesm2022/index.mjs +29 -2
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/form.component.d.ts +3 -0
- package/components/data/list/bundles/index.umd.js +0 -9
- package/components/data/list/esm2022/list-item.directive.mjs +1 -10
- package/components/data/list/fesm2022/index.mjs +0 -9
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/bundles/index.umd.js +6 -2
- package/components/data/pagination/esm2022/pagination.component.mjs +7 -3
- package/components/data/pagination/fesm2022/index.mjs +6 -2
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/table/bundles/index.umd.js +22 -5
- package/components/data/table/esm2022/table.component.mjs +23 -6
- package/components/data/table/fesm2022/index.mjs +22 -5
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +6 -2
- package/components/dialogs/alert-dialog/bundles/index.umd.js +18 -8
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +17 -7
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +15 -5
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/bundles/index.umd.js +12 -3
- package/components/input/checkbox/checkbox.component.d.ts +2 -0
- package/components/input/checkbox/esm2022/checkbox.component.mjs +9 -3
- package/components/input/checkbox/esm2022/checkbox.props.mjs +5 -2
- package/components/input/checkbox/fesm2022/index.mjs +12 -3
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/bundles/index.umd.js +12 -1
- package/components/input/checkboxset/checkboxset.component.d.ts +1 -0
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +11 -1
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +3 -2
- package/components/input/checkboxset/fesm2022/index.mjs +12 -1
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/base-date-time/base-date-time.component.d.ts +0 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +29 -27
- package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +30 -28
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +29 -27
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/bundles/index.umd.js +4 -3
- package/components/input/epoch/date/esm2022/date.component.mjs +5 -4
- package/components/input/epoch/date/fesm2022/index.mjs +4 -3
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time/bundles/index.umd.js +5 -4
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +7 -6
- package/components/input/epoch/date-time/fesm2022/index.mjs +6 -5
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/bundles/index.umd.js +1 -1
- package/components/input/file-upload/esm2022/file-upload.props.mjs +2 -2
- package/components/input/file-upload/fesm2022/index.mjs +1 -1
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/bundles/index.umd.js +13 -1
- package/components/input/radioset/esm2022/radioset.component.mjs +11 -1
- package/components/input/radioset/esm2022/radioset.props.mjs +4 -2
- package/components/input/radioset/fesm2022/index.mjs +13 -1
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/radioset.component.d.ts +1 -0
- package/components/input/slider/bundles/index.umd.js +86 -16
- package/components/input/slider/esm2022/slider.component.mjs +76 -9
- package/components/input/slider/esm2022/slider.props.mjs +5 -1
- package/components/input/slider/fesm2022/index.mjs +79 -8
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/slider.component.d.ts +12 -3
- package/components/input/text/bundles/index.umd.js +28 -3
- package/components/input/text/esm2022/input-text/input-text.component.mjs +10 -3
- package/components/input/text/esm2022/input-text/input-text.props.mjs +5 -2
- package/components/input/text/esm2022/number-locale/number-locale.mjs +16 -1
- package/components/input/text/fesm2022/index.mjs +28 -3
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/input-text/input-text.component.d.ts +5 -0
- package/components/input/text/number-locale/number-locale.d.ts +12 -0
- package/components/navigation/breadcrumb/bundles/index.umd.js +2 -2
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs +2 -2
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/bundles/index.umd.js +12 -0
- package/components/navigation/popover/esm2022/popover.component.mjs +13 -1
- package/components/navigation/popover/fesm2022/index.mjs +12 -0
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/popover.component.d.ts +2 -0
- package/components/page/default/bundles/index.umd.js +0 -4
- package/components/page/default/esm2022/router-outlet.directive.mjs +1 -5
- package/components/page/default/fesm2022/index.mjs +0 -4
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/header/bundles/index.umd.js +4 -3
- package/components/page/header/esm2022/header.component.mjs +5 -4
- package/components/page/header/fesm2022/index.mjs +4 -3
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/header.component.d.ts +2 -1
- package/core/bundles/index.umd.js +90 -6
- package/core/enums/enums.d.ts +1 -0
- package/core/esm2022/enums/enums.mjs +2 -1
- package/core/esm2022/utils/build-utils.mjs +5 -1
- package/core/esm2022/utils/utils.mjs +5 -2
- package/core/esm2022/utils/watcher.mjs +83 -4
- package/core/fesm2022/index.mjs +91 -4
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/utils/watcher.d.ts +2 -0
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/esm2022/oAuth.service.mjs +1 -1
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/oAuth.service.d.ts +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +33 -31
- package/runtime/base/components/base-prefab.component.d.ts +6 -4
- package/runtime/base/esm2022/components/app-component/app.component.mjs +1 -1
- package/runtime/base/esm2022/components/base-page.component.mjs +2 -5
- package/runtime/base/esm2022/components/base-partial.component.mjs +2 -2
- package/runtime/base/esm2022/components/base-prefab.component.mjs +20 -12
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +1 -4
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +14 -13
- package/runtime/base/fesm2022/index.mjs +34 -31
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/runtime-base.module.d.ts +2 -1
- package/runtime/dynamic/app/app.config.d.ts +1 -1
- package/runtime/dynamic/bundles/index.umd.js +1 -1
- package/runtime/dynamic/esm2022/app/app.config.mjs +7 -7
- package/runtime/dynamic/fesm2022/index.mjs +2 -2
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +17 -15
|
@@ -120,6 +120,7 @@
|
|
|
120
120
|
this.trailingZeroDecimalPipe = trailingZeroDecimalPipe;
|
|
121
121
|
this.isDefaultQuery = true;
|
|
122
122
|
this.decimalValue = '';
|
|
123
|
+
this.invalidPattern = false;
|
|
123
124
|
this.selectedLocale = i18nService.getSelectedLocale();
|
|
124
125
|
this.DECIMAL = i1.getLocaleNumberSymbol(this.localefilter || this.selectedLocale, i1.NumberSymbol.Decimal);
|
|
125
126
|
this.GROUP = i1.getLocaleNumberSymbol(this.localefilter || this.selectedLocale, i1.NumberSymbol.Group);
|
|
@@ -326,6 +327,10 @@
|
|
|
326
327
|
else {
|
|
327
328
|
this.displayValue = input.value = this.transformNumber(this.proxyModel);
|
|
328
329
|
}
|
|
330
|
+
if (this.trailingzero) {
|
|
331
|
+
const regexObj = new RegExp(this.regexPattern);
|
|
332
|
+
this.invalidPattern = !regexObj.test(this.displayValue);
|
|
333
|
+
}
|
|
329
334
|
// in safari browser, setSelectionRange will focus the input by default, which may invoke the focus event on widget.
|
|
330
335
|
// Hence preventing the setSelectionRange when default value is set i.e. widget is not focused.
|
|
331
336
|
if (this.updateon === 'default' && !this.isDefaultQuery) {
|
|
@@ -526,6 +531,13 @@
|
|
|
526
531
|
},
|
|
527
532
|
};
|
|
528
533
|
}
|
|
534
|
+
if (this.invalidPattern) {
|
|
535
|
+
return {
|
|
536
|
+
pattern: {
|
|
537
|
+
valid: false
|
|
538
|
+
}
|
|
539
|
+
};
|
|
540
|
+
}
|
|
529
541
|
this.validateType = '';
|
|
530
542
|
/* WMS-18269 | Extending the existing validation for 'required' */
|
|
531
543
|
if (this['show'] && this['required']) {
|
|
@@ -622,6 +634,9 @@
|
|
|
622
634
|
this.onInputChange(nv);
|
|
623
635
|
}
|
|
624
636
|
}
|
|
637
|
+
else if (key === 'regexp') {
|
|
638
|
+
this.regexPattern = nv;
|
|
639
|
+
}
|
|
625
640
|
else {
|
|
626
641
|
super.onPropertyChange(key, nv, ov);
|
|
627
642
|
}
|
|
@@ -911,7 +926,10 @@
|
|
|
911
926
|
['type', { value: 'text', ...base.PROP_STRING }],
|
|
912
927
|
['updateon', base.PROP_STRING],
|
|
913
928
|
['conditionalclass', base.PROP_ANY],
|
|
914
|
-
['conditionalstyle', base.PROP_ANY]
|
|
929
|
+
['conditionalstyle', base.PROP_ANY],
|
|
930
|
+
['trailingiconclass', base.PROP_STRING],
|
|
931
|
+
['leadingiconclass', base.PROP_STRING],
|
|
932
|
+
['supportingtext', base.PROP_STRING]
|
|
915
933
|
]);
|
|
916
934
|
const registerProps = () => {
|
|
917
935
|
base.register('wm-input-text', inputTextTypeProps);
|
|
@@ -952,6 +970,10 @@
|
|
|
952
970
|
super.onPropertyChange(key, nv, ov);
|
|
953
971
|
}
|
|
954
972
|
}
|
|
973
|
+
get computedClasses() {
|
|
974
|
+
return { 'with-leading-icon': this.leadingiconclass, 'with-trailing-icon': this.trailingiconclass,
|
|
975
|
+
...(typeof this.conditionalclass === 'string' ? { [this.conditionalclass]: true } : this.conditionalclass || {}) };
|
|
976
|
+
}
|
|
955
977
|
get mask() {
|
|
956
978
|
if (this.displayformat && (!this.placeholder || (this.placeholder && this.isFocused))) {
|
|
957
979
|
return {
|
|
@@ -1005,6 +1027,9 @@
|
|
|
1005
1027
|
super.ngOnInit();
|
|
1006
1028
|
this.isFocused = !!this.datavalue;
|
|
1007
1029
|
}
|
|
1030
|
+
iconClickEvent($event, type) {
|
|
1031
|
+
this.invokeEventCallback(type, { $event });
|
|
1032
|
+
}
|
|
1008
1033
|
ngOnDestroy() {
|
|
1009
1034
|
// MEMORY LEAK FIX: Clear all ViewChild references
|
|
1010
1035
|
this.inputEl = null;
|
|
@@ -1018,7 +1043,7 @@
|
|
|
1018
1043
|
base.provideAs(InputTextComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
1019
1044
|
base.provideAs(InputTextComponent, i2.NG_VALIDATORS, true),
|
|
1020
1045
|
base.provideAsWidgetRef(InputTextComponent)
|
|
1021
|
-
], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "ngModel", first: true, predicate: i2.NgModel, descendants: true }, { propertyName: "imask", first: true, predicate: ["input"], descendants: true, read: i3.IMaskDirective }], usesInheritance: true, ngImport: i0__namespace, template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"
|
|
1046
|
+
], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "ngModel", first: true, predicate: i2.NgModel, descendants: true }, { propertyName: "imask", first: true, predicate: ["input"], descendants: true, read: i3.IMaskDirective }], usesInheritance: true, ngImport: i0__namespace, template: "<button class=\"btn-leading-icon\" type=\"button\" name=\"leadingIcon\" *ngIf=\"leadingiconclass\" (click)=\"iconClickEvent($event, 'leadingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"leadingiconclass\"></i>\n</button>\n<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"computedClasses\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n<button class=\"btn-trailing-icon\" type=\"button\" name=\"trailingIcon\" *ngIf=\"trailingiconclass\" (click)=\"iconClickEvent($event, 'trailingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"trailingiconclass\"></i>\n</button>\n<p class=\"app-label help-block supporting-text\" *ngIf=\"supportingtext\" name=\"supportingText\">{{supportingtext}}</p>\n\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "directive", type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: i2.FormsModule }, { kind: "directive", type: i2__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2__namespace.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2__namespace.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: i3.IMaskModule }, { kind: "directive", type: i3__namespace.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }] }); }
|
|
1022
1047
|
}
|
|
1023
1048
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: InputTextComponent, decorators: [{
|
|
1024
1049
|
type: i0.Component,
|
|
@@ -1026,7 +1051,7 @@
|
|
|
1026
1051
|
base.provideAs(InputTextComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
1027
1052
|
base.provideAs(InputTextComponent, i2.NG_VALIDATORS, true),
|
|
1028
1053
|
base.provideAsWidgetRef(InputTextComponent)
|
|
1029
|
-
], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"
|
|
1054
|
+
], template: "<button class=\"btn-leading-icon\" type=\"button\" name=\"leadingIcon\" *ngIf=\"leadingiconclass\" (click)=\"iconClickEvent($event, 'leadingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"leadingiconclass\"></i>\n</button>\n<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"computedClasses\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n<button class=\"btn-trailing-icon\" type=\"button\" name=\"trailingIcon\" *ngIf=\"trailingiconclass\" (click)=\"iconClickEvent($event, 'trailingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"trailingiconclass\"></i>\n</button>\n<p class=\"app-label help-block supporting-text\" *ngIf=\"supportingtext\" name=\"supportingText\">{{supportingtext}}</p>\n\n" }]
|
|
1030
1055
|
}], ctorParameters: () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
|
|
1031
1056
|
type: i0.Inject,
|
|
1032
1057
|
args: ['EXPLICIT_CONTEXT']
|
|
@@ -36,6 +36,10 @@ export class InputTextComponent extends BaseInput {
|
|
|
36
36
|
super.onPropertyChange(key, nv, ov);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
+
get computedClasses() {
|
|
40
|
+
return { 'with-leading-icon': this.leadingiconclass, 'with-trailing-icon': this.trailingiconclass,
|
|
41
|
+
...(typeof this.conditionalclass === 'string' ? { [this.conditionalclass]: true } : this.conditionalclass || {}) };
|
|
42
|
+
}
|
|
39
43
|
get mask() {
|
|
40
44
|
if (this.displayformat && (!this.placeholder || (this.placeholder && this.isFocused))) {
|
|
41
45
|
return {
|
|
@@ -89,6 +93,9 @@ export class InputTextComponent extends BaseInput {
|
|
|
89
93
|
super.ngOnInit();
|
|
90
94
|
this.isFocused = !!this.datavalue;
|
|
91
95
|
}
|
|
96
|
+
iconClickEvent($event, type) {
|
|
97
|
+
this.invokeEventCallback(type, { $event });
|
|
98
|
+
}
|
|
92
99
|
ngOnDestroy() {
|
|
93
100
|
// MEMORY LEAK FIX: Clear all ViewChild references
|
|
94
101
|
this.inputEl = null;
|
|
@@ -102,7 +109,7 @@ export class InputTextComponent extends BaseInput {
|
|
|
102
109
|
provideAs(InputTextComponent, NG_VALUE_ACCESSOR, true),
|
|
103
110
|
provideAs(InputTextComponent, NG_VALIDATORS, true),
|
|
104
111
|
provideAsWidgetRef(InputTextComponent)
|
|
105
|
-
], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "imask", first: true, predicate: ["input"], descendants: true, read: IMaskDirective }], usesInheritance: true, ngImport: i0, template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"
|
|
112
|
+
], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "imask", first: true, predicate: ["input"], descendants: true, read: IMaskDirective }], usesInheritance: true, ngImport: i0, template: "<button class=\"btn-leading-icon\" type=\"button\" name=\"leadingIcon\" *ngIf=\"leadingiconclass\" (click)=\"iconClickEvent($event, 'leadingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"leadingiconclass\"></i>\n</button>\n<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"computedClasses\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n<button class=\"btn-trailing-icon\" type=\"button\" name=\"trailingIcon\" *ngIf=\"trailingiconclass\" (click)=\"iconClickEvent($event, 'trailingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"trailingiconclass\"></i>\n</button>\n<p class=\"app-label help-block supporting-text\" *ngIf=\"supportingtext\" name=\"supportingText\">{{supportingtext}}</p>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: IMaskModule }, { kind: "directive", type: i3.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }] }); }
|
|
106
113
|
}
|
|
107
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputTextComponent, decorators: [{
|
|
108
115
|
type: Component,
|
|
@@ -110,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
110
117
|
provideAs(InputTextComponent, NG_VALUE_ACCESSOR, true),
|
|
111
118
|
provideAs(InputTextComponent, NG_VALIDATORS, true),
|
|
112
119
|
provideAsWidgetRef(InputTextComponent)
|
|
113
|
-
], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"
|
|
120
|
+
], template: "<button class=\"btn-leading-icon\" type=\"button\" name=\"leadingIcon\" *ngIf=\"leadingiconclass\" (click)=\"iconClickEvent($event, 'leadingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"leadingiconclass\"></i>\n</button>\n<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"computedClasses\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n<button class=\"btn-trailing-icon\" type=\"button\" name=\"trailingIcon\" *ngIf=\"trailingiconclass\" (click)=\"iconClickEvent($event, 'trailingiconclick')\">\n <i aria-hidden=\"true\" [ngClass]=\"trailingiconclass\"></i>\n</button>\n<p class=\"app-label help-block supporting-text\" *ngIf=\"supportingtext\" name=\"supportingText\">{{supportingtext}}</p>\n\n" }]
|
|
114
121
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
115
122
|
type: Inject,
|
|
116
123
|
args: ['EXPLICIT_CONTEXT']
|
|
@@ -126,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
126
133
|
type: ViewChild,
|
|
127
134
|
args: ['input', { read: IMaskDirective }]
|
|
128
135
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvdGV4dC9zcmMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFFN0MsTUFBTSxhQUFhLEdBQWtCO0lBQ2pDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLFNBQVMsRUFBRSxtQkFBbUI7Q0FDakMsQ0FBQztBQWFGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO2FBQ3RDLG9CQUFlLEdBQUcsYUFBYSxFQUFF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QUUsQ0FBQztJQUN4QixDQUFDOytHQTdHUSxrQkFBa0IsMENBNEJRLGtCQUFrQjttR0E1QjVDLGtCQUFrQixvTUFOaEI7WUFDUCxTQUFTLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO1lBQ3RELFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDO1lBQ2xELGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO1NBQ3pDLG9LQTJCVSxPQUFPLDRHQUNTLGNBQWMsb0RDckQ3Qyw4OEJBMEJBLDJDRFJZLFlBQVksaU5BQUUsV0FBVyx1b0NBQUUsV0FBVzs7NEZBU3JDLGtCQUFrQjtrQkFYOUIsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxZQUNyQyw2SUFBNkksYUFFNUk7d0JBQ1AsU0FBUyxxQkFBcUIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO3dCQUN0RCxTQUFTLHFCQUFxQixhQUFhLEVBQUUsSUFBSSxDQUFDO3dCQUNsRCxrQkFBa0Isb0JBQW9CO3FCQUN6Qzs7MEJBOEIyQixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQUcsUUFBUTt5Q0FKNUIsT0FBTztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNkLE9BQU87c0JBQTFCLFNBQVM7dUJBQUMsT0FBTztnQkFDMEIsS0FBSztzQkFBaEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsY0FBYyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU1hc2tNb2R1bGUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7SVdpZGdldENvbmZpZywgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWZ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL2lucHV0LXRleHQucHJvcHMnO1xuaW1wb3J0IHtCYXNlSW5wdXR9IGZyb20gJy4uL2Jhc2UtaW5wdXQvYmFzZS1pbnB1dCc7XG5pbXBvcnQge0lNYXNrRGlyZWN0aXZlfSBmcm9tICdhbmd1bGFyLWltYXNrJztcblxuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20taW5wdXQtdGV4dCcsXG4gICAgaG9zdENsYXNzOiAnYXBwLWlucHV0LXdyYXBwZXInXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIElNYXNrTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ3dtLWlucHV0W3R5cGU9XCJ0ZXh0XCJdLCB3bS1pbnB1dDpub3QoW3R5cGVdKSwgd20taW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCB3bS1pbnB1dFt0eXBlPVwic2VhcmNoXCJdLCB3bS1pbnB1dFt0eXBlPVwidGVsXCJdLCB3bS1pbnB1dFt0eXBlPVwidXJsXCJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhJbnB1dFRleHRDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKElucHV0VGV4dENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihJbnB1dFRleHRDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgbWF4Y2hhcnM6IG51bWJlcjtcbiAgICBwdWJsaWMgcmVnZXhwOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc3BsYXlmb3JtYXQ6IHN0cmluZztcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIHR5cGU6IGFueTtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcbiAgICBwdWJsaWMgY29uZGl0aW9uYWxjbGFzczogYW55O1xuICAgIHB1YmxpYyBjb25kaXRpb25hbHN0eWxlOiBhbnk7XG4gICAgcHVibGljIHRhYmluZGV4OiBhbnk7XG4gICAgcHVibGljIHBsYWNlaG9sZGVyOiBhbnk7XG4gICAgcHVibGljIHNob3J0Y3V0a2V5OiBzdHJpbmc7XG4gICAgcHVibGljIGF1dG9mb2N1czogYm9vbGVhbjtcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlOiBhbnk7XG4gICAgcHVibGljIG1hc2tWYWw6IGFueTtcbiAgICBwdWJsaWMgaXNGb2N1c2VkOiBib29sZWFuO1xuICAgIHByaXZhdGUgbGF6eTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gICAgcHVibGljIGFyaWFsYWJlbDogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7c3RhdGljOiB0cnVlfSkgaW5wdXRFbDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKE5nTW9kZWwpIG5nTW9kZWw6IE5nTW9kZWw7XG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7cmVhZDogSU1hc2tEaXJlY3RpdmV9KSBpbWFzazogSU1hc2tEaXJlY3RpdmU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgLyogRGVmaW5lIHRoZSBwcm9wZXJ0eSBjaGFuZ2UgaGFuZGxlci4gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSB3aWRnZXQgcHJvcGVydHkgKi9cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KSB7XG4gICAgICAgIC8qTW9uaXRvcmluZyBjaGFuZ2VzIGZvciBzdHlsZXMgb3IgcHJvcGVydGllcyBhbmQgYWNjb3JkaW5nbHkgaGFuZGxpbmcgcmVzcGVjdGl2ZSBjaGFuZ2VzLiovXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlICdkaXNwbGF5Zm9ybWF0JzpcbiAgICAgICAgICAgICAgICB0aGlzLm1hc2tWYWwgPSB0aGlzLmRpc3BsYXlmb3JtYXQ7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZvckRpc3BsYXlGb3JtYXQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3Nob3dkaXNwbGF5Zm9ybWF0b24nOlxuICAgICAgICAgICAgICAgIHRoaXMubGF6eSA9IG52ID09PSAna2V5cHJlc3MnID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBtYXNrKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5Zm9ybWF0ICYmICghdGhpcy5wbGFjZWhvbGRlciB8fCAodGhpcy5wbGFjZWhvbGRlciAmJiB0aGlzLmlzRm9jdXNlZCkpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1hc2s6IHRoaXMubWFza1ZhbCxcbiAgICAgICAgICAgICAgICBsYXp5OiB0aGlzLmxhenksXG4gICAgICAgICAgICAgICAgZGVmaW5pdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJzknOiAvXFxkLyxcbiAgICAgICAgICAgICAgICAgICAgJ0EnOiAvW2EtekEtWl0vLFxuICAgICAgICAgICAgICAgICAgICAnYSc6IC9bYS16XS8sXG4gICAgICAgICAgICAgICAgICAgICcqJzogL1xcdy9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2hvdyBkaXNwbGF5IGZvcm1hdCBvbiBmb2N1cyBvciB3aGVuIGl0IGhhcyBhIGRhdGEgdmFsdWUgcHJlc2VudC4gRWxzZSBzaG93IHRoZSBwbGFjZWhvbGRlclxuICAgIHB1YmxpYyBjaGVja0ZvckRpc3BsYXlGb3JtYXQoJGV2ZW50Pykge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5Zm9ybWF0KSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNlZCA9ICgoJGV2ZW50ICYmICRldmVudC50eXBlID09PSAnZm9jdXMnKSB8fCB0aGlzLmRhdGF2YWx1ZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICAvLyBEbyBub3Qgc2hvdyBmb3JtYXQgcGxhY2Vob2xkZXIgd2hlbiBubyB2YWx1ZSBpcyBwcmVzZW50IG9uIGJsdXJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0ZvY3VzZWQgJiYgdGhpcy5pbWFzayAmJiB0aGlzLmltYXNrLm1hc2tSZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYXNrLm1hc2tSZWYudXBkYXRlT3B0aW9ucyh7IGxhenk6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgLy8gb24gYmx1ciwgd2hlbiBubyB2YWx1ZSBpcyBwcmVzZW50IGFzc2lnbiBtYXNrcmVmIHRvIG51bGwsIGFzIGluIHNvbWUgY2FzZXMgKHdoZXJlIGZvcm1hdCBwYWxjZWhvbGRlciBzdGFydHMgd2l0aCBwcmFudGhlc2lzKSB0aGUgZm9ybWF0IHBsYWNlaG9sZGVyIGlzIHN0aWxsIHNob3duLiBXTVMtMjAxMjRcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGF0YXZhbHVlICYmIHRoaXMuaW1hc2subWFza1JlZi52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmltYXNrLm1hc2tSZWYudmFsdWUgPSB0aGlzLmRhdGF2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIHdoZW4gZGlzcGxheSBmb3JtYXQgaXMgZHluYW1pY2FsbHkgcG9wdWxhdGVkLCBjdXJzb3IgcG9zaXRpb24gaXMgYXQgdGhlIGVuZCBvZiB0aGUgZm9ybWF0LCByZWFkanVzdGluZyB0aGUgY3Vyc29yIHBvc2l0aW9uIGJhc2VkIG9uIG1hc2tlZCBpbnB1dCB2YWx1ZVxuICAgICAgICAgICAgICAgIC8vIEFkZGluZyB0aW1lb3V0LCBhcyB0aGUgYmVsb3cgY29kZSBzaG91bGQgYmUgb24gaG9sZCB1bnRpbCBpbWFzayBtb2RlbCBpcyBnZW5lcmF0ZWRcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaW1hc2sgJiYgdGhpcy5pbWFzay5tYXNrUmVmICYmIHRoaXMuaW1hc2subWFza1JlZi52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFza1ZhbEluZGV4ID0gdGhpcy5pbWFzay5tYXNrUmVmLnZhbHVlLmluZGV4T2YoJ18nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudGVyZWRNYXNrVmFsID0gbWFza1ZhbEluZGV4ID49IDAgPyB0aGlzLmltYXNrLm1hc2tSZWYudmFsdWUuc2xpY2UoMCwgbWFza1ZhbEluZGV4KS5sZW5ndGggOiB0aGlzLmltYXNrLm1hc2tSZWYudmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudGVyZWRNYXNrVmFsICE9PSB0aGlzLmltYXNrLm1hc2tSZWYuY3Vyc29yUG9zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFzay5tYXNrUmVmLnVwZGF0ZUN1cnNvcihlbnRlcmVkTWFza1ZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pbWFzayAmJiB0aGlzLmltYXNrLm1hc2tSZWYpIHsgLy8gV2hlbiBkaXNwbGF5IGZvcm1hdCBpcyBib3VuZCB2aWEgY29uZGl0aW9uLCByZW1vdmUgdGhlIHBsYWNlaG9sZGVyIHdoZW4gdGhlIGZvcm1hdCBpcyBub3QgYXBwbGljYWJsZVxuICAgICAgICAgICAgdGhpcy5pbWFzay5tYXNrUmVmLnVwZGF0ZU9wdGlvbnMoeyBsYXp5OiB0cnVlIH0pO1xuICAgICAgICAgICAgLy8gd2hlbiBkaXNwbGF5IGZvcm1hdCBpcyByZW1vdmVkIGFzc2lnbiBpbnB1dCB2YWx1ZSB0byB0aGUgZGF0YXZhbHVlIGF0dHIuIFdNUy0yMDEyNFxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmRhdGF2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9ICEhdGhpcy5kYXRhdmFsdWU7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogQ2xlYXIgYWxsIFZpZXdDaGlsZCByZWZlcmVuY2VzXG4gICAgICAgIHRoaXMuaW5wdXRFbCA9IG51bGw7XG4gICAgICAgIHRoaXMubmdNb2RlbCA9IG51bGw7XG4gICAgICAgIHRoaXMuaW1hc2sgPSBudWxsO1xuXG4gICAgICAgIC8vIENhbGwgcGFyZW50IG5nT25EZXN0cm95IChCYXNlSW5wdXQg4oaSIEJhc2VGb3JtQ3VzdG9tQ29tcG9uZW50IOKGkiBTdHlsYWJsZUNvbXBvbmVudCDihpIgQmFzZUNvbXBvbmVudClcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3hcIlxuICAgICAgIGZvY3VzLXRhcmdldFxuICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhbGFiZWxcIlxuICAgICAgIFsobmdNb2RlbCldPVwiZGF0YXZhbHVlXCJcbiAgICAgICBbaW1hc2tdPVwibWFza1wiXG4gICAgICAgW3VubWFza109XCJ0cnVlXCJcbiAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwibmdNb2RlbE9wdGlvbnNcIlxuICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFttYXhsZW5ndGhdPVwibWF4Y2hhcnNcIlxuICAgICAgIFtwYXR0ZXJuXT1cInJlZ2V4cFwiXG4gICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICBbbmdDbGFzc109XCJjb25kaXRpb25hbGNsYXNzXCJcbiAgICAgICBbbmdTdHlsZV09XCJjb25kaXRpb25hbHN0eWxlXCJcbiAgICAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpOyBjaGVja0ZvckRpc3BsYXlGb3JtYXQoJGV2ZW50KVwiXG4gICAgICAgKGZvY3VzKT1cImNoZWNrRm9yRGlzcGxheUZvcm1hdCgkZXZlbnQpXCJcbiAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZSA/ICdvbicgOiAnb2ZmJ1wiXG4gICAgICAgKGtleXVwLmVudGVyKT1cImZsdXNoVmlld0NoYW5nZXMoaW5wdXQudmFsdWUpXCJcbiAgICAgICAjaW5wdXQ+XG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvdGV4dC9zcmMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFFN0MsTUFBTSxhQUFhLEdBQWtCO0lBQ2pDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLFNBQVMsRUFBRSxtQkFBbUI7Q0FDakMsQ0FBQztBQWFGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO2FBQ3RDLG9CQUFlLEdBQUcsYUFBYSxFQUFF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LE9BQU87c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDZCxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU87Z0JBQzBCLEtBQUs7c0JBQWhELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYXNrTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0lXaWRnZXRDb25maWcsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9pbnB1dC10ZXh0LnByb3BzJztcbmltcG9ydCB7QmFzZUlucHV0fSBmcm9tICcuLi9iYXNlLWlucHV0L2Jhc2UtaW5wdXQnO1xuaW1wb3J0IHtJTWFza0RpcmVjdGl2ZX0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5cbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLWlucHV0LXRleHQnLFxuICAgIGhvc3RDbGFzczogJ2FwcC1pbnB1dC13cmFwcGVyJ1xufTtcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBJTWFza01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICd3bS1pbnB1dFt0eXBlPVwidGV4dFwiXSwgd20taW5wdXQ6bm90KFt0eXBlXSksIHdtLWlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgd20taW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgd20taW5wdXRbdHlwZT1cInRlbFwiXSwgd20taW5wdXRbdHlwZT1cInVybFwiXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoSW5wdXRUZXh0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhJbnB1dFRleHRDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoSW5wdXRUZXh0Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIG1heGNoYXJzOiBudW1iZXI7XG4gICAgcHVibGljIHJlZ2V4cDogc3RyaW5nO1xuICAgIHB1YmxpYyBkaXNwbGF5Zm9ybWF0OiBzdHJpbmc7XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgcHVibGljIGNvbmRpdGlvbmFsY2xhc3M6IGFueTtcbiAgICBwdWJsaWMgY29uZGl0aW9uYWxzdHlsZTogYW55O1xuICAgIHB1YmxpYyB0YWJpbmRleDogYW55O1xuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogYW55O1xuICAgIHB1YmxpYyBzaG9ydGN1dGtleTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW47XG4gICAgcHVibGljIGF1dG9jb21wbGV0ZTogYW55O1xuICAgIHB1YmxpYyBtYXNrVmFsOiBhbnk7XG4gICAgcHVibGljIGlzRm9jdXNlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIGxhenk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBwdWJsaWMgdHJhaWxpbmdpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgbGVhZGluZ2ljb25jbGFzczogc3RyaW5nO1xuICAgIHB1YmxpYyBzdXBwb3J0aW5ndGV4dDogc3RyaW5nXG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoTmdNb2RlbCkgbmdNb2RlbDogTmdNb2RlbDtcbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtyZWFkOiBJTWFza0RpcmVjdGl2ZX0pIGltYXNrOiBJTWFza0RpcmVjdGl2ZTxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICB9XG5cbiAgICAvKiBEZWZpbmUgdGhlIHByb3BlcnR5IGNoYW5nZSBoYW5kbGVyLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIHdpZGdldCBwcm9wZXJ0eSAqL1xuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpIHtcbiAgICAgICAgLypNb25pdG9yaW5nIGNoYW5nZXMgZm9yIHN0eWxlcyBvciBwcm9wZXJ0aWVzIGFuZCBhY2NvcmRpbmdseSBoYW5kbGluZyByZXNwZWN0aXZlIGNoYW5nZXMuKi9cbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Rpc3BsYXlmb3JtYXQnOlxuICAgICAgICAgICAgICAgIHRoaXMubWFza1ZhbCA9IHRoaXMuZGlzcGxheWZvcm1hdDtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrRm9yRGlzcGxheUZvcm1hdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2hvd2Rpc3BsYXlmb3JtYXRvbic6XG4gICAgICAgICAgICAgICAgdGhpcy5sYXp5ID0gbnYgPT09ICdrZXlwcmVzcycgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBjb21wdXRlZENsYXNzZXMoKSB7XG4gICAgICAgIHJldHVybiB7J3dpdGgtbGVhZGluZy1pY29uJzogdGhpcy5sZWFkaW5naWNvbmNsYXNzLCAnd2l0aC10cmFpbGluZy1pY29uJzogdGhpcy50cmFpbGluZ2ljb25jbGFzcyxcbiAgICAgICAgICAgIC4uLih0eXBlb2YgdGhpcy5jb25kaXRpb25hbGNsYXNzID09PSAnc3RyaW5nJyA/IHsgW3RoaXMuY29uZGl0aW9uYWxjbGFzc106IHRydWUgfSA6IHRoaXMuY29uZGl0aW9uYWxjbGFzcyB8fCB7fSl9O1xuICAgIH1cblxuICAgIGdldCBtYXNrKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5Zm9ybWF0ICYmICghdGhpcy5wbGFjZWhvbGRlciB8fCAodGhpcy5wbGFjZWhvbGRlciAmJiB0aGlzLmlzRm9jdXNlZCkpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1hc2s6IHRoaXMubWFza1ZhbCxcbiAgICAgICAgICAgICAgICBsYXp5OiB0aGlzLmxhenksXG4gICAgICAgICAgICAgICAgZGVmaW5pdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJzknOiAvXFxkLyxcbiAgICAgICAgICAgICAgICAgICAgJ0EnOiAvW2EtekEtWl0vLFxuICAgICAgICAgICAgICAgICAgICAnYSc6IC9bYS16XS8sXG4gICAgICAgICAgICAgICAgICAgICcqJzogL1xcdy9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2hvdyBkaXNwbGF5IGZvcm1hdCBvbiBmb2N1cyBvciB3aGVuIGl0IGhhcyBhIGRhdGEgdmFsdWUgcHJlc2VudC4gRWxzZSBzaG93IHRoZSBwbGFjZWhvbGRlclxuICAgIHB1YmxpYyBjaGVja0ZvckRpc3BsYXlGb3JtYXQoJGV2ZW50Pykge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5Zm9ybWF0KSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNlZCA9ICgoJGV2ZW50ICYmICRldmVudC50eXBlID09PSAnZm9jdXMnKSB8fCB0aGlzLmRhdGF2YWx1ZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICAvLyBEbyBub3Qgc2hvdyBmb3JtYXQgcGxhY2Vob2xkZXIgd2hlbiBubyB2YWx1ZSBpcyBwcmVzZW50IG9uIGJsdXJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0ZvY3VzZWQgJiYgdGhpcy5pbWFzayAmJiB0aGlzLmltYXNrLm1hc2tSZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYXNrLm1hc2tSZWYudXBkYXRlT3B0aW9ucyh7IGxhenk6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgLy8gb24gYmx1ciwgd2hlbiBubyB2YWx1ZSBpcyBwcmVzZW50IGFzc2lnbiBtYXNrcmVmIHRvIG51bGwsIGFzIGluIHNvbWUgY2FzZXMgKHdoZXJlIGZvcm1hdCBwYWxjZWhvbGRlciBzdGFydHMgd2l0aCBwcmFudGhlc2lzKSB0aGUgZm9ybWF0IHBsYWNlaG9sZGVyIGlzIHN0aWxsIHNob3duLiBXTVMtMjAxMjRcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGF0YXZhbHVlICYmIHRoaXMuaW1hc2subWFza1JlZi52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmltYXNrLm1hc2tSZWYudmFsdWUgPSB0aGlzLmRhdGF2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIHdoZW4gZGlzcGxheSBmb3JtYXQgaXMgZHluYW1pY2FsbHkgcG9wdWxhdGVkLCBjdXJzb3IgcG9zaXRpb24gaXMgYXQgdGhlIGVuZCBvZiB0aGUgZm9ybWF0LCByZWFkanVzdGluZyB0aGUgY3Vyc29yIHBvc2l0aW9uIGJhc2VkIG9uIG1hc2tlZCBpbnB1dCB2YWx1ZVxuICAgICAgICAgICAgICAgIC8vIEFkZGluZyB0aW1lb3V0LCBhcyB0aGUgYmVsb3cgY29kZSBzaG91bGQgYmUgb24gaG9sZCB1bnRpbCBpbWFzayBtb2RlbCBpcyBnZW5lcmF0ZWRcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaW1hc2sgJiYgdGhpcy5pbWFzay5tYXNrUmVmICYmIHRoaXMuaW1hc2subWFza1JlZi52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFza1ZhbEluZGV4ID0gdGhpcy5pbWFzay5tYXNrUmVmLnZhbHVlLmluZGV4T2YoJ18nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudGVyZWRNYXNrVmFsID0gbWFza1ZhbEluZGV4ID49IDAgPyB0aGlzLmltYXNrLm1hc2tSZWYudmFsdWUuc2xpY2UoMCwgbWFza1ZhbEluZGV4KS5sZW5ndGggOiB0aGlzLmltYXNrLm1hc2tSZWYudmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudGVyZWRNYXNrVmFsICE9PSB0aGlzLmltYXNrLm1hc2tSZWYuY3Vyc29yUG9zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFzay5tYXNrUmVmLnVwZGF0ZUN1cnNvcihlbnRlcmVkTWFza1ZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pbWFzayAmJiB0aGlzLmltYXNrLm1hc2tSZWYpIHsgLy8gV2hlbiBkaXNwbGF5IGZvcm1hdCBpcyBib3VuZCB2aWEgY29uZGl0aW9uLCByZW1vdmUgdGhlIHBsYWNlaG9sZGVyIHdoZW4gdGhlIGZvcm1hdCBpcyBub3QgYXBwbGljYWJsZVxuICAgICAgICAgICAgdGhpcy5pbWFzay5tYXNrUmVmLnVwZGF0ZU9wdGlvbnMoeyBsYXp5OiB0cnVlIH0pO1xuICAgICAgICAgICAgLy8gd2hlbiBkaXNwbGF5IGZvcm1hdCBpcyByZW1vdmVkIGFzc2lnbiBpbnB1dCB2YWx1ZSB0byB0aGUgZGF0YXZhbHVlIGF0dHIuIFdNUy0yMDEyNFxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmRhdGF2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9ICEhdGhpcy5kYXRhdmFsdWU7XG4gICAgfVxuXG4gICAgaWNvbkNsaWNrRXZlbnQoJGV2ZW50LCB0eXBlOiBzdHJpbmcpe1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2sodHlwZSwgeyAkZXZlbnQgfSlcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBDbGVhciBhbGwgVmlld0NoaWxkIHJlZmVyZW5jZXNcbiAgICAgICAgdGhpcy5pbnB1dEVsID0gbnVsbDtcbiAgICAgICAgdGhpcy5uZ01vZGVsID0gbnVsbDtcbiAgICAgICAgdGhpcy5pbWFzayA9IG51bGw7XG5cbiAgICAgICAgLy8gQ2FsbCBwYXJlbnQgbmdPbkRlc3Ryb3kgKEJhc2VJbnB1dCDihpIgQmFzZUZvcm1DdXN0b21Db21wb25lbnQg4oaSIFN0eWxhYmxlQ29tcG9uZW50IOKGkiBCYXNlQ29tcG9uZW50KVxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxidXR0b24gY2xhc3M9XCJidG4tbGVhZGluZy1pY29uXCIgdHlwZT1cImJ1dHRvblwiIG5hbWU9XCJsZWFkaW5nSWNvblwiICpuZ0lmPVwibGVhZGluZ2ljb25jbGFzc1wiIChjbGljayk9XCJpY29uQ2xpY2tFdmVudCgkZXZlbnQsICdsZWFkaW5naWNvbmNsaWNrJylcIj5cbiAgICAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdDbGFzc109XCJsZWFkaW5naWNvbmNsYXNzXCI+PC9pPlxuPC9idXR0b24+XG48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3hcIlxuICAgICAgIGZvY3VzLXRhcmdldFxuICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhbGFiZWxcIlxuICAgICAgIFsobmdNb2RlbCldPVwiZGF0YXZhbHVlXCJcbiAgICAgICBbaW1hc2tdPVwibWFza1wiXG4gICAgICAgW3VubWFza109XCJ0cnVlXCJcbiAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwibmdNb2RlbE9wdGlvbnNcIlxuICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFttYXhsZW5ndGhdPVwibWF4Y2hhcnNcIlxuICAgICAgIFtwYXR0ZXJuXT1cInJlZ2V4cFwiXG4gICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICBbbmdDbGFzc109XCJjb21wdXRlZENsYXNzZXNcIlxuICAgICAgIFtuZ1N0eWxlXT1cImNvbmRpdGlvbmFsc3R5bGVcIlxuICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAoYmx1cik9XCJoYW5kbGVCbHVyKCRldmVudCk7IGNoZWNrRm9yRGlzcGxheUZvcm1hdCgkZXZlbnQpXCJcbiAgICAgICAoZm9jdXMpPVwiY2hlY2tGb3JEaXNwbGF5Rm9ybWF0KCRldmVudClcIlxuICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAoa2V5dXAuZW50ZXIpPVwiZmx1c2hWaWV3Q2hhbmdlcyhpbnB1dC52YWx1ZSlcIlxuICAgICAgICNpbnB1dD5cbjxidXR0b24gY2xhc3M9XCJidG4tdHJhaWxpbmctaWNvblwiIHR5cGU9XCJidXR0b25cIiBuYW1lPVwidHJhaWxpbmdJY29uXCIgKm5nSWY9XCJ0cmFpbGluZ2ljb25jbGFzc1wiIChjbGljayk9XCJpY29uQ2xpY2tFdmVudCgkZXZlbnQsICd0cmFpbGluZ2ljb25jbGljaycpXCI+XG4gICAgICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25nQ2xhc3NdPVwidHJhaWxpbmdpY29uY2xhc3NcIj48L2k+XG48L2J1dHRvbj5cbjxwIGNsYXNzPVwiYXBwLWxhYmVsIGhlbHAtYmxvY2sgc3VwcG9ydGluZy10ZXh0XCIgKm5nSWY9XCJzdXBwb3J0aW5ndGV4dFwiIG5hbWU9XCJzdXBwb3J0aW5nVGV4dFwiPnt7c3VwcG9ydGluZ3RleHR9fTwvcD5cblxuIl19
|
|
@@ -28,7 +28,10 @@ export const inputTextTypeProps = new Map([
|
|
|
28
28
|
['type', { value: 'text', ...PROP_STRING }],
|
|
29
29
|
['updateon', PROP_STRING],
|
|
30
30
|
['conditionalclass', PROP_ANY],
|
|
31
|
-
['conditionalstyle', PROP_ANY]
|
|
31
|
+
['conditionalstyle', PROP_ANY],
|
|
32
|
+
['trailingiconclass', PROP_STRING],
|
|
33
|
+
['leadingiconclass', PROP_STRING],
|
|
34
|
+
['supportingtext', PROP_STRING]
|
|
32
35
|
]);
|
|
33
36
|
export const registerProps = () => {
|
|
34
37
|
register('wm-input-text', inputTextTypeProps);
|
|
@@ -43,4 +46,4 @@ export const registerProps = () => {
|
|
|
43
46
|
mergeTextProps(inputNumberTypeProps);
|
|
44
47
|
registerFormWidget(FormWidgetType.TEXT, new Map(formTextProps));
|
|
45
48
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC10ZXh0L2lucHV0LXRleHQucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUNyQztJQUNJLENBQUMsY0FBYyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO0lBQ2hELENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztJQUMzQixDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztJQUM1QyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7SUFDdEIsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7SUFDN0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUM7SUFDOUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7SUFDekIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsYUFBYSxFQUFFLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ3RELENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7SUFDdkIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzFCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztJQUM1QixDQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztJQUN4QyxDQUFDLHFCQUFxQixFQUFFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLFFBQVEsRUFBQyxDQUFDO0lBQ3ZELENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ3pDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN6QixDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM5QixDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM5QixDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQztJQUNsQyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQztJQUNqQyxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQztDQUNsQyxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixlQUFlLEVBQ2Ysa0JBQWtCLENBQ3JCLENBQUM7SUFDRixrQkFBa0IsQ0FDZCxjQUFjLENBQUMsUUFBUSxFQUN2QixJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUM5QixDQUFDO0lBQ0YsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVsRCxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ2pDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUMsQ0FBQztJQUNGLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3ZDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3JDLGtCQUFrQixDQUNkLGNBQWMsQ0FBQyxJQUFJLEVBQ25CLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUN6QixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQUk9QX0FOWSwgUFJPUF9CT09MRUFOLCBQUk9QX05VTUJFUiwgUFJPUF9TVFJJTkcsIHJlZ2lzdGVyLCByZWdpc3RlckZvcm1XaWRnZXR9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtGb3JtV2lkZ2V0VHlwZX0gZnJvbSAnQHdtL2NvcmUnO1xuXG5cbmltcG9ydCB7aW5wdXROdW1iZXJUeXBlUHJvcHN9IGZyb20gJy4uL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIucHJvcHMnO1xuaW1wb3J0IHtpbnB1dENhbGVuZGFyVHlwZVByb3BzfSBmcm9tICcuLi9pbnB1dC1jYWxlbmRhci9pbnB1dC1jYWxlbmRhci5wcm9wcyc7XG5pbXBvcnQge2lucHV0Q29sb3JUeXBlUHJvcHN9IGZyb20gJy4uL2lucHV0LWNvbG9yL2lucHV0LWNvbG9yLnByb3BzJztcbmltcG9ydCB7aW5wdXRFbWFpbFR5cGVQcm9wc30gZnJvbSAnLi4vaW5wdXQtZW1haWwvaW5wdXQtZW1haWwucHJvcHMnO1xuXG5leHBvcnQgY29uc3QgaW5wdXRUZXh0VHlwZVByb3BzID0gbmV3IE1hcChcbiAgICBbXG4gICAgICAgIFsnYXV0b2NvbXBsZXRlJywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgWydhdXRvZm9jdXMnLCBQUk9QX0JPT0xFQU5dLFxuICAgICAgICBbJ2F1dG90cmltJywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkYXRhdmFsdWVzb3VyY2UnLCBQUk9QX0FOWV0sXG4gICAgICAgIFsnZGF0YXZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2Rpc2FibGVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydkaXNwbGF5Zm9ybWF0JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2hpbnQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnYXJpYWxhYmVsJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ21heGNoYXJzJywgUFJPUF9OVU1CRVJdLFxuICAgICAgICBbJ25hbWUnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsncGxhY2Vob2xkZXInLCB7dmFsdWU6ICdFbnRlciB0ZXh0JywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWydyZWFkb25seScsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsncmVnZXhwJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3JlcXVpcmVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydzaG9ydGN1dGtleScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydzaG93Jywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgWydzaG93ZGlzcGxheWZvcm1hdG9uJywge3ZhbHVlOiAnYWx3YXlzJywgLi4uUFJPUF9BTll9XSxcbiAgICAgICAgWyd0YWJpbmRleCcsIHt2YWx1ZTogMCwgLi4uUFJPUF9OVU1CRVJ9XSxcbiAgICAgICAgWyd0eXBlJywge3ZhbHVlOiAndGV4dCcsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgIFsndXBkYXRlb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnY29uZGl0aW9uYWxjbGFzcycsIFBST1BfQU5ZXSxcbiAgICAgICAgWydjb25kaXRpb25hbHN0eWxlJywgUFJPUF9BTlldLFxuICAgICAgICBbJ3RyYWlsaW5naWNvbmNsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2xlYWRpbmdpY29uY2xhc3MnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnc3VwcG9ydGluZ3RleHQnLCBQUk9QX1NUUklOR11cbiAgICBdXG4pO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICByZWdpc3RlcihcbiAgICAgICAgJ3dtLWlucHV0LXRleHQnLFxuICAgICAgICBpbnB1dFRleHRUeXBlUHJvcHNcbiAgICApO1xuICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuUEFTU1dPUkQsXG4gICAgICAgIG5ldyBNYXAoaW5wdXRUZXh0VHlwZVByb3BzKVxuICAgICk7XG4gICAgY29uc3QgZm9ybVRleHRQcm9wcyA9IG5ldyBNYXAoaW5wdXRUZXh0VHlwZVByb3BzKTtcblxuICAgIGNvbnN0IG1lcmdlVGV4dFByb3BzID0gKHR5cGVQcm9wcykgPT4ge1xuICAgICAgICB0eXBlUHJvcHMuZm9yRWFjaCgodjogYW55LCBrKSA9PiBmb3JtVGV4dFByb3BzLnNldChrLCB2KSk7XG4gICAgfTtcbiAgICBtZXJnZVRleHRQcm9wcyhpbnB1dENhbGVuZGFyVHlwZVByb3BzKTtcbiAgICBtZXJnZVRleHRQcm9wcyhpbnB1dENvbG9yVHlwZVByb3BzKTtcbiAgICBtZXJnZVRleHRQcm9wcyhpbnB1dEVtYWlsVHlwZVByb3BzKTtcbiAgICBtZXJnZVRleHRQcm9wcyhpbnB1dE51bWJlclR5cGVQcm9wcyk7XG4gICAgcmVnaXN0ZXJGb3JtV2lkZ2V0KFxuICAgICAgICBGb3JtV2lkZ2V0VHlwZS5URVhULFxuICAgICAgICBuZXcgTWFwKGZvcm1UZXh0UHJvcHMpXG4gICAgKTtcbn07XG4iXX0=
|