@carefirst/library 4.8.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/carefirst-library.mjs +1264 -508
- package/fesm2022/carefirst-library.mjs.map +1 -1
- package/index.d.ts +1045 -2
- package/package.json +5 -7
- package/public/interfaces/carefirst.shared.interfaces.ts +6 -5
- package/public/styles/app.scss +5 -3
- package/public/styles/font.scss +4 -2
- package/public/styles/index.scss +6 -6
- package/esm2022/carefirst-library.mjs +0 -2
- package/esm2022/lib/components/alert/alert.component.mjs +0 -55
- package/esm2022/lib/components/badge/badge.component.mjs +0 -49
- package/esm2022/lib/components/button/button.component.mjs +0 -101
- package/esm2022/lib/components/calendar/calendar.component.mjs +0 -39
- package/esm2022/lib/components/chat-bubble/chat-bubble.component.mjs +0 -38
- package/esm2022/lib/components/form-input/form-input.component.mjs +0 -101
- package/esm2022/lib/components/form-input-currency/form-input-currency.component.mjs +0 -82
- package/esm2022/lib/components/form-input-search/form-input-search.component.mjs +0 -67
- package/esm2022/lib/components/form-input-select/form-input-select.component.mjs +0 -49
- package/esm2022/lib/components/form-input-string-date/form-input-string-date.component.mjs +0 -84
- package/esm2022/lib/components/form-input-text-area/form-input-text-area.component.mjs +0 -64
- package/esm2022/lib/components/form-validation/form-validation.component.mjs +0 -23
- package/esm2022/lib/components/icon/icon.component.mjs +0 -38
- package/esm2022/lib/components/logo/logo.component.mjs +0 -26
- package/esm2022/lib/components/mix-p/mix-p.component.mjs +0 -41
- package/esm2022/lib/components/notification/notification.component.mjs +0 -49
- package/esm2022/lib/components/page/page.component.mjs +0 -69
- package/esm2022/lib/components/spacer/spacer.component.mjs +0 -30
- package/esm2022/lib/components/spinner/spinner.component.mjs +0 -19
- package/esm2022/lib/components/verification-code/verification-code.component.mjs +0 -150
- package/esm2022/lib/directives/button-loader.directive.mjs +0 -41
- package/esm2022/lib/interfaces/alert.interface.mjs +0 -2
- package/esm2022/lib/interfaces/badge.interface.mjs +0 -15
- package/esm2022/lib/interfaces/icon.interface.mjs +0 -79
- package/esm2022/lib/interfaces/input.interface.mjs +0 -2
- package/esm2022/lib/interfaces/internal.interface.mjs +0 -7
- package/esm2022/lib/interfaces/notification.interface.mjs +0 -2
- package/esm2022/lib/interfaces/spacer.interface.mjs +0 -2
- package/esm2022/lib/interfaces/verification-code.interface.mjs +0 -3
- package/esm2022/lib/library.module.mjs +0 -125
- package/esm2022/lib/utils/attribute.util.mjs +0 -34
- package/esm2022/lib/utils/form-validators-utility.mjs +0 -169
- package/esm2022/public-api.mjs +0 -31
- package/lib/components/alert/alert.component.d.ts +0 -18
- package/lib/components/badge/badge.component.d.ts +0 -20
- package/lib/components/button/button.component.d.ts +0 -35
- package/lib/components/calendar/calendar.component.d.ts +0 -15
- package/lib/components/chat-bubble/chat-bubble.component.d.ts +0 -15
- package/lib/components/form-input/form-input.component.d.ts +0 -36
- package/lib/components/form-input-currency/form-input-currency.component.d.ts +0 -25
- package/lib/components/form-input-search/form-input-search.component.d.ts +0 -26
- package/lib/components/form-input-select/form-input-select.component.d.ts +0 -22
- package/lib/components/form-input-string-date/form-input-string-date.component.d.ts +0 -24
- package/lib/components/form-input-text-area/form-input-text-area.component.d.ts +0 -28
- package/lib/components/form-validation/form-validation.component.d.ts +0 -10
- package/lib/components/icon/icon.component.d.ts +0 -16
- package/lib/components/logo/logo.component.d.ts +0 -11
- package/lib/components/mix-p/mix-p.component.d.ts +0 -16
- package/lib/components/notification/notification.component.d.ts +0 -16
- package/lib/components/page/page.component.d.ts +0 -28
- package/lib/components/spacer/spacer.component.d.ts +0 -14
- package/lib/components/spinner/spinner.component.d.ts +0 -9
- package/lib/components/verification-code/verification-code.component.d.ts +0 -35
- package/lib/directives/button-loader.directive.d.ts +0 -12
- package/lib/interfaces/alert.interface.d.ts +0 -18
- package/lib/interfaces/badge.interface.d.ts +0 -2
- package/lib/interfaces/icon.interface.d.ts +0 -4
- package/lib/interfaces/input.interface.d.ts +0 -4
- package/lib/interfaces/internal.interface.d.ts +0 -6
- package/lib/interfaces/notification.interface.d.ts +0 -14
- package/lib/interfaces/spacer.interface.d.ts +0 -3
- package/lib/interfaces/verification-code.interface.d.ts +0 -12
- package/lib/library.module.d.ts +0 -30
- package/lib/utils/attribute.util.d.ts +0 -4
- package/lib/utils/form-validators-utility.d.ts +0 -10
- package/public-api.d.ts +0 -30
@@ -1,101 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
|
-
import { FormControl } from '@angular/forms';
|
3
|
-
import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
|
4
|
-
import { CFPFormValidators } from '../../utils/form-validators-utility';
|
5
|
-
import { inputsC } from '../../interfaces/internal.interface';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@ionic/angular";
|
8
|
-
import * as i2 from "@angular/common";
|
9
|
-
import * as i3 from "@angular/forms";
|
10
|
-
import * as i4 from "../icon/icon.component";
|
11
|
-
import * as i5 from "../form-validation/form-validation.component";
|
12
|
-
export class FormInputComponent {
|
13
|
-
label;
|
14
|
-
min;
|
15
|
-
max;
|
16
|
-
labelPlacement;
|
17
|
-
placeholder;
|
18
|
-
inputmode;
|
19
|
-
autoCapitalize;
|
20
|
-
type;
|
21
|
-
noClearButton;
|
22
|
-
control;
|
23
|
-
textCenter;
|
24
|
-
maxLength;
|
25
|
-
greyBackground;
|
26
|
-
customErrorMessage = null;
|
27
|
-
value;
|
28
|
-
valueChange = new EventEmitter();
|
29
|
-
inputLabelPlacement;
|
30
|
-
localInputMode;
|
31
|
-
inputClear = false;
|
32
|
-
inputTextCenter = false;
|
33
|
-
inputType;
|
34
|
-
inputAutoCapitalize;
|
35
|
-
inputGreyBackground = false;
|
36
|
-
showPassword = false;
|
37
|
-
dateValidatorMin = null;
|
38
|
-
dateValidatorMax = null;
|
39
|
-
ngOnChanges(changes) {
|
40
|
-
this.inputLabelPlacement =
|
41
|
-
validateStringValue(changes, 'labelPlacement', inputsC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
|
42
|
-
this.localInputMode =
|
43
|
-
validateStringValue(changes, 'inputmode', inputsC.inputMode.slice(), this.localInputMode) || 'text';
|
44
|
-
this.inputClear = checkTruthAttribute(changes, 'noClearButton', this.inputClear);
|
45
|
-
this.inputTextCenter = checkTruthAttribute(changes, 'textCenter', this.inputTextCenter);
|
46
|
-
this.inputType = validateStringValue(changes, 'type', inputsC.type.slice(), this.inputType) || 'text';
|
47
|
-
this.inputAutoCapitalize =
|
48
|
-
validateStringValue(changes, 'autoCapitalize', inputsC.autoCapitalize.slice(), this.inputAutoCapitalize) || 'none';
|
49
|
-
this.inputGreyBackground = checkTruthAttribute(changes, 'greyBackground', this.inputGreyBackground);
|
50
|
-
if (this.inputType === 'date') {
|
51
|
-
if (changes['min']?.currentValue || changes['max']?.currentValue) {
|
52
|
-
this.dateValidatorMin = changes['min'] ? changes['min'].currentValue : this.dateValidatorMin;
|
53
|
-
this.dateValidatorMax = changes['max'] ? changes['max'].currentValue : this.dateValidatorMax;
|
54
|
-
this.control?.addValidators(CFPFormValidators.isValidDate(this.dateValidatorMin || null, this.dateValidatorMax || null));
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
togglePasswordShow() {
|
59
|
-
this.showPassword = !this.showPassword;
|
60
|
-
this.inputType = this.inputType === 'password' ? 'text' : 'password';
|
61
|
-
}
|
62
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
63
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormInputComponent, selector: "cf-form-input", inputs: { label: "label", min: "min", max: "max", labelPlacement: "labelPlacement", placeholder: "placeholder", inputmode: "inputmode", autoCapitalize: "autoCapitalize", type: "type", noClearButton: "noClearButton", control: "control", textCenter: "textCenter", maxLength: "maxLength", greyBackground: "greyBackground", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #normalInput\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"normalInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon\n></ion-input>\n<!-- Form Control -->\n<ion-input\n #formControlInput\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"formControlInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.grey-background{--background: var(--cf-app-system-color-outline)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor", "iconColorCustom"] }, { kind: "component", type: i5.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
|
64
|
-
}
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputComponent, decorators: [{
|
66
|
-
type: Component,
|
67
|
-
args: [{ selector: 'cf-form-input', template: "<!-- ngModel -->\n<ion-input\n #normalInput\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"normalInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon\n></ion-input>\n<!-- Form Control -->\n<ion-input\n #formControlInput\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"type === 'password' ? false : !inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"inputType\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <cf-icon\n slot=\"end\"\n style=\"cursor: pointer\"\n *ngIf=\"formControlInput.value && type === 'password'\"\n [icon]=\"showPassword ? 'hide-password' : 'show-password'\"\n [height]=\"24\"\n (click)=\"togglePasswordShow()\"></cf-icon>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.grey-background{--background: var(--cf-app-system-color-outline)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"] }]
|
68
|
-
}], propDecorators: { label: [{
|
69
|
-
type: Input
|
70
|
-
}], min: [{
|
71
|
-
type: Input
|
72
|
-
}], max: [{
|
73
|
-
type: Input
|
74
|
-
}], labelPlacement: [{
|
75
|
-
type: Input
|
76
|
-
}], placeholder: [{
|
77
|
-
type: Input
|
78
|
-
}], inputmode: [{
|
79
|
-
type: Input
|
80
|
-
}], autoCapitalize: [{
|
81
|
-
type: Input
|
82
|
-
}], type: [{
|
83
|
-
type: Input
|
84
|
-
}], noClearButton: [{
|
85
|
-
type: Input
|
86
|
-
}], control: [{
|
87
|
-
type: Input
|
88
|
-
}], textCenter: [{
|
89
|
-
type: Input
|
90
|
-
}], maxLength: [{
|
91
|
-
type: Input
|
92
|
-
}], greyBackground: [{
|
93
|
-
type: Input
|
94
|
-
}], customErrorMessage: [{
|
95
|
-
type: Input
|
96
|
-
}], value: [{
|
97
|
-
type: Input
|
98
|
-
}], valueChange: [{
|
99
|
-
type: Output
|
100
|
-
}] } });
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7QUFPOUQsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixLQUFLLENBQVU7SUFDZixHQUFHLENBQThCO0lBQ2pDLEdBQUcsQ0FBOEI7SUFDakMsY0FBYyxDQUEyQztJQUN6RCxXQUFXLENBQXNCO0lBQ2pDLFNBQVMsQ0FBc0M7SUFDL0MsY0FBYyxDQUEyQztJQUN6RCxJQUFJLENBQWlDO0lBQ3JDLGFBQWEsQ0FBZ0M7SUFDN0MsT0FBTyxDQUFzQjtJQUM3QixVQUFVLENBQWdDO0lBQzFDLFNBQVMsQ0FBbUI7SUFDNUIsY0FBYyxDQUFnQztJQUM5QyxrQkFBa0IsR0FBa0IsSUFBSSxDQUFDO0lBR3pDLEtBQUssQ0FBcUI7SUFDekIsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO0lBRzlELG1CQUFtQixDQUE2QjtJQUNoRCxjQUFjLENBQXdCO0lBQ3RDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixTQUFTLENBQW1CO0lBQzVCLG1CQUFtQixDQUE2QjtJQUNoRCxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNyQixnQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO0lBQ3ZDLGdCQUFnQixHQUFrQixJQUFJLENBQUM7SUFPdkMsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxtQkFBbUI7WUFDdEIsbUJBQW1CLENBQ2pCLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUN6QixJQUFJLFVBQVUsQ0FBQztRQUVsQixJQUFJLENBQUMsY0FBYztZQUNqQixtQkFBbUIsQ0FBcUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUM7UUFFMUksSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhGLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQWdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDO1FBRXJJLElBQUksQ0FBQyxtQkFBbUI7WUFDdEIsbUJBQW1CLENBQ2pCLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUN6QixJQUFJLE1BQU0sQ0FBQztRQUVkLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFJcEcsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7Z0JBRWpFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2dCQUU3RixJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFPRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDdkUsQ0FBQzt3R0F2RlUsa0JBQWtCOzRGQUFsQixrQkFBa0IsK2VDdEMvQiwrOERBdURBOzs0RkRqQmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWU7OEJBS2hCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZWZpcnN0IExpYnJhcnkgRm9ybSBJbnB1dFxuICpcbiAqIEBmaWxlICAgICAgICAgIGZvcm0taW5wdXQuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IEZvcm0gSW5wdXQgRmllbGRcbiAqIEBhdXRob3IgICAgICAgIEFybm8gSmFuc2VuIHZhbiBWdXVyZW5cbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMiAtIDE0XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dFxuICogICAgICAgICAgICAgICAgICBsYWJlbD1cIkxhYmVsIE5hbWVcIlxuICogICAgICAgICAgICAgICAgICAlbGFiZWxQbGFjZW1lbnQlXG4gKiAgICAgICAgICAgICAgICAgICVpbnB1dE1vZGUlXG4gKiAgICAgICAgICAgICAgICAgICVub0NsZWFyQnV0dG9uJVxuICogICAgICAgICAgICAgICAgICAldGV4dENlbnRlciVcbiAqICAgICAgICAgICAgICAgICAgJW1pbiVcbiAqICAgICAgICAgICAgICAgICAgJW1heCVcbiAqICAgICAgICAgICAgICAgICAgJWF1dG9DYXBpdGFsaXplJVxuICogICAgICAgICAgICAgICAgICAldHlwZSVcbiAqICAgICAgICAgICAgICAgICAgJVsodmFsdWUpXT1cInR3b1dheUNvbXNcIiVcbiAqICAgICAgICAgICAgICAgICAgJSh2YWx1ZUNoYW5nZSk9XCJjdXJyZW50VmFsdWVFdmVudFwiJVxuICogICAgICAgICAgICAgICAgICAlW2NvbnRyb2xdJT1cImZvcm1OYW1lLmNvbnRyb2xzLmNvbnRyb2xOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgJVtjdXN0b21FcnJvck1lc3NhZ2VdJT1cImVycm9yTWVzc2FnZVwiXG4gKiAgICAgICAgICAgICAgICA+PC9jZi1mb3JtLWlucHV0PlxuICogICAgICAgICAgICAgICAgZGlzYWJsZSBpbnB1dCBieSBkaXNhYmxpbmcgdGhlIGZvcm0gY29udHJvbFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vLS0tIFV0aWxzXG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlLCB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuaW1wb3J0IHsgQ0ZQRm9ybVZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi91dGlscy9mb3JtLXZhbGlkYXRvcnMtdXRpbGl0eSc7XG4vLy0tLSBJbnRlcmZhY2VzXG5pbXBvcnQgeyBpbnB1dHNDIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnRlcm5hbC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1mb3JtLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSBtaW46IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWF4OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGxhYmVsUGxhY2VtZW50PzogKHR5cGVvZiBpbnB1dHNDLmxhYmVsUGxhY2VtZW50KVtudW1iZXJdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaW5wdXRtb2RlPzogKHR5cGVvZiBpbnB1dHNDLmlucHV0TW9kZSlbbnVtYmVyXTtcbiAgQElucHV0KCkgYXV0b0NhcGl0YWxpemU/OiAodHlwZW9mIGlucHV0c0MuYXV0b0NhcGl0YWxpemUpW251bWJlcl07XG4gIEBJbnB1dCgpIHR5cGU/OiAodHlwZW9mIGlucHV0c0MudHlwZSlbbnVtYmVyXTtcbiAgQElucHV0KCkgbm9DbGVhckJ1dHRvbj86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNvbnRyb2w/OiBGb3JtQ29udHJvbCB8IG51bGw7XG4gIEBJbnB1dCgpIHRleHRDZW50ZXI/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGdyZXlCYWNrZ3JvdW5kPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY3VzdG9tRXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvLy0tLSBuZ01vZGVsXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dHlwZW9mIHRoaXMudmFsdWU+KCk7XG5cbiAgLy8tLS0gTG9jYWwgdmFyaWFibGVzXG4gIGlucHV0TGFiZWxQbGFjZW1lbnQ6IHR5cGVvZiB0aGlzLmxhYmVsUGxhY2VtZW50O1xuICBsb2NhbElucHV0TW9kZTogdHlwZW9mIHRoaXMuaW5wdXRtb2RlO1xuICBpbnB1dENsZWFyID0gZmFsc2U7XG4gIGlucHV0VGV4dENlbnRlciA9IGZhbHNlO1xuICBpbnB1dFR5cGU6IHR5cGVvZiB0aGlzLnR5cGU7XG4gIGlucHV0QXV0b0NhcGl0YWxpemU6IHR5cGVvZiB0aGlzLmF1dG9DYXBpdGFsaXplO1xuICBpbnB1dEdyZXlCYWNrZ3JvdW5kID0gZmFsc2U7XG4gIHNob3dQYXNzd29yZCA9IGZhbHNlO1xuICBkYXRlVmFsaWRhdG9yTWluOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgZGF0ZVZhbGlkYXRvck1heDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBEZXRlY3QgY2hhbmdlcyB0byBpbnB1dCB2YWx1ZXNcbiAgICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBMYWJlbCBQbGFjZW1lbnRcbiAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnQgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0c0MubGFiZWxQbGFjZW1lbnQpW251bWJlcl0+KFxuICAgICAgICBjaGFuZ2VzLFxuICAgICAgICAnbGFiZWxQbGFjZW1lbnQnLFxuICAgICAgICBpbnB1dHNDLmxhYmVsUGxhY2VtZW50LnNsaWNlKCksXG4gICAgICAgIHRoaXMuaW5wdXRMYWJlbFBsYWNlbWVudFxuICAgICAgKSB8fCAnZmxvYXRpbmcnO1xuICAgIC8vLS0tIElucHV0IFR5cGUgKGtleWJvYXJkKVxuICAgIHRoaXMubG9jYWxJbnB1dE1vZGUgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0c0MuaW5wdXRNb2RlKVtudW1iZXJdPihjaGFuZ2VzLCAnaW5wdXRtb2RlJywgaW5wdXRzQy5pbnB1dE1vZGUuc2xpY2UoKSwgdGhpcy5sb2NhbElucHV0TW9kZSkgfHwgJ3RleHQnO1xuICAgIC8vLS0tIENsZWFyIEJ1dHRvblxuICAgIHRoaXMuaW5wdXRDbGVhciA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ25vQ2xlYXJCdXR0b24nLCB0aGlzLmlucHV0Q2xlYXIpO1xuICAgIC8vLS0tIFRleHQgQ2VudGVyXG4gICAgdGhpcy5pbnB1dFRleHRDZW50ZXIgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICd0ZXh0Q2VudGVyJywgdGhpcy5pbnB1dFRleHRDZW50ZXIpO1xuICAgIC8vLS0tIFR5cGVcbiAgICB0aGlzLmlucHV0VHlwZSA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8KHR5cGVvZiBpbnB1dHNDLnR5cGUpW251bWJlcl0+KGNoYW5nZXMsICd0eXBlJywgaW5wdXRzQy50eXBlLnNsaWNlKCksIHRoaXMuaW5wdXRUeXBlKSB8fCAndGV4dCc7XG4gICAgLy8tLS0gQXV0byBDYXBpdGFsaXplXG4gICAgdGhpcy5pbnB1dEF1dG9DYXBpdGFsaXplID1cbiAgICAgIHZhbGlkYXRlU3RyaW5nVmFsdWU8KHR5cGVvZiBpbnB1dHNDLmF1dG9DYXBpdGFsaXplKVtudW1iZXJdPihcbiAgICAgICAgY2hhbmdlcyxcbiAgICAgICAgJ2F1dG9DYXBpdGFsaXplJyxcbiAgICAgICAgaW5wdXRzQy5hdXRvQ2FwaXRhbGl6ZS5zbGljZSgpLFxuICAgICAgICB0aGlzLmlucHV0QXV0b0NhcGl0YWxpemVcbiAgICAgICkgfHwgJ25vbmUnO1xuICAgIC8vLS0tIEdyZXkgQmFja2dyb3VuZFxuICAgIHRoaXMuaW5wdXRHcmV5QmFja2dyb3VuZCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2dyZXlCYWNrZ3JvdW5kJywgdGhpcy5pbnB1dEdyZXlCYWNrZ3JvdW5kKTtcblxuICAgIC8vLS0tPD4gYWRkaW5nIG11bHRpcGxlIHZhbGlkYXRvcnNcbiAgICAvLy0tLSBBdXRvbWF0aWNhbGx5IGFkZCBpc1ZhbGlkRGF0ZSB2YWxpZGF0b3Igd2hlbiBpbnB1dCBpcyBhIGRhdGUgdHlwZSBhbmQgaGFzIGVpdGhlciBhIG1pbiBvciBhIG1heCB2YWx1ZVxuICAgIGlmICh0aGlzLmlucHV0VHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICBpZiAoY2hhbmdlc1snbWluJ10/LmN1cnJlbnRWYWx1ZSB8fCBjaGFuZ2VzWydtYXgnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgIC8vLS0tIFVwZGF0ZSBtaW4gbWF4IGlucHV0XG4gICAgICAgIHRoaXMuZGF0ZVZhbGlkYXRvck1pbiA9IGNoYW5nZXNbJ21pbiddID8gY2hhbmdlc1snbWluJ10uY3VycmVudFZhbHVlIDogdGhpcy5kYXRlVmFsaWRhdG9yTWluO1xuICAgICAgICB0aGlzLmRhdGVWYWxpZGF0b3JNYXggPSBjaGFuZ2VzWydtYXgnXSA/IGNoYW5nZXNbJ21heCddLmN1cnJlbnRWYWx1ZSA6IHRoaXMuZGF0ZVZhbGlkYXRvck1heDtcbiAgICAgICAgLy8tLS0gQWRkIG5ldyB2YWxpZGF0b3JcbiAgICAgICAgdGhpcy5jb250cm9sPy5hZGRWYWxpZGF0b3JzKENGUEZvcm1WYWxpZGF0b3JzLmlzVmFsaWREYXRlKHRoaXMuZGF0ZVZhbGlkYXRvck1pbiB8fCBudWxsLCB0aGlzLmRhdGVWYWxpZGF0b3JNYXggfHwgbnVsbCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgdG9nZ2xlUGFzc3dvcmRTaG93XG4gICAqIEBkZXNjcmlwdGlvbiAgIFRvZ2dsZSBpZiBwYXNzd29yZCBpcyBzaG93aW5nIG9yIGhpZGRlblxuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIHRvZ2dsZVBhc3N3b3JkU2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dQYXNzd29yZCA9ICF0aGlzLnNob3dQYXNzd29yZDtcbiAgICB0aGlzLmlucHV0VHlwZSA9IHRoaXMuaW5wdXRUeXBlID09PSAncGFzc3dvcmQnID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcbiAgfVxufVxuIiwiPCEtLSBuZ01vZGVsIC0tPlxuPGlvbi1pbnB1dFxuICAjbm9ybWFsSW5wdXRcbiAgKm5nSWY9XCIhY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgJ3RleHQtY2VudGVyJzogaW5wdXRUZXh0Q2VudGVyLCAnZ3JleS1iYWNrZ3JvdW5kJzogaW5wdXRHcmV5QmFja2dyb3VuZCwgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgW2NsZWFySW5wdXRdPVwidHlwZSA9PT0gJ3Bhc3N3b3JkJyA/IGZhbHNlIDogIWlucHV0Q2xlYXJcIlxuICBbYXV0b2NhcGl0YWxpemVdPVwiYXV0b0NhcGl0YWxpemVcIlxuICBtb2RlPVwibWRcIlxuICBbaW5wdXRtb2RlXT1cImxvY2FsSW5wdXRNb2RlXCJcbiAgW21pbl09XCJtaW5cIlxuICBbbWF4XT1cIm1heFwiXG4gIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoIHx8IG51bGxcIlxuICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAoaW9uSW5wdXQpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIlxuICBbdmFsdWVdPVwidmFsdWVcIj5cbiAgPGNmLWljb25cbiAgICBzbG90PVwiZW5kXCJcbiAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXG4gICAgKm5nSWY9XCJub3JtYWxJbnB1dC52YWx1ZSAmJiB0eXBlID09PSAncGFzc3dvcmQnXCJcbiAgICBbaWNvbl09XCJzaG93UGFzc3dvcmQgPyAnaGlkZS1wYXNzd29yZCcgOiAnc2hvdy1wYXNzd29yZCdcIlxuICAgIFtoZWlnaHRdPVwiMjRcIlxuICAgIChjbGljayk9XCJ0b2dnbGVQYXNzd29yZFNob3coKVwiPjwvY2YtaWNvblxuPjwvaW9uLWlucHV0PlxuPCEtLSBGb3JtIENvbnRyb2wgLS0+XG48aW9uLWlucHV0XG4gICNmb3JtQ29udHJvbElucHV0XG4gICpuZ0lmPVwiY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgJ3RleHQtY2VudGVyJzogaW5wdXRUZXh0Q2VudGVyLCAnZ3JleS1iYWNrZ3JvdW5kJzogaW5wdXRHcmV5QmFja2dyb3VuZCwgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgW2NsZWFySW5wdXRdPVwidHlwZSA9PT0gJ3Bhc3N3b3JkJyA/IGZhbHNlIDogIWlucHV0Q2xlYXJcIlxuICBbYXV0b2NhcGl0YWxpemVdPVwiYXV0b0NhcGl0YWxpemVcIlxuICBtb2RlPVwibWRcIlxuICBbaW5wdXRtb2RlXT1cImxvY2FsSW5wdXRNb2RlXCJcbiAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICBbbWluXT1cIm1pblwiXG4gIFttYXhdPVwibWF4XCJcbiAgW21heGxlbmd0aF09XCJtYXhMZW5ndGggfHwgbnVsbFwiXG4gIFt0eXBlXT1cImlucHV0VHlwZVwiXG4gIChpb25JbnB1dCk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudC5kZXRhaWwudmFsdWUgPz8gdW5kZWZpbmVkKVwiPlxuICA8Y2YtaWNvblxuICAgIHNsb3Q9XCJlbmRcIlxuICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcbiAgICAqbmdJZj1cImZvcm1Db250cm9sSW5wdXQudmFsdWUgJiYgdHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiXG4gICAgW2ljb25dPVwic2hvd1Bhc3N3b3JkID8gJ2hpZGUtcGFzc3dvcmQnIDogJ3Nob3ctcGFzc3dvcmQnXCJcbiAgICBbaGVpZ2h0XT1cIjI0XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlUGFzc3dvcmRTaG93KClcIj48L2NmLWljb24+XG48L2lvbi1pbnB1dD5cbjxjZi1mb3JtLXZhbGlkYXRpb24gKm5nSWY9XCJjb250cm9sIHx8IGN1c3RvbUVycm9yTWVzc2FnZVwiIFtjdXN0b21FcnJvck1lc3NhZ2VdPVwiY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbCB8fCBudWxsXCI+PC9jZi1mb3JtLXZhbGlkYXRpb24+XG4iXX0=
|
@@ -1,82 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
|
2
|
-
import { FormControl } from '@angular/forms';
|
3
|
-
import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
|
4
|
-
import { inputsC } from '../../interfaces/internal.interface';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@ionic/angular";
|
7
|
-
import * as i2 from "@angular/common";
|
8
|
-
import * as i3 from "@angular/forms";
|
9
|
-
import * as i4 from "../form-validation/form-validation.component";
|
10
|
-
export class FormInputCurrencyComponent {
|
11
|
-
currencyTextInput;
|
12
|
-
label;
|
13
|
-
labelPlacement;
|
14
|
-
placeholder;
|
15
|
-
noClearButton;
|
16
|
-
control;
|
17
|
-
customErrorMessage = null;
|
18
|
-
currency = 'R';
|
19
|
-
showCurrency = true;
|
20
|
-
value;
|
21
|
-
valueChange = new EventEmitter();
|
22
|
-
inputLabelPlacement;
|
23
|
-
inputClear = false;
|
24
|
-
inputShowCurrency = true;
|
25
|
-
ngOnChanges(changes) {
|
26
|
-
this.inputLabelPlacement =
|
27
|
-
validateStringValue(changes, 'labelPlacement', inputsC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
|
28
|
-
this.inputClear = checkTruthAttribute(changes, 'noClearButton', this.inputClear);
|
29
|
-
this.inputShowCurrency = checkTruthAttribute(changes, 'showCurrency', this.inputShowCurrency);
|
30
|
-
}
|
31
|
-
checkValue(event) {
|
32
|
-
if (!this.currencyTextInput)
|
33
|
-
return;
|
34
|
-
let newValue = event.detail.value.replace(/[^\d\.]/g, '');
|
35
|
-
const parts = newValue.split('.');
|
36
|
-
let rands = parts[0] || '';
|
37
|
-
let cents = parts.length > 1 ? parts.slice(1).join('') : null;
|
38
|
-
if (cents === '0') {
|
39
|
-
newValue = rands;
|
40
|
-
cents = null;
|
41
|
-
}
|
42
|
-
cents = cents !== null ? ((+cents === 0 ? '00' : +cents < 10 ? '0' + +cents : +cents) + '').slice(0, 2) : null;
|
43
|
-
newValue = cents ? [+rands, cents].join('.') : rands !== '' ? '' + +rands : rands;
|
44
|
-
if (this.control) {
|
45
|
-
this.control.setValue(newValue);
|
46
|
-
}
|
47
|
-
else {
|
48
|
-
this.currencyTextInput.value = newValue;
|
49
|
-
this.valueChange.emit(newValue);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormInputCurrencyComponent, selector: "cf-form-input-currency", inputs: { label: "label", labelPlacement: "labelPlacement", placeholder: "placeholder", noClearButton: "noClearButton", control: "control", customErrorMessage: "customErrorMessage", currency: "currency", showCurrency: "showCurrency", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "currencyTextInput", first: true, predicate: ["currencyTextInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #currencyTextInput\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n (ionInput)=\"checkValue($event)\"\n [value]=\"value\">\n <ion-label *ngIf=\"showCurrency\" slot=\"start\">{{ currency }}</ion-label>\n</ion-input>\n<!-- Form Control -->\n<ion-input\n #currencyTextInput\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"checkValue($event)\">\n <ion-label *ngIf=\"showCurrency\" slot=\"start\">{{ currency }}</ion-label>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
|
54
|
-
}
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputCurrencyComponent, decorators: [{
|
56
|
-
type: Component,
|
57
|
-
args: [{ selector: 'cf-form-input-currency', template: "<!-- ngModel -->\n<ion-input\n #currencyTextInput\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n (ionInput)=\"checkValue($event)\"\n [value]=\"value\">\n <ion-label *ngIf=\"showCurrency\" slot=\"start\">{{ currency }}</ion-label>\n</ion-input>\n<!-- Form Control -->\n<ion-input\n #currencyTextInput\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"checkValue($event)\">\n <ion-label *ngIf=\"showCurrency\" slot=\"start\">{{ currency }}</ion-label>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"] }]
|
58
|
-
}], propDecorators: { currencyTextInput: [{
|
59
|
-
type: ViewChild,
|
60
|
-
args: ['currencyTextInput']
|
61
|
-
}], label: [{
|
62
|
-
type: Input
|
63
|
-
}], labelPlacement: [{
|
64
|
-
type: Input
|
65
|
-
}], placeholder: [{
|
66
|
-
type: Input
|
67
|
-
}], noClearButton: [{
|
68
|
-
type: Input
|
69
|
-
}], control: [{
|
70
|
-
type: Input
|
71
|
-
}], customErrorMessage: [{
|
72
|
-
type: Input
|
73
|
-
}], currency: [{
|
74
|
-
type: Input
|
75
|
-
}], showCurrency: [{
|
76
|
-
type: Input
|
77
|
-
}], value: [{
|
78
|
-
type: Input
|
79
|
-
}], valueChange: [{
|
80
|
-
type: Output
|
81
|
-
}] } });
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1jdXJyZW5jeS9mb3JtLWlucHV0LWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LWN1cnJlbmN5L2Zvcm0taW5wdXQtY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFPOUQsTUFBTSxPQUFPLDBCQUEwQjtJQUNMLGlCQUFpQixDQUFZO0lBRXBELEtBQUssQ0FBVTtJQUNmLGNBQWMsQ0FBMkM7SUFDekQsV0FBVyxDQUFVO0lBQ3JCLGFBQWEsQ0FBZ0M7SUFDN0MsT0FBTyxDQUFzQjtJQUM3QixrQkFBa0IsR0FBa0IsSUFBSSxDQUFDO0lBRXpDLFFBQVEsR0FBWSxHQUFHLENBQUM7SUFDeEIsWUFBWSxHQUFZLElBQUksQ0FBQztJQUc3QixLQUFLLENBQXFCO0lBQ3pCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUc5RCxtQkFBbUIsQ0FBNkI7SUFDaEQsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixpQkFBaUIsR0FB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UUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlZmlyc3QgTGlicmFyeSBDdXJyZW5jeSBGb3JtIElucHV0XG4gKlxuICogQGZpbGUgICAgICAgICAgZm9ybS1pbnB1dC1jdXJyZW5jeS5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBDYXJlRmlyc3QgRm9ybSBJbnB1dCBDdXJyZW5jeSBGaWVsZFxuICogQGF1dGhvciAgICAgICAgSmFjcXVlcyBDb2V0emVlXG4gKiBAc2luY2UgICAgICAgICAyMDI1IC0gMDEgLSAxMFxuICogQHVzYWdlICAgICAgICAgPGNmLWZvcm0taW5wdXQtY3VycmVuY3lcbiAqICAgICAgICAgICAgICAgICAgbGFiZWw9XCJMYWJlbCBOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgJWxhYmVsUGxhY2VtZW50JVxuICogICAgICAgICAgICAgICAgICAlbm9DbGVhckJ1dHRvbiVcbiAqICAgICAgICAgICAgICAgICAgJVsodmFsdWUpXT1cInR3b1dheUNvbXNcIiVcbiAqICAgICAgICAgICAgICAgICAgJSh2YWx1ZUNoYW5nZSk9XCJjdXJyZW50VmFsdWVFdmVudFwiJVxuICogICAgICAgICAgICAgICAgICAlW2NvbnRyb2xdJT1cImZvcm1OYW1lLmNvbnRyb2xzLmNvbnRyb2xOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgJVtjdXN0b21FcnJvck1lc3NhZ2VdJT1cImVycm9yTWVzc2FnZVwiXG4gKiAgICAgICAgICAgICAgICA+PC9jZi1mb3JtLWlucHV0LWN1cnJlbmN5PlxuICogICAgICAgICAgICAgICAgZGlzYWJsZSBpbnB1dCBieSBkaXNhYmxpbmcgdGhlIGZvcm0gY29udHJvbFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBJb25JbnB1dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbi8vLS0tIFV0aWxzXG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlLCB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuLy8tLS0gSW50ZXJmYWNlc1xuaW1wb3J0IHsgaW5wdXRzQyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJuYWwuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtZm9ybS1pbnB1dC1jdXJyZW5jeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWlucHV0LWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0taW5wdXQtY3VycmVuY3kuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSW5wdXRDdXJyZW5jeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ2N1cnJlbmN5VGV4dElucHV0JykgY3VycmVuY3lUZXh0SW5wdXQ/OiBJb25JbnB1dDtcbiAgLy8tLS0gSW5wdXQgRmllbGRcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsUGxhY2VtZW50PzogKHR5cGVvZiBpbnB1dHNDLmxhYmVsUGxhY2VtZW50KVtudW1iZXJdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgQElucHV0KCkgbm9DbGVhckJ1dHRvbj86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNvbnRyb2w/OiBGb3JtQ29udHJvbCB8IG51bGw7XG4gIEBJbnB1dCgpIGN1c3RvbUVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIC8vLS0tIEN1cnJlbmN5XG4gIEBJbnB1dCgpIGN1cnJlbmN5Pzogc3RyaW5nID0gJ1InO1xuICBASW5wdXQoKSBzaG93Q3VycmVuY3k6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8vLS0tIG5nTW9kZWxcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx0eXBlb2YgdGhpcy52YWx1ZT4oKTtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRMYWJlbFBsYWNlbWVudDogdHlwZW9mIHRoaXMubGFiZWxQbGFjZW1lbnQ7XG4gIGlucHV0Q2xlYXIgPSBmYWxzZTtcbiAgaW5wdXRTaG93Q3VycmVuY3kgPSB0cnVlO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgRGV0ZWN0IGNoYW5nZXMgdG8gaW5wdXQgdmFsdWVzXG4gICAqIEBwYXJhbSAgICAgICAgIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gTGFiZWwgUGxhY2VtZW50XG4gICAgdGhpcy5pbnB1dExhYmVsUGxhY2VtZW50ID1cbiAgICAgIHZhbGlkYXRlU3RyaW5nVmFsdWU8KHR5cGVvZiBpbnB1dHNDLmxhYmVsUGxhY2VtZW50KVtudW1iZXJdPihcbiAgICAgICAgY2hhbmdlcyxcbiAgICAgICAgJ2xhYmVsUGxhY2VtZW50JyxcbiAgICAgICAgaW5wdXRzQy5sYWJlbFBsYWNlbWVudC5zbGljZSgpLFxuICAgICAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnRcbiAgICAgICkgfHwgJ2Zsb2F0aW5nJztcbiAgICAvLy0tLSBDbGVhciBCdXR0b25cbiAgICB0aGlzLmlucHV0Q2xlYXIgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdub0NsZWFyQnV0dG9uJywgdGhpcy5pbnB1dENsZWFyKTtcbiAgICAvLy0tLSBTaG93IEN1cnJlbmN5XG4gICAgdGhpcy5pbnB1dFNob3dDdXJyZW5jeSA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ3Nob3dDdXJyZW5jeScsIHRoaXMuaW5wdXRTaG93Q3VycmVuY3kpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBjaGVja1ZhbHVlXG4gICAqIEBkZXNjcmlwdGlvbiAgIENoZWNrIHRoZSBjb250ZW50IG9mIHRoZSBpbnB1dCBmaWVsZFxuICAgKiBAcGFyYW0gICAgICAgICB7Q3VzdG9tRXZlbnR9IGV2ZW50XG4gICAqL1xuICBjaGVja1ZhbHVlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIC8vLS0tIENsZWFyIGVycm9yIG1lc3NhZ2VzXG4gICAgaWYgKCF0aGlzLmN1cnJlbmN5VGV4dElucHV0KSByZXR1cm47XG5cbiAgICAvLy0tLSBSZW1vdmUgYWxsIG5vbiBudW1lcmljIGNoYXJhY3RlcnNcbiAgICBsZXQgbmV3VmFsdWU6IHN0cmluZyA9IGV2ZW50LmRldGFpbC52YWx1ZS5yZXBsYWNlKC9bXlxcZFxcLl0vZywgJycpO1xuXG4gICAgLy8tLS0gUmVtb3ZlIGR1cGxpY2F0ZSBkb3RzXG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gbmV3VmFsdWUuc3BsaXQoJy4nKTtcbiAgICBsZXQgcmFuZHM6IHN0cmluZyA9IHBhcnRzWzBdIHx8ICcnO1xuICAgIGxldCBjZW50czogc3RyaW5nIHwgbnVsbCA9IHBhcnRzLmxlbmd0aCA+IDEgPyBwYXJ0cy5zbGljZSgxKS5qb2luKCcnKSA6IG51bGw7XG5cbiAgICAvLy0tLSBSZW1vdmUgaW52YWxpZCBcIjBcIiBjZW50c1xuICAgIGlmIChjZW50cyA9PT0gJzAnKSB7XG4gICAgICBuZXdWYWx1ZSA9IHJhbmRzO1xuICAgICAgY2VudHMgPSBudWxsO1xuICAgIH1cblxuICAgIC8vLS0tIEZvcm11bGF0ZSBjdXJyZW5jeVxuICAgIGNlbnRzID0gY2VudHMgIT09IG51bGwgPyAoKCtjZW50cyA9PT0gMCA/ICcwMCcgOiArY2VudHMgPCAxMCA/ICcwJyArICtjZW50cyA6ICtjZW50cykgKyAnJykuc2xpY2UoMCwgMikgOiBudWxsO1xuICAgIG5ld1ZhbHVlID0gY2VudHMgPyBbK3JhbmRzLCBjZW50c10uam9pbignLicpIDogcmFuZHMgIT09ICcnID8gJycgKyArcmFuZHMgOiByYW5kcztcblxuICAgIC8vLS0tIFNldCBuZXcgdmFsdWVcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbmN5VGV4dElucHV0LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBuZ01vZGVsIC0tPlxuPGlvbi1pbnB1dFxuICAjY3VycmVuY3lUZXh0SW5wdXRcbiAgKm5nSWY9XCIhY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgW2NsZWFySW5wdXRdPVwiIWlucHV0Q2xlYXJcIlxuICBtb2RlPVwibWRcIlxuICAoaW9uSW5wdXQpPVwiY2hlY2tWYWx1ZSgkZXZlbnQpXCJcbiAgW3ZhbHVlXT1cInZhbHVlXCI+XG4gIDxpb24tbGFiZWwgKm5nSWY9XCJzaG93Q3VycmVuY3lcIiBzbG90PVwic3RhcnRcIj57eyBjdXJyZW5jeSB9fTwvaW9uLWxhYmVsPlxuPC9pb24taW5wdXQ+XG48IS0tIEZvcm0gQ29udHJvbCAtLT5cbjxpb24taW5wdXRcbiAgI2N1cnJlbmN5VGV4dElucHV0XG4gICpuZ0lmPVwiY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgW2NsZWFySW5wdXRdPVwiIWlucHV0Q2xlYXJcIlxuICBtb2RlPVwibWRcIlxuICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gIChpb25JbnB1dCk9XCJjaGVja1ZhbHVlKCRldmVudClcIj5cbiAgPGlvbi1sYWJlbCAqbmdJZj1cInNob3dDdXJyZW5jeVwiIHNsb3Q9XCJzdGFydFwiPnt7IGN1cnJlbmN5IH19PC9pb24tbGFiZWw+XG48L2lvbi1pbnB1dD5cbjxjZi1mb3JtLXZhbGlkYXRpb24gKm5nSWY9XCJjb250cm9sIHx8IGN1c3RvbUVycm9yTWVzc2FnZVwiIFtjdXN0b21FcnJvck1lc3NhZ2VdPVwiY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbCB8fCBudWxsXCI+PC9jZi1mb3JtLXZhbGlkYXRpb24+XG4iXX0=
|
@@ -1,67 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
|
-
import { validateStringValue, checkTruthAttribute } from '../../utils/attribute.util';
|
3
|
-
import { inputsC } from '../../interfaces/internal.interface';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@ionic/angular";
|
6
|
-
import * as i2 from "@angular/common";
|
7
|
-
import * as i3 from "@angular/forms";
|
8
|
-
import * as i4 from "../icon/icon.component";
|
9
|
-
import * as i5 from "../form-validation/form-validation.component";
|
10
|
-
export class FormInputSearchComponent {
|
11
|
-
label;
|
12
|
-
labelPlacement;
|
13
|
-
placeholder;
|
14
|
-
autoCapitalize;
|
15
|
-
clearButton;
|
16
|
-
control;
|
17
|
-
textCenter;
|
18
|
-
customErrorMessage = null;
|
19
|
-
debounce;
|
20
|
-
searchButtonTrigger = new EventEmitter();
|
21
|
-
value;
|
22
|
-
valueChange = new EventEmitter(undefined);
|
23
|
-
inputLabelPlacement;
|
24
|
-
inputClear = false;
|
25
|
-
inputTextCenter = false;
|
26
|
-
inputAutoCapitalize;
|
27
|
-
showPassword = false;
|
28
|
-
ngOnChanges(changes) {
|
29
|
-
this.inputLabelPlacement =
|
30
|
-
validateStringValue(changes, 'labelPlacement', inputsC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
|
31
|
-
this.inputClear = checkTruthAttribute(changes, 'noClearButton', this.inputClear);
|
32
|
-
this.inputTextCenter = checkTruthAttribute(changes, 'textCenter', this.inputTextCenter);
|
33
|
-
this.inputAutoCapitalize =
|
34
|
-
validateStringValue(changes, 'autoCapitalize', inputsC.autoCapitalize.slice(), this.inputAutoCapitalize) || 'none';
|
35
|
-
}
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormInputSearchComponent, selector: "cf-form-input-search", inputs: { label: "label", labelPlacement: "labelPlacement", placeholder: "placeholder", autoCapitalize: "autoCapitalize", clearButton: "clearButton", control: "control", textCenter: "textCenter", customErrorMessage: "customErrorMessage", debounce: "debounce", value: "value" }, outputs: { searchButtonTrigger: "searchButtonTrigger", valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #normalInput\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"\n [debounce]=\"debounce\">\n <cf-icon slot=\"end\" style=\"cursor: pointer\" icon=\"search\" [height]=\"24\" (click)=\"searchButtonTrigger.emit()\"></cf-icon>\n</ion-input>\n<!-- Form Control -->\n<ion-input\n #formControlInput\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [debounce]=\"debounce\">\n <cf-icon slot=\"end\" style=\"cursor: pointer\" icon=\"search\" [height]=\"24\" (click)=\"searchButtonTrigger.emit()\"></cf-icon>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor", "iconColorCustom"] }, { kind: "component", type: i5.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
|
38
|
-
}
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputSearchComponent, decorators: [{
|
40
|
-
type: Component,
|
41
|
-
args: [{ selector: 'cf-form-input-search', template: "<!-- ngModel -->\n<ion-input\n #normalInput\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"\n [debounce]=\"debounce\">\n <cf-icon slot=\"end\" style=\"cursor: pointer\" icon=\"search\" [height]=\"24\" (click)=\"searchButtonTrigger.emit()\"></cf-icon>\n</ion-input>\n<!-- Form Control -->\n<ion-input\n #formControlInput\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [debounce]=\"debounce\">\n <cf-icon slot=\"end\" style=\"cursor: pointer\" icon=\"search\" [height]=\"24\" (click)=\"searchButtonTrigger.emit()\"></cf-icon>\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"] }]
|
42
|
-
}], propDecorators: { label: [{
|
43
|
-
type: Input
|
44
|
-
}], labelPlacement: [{
|
45
|
-
type: Input
|
46
|
-
}], placeholder: [{
|
47
|
-
type: Input
|
48
|
-
}], autoCapitalize: [{
|
49
|
-
type: Input
|
50
|
-
}], clearButton: [{
|
51
|
-
type: Input
|
52
|
-
}], control: [{
|
53
|
-
type: Input
|
54
|
-
}], textCenter: [{
|
55
|
-
type: Input
|
56
|
-
}], customErrorMessage: [{
|
57
|
-
type: Input
|
58
|
-
}], debounce: [{
|
59
|
-
type: Input
|
60
|
-
}], searchButtonTrigger: [{
|
61
|
-
type: Output
|
62
|
-
}], value: [{
|
63
|
-
type: Input
|
64
|
-
}], valueChange: [{
|
65
|
-
type: Output
|
66
|
-
}] } });
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtc2VhcmNoL2Zvcm0taW5wdXQtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LXNlYXJjaC9mb3JtLWlucHV0LXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXNDLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBTzlELE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsS0FBSyxDQUFVO0lBQ2YsY0FBYyxDQUEyQztJQUN6RCxXQUFXLENBQXNCO0lBQ2pDLGNBQWMsQ0FBMkM7SUFDekQsV0FBVyxDQUFnQztJQUMzQyxPQUFPLENBQXNCO0lBQzdCLFVBQVUsQ0FBZ0M7SUFDMUMsa0JBQWtCLEdBQWtCLElBQUksQ0FBQztJQUN6QyxRQUFRLENBQXNCO0lBQzdCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO0lBRzlELEtBQUssQ0FBcUI7SUFDekIsV0FBVyxHQUFHLElBQUksWUFBWSxDQUFvQixTQUFTLENBQUMsQ0FBQztJQUd2RSxtQkFBbUIsQ0FBNkI7SUFDaEQsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLG1CQUFtQixDQUE2QjtJQUNoRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBT3JCLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3RCLG1CQUFtQixDQUNqQixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FDekIsSUFBSSxVQUFVLENBQUM7UUFHbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhGLElBQUksQ0FBQyxtQkFBbUI7WUFDdEIsbUJBQW1CLENBQ2pCLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUN6QixJQUFJLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQWxEVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw0YkNqQ3JDLGs0Q0FtQ0E7OzRGREZhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBS3ZCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFHRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZWZpcnN0IExpYnJhcnkgRm9ybSBJbnB1dCBTZWFyY2hcbiAqXG4gKiBAZmlsZSAgICAgICAgICBmb3JtLWlucHV0LXNlYXJjaC5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBDYXJlRmlyc3QgRm9ybSBJbnB1dCBTZWFyY2ggRmllbGRcbiAqIEBhdXRob3IgICAgICAgIEFybm8gSmFuc2VuIHZhbiBWdXVyZW5cbiAqIEBzaW5jZSAgICAgICAgIDIwMjQgLSAwOSAtIDI1XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dC1zZWFyY2hcbiAqICAgICAgICAgICAgICAgICAgbGFiZWw9XCJMYWJlbCBOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgJWxhYmVsUGxhY2VtZW50JVxuICogICAgICAgICAgICAgICAgICAlY2xlYXJCdXR0b24lXG4gKiAgICAgICAgICAgICAgICAgICV0ZXh0Q2VudGVyJVxuICogICAgICAgICAgICAgICAgICAlYXV0b0NhcGl0YWxpemUlXG4gKiAgICAgICAgICAgICAgICAgICVbKHZhbHVlKV09XCJ0d29XYXlDb21zXCIlXG4gKiAgICAgICAgICAgICAgICAgICUodmFsdWVDaGFuZ2UpPVwiY3VycmVudFZhbHVlRXZlbnRcIiVcbiAqICAgICAgICAgICAgICAgICAgJVtjb250cm9sXSU9XCJmb3JtTmFtZS5jb250cm9scy5jb250cm9sTmFtZVwiXG4gKiAgICAgICAgICAgICAgICAgICVbY3VzdG9tRXJyb3JNZXNzYWdlXSU9XCJlcnJvck1lc3NhZ2VcIlxuICogICAgICAgICAgICAgICAgPjwvY2YtZm9ybS1pbnB1dC1zZWFyY2g+XG4gKiAgICAgICAgICAgICAgICBkaXNhYmxlIGlucHV0IGJ5IGRpc2FibGluZyB0aGUgZm9ybSBjb250cm9sXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgdHlwZSBTaW1wbGVDaGFuZ2VzLCB0eXBlIE9uQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG4vLy0tLSBVdGlsc1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdWYWx1ZSwgY2hlY2tUcnV0aEF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2F0dHJpYnV0ZS51dGlsJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB7IGlucHV0c0MgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVybmFsLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWZvcm0taW5wdXQtc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VhcmNoLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0U2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsUGxhY2VtZW50PzogKHR5cGVvZiBpbnB1dHNDLmxhYmVsUGxhY2VtZW50KVtudW1iZXJdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXV0b0NhcGl0YWxpemU/OiAodHlwZW9mIGlucHV0c0MuYXV0b0NhcGl0YWxpemUpW251bWJlcl07XG4gIEBJbnB1dCgpIGNsZWFyQnV0dG9uPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY29udHJvbD86IEZvcm1Db250cm9sIHwgbnVsbDtcbiAgQElucHV0KCkgdGV4dENlbnRlcj86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGN1c3RvbUVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGRlYm91bmNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgc2VhcmNoQnV0dG9uVHJpZ2dlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vLS0tIG5nTW9kZWxcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx0eXBlb2YgdGhpcy52YWx1ZT4odW5kZWZpbmVkKTtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRMYWJlbFBsYWNlbWVudDogdHlwZW9mIHRoaXMubGFiZWxQbGFjZW1lbnQ7XG4gIGlucHV0Q2xlYXIgPSBmYWxzZTtcbiAgaW5wdXRUZXh0Q2VudGVyID0gZmFsc2U7XG4gIGlucHV0QXV0b0NhcGl0YWxpemU6IHR5cGVvZiB0aGlzLmF1dG9DYXBpdGFsaXplO1xuICBzaG93UGFzc3dvcmQgPSBmYWxzZTtcblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIG5nT25DaGFuZ2VzXG4gICAqIEBkZXNjcmlwdGlvbiAgIERldGVjdCBjaGFuZ2VzIHRvIGlucHV0IHZhbHVlc1xuICAgKiBAcGFyYW0gICAgICAgICB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlc1xuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vLS0tIExhYmVsIFBsYWNlbWVudFxuICAgIHRoaXMuaW5wdXRMYWJlbFBsYWNlbWVudCA9XG4gICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCh0eXBlb2YgaW5wdXRzQy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXT4oXG4gICAgICAgIGNoYW5nZXMsXG4gICAgICAgICdsYWJlbFBsYWNlbWVudCcsXG4gICAgICAgIGlucHV0c0MubGFiZWxQbGFjZW1lbnQuc2xpY2UoKSxcbiAgICAgICAgdGhpcy5pbnB1dExhYmVsUGxhY2VtZW50XG4gICAgICApIHx8ICdmbG9hdGluZyc7XG5cbiAgICAvLy0tLSBDbGVhciBCdXR0b25cbiAgICB0aGlzLmlucHV0Q2xlYXIgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdub0NsZWFyQnV0dG9uJywgdGhpcy5pbnB1dENsZWFyKTtcbiAgICAvLy0tLSBUZXh0IENlbnRlclxuICAgIHRoaXMuaW5wdXRUZXh0Q2VudGVyID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAndGV4dENlbnRlcicsIHRoaXMuaW5wdXRUZXh0Q2VudGVyKTtcbiAgICAvLy0tLSBBdXRvIENhcGl0YWxpemVcbiAgICB0aGlzLmlucHV0QXV0b0NhcGl0YWxpemUgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0c0MuYXV0b0NhcGl0YWxpemUpW251bWJlcl0+KFxuICAgICAgICBjaGFuZ2VzLFxuICAgICAgICAnYXV0b0NhcGl0YWxpemUnLFxuICAgICAgICBpbnB1dHNDLmF1dG9DYXBpdGFsaXplLnNsaWNlKCksXG4gICAgICAgIHRoaXMuaW5wdXRBdXRvQ2FwaXRhbGl6ZVxuICAgICAgKSB8fCAnbm9uZSc7XG4gIH1cbn1cbiIsIjwhLS0gbmdNb2RlbCAtLT5cbjxpb24taW5wdXRcbiAgI25vcm1hbElucHV0XG4gICpuZ0lmPVwiIWNvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7ICd0ZXh0LWNlbnRlcic6IGlucHV0VGV4dENlbnRlciwgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgW2NsZWFySW5wdXRdPVwiaW5wdXRDbGVhclwiXG4gIFthdXRvY2FwaXRhbGl6ZV09XCJhdXRvQ2FwaXRhbGl6ZVwiXG4gIG1vZGU9XCJtZFwiXG4gIChpb25JbnB1dCk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudC5kZXRhaWwudmFsdWUgPz8gdW5kZWZpbmVkKVwiXG4gIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gIFtkZWJvdW5jZV09XCJkZWJvdW5jZVwiPlxuICA8Y2YtaWNvbiBzbG90PVwiZW5kXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiBpY29uPVwic2VhcmNoXCIgW2hlaWdodF09XCIyNFwiIChjbGljayk9XCJzZWFyY2hCdXR0b25UcmlnZ2VyLmVtaXQoKVwiPjwvY2YtaWNvbj5cbjwvaW9uLWlucHV0PlxuPCEtLSBGb3JtIENvbnRyb2wgLS0+XG48aW9uLWlucHV0XG4gICNmb3JtQ29udHJvbElucHV0XG4gICpuZ0lmPVwiY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgJ3RleHQtY2VudGVyJzogaW5wdXRUZXh0Q2VudGVyLCBlcnJvcjogISFjdXN0b21FcnJvck1lc3NhZ2UgfVwiXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFtsYWJlbFBsYWNlbWVudF09XCJpbnB1dExhYmVsUGxhY2VtZW50XCJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgZmlsbD1cIm91dGxpbmVcIlxuICBbY2xlYXJJbnB1dF09XCJpbnB1dENsZWFyXCJcbiAgW2F1dG9jYXBpdGFsaXplXT1cImF1dG9DYXBpdGFsaXplXCJcbiAgbW9kZT1cIm1kXCJcbiAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAoaW9uSW5wdXQpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIlxuICBbZGVib3VuY2VdPVwiZGVib3VuY2VcIj5cbiAgPGNmLWljb24gc2xvdD1cImVuZFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCIgaWNvbj1cInNlYXJjaFwiIFtoZWlnaHRdPVwiMjRcIiAoY2xpY2spPVwic2VhcmNoQnV0dG9uVHJpZ2dlci5lbWl0KClcIj48L2NmLWljb24+XG48L2lvbi1pbnB1dD5cbjxjZi1mb3JtLXZhbGlkYXRpb24gKm5nSWY9XCJjb250cm9sIHx8IGN1c3RvbUVycm9yTWVzc2FnZVwiIFtjdXN0b21FcnJvck1lc3NhZ2VdPVwiY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbCB8fCBudWxsXCI+PC9jZi1mb3JtLXZhbGlkYXRpb24+XG4iXX0=
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
2
|
-
import { FormControl } from '@angular/forms';
|
3
|
-
import { validateStringValue } from '../../utils/attribute.util';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@ionic/angular";
|
6
|
-
import * as i2 from "@angular/common";
|
7
|
-
import * as i3 from "@angular/forms";
|
8
|
-
import * as i4 from "../form-validation/form-validation.component";
|
9
|
-
const inputSelectC = {
|
10
|
-
labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],
|
11
|
-
};
|
12
|
-
export class FormInputSelectComponent {
|
13
|
-
label;
|
14
|
-
options;
|
15
|
-
labelPlacement;
|
16
|
-
placeholder;
|
17
|
-
control;
|
18
|
-
customErrorMessage = null;
|
19
|
-
value;
|
20
|
-
valueChange = new EventEmitter();
|
21
|
-
inputLabelPlacement;
|
22
|
-
ngOnChanges(changes) {
|
23
|
-
this.inputLabelPlacement =
|
24
|
-
validateStringValue(changes, 'labelPlacement', inputSelectC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
|
25
|
-
}
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormInputSelectComponent, selector: "cf-form-input-select", inputs: { label: "label", options: "options", labelPlacement: "labelPlacement", placeholder: "placeholder", control: "control", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["ion-select{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}::ng-deep ion-select-popover ion-list[class*=popover]{background:var(--cf-app-background-light)}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover]{--background: transparent;--border-radius: 8px;--background-focused: var(--cf-app-color-accent);--background-focused-opacity: .5;--background-hover: var(--cf-app-color-primary);--background-hover-opacity: .1;padding:4px}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover] ion-radio{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start}ion-select.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}ion-select.error::part(label){color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: i1.IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
|
28
|
-
}
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputSelectComponent, decorators: [{
|
30
|
-
type: Component,
|
31
|
-
args: [{ selector: 'cf-form-input-select', template: "<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["ion-select{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}::ng-deep ion-select-popover ion-list[class*=popover]{background:var(--cf-app-background-light)}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover]{--background: transparent;--border-radius: 8px;--background-focused: var(--cf-app-color-accent);--background-focused-opacity: .5;--background-hover: var(--cf-app-color-primary);--background-hover-opacity: .1;padding:4px}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover] ion-radio{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start}ion-select.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}ion-select.error::part(label){color:var(--cf-app-system-color-error)}\n"] }]
|
32
|
-
}], propDecorators: { label: [{
|
33
|
-
type: Input
|
34
|
-
}], options: [{
|
35
|
-
type: Input
|
36
|
-
}], labelPlacement: [{
|
37
|
-
type: Input
|
38
|
-
}], placeholder: [{
|
39
|
-
type: Input
|
40
|
-
}], control: [{
|
41
|
-
type: Input
|
42
|
-
}], customErrorMessage: [{
|
43
|
-
type: Input
|
44
|
-
}], value: [{
|
45
|
-
type: Input
|
46
|
-
}], valueChange: [{
|
47
|
-
type: Output
|
48
|
-
}] } });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtc2VsZWN0L2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LXNlbGVjdC9mb3JtLWlucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFRakUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztDQUN4RCxDQUFDO0FBT1gsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixLQUFLLENBQVU7SUFDZixPQUFPLENBQWdDO0lBQ3ZDLGNBQWMsQ0FBZ0Q7SUFDOUQsV0FBVyxDQUFzQjtJQUNqQyxPQUFPLENBQXNCO0lBQzdCLGtCQUFrQixHQUFrQixJQUFJLENBQUM7SUFHekMsS0FBSyxDQUFnQjtJQUNwQixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFHOUQsbUJBQW1CLENBQTZCO0lBT2hELFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3RCLG1CQUFtQixDQUNqQixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FDekIsSUFBSSxVQUFVLENBQUM7SUFDcEIsQ0FBQzt3R0E3QlUsd0JBQXdCOzRGQUF4Qix3QkFBd0Isc1RDdkNyQyxtb0NBNkJBOzs0RkRVYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlZmlyc3QgTGlicmFyeSBGb3JtIElucHV0IFNlbGVjdFxuICpcbiAqIEBmaWxlICAgICAgICAgIGZvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBTZWxlY3RcbiAqIEBhdXRob3IgICAgICAgIEFybm8gSmFuc2VuIHZhbiBWdXVyZW5cbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMiAtIDE0XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dC1zZWxlY3RcbiAqICAgICAgICAgICAgICAgICAgbGFiZWw9XCJMYWJlbCBOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiW3sgZGlzcGxheU5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkIH1dXCJcbiAqICAgICAgICAgICAgICAgICAgJWxhYmVsUGxhY2VtZW50JVxuICogICAgICAgICAgICAgICAgICAlKHZhbHVlQ2hhbmdlKT1cImN1cnJlbnRWYWx1ZVwiJVxuICogICAgICAgICAgICAgICAgICAlWyh2YWx1ZSldPVwidHdvV2F5Q29tc1wiJVxuICogICAgICAgICAgICAgICAgICAlW2NvbnRyb2xdJT1cImZvcm1OYW1lLmNvbnRyb2xzLmNvbnRyb2xOYW1lXCJcbiAqICAgICAgICAgICAgICAgICAgJVtjdXN0b21FcnJvck1lc3NhZ2VdJT1cImVycm9yTWVzc2FnZVwiXG4gKiAgICAgICAgICAgICAgICA+PC9jZi1mb3JtLWlucHV0LXNlbGVjdD5cbiAqICAgICAgICAgICAgICAgIGRpc2FibGUgaW5wdXQgYnkgZGlzYWJsaW5nIHRoZSBmb3JtIGNvbnRyb2xcbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG4vLy0tLSBVdGlsc1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2F0dHJpYnV0ZS51dGlsJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB0eXBlIHsgRm9ybUlucHV0U2VsZWN0T3B0aW9uc0kgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2lucHV0LmludGVyZmFjZSc7XG5cbi8qKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEBpbnRlcmZhY2UgICAgIGlucHV0U2VsZWN0Q1xuICogQGRlc2NyaXB0aW9uICAgRGVmaW5lIGF2YWlsYWJsZSBpbnB1dCBzZWxlY3QgdmFsdWVzXG4gKi9cbmNvbnN0IGlucHV0U2VsZWN0QyA9IHtcbiAgbGFiZWxQbGFjZW1lbnQ6IFsnZml4ZWQnLCAnZmxvYXRpbmcnLCAnc3RhY2tlZCcsICdzdGFydCcsICdlbmQnXSxcbn0gYXMgY29uc3Q7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWZvcm0taW5wdXQtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0U2VsZWN0Q29tcG9uZW50PFQsIFEgZXh0ZW5kcyBUPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSBvcHRpb25zITogRm9ybUlucHV0U2VsZWN0T3B0aW9uc0k8VD5bXTtcbiAgQElucHV0KCkgbGFiZWxQbGFjZW1lbnQ/OiAodHlwZW9mIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNvbnRyb2w/OiBGb3JtQ29udHJvbCB8IG51bGw7XG4gIEBJbnB1dCgpIGN1c3RvbUVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLy8tLS0gbmdNb2RlbFxuICBASW5wdXQoKSB2YWx1ZTogUSB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx0eXBlb2YgdGhpcy52YWx1ZT4oKTtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRMYWJlbFBsYWNlbWVudDogdHlwZW9mIHRoaXMubGFiZWxQbGFjZW1lbnQ7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBEZXRlY3QgY2hhbmdlcyB0byBpbnB1dCB2YWx1ZXNcbiAgICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBMYWJlbCBQbGFjZW1lbnRcbiAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnQgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXT4oXG4gICAgICAgIGNoYW5nZXMsXG4gICAgICAgICdsYWJlbFBsYWNlbWVudCcsXG4gICAgICAgIGlucHV0U2VsZWN0Qy5sYWJlbFBsYWNlbWVudC5zbGljZSgpLFxuICAgICAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnRcbiAgICAgICkgfHwgJ2Zsb2F0aW5nJztcbiAgfVxufVxuIiwiPCEtLSBuZ01vZGVsIC0tPlxuPGlvbi1zZWxlY3RcbiAgKm5nSWY9XCIhY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgZXJyb3I6ICEhY3VzdG9tRXJyb3JNZXNzYWdlIH1cIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbbGFiZWxQbGFjZW1lbnRdPVwiaW5wdXRMYWJlbFBsYWNlbWVudFwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIGZpbGw9XCJvdXRsaW5lXCJcbiAgbW9kZT1cIm1kXCJcbiAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gIChpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIlxuICBbdmFsdWVdPVwidmFsdWVcIj5cbiAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57eyBvcHRpb24uZGlzcGxheU5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuPC9pb24tc2VsZWN0PlxuPCEtLSBGb3JtIENvbnRyb2wgLS0+XG48aW9uLXNlbGVjdFxuICAqbmdJZj1cImNvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7IGVycm9yOiAhIWN1c3RvbUVycm9yTWVzc2FnZSB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIG1vZGU9XCJtZFwiXG4gIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gIChpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIj5cbiAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57eyBvcHRpb24uZGlzcGxheU5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuPC9pb24tc2VsZWN0PlxuPGNmLWZvcm0tdmFsaWRhdGlvbiAqbmdJZj1cImNvbnRyb2wgfHwgY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2N1c3RvbUVycm9yTWVzc2FnZV09XCJjdXN0b21FcnJvck1lc3NhZ2VcIiBbY29udHJvbF09XCJjb250cm9sIHx8IG51bGxcIj48L2NmLWZvcm0tdmFsaWRhdGlvbj5cbiJdfQ==
|
@@ -1,84 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
|
2
|
-
import { FormControl } from '@angular/forms';
|
3
|
-
import dayjs from 'dayjs';
|
4
|
-
import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
|
5
|
-
import { inputsC } from '../../interfaces/internal.interface';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@ionic/angular";
|
8
|
-
import * as i2 from "@angular/common";
|
9
|
-
import * as i3 from "@angular/forms";
|
10
|
-
import * as i4 from "../form-validation/form-validation.component";
|
11
|
-
export class FormInputStringDateComponent {
|
12
|
-
dateTextInput;
|
13
|
-
label;
|
14
|
-
minDate;
|
15
|
-
maxDate;
|
16
|
-
labelPlacement;
|
17
|
-
placeholder = 'YYYY-MM-DD';
|
18
|
-
noClearButton;
|
19
|
-
control;
|
20
|
-
customErrorMessage = null;
|
21
|
-
value;
|
22
|
-
valueChange = new EventEmitter();
|
23
|
-
inputLabelPlacement;
|
24
|
-
inputClear = false;
|
25
|
-
ngOnChanges(changes) {
|
26
|
-
this.inputLabelPlacement =
|
27
|
-
validateStringValue(changes, 'labelPlacement', inputsC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
|
28
|
-
this.inputClear = checkTruthAttribute(changes, 'noClearButton', this.inputClear);
|
29
|
-
}
|
30
|
-
formatDate(event) {
|
31
|
-
let dateErrors = null;
|
32
|
-
if (!this.dateTextInput)
|
33
|
-
return;
|
34
|
-
let newValue = event.detail.value.slice(0, 10).replace(/[^\d]/g, '');
|
35
|
-
if (newValue.length !== 8) {
|
36
|
-
dateErrors = 'This given date length is not valid';
|
37
|
-
}
|
38
|
-
newValue = newValue.replace(/^(\d{4})(\d{2})(\d{1,2})/, '$1-$2-$3').replace(/^(\d{4})(\d{1,2})/, '$1-$2') + '';
|
39
|
-
if (!dayjs(new Date(newValue)).isValid()) {
|
40
|
-
dateErrors = 'This given date is not valid';
|
41
|
-
}
|
42
|
-
if ((this.minDate && dayjs(new Date(newValue)).isBefore(this.minDate)) || (this.maxDate && dayjs(new Date(newValue)).isAfter(this.maxDate))) {
|
43
|
-
dateErrors = 'The given date is not within the valid parameters';
|
44
|
-
}
|
45
|
-
if (this.control) {
|
46
|
-
this.control.setValue(newValue);
|
47
|
-
this.control.setErrors(dateErrors ? { errorMessage: dateErrors } : null);
|
48
|
-
}
|
49
|
-
else {
|
50
|
-
this.dateTextInput.value = newValue;
|
51
|
-
this.valueChange.emit(newValue);
|
52
|
-
}
|
53
|
-
}
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputStringDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
55
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormInputStringDateComponent, selector: "cf-form-input-string-date", inputs: { label: "label", minDate: "minDate", maxDate: "maxDate", labelPlacement: "labelPlacement", placeholder: "placeholder", noClearButton: "noClearButton", control: "control", customErrorMessage: "customErrorMessage", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dateTextInput", first: true, predicate: ["dateTextInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n #dateTextInput\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n (ionInput)=\"formatDate($event)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n #dateTextInput\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [formControl]=\"control\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n (ionInput)=\"formatDate($event)\">\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control", "customErrorMessage"] }] });
|
56
|
-
}
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormInputStringDateComponent, decorators: [{
|
58
|
-
type: Component,
|
59
|
-
args: [{ selector: 'cf-form-input-string-date', template: "<!-- ngModel -->\n<ion-input\n #dateTextInput\n *ngIf=\"!control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n (ionInput)=\"formatDate($event)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n #dateTextInput\n *ngIf=\"control\"\n [ngClass]=\"{ error: !!customErrorMessage }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n mode=\"md\"\n [formControl]=\"control\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n (ionInput)=\"formatDate($event)\">\n</ion-input>\n<cf-form-validation *ngIf=\"control || customErrorMessage\" [customErrorMessage]=\"customErrorMessage\" [control]=\"control || null\"></cf-form-validation>\n", styles: ["::ng-deep ion-input.error .label-text{color:var(--cf-app-system-color-error)}ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.error{--border-color: var(--cf-app-system-color-error);--highlight-color-focused: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-system-color-error)}\n"] }]
|
60
|
-
}], propDecorators: { dateTextInput: [{
|
61
|
-
type: ViewChild,
|
62
|
-
args: ['dateTextInput']
|
63
|
-
}], label: [{
|
64
|
-
type: Input
|
65
|
-
}], minDate: [{
|
66
|
-
type: Input
|
67
|
-
}], maxDate: [{
|
68
|
-
type: Input
|
69
|
-
}], labelPlacement: [{
|
70
|
-
type: Input
|
71
|
-
}], placeholder: [{
|
72
|
-
type: Input
|
73
|
-
}], noClearButton: [{
|
74
|
-
type: Input
|
75
|
-
}], control: [{
|
76
|
-
type: Input
|
77
|
-
}], customErrorMessage: [{
|
78
|
-
type: Input
|
79
|
-
}], value: [{
|
80
|
-
type: Input
|
81
|
-
}], valueChange: [{
|
82
|
-
type: Output
|
83
|
-
}] } });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1zdHJpbmctZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1zdHJpbmctZGF0ZS9mb3JtLWlucHV0LXN0cmluZy1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LXN0cmluZy1kYXRlL2Zvcm0taW5wdXQtc3RyaW5nLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0MsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRzFCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7O0FBTzlELE1BQU0sT0FBTyw0QkFBNEI7SUFDWCxhQUFhLENBQVk7SUFDNUMsS0FBSyxDQUFVO0lBQ2YsT0FBTyxDQUE0QjtJQUNuQyxPQUFPLENBQTRCO0lBQ25DLGNBQWMsQ0FBMkM7SUFDekQsV0FBVyxHQUFZLFlBQVksQ0FBQztJQUNwQyxhQUFhLENBQWdDO0lBQzdDLE9BQU8sQ0FBc0I7SUFDN0Isa0JBQWtCLEdBQWtCLElBQUksQ0FBQztJQUd6QyxLQUFLLENBQXFCO0lBQ3pCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUc5RCxtQkFBbUIsQ0FBNkI7SUFDaEQs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YXJ5IEZvcm0gSW5wdXRcbiAqXG4gKiBAZmlsZSAgICAgICAgICBmb3JtLWlucHV0LXN0cmluZy1kYXRlLmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBGb3JtIElucHV0IFN0cmluZyBEYXRlIEZpZWxkXG4gKiBAYXV0aG9yICAgICAgICBBbnRvbiBkZSBTd2FyZHRcbiAqIEBzaW5jZSAgICAgICAgIDIwMjQgLSAxMSAtIDI2XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dC1zdHJpbmctZGF0ZVxuICogICAgICAgICAgICAgICAgICBsYWJlbD1cIkxhYmVsIE5hbWVcIlxuICogICAgICAgICAgICAgICAgICAlbGFiZWxQbGFjZW1lbnQlXG4gKiAgICAgICAgICAgICAgICAgICVub0NsZWFyQnV0dG9uJVxuICogICAgICAgICAgICAgICAgICAlbWluRGF0ZSVcbiAqICAgICAgICAgICAgICAgICAgJW1heERhdGUlXG4gKiAgICAgICAgICAgICAgICAgICVbKHZhbHVlKV09XCJ0d29XYXlDb21zXCIlXG4gKiAgICAgICAgICAgICAgICAgICUodmFsdWVDaGFuZ2UpPVwiY3VycmVudFZhbHVlRXZlbnRcIiVcbiAqICAgICAgICAgICAgICAgICAgJVtjb250cm9sXSU9XCJmb3JtTmFtZS5jb250cm9scy5jb250cm9sTmFtZVwiXG4gKiAgICAgICAgICAgICAgICAgICVbY3VzdG9tRXJyb3JNZXNzYWdlXSU9XCJlcnJvck1lc3NhZ2VcIlxuICogICAgICAgICAgICAgICAgPjwvY2YtZm9ybS1pbnB1dC1zdHJpbmctZGF0ZT5cbiAqICAgICAgICAgICAgICAgIGRpc2FibGUgaW5wdXQgYnkgZGlzYWJsaW5nIHRoZSBmb3JtIGNvbnRyb2xcbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgdHlwZSB7IElvbklucHV0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuLy8tLS0gVXRpbHNcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUsIHZhbGlkYXRlU3RyaW5nVmFsdWUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG4vLy0tLSBJbnRlcmZhY2VzXG5pbXBvcnQgeyBpbnB1dHNDIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnRlcm5hbC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1mb3JtLWlucHV0LXN0cmluZy1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQtc3RyaW5nLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS1pbnB1dC1zdHJpbmctZGF0ZS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dFN0cmluZ0RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkKCdkYXRlVGV4dElucHV0JykgZGF0ZVRleHRJbnB1dD86IElvbklucHV0O1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgbWluRGF0ZTogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWF4RGF0ZTogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbGFiZWxQbGFjZW1lbnQ/OiAodHlwZW9mIGlucHV0c0MubGFiZWxQbGFjZW1lbnQpW251bWJlcl07XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nID0gJ1lZWVktTU0tREQnO1xuICBASW5wdXQoKSBub0NsZWFyQnV0dG9uPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY29udHJvbD86IEZvcm1Db250cm9sIHwgbnVsbDtcbiAgQElucHV0KCkgY3VzdG9tRXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvLy0tLSBuZ01vZGVsXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dHlwZW9mIHRoaXMudmFsdWU+KCk7XG5cbiAgLy8tLS0gTG9jYWwgdmFyaWFibGVzXG4gIGlucHV0TGFiZWxQbGFjZW1lbnQ6IHR5cGVvZiB0aGlzLmxhYmVsUGxhY2VtZW50O1xuICBpbnB1dENsZWFyID0gZmFsc2U7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBEZXRlY3QgY2hhbmdlcyB0byBpbnB1dCB2YWx1ZXNcbiAgICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBMYWJlbCBQbGFjZW1lbnRcbiAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnQgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwodHlwZW9mIGlucHV0c0MubGFiZWxQbGFjZW1lbnQpW251bWJlcl0+KFxuICAgICAgICBjaGFuZ2VzLFxuICAgICAgICAnbGFiZWxQbGFjZW1lbnQnLFxuICAgICAgICBpbnB1dHNDLmxhYmVsUGxhY2VtZW50LnNsaWNlKCksXG4gICAgICAgIHRoaXMuaW5wdXRMYWJlbFBsYWNlbWVudFxuICAgICAgKSB8fCAnZmxvYXRpbmcnO1xuICAgIC8vLS0tIENsZWFyIEJ1dHRvblxuICAgIHRoaXMuaW5wdXRDbGVhciA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ25vQ2xlYXJCdXR0b24nLCB0aGlzLmlucHV0Q2xlYXIpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBmb3JtYXREYXRlXG4gICAqIEBkZXNjcmlwdGlvbiAgIEZvcm1hdCB0aGUgZGF0ZSB3aXRoIGh5cGhlbnNcbiAgICogQHBhcmFtICAgICAgICAge0N1c3RvbUV2ZW50fSBldmVudFxuICAgKi9cbiAgZm9ybWF0RGF0ZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICAvLy0tLSBDbGVhciBlcnJvciBtZXNzYWdlc1xuICAgIGxldCBkYXRlRXJyb3JzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBpZiAoIXRoaXMuZGF0ZVRleHRJbnB1dCkgcmV0dXJuO1xuICAgIC8vLS0tIFJlbW92ZSBhbGwgbm9uIG51bWVyaWMgY2hhcmFjdGVyc1xuICAgIGxldCBuZXdWYWx1ZSA9IGV2ZW50LmRldGFpbC52YWx1ZS5zbGljZSgwLCAxMCkucmVwbGFjZSgvW15cXGRdL2csICcnKTtcbiAgICAvLy0tLSBDaGVjayBkYXRlIGxlbmd0aFxuICAgIGlmIChuZXdWYWx1ZS5sZW5ndGggIT09IDgpIHtcbiAgICAgIGRhdGVFcnJvcnMgPSAnVGhpcyBnaXZlbiBkYXRlIGxlbmd0aCBpcyBub3QgdmFsaWQnO1xuICAgIH1cbiAgICAvLy0tLSBBZGQgXCItXCIgdG8gZm9ybWF0IHN0cmluZyBpbnRvIChZWVlZLU1NLUQgYW5kIFlZWVktTU0tREQpIE9SIChZWVlZLU0gYW5kIFlZWVktTU0pXG4gICAgbmV3VmFsdWUgPSBuZXdWYWx1ZS5yZXBsYWNlKC9eKFxcZHs0fSkoXFxkezJ9KShcXGR7MSwyfSkvLCAnJDEtJDItJDMnKS5yZXBsYWNlKC9eKFxcZHs0fSkoXFxkezEsMn0pLywgJyQxLSQyJykgKyAnJztcbiAgICAvLy0tLSBDaGVjayBkYXRlIGZvciBlcnJvcnNcbiAgICBpZiAoIWRheWpzKG5ldyBEYXRlKG5ld1ZhbHVlKSkuaXNWYWxpZCgpKSB7XG4gICAgICBkYXRlRXJyb3JzID0gJ1RoaXMgZ2l2ZW4gZGF0ZSBpcyBub3QgdmFsaWQnO1xuICAgIH1cbiAgICBpZiAoKHRoaXMubWluRGF0ZSAmJiBkYXlqcyhuZXcgRGF0ZShuZXdWYWx1ZSkpLmlzQmVmb3JlKHRoaXMubWluRGF0ZSkpIHx8ICh0aGlzLm1heERhdGUgJiYgZGF5anMobmV3IERhdGUobmV3VmFsdWUpKS5pc0FmdGVyKHRoaXMubWF4RGF0ZSkpKSB7XG4gICAgICBkYXRlRXJyb3JzID0gJ1RoZSBnaXZlbiBkYXRlIGlzIG5vdCB3aXRoaW4gdGhlIHZhbGlkIHBhcmFtZXRlcnMnO1xuICAgIH1cbiAgICAvLy0tLSBTZXQgbmV3IHZhbHVlXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRFcnJvcnMoZGF0ZUVycm9ycyA/IHsgZXJyb3JNZXNzYWdlOiBkYXRlRXJyb3JzIH0gOiBudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRlVGV4dElucHV0LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBuZ01vZGVsIC0tPlxuPGlvbi1pbnB1dFxuICAjZGF0ZVRleHRJbnB1dFxuICAqbmdJZj1cIiFjb250cm9sXCJcbiAgW25nQ2xhc3NdPVwieyBlcnJvcjogISFjdXN0b21FcnJvck1lc3NhZ2UgfVwiXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFtsYWJlbFBsYWNlbWVudF09XCJpbnB1dExhYmVsUGxhY2VtZW50XCJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgZmlsbD1cIm91dGxpbmVcIlxuICBbY2xlYXJJbnB1dF09XCIhaW5wdXRDbGVhclwiXG4gIG1vZGU9XCJtZFwiXG4gIFttaW5dPVwibWluRGF0ZVwiXG4gIFttYXhdPVwibWF4RGF0ZVwiXG4gIChpb25JbnB1dCk9XCJmb3JtYXREYXRlKCRldmVudClcIlxuICBbdmFsdWVdPVwidmFsdWVcIj48L2lvbi1pbnB1dD5cbjwhLS0gRm9ybSBDb250cm9sIC0tPlxuPGlvbi1pbnB1dFxuICAjZGF0ZVRleHRJbnB1dFxuICAqbmdJZj1cImNvbnRyb2xcIlxuICBbbmdDbGFzc109XCJ7IGVycm9yOiAhIWN1c3RvbUVycm9yTWVzc2FnZSB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIFtjbGVhcklucHV0XT1cIiFpbnB1dENsZWFyXCJcbiAgbW9kZT1cIm1kXCJcbiAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICBbbWluXT1cIm1pbkRhdGVcIlxuICBbbWF4XT1cIm1heERhdGVcIlxuICAoaW9uSW5wdXQpPVwiZm9ybWF0RGF0ZSgkZXZlbnQpXCI+XG48L2lvbi1pbnB1dD5cbjxjZi1mb3JtLXZhbGlkYXRpb24gKm5nSWY9XCJjb250cm9sIHx8IGN1c3RvbUVycm9yTWVzc2FnZVwiIFtjdXN0b21FcnJvck1lc3NhZ2VdPVwiY3VzdG9tRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbCB8fCBudWxsXCI+PC9jZi1mb3JtLXZhbGlkYXRpb24+XG4iXX0=
|