@piserve-tech/form-submission 1.3.74 → 1.3.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/form-fields/mobile-fields/mobile-fields.component.mjs +11 -9
- package/esm2022/services/countryService.mjs +51 -27
- package/fesm2022/piserve-tech-form-submission.mjs +60 -34
- package/fesm2022/piserve-tech-form-submission.mjs.map +1 -1
- package/form-fields/mobile-fields/mobile-fields.component.d.ts +0 -7
- package/package.json +1 -1
|
@@ -23,7 +23,6 @@ export class MobileFieldsComponent {
|
|
|
23
23
|
this.validationFailed = false;
|
|
24
24
|
this.validationMessage = '';
|
|
25
25
|
this.mobileNumber = '';
|
|
26
|
-
this.filteredCountry = [];
|
|
27
26
|
this.questionId = '';
|
|
28
27
|
this.currentPage = 0;
|
|
29
28
|
this.size = 30;
|
|
@@ -79,23 +78,26 @@ export class MobileFieldsComponent {
|
|
|
79
78
|
}
|
|
80
79
|
// Update the model
|
|
81
80
|
this.mobileNumber = input.value;
|
|
81
|
+
console.log('number', this.mobileNumber);
|
|
82
82
|
this.updateAnswer();
|
|
83
83
|
}
|
|
84
84
|
onMobileNumberChange() {
|
|
85
85
|
}
|
|
86
86
|
updateAnswer() {
|
|
87
|
-
if (this.
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
if (this.displayCountryCode) {
|
|
88
|
+
if (this.selectedCountry.length > 0 && this.mobileNumber) {
|
|
89
|
+
const countryCode = this.selectedCountry[0].value;
|
|
90
|
+
this.question.answer = `${countryCode} ${this.mobileNumber}`;
|
|
91
|
+
}
|
|
90
92
|
}
|
|
91
93
|
else {
|
|
92
|
-
this.question.answer =
|
|
94
|
+
this.question.answer = this.mobileNumber;
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
validateMobile() {
|
|
96
98
|
this.validationFailed = false;
|
|
97
99
|
this.validationMessage = '';
|
|
98
|
-
if (this.required && (!this.mobileNumber || this.selectedCountry.length === 0)) {
|
|
100
|
+
if (this.required && (!this.mobileNumber || (this.displayCountryCode && this.selectedCountry.length === 0))) {
|
|
99
101
|
this.validationFailed = true;
|
|
100
102
|
this.validationMessage = 'This is a required question';
|
|
101
103
|
}
|
|
@@ -165,12 +167,12 @@ export class MobileFieldsComponent {
|
|
|
165
167
|
}
|
|
166
168
|
}
|
|
167
169
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileFieldsComponent, deps: [{ token: i1.CountryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
168
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MobileFieldsComponent, selector: "lib-mobile-fields", inputs: { question: "question" }, ngImport: i0, template: "<div
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MobileFieldsComponent, selector: "lib-mobile-fields", inputs: { question: "question" }, ngImport: i0, template: "<div class=\"mb-5 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <div class=\"input-group mb-2\">\n <ng-container *ngIf=\"displayCountryCode; else fullWidthInput\">\n <div class=\"col-xs-5 col-5 col-md-3 px-0 pe-2 ps-2\">\n <lib-dropdown\n [items]=\"countryDetails\"\n [multiple]=\"false\"\n [(selectedItems)]=\"selectedCountry\"\n (selectedItemsChange)=\"onCountryChange()\"\n (onDropdownScroll)=\"getNextSetOfItems($event)\"\n (onSearch)=\"search($event)\"\n ></lib-dropdown>\n </div>\n <input\n type=\"text\"\n class=\"form-control col-xs-7 col-7 col-md-9 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-container>\n\n <!-- Full-width input when displayCountryCode is false -->\n <ng-template #fullWidthInput>\n <input\n type=\"text\"\n class=\"form-control col-12 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-template>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mobileField{border-radius:6px!important}::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:80%!important}@media (max-width: 992px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 786px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 576px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:39%!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.DropdownComponent, selector: "lib-dropdown", inputs: ["multiple", "selectedItems", "placeholder", "items", "showCreateNew", "selectedValues", "customButtons", "showBorder", "showSubLabel"], outputs: ["buttonClick", "selectedItemsChange", "onDropdownScroll", "onCreateNew", "onSearch"] }] }); }
|
|
169
171
|
}
|
|
170
172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileFieldsComponent, decorators: [{
|
|
171
173
|
type: Component,
|
|
172
|
-
args: [{ selector: 'lib-mobile-fields', template: "<div
|
|
174
|
+
args: [{ selector: 'lib-mobile-fields', template: "<div class=\"mb-5 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <div class=\"input-group mb-2\">\n <ng-container *ngIf=\"displayCountryCode; else fullWidthInput\">\n <div class=\"col-xs-5 col-5 col-md-3 px-0 pe-2 ps-2\">\n <lib-dropdown\n [items]=\"countryDetails\"\n [multiple]=\"false\"\n [(selectedItems)]=\"selectedCountry\"\n (selectedItemsChange)=\"onCountryChange()\"\n (onDropdownScroll)=\"getNextSetOfItems($event)\"\n (onSearch)=\"search($event)\"\n ></lib-dropdown>\n </div>\n <input\n type=\"text\"\n class=\"form-control col-xs-7 col-7 col-md-9 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-container>\n\n <!-- Full-width input when displayCountryCode is false -->\n <ng-template #fullWidthInput>\n <input\n type=\"text\"\n class=\"form-control col-12 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-template>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mobileField{border-radius:6px!important}::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:80%!important}@media (max-width: 992px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 786px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 576px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:39%!important}}\n"] }]
|
|
173
175
|
}], ctorParameters: function () { return [{ type: i1.CountryService }]; }, propDecorators: { question: [{
|
|
174
176
|
type: Input
|
|
175
177
|
}] } });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBcUJ6RCxNQUFNLE9BQU8scUJBQXFCO0lBeUJoQyxZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF4QnpDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDNUIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBQ25DLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLDBCQUFxQixHQUFZLElBQUksQ0FBQztRQUN0QyxtQkFBYyxHQUFrQixFQUFFLENBQUM7UUFDbkMsb0JBQWUsR0FBa0IsRUFBRSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFDL0IsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGVBQVUs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LElBQUksQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ25FO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELGdCQUFnQjtRQUNkLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNuRTtRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBZTtRQUNwQixJQUFJLFVBQVUsSUFBSSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNuRTthQUNJO1lBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMzRTtJQUNILENBQUM7K0dBdkxVLHFCQUFxQjttR0FBckIscUJBQXFCLDJGQ3JCbEMsa2lIQW9HQTs7NEZEL0VhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7cUdBS3BCLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY291bnRyeVNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgQ291bnRyeURhdGEge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpbWFnZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgZmlsdGVyZWRDb3VudHJ5IHtcbiAgbmFtZTogc3RyaW5nO1xuICBmbGFnOiBzdHJpbmc7XG4gIGlzZDoge307XG4gIGxhbmd1YWdlczoge307XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1tb2JpbGUtZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2JpbGUtZmllbGRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1vYmlsZUZpZWxkc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnkgPSB7fTtcbiAgY291bnQ6IG51bWJlciA9IDA7XG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGhpbnQ6IHN0cmluZyA9ICcnO1xuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIGRpc3BsYXlDb3VudHJ5Q29kZTogYm9vbGVhbiA9IHRydWU7XG4gIGRpc3BsYXlGbGFnOiBib29sZWFuID0gdHJ1ZTtcbiAgZGlzcGxheUNvZGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzaG93Q291bnRyeU5hbWU6IGJvb2xlYW4gPSB0cnVlO1xuICBiZWF1dGlmeU51bWJlcnM6IGJvb2xlYW4gPSB0cnVlO1xuICBjb3VudHJ5V2lzZVZhbGlkYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuICBjb3VudHJ5RGV0YWlsczogQ291bnRyeURhdGFbXSA9IFtdO1xuICBzZWxlY3RlZENvdW50cnk6IENvdW50cnlEYXRhW10gPSBbXTtcbiAgdmFsaWRhdGlvbkZhaWxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIG1vYmlsZU51bWJlcjogc3RyaW5nID0gJyc7XG4gIGZpbHRlcmVkQ291bnRyeTogZmlsdGVyZWRDb3VudHJ5W10gPSBbXTtcbiAgcXVlc3Rpb25JZDogc3RyaW5nID0gJyc7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAwO1xuICBzaXplOiBudW1iZXIgPSAzMDtcbiAgdG90YWxQYWdlczogbnVtYmVyID0gMDtcbiAgc2VhcmNoS2V5OiBzdHJpbmcgPSAnJztcbiAgbGFzdFBhZ2U6Ym9vbGVhbj1mYWxzZTtcbiAgaXNGaXJzdFBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmFsdWVBc3NpZ25lZCgpO1xuICB9XG5cbiAgdmFsdWVBc3NpZ25lZCgpIHtcbiAgICB0aGlzLmNvdW50ID0gdGhpcy5xdWVzdGlvbi5jb3VudDtcbiAgICB0aGlzLnJlcXVpcmVkID0gdGhpcy5xdWVzdGlvbi5yZXF1aXJlZDtcbiAgICB0aGlzLmhpbnQgPSB0aGlzLnF1ZXN0aW9uLmhpbnQ7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5wbGFjZWhvbGRlcjtcbiAgICB0aGlzLmRpc3BsYXlDb3VudHJ5Q29kZSA9XG4gICAgICB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UuZGlzcGxheUNvdW50cnlDb2RlO1xuICAgIHRoaXMuZGlzcGxheUZsYWcgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UuZGlzcGxheUZsYWc7XG4gICAgdGhpcy5kaXNwbGF5Q29kZSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5kaXNwbGF5Q29kZTtcbiAgICB0aGlzLnNob3dDb3VudHJ5TmFtZSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5zaG93Q291bnRyeU5hbWU7XG4gICAgdGhpcy5iZWF1dGlmeU51bWJlcnMgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UuYmVhdXRpZnlOdW1iZXJzO1xuICAgIHRoaXMuY291bnRyeVdpc2VWYWxpZGF0aW9uID1cbiAgICAgIHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5jb3VudHJ5V2lzZVZhbGlkYXRpb247XG4gICAgdGhpcy5xdWVzdGlvbklkID0gdGhpcy5xdWVzdGlvbi5pZDtcbiAgICB0aGlzLmxvYWRDb3VudHJ5KHRoaXMucXVlc3Rpb25JZCwgdGhpcy5jdXJyZW50UGFnZSwgdGhpcy5zaXplLCB0aGlzLnNlYXJjaEtleSk7XG4gIH1cblxuXG4gIGluaXRpYWxpemVBbnN3ZXIoKSB7XG4gICAgY29uc3QgW2NvdW50cnlDb2RlLCBtb2JpbGVOdW1iZXJdID0gdGhpcy5xdWVzdGlvbj8uYW5zd2VyPy5zcGxpdCgnICcpO1xuICAgIHRoaXMubW9iaWxlTnVtYmVyID0gbW9iaWxlTnVtYmVyIHx8ICcnO1xuXG4gICAgY29uc3QgbWF0Y2hlZENvdW50cnkgPSB0aGlzLmNvdW50cnlEZXRhaWxzLmZpbmQoY291bnRyeSA9PiBjb3VudHJ5LnZhbHVlID09PSBjb3VudHJ5Q29kZSk7XG4gICAgaWYgKG1hdGNoZWRDb3VudHJ5KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeS5wdXNoKG1hdGNoZWRDb3VudHJ5KTtcbiAgICB9ICAgICAgICBcbiAgfVxuXG4gIG9uQ291bnRyeUNoYW5nZSgpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25GYWlsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJyc7XG4gICAgdGhpcy51cGRhdGVBbnN3ZXIoKTtcbiAgfVxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gIFxuICAgIC8vIFJlZ3VsYXIgZXhwcmVzc2lvbiB0byBhbGxvdyBvbmx5IG51bWJlcnMgYW5kIG11bHRpcGxlIGh5cGhlbnMsIGJ1dCBlbnN1cmUgb25seSBvbmUgaHlwaGVuIGJldHdlZW4gbnVtYmVyc1xuICAgIGNvbnN0IHJlZ2V4ID0gL14oXFxkKykoLVxcZCspKiQvO1xuICBcbiAgICBpZiAoIXJlZ2V4LnRlc3QoaW5wdXQudmFsdWUpKSB7XG4gICAgICAvLyBSZW1vdmUgaW52YWxpZCBjaGFyYWN0ZXJzXG4gICAgICBpbnB1dC52YWx1ZSA9IGlucHV0LnZhbHVlLnJlcGxhY2UoL1teXFxkLV0vZywgJycpO1xuICBcbiAgICAgIC8vIEVuc3VyZSBvbmx5IG9uZSBoeXBoZW4gaXMgcHJlc2VudCBiZXR3ZWVuIG51bWJlcnNcbiAgICAgIGlucHV0LnZhbHVlID0gaW5wdXQudmFsdWVcbiAgICAgICAgLnNwbGl0KCctJylcbiAgICAgICAgLmZpbHRlcigoc2VnbWVudCwgaW5kZXgsIGFycmF5KSA9PiBzZWdtZW50IHx8IGluZGV4ID09PSAwIHx8IGluZGV4ID09PSBhcnJheS5sZW5ndGggLSAxKVxuICAgICAgICAuam9pbignLScpO1xuICAgIH1cbiAgXG4gICAgLy8gVXBkYXRlIHRoZSBtb2RlbFxuICAgIHRoaXMubW9iaWxlTnVtYmVyID0gaW5wdXQudmFsdWU7XG4gICAgdGhpcy51cGRhdGVBbnN3ZXIoKTtcbiAgfVxuICBvbk1vYmlsZU51bWJlckNoYW5nZSgpIHtcbiAgXG4gICAgXG4gICBcbiAgfVxuXG4gIHVwZGF0ZUFuc3dlcigpIHsgIFxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ291bnRyeS5sZW5ndGggPiAwICYmIHRoaXMubW9iaWxlTnVtYmVyKSB7XG4gICAgICBjb25zdCBjb3VudHJ5Q29kZSA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5WzBdLnZhbHVlO1xuICAgICAgdGhpcy5xdWVzdGlvbi5hbnN3ZXIgPSBgJHtjb3VudHJ5Q29kZX0gJHt0aGlzLm1vYmlsZU51bWJlcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXN0aW9uLmFuc3dlciA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlTW9iaWxlKCkge1xuICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSAnJztcblxuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICghdGhpcy5tb2JpbGVOdW1iZXIgfHwgdGhpcy5zZWxlY3RlZENvdW50cnkubGVuZ3RoID09PSAwKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSAnVGhpcyBpcyBhIHJlcXVpcmVkIHF1ZXN0aW9uJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVBbnN3ZXIoKTtcbiAgICB9XG4gIH1cblxuICBsb2FkQ291bnRyeShpZDogc3RyaW5nLCBjdXJyZW50UGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNlYXJjaEtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5sb2FkQ291bnRyeURldGFpbHModGhpcy5xdWVzdGlvbklkLCBjdXJyZW50UGFnZSwgc2l6ZSwgc2VhcmNoS2V5KS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGlmICh0aGlzLnRvdGFsUGFnZXMgPT09IDApIHtcbiAgICAgICAgdGhpcy50b3RhbFBhZ2VzID0gZGF0YS5yZXN1bHQudG90YWxQYWdlcztcbiAgICAgIH1cbiAgICAgIHRoaXMubGFzdFBhZ2U9ZGF0YS5yZXN1bHQubGFzdDtcbiAgICAgIHRoaXMuaXNGaXJzdFBhZ2UgPSBkYXRhLnJlc3VsdC5maXJzdDtcblxuICAgICAgbGV0IG5ld0NvdW50cmllcz10aGlzLmNvdW50cnlTZXJ2aWNlLnByb2Nlc3NDb3VudHJ5RGV0YWlscyhcbiAgICAgICAgZGF0YS5yZXN1bHQuY29udGVudCxcbiAgICAgICAgdGhpcy5kaXNwbGF5RmxhZyxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29kZSxcbiAgICAgICAgdGhpcy5zaG93Q291bnRyeU5hbWVcbiAgICAgIClcblxuICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPiAwKSB7XG4gICAgICAgIHRoaXMuY291bnRyeURldGFpbHMgPSBbXG4gICAgICAgICAgLi4udGhpcy5jb3VudHJ5RGV0YWlscyxcbiAgICAgICAgICAuLi5uZXdDb3VudHJpZXMuZmlsdGVyKGl0ZW0gPT4gIXRoaXMuY291bnRyeURldGFpbHMuc29tZSgoZXhpc3Rpbmc6IGFueSkgPT4gZXhpc3RpbmcudmFsdWUgPT09IGl0ZW0udmFsdWUpKVxuICAgICAgICAgIF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvdW50cnlEZXRhaWxzID0gW1xuICAgICAgICAgIC4uLm5ld0NvdW50cmllcy5maWx0ZXIoaXRlbSA9PiAhdGhpcy5jb3VudHJ5RGV0YWlscy5zb21lKChleGlzdGluZzogYW55KSA9PiBleGlzdGluZy52YWx1ZSA9PT0gaXRlbS52YWx1ZSkpLFxuICAgICAgICAgIC4uLnRoaXMuY291bnRyeURldGFpbHNcbiAgICAgICAgICBdO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucXVlc3Rpb24uYW5zd2VyKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUFuc3dlcigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBnZXROZXh0U2V0T2ZJdGVtcyhldmVudDogYW55KSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldDtcbiAgICBpZighdGhpcy5sYXN0UGFnZSl7XG4gICAgICBpZiAoTWF0aC5mbG9vcihlbGVtZW50LnNjcm9sbEhlaWdodCAtIGVsZW1lbnQuc2Nyb2xsVG9wKSA8PSBlbGVtZW50LmNsaWVudEhlaWdodCkge1xuICAgICAgICB0aGlzLmxvYWRNb3JlRGF0YSgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMuaXNGaXJzdFBhZ2UgJiYgZWxlbWVudC5zY3JvbGxUb3AgPD0gMTUwKSB7XG4gICAgICB0aGlzLmxvYWRQcmV2aW91c0RhdGEoKTtcbiAgICB9XG4gIH1cblxuICBsb2FkTW9yZURhdGEoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlKys7XG4gICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA+PSAwKSB7XG4gICAgICAgIHRoaXMubG9hZENvdW50cnkodGhpcy5xdWVzdGlvbklkLHRoaXMuY3VycmVudFBhZ2UsIHRoaXMuc2l6ZSwgXCJcIik7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cblxuICBsb2FkUHJldmlvdXNEYXRhKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZS0tO1xuICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPj0gMCkge1xuICAgICAgICB0aGlzLmxvYWRDb3VudHJ5KHRoaXMucXVlc3Rpb25JZCx0aGlzLmN1cnJlbnRQYWdlLCB0aGlzLnNpemUsIFwiXCIpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgc2VhcmNoKHNlYXJjaFRlcm06IGFueSkge1xuICAgIGlmIChzZWFyY2hUZXJtID09ICcnKSB7XG4gICAgICB0aGlzLmxvYWRDb3VudHJ5KHRoaXMucXVlc3Rpb25JZCx0aGlzLmN1cnJlbnRQYWdlLCB0aGlzLnNpemUsIFwiXCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuY291bnRyeURldGFpbHMgPSBbXTsgXG4gICAgICB0aGlzLmxvYWRDb3VudHJ5KHRoaXMucXVlc3Rpb25JZCx0aGlzLmN1cnJlbnRQYWdlLCB0aGlzLnNpemUsIHNlYXJjaFRlcm0pO1xuICAgIH1cbiAgfVxuXG59XG5cbiIsIjxkaXYgIGNsYXNzPVwibWItNSBweC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyIG1iLTJcIj5cbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwicXVlc3Rpb24ucXVlc3Rpb25OdW1iZXJcIj48L2Rpdj5cbiAgICAmbmJzcDsmbmJzcDsgPGxhYmVsPnt7IHF1ZXN0aW9uLnF1ZXN0aW9uIH19PC9sYWJlbFxuICAgID4mbmJzcDtcbiAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzdmctd3JhcHBlciBtYi0yIGhpbnRJY29uXCJcbiAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaGludFwiXG4gICAgICAqbmdJZj1cImhpbnRcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJoaW50U3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAzMCAzMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNMTUgMjYuMjVWMjYuMjVDOC43ODYyNSAyNi4yNSAzLjc1IDIxLjIxMzggMy43NSAxNVYxNUMzLjc1IDguNzg2MjUgOC43ODYyNSAzLjc1IDE1IDMuNzVWMy43NUMyMS4yMTM4IDMuNzUgMjYuMjUgOC43ODYyNSAyNi4yNSAxNVYxNUMyNi4yNSAyMS4yMTM4IDIxLjIxMzggMjYuMjUgMTUgMjYuMjVaXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE1IDE2LjU2MjNWMTYuMjQ5OEMxNSAxNS4yMjg1IDE1LjYzMTIgMTQuNjc0OCAxNi4yNjM3IDE0LjI0OThDMTYuODgxMiAxMy44MzM1IDE3LjUgMTMuMjkxIDE3LjUgMTIuMjkxQzE3LjUgMTAuOTA5OCAxNi4zODEzIDkuNzkxMDIgMTUgOS43OTEwMkMxMy42MTg3IDkuNzkxMDIgMTIuNSAxMC45MDk4IDEyLjUgMTIuMjkxXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE0Ljk5ODggMjBDMTQuODI2MyAyMCAxNC42ODYzIDIwLjE0IDE0LjY4NzUgMjAuMzEyNUMxNC42ODc1IDIwLjQ4NSAxNC44Mjc1IDIwLjYyNSAxNSAyMC42MjVDMTUuMTcyNSAyMC42MjUgMTUuMzEyNSAyMC40ODUgMTUuMzEyNSAyMC4zMTI1QzE1LjMxMjUgMjAuMTQgMTUuMTcyNSAyMCAxNC45OTg4IDIwXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIG1iLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTUgY29sLTUgY29sLW1kLTMgcHgtMCBwZS0yIHBzLTJcIj5cbiAgICAgIDxsaWItZHJvcGRvd25cbiAgICAgICAgW2l0ZW1zXT1cImNvdW50cnlEZXRhaWxzXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgWyhzZWxlY3RlZEl0ZW1zKV09XCJzZWxlY3RlZENvdW50cnlcIlxuICAgICAgICAoc2VsZWN0ZWRJdGVtc0NoYW5nZSk9XCJvbkNvdW50cnlDaGFuZ2UoKVwiXG4gICAgICAgIChvbkRyb3Bkb3duU2Nyb2xsKT1cImdldE5leHRTZXRPZkl0ZW1zKCRldmVudClcIlxuICAgICAgICAob25TZWFyY2gpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgPjwvbGliLWRyb3Bkb3duPlxuICAgIDwvZGl2PlxuICAgIDxpbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBjbGFzcz1cImZvcm0tY29udHJvbCBjb2wteHMtNyBjb2wtNyBjb2wtbWQtOSBoZWlnaHQgbW9iaWxlRmllbGRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgYXJpYS1sYWJlbD1cIk1vYmlsZSBOdW1iZXJcIlxuICAgIFtjbGFzcy5pbnZhbGlkXT1cInZhbGlkYXRpb25GYWlsZWRcIlxuICAgIChibHVyKT1cInZhbGlkYXRlTW9iaWxlKClcIlxuICAgIFsobmdNb2RlbCldPVwibW9iaWxlTnVtYmVyXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vYmlsZU51bWJlckNoYW5nZSgpXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgLz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJ2YWxpZGF0aW9uRmFpbGVkXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidmFsaWRhdGlvblN2Z1wiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTIuMDAxIDE2Ljc1QzEyLjEzOSAxNi43NSAxMi4yNTEgMTYuNjM4IDEyLjI1IDE2LjVDMTIuMjUgMTYuMzYyIDEyLjEzOCAxNi4yNSAxMiAxNi4yNUMxMS44NjIgMTYuMjUgMTEuNzUgMTYuMzYyIDExLjc1IDE2LjVDMTEuNzUgMTYuNjM4IDExLjg2MiAxNi43NSAxMi4wMDEgMTYuNzVcIlxuICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBkPVwiTTEyIDIxQzcuMDI5IDIxIDMgMTYuOTcxIDMgMTJDMyA3LjAyOSA3LjAyOSAzIDEyIDNDMTYuOTcxIDMgMjEgNy4wMjkgMjEgMTJDMjEgMTYuOTcxIDE2Ljk3MSAyMSAxMiAyMVpcIlxuICAgICAgICBmaWxsPVwiI0ZGMDAwMFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRjAwMDBcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTIgMTIuNzVMMTIgNy43NVwiXG4gICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjE2XCIgcj1cIjFcIiBmaWxsPVwid2hpdGVcIiAvPlxuICAgIDwvc3ZnPlxuICAgIHt7IHZhbGlkYXRpb25NZXNzYWdlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBY3pELE1BQU0sT0FBTyxxQkFBcUI7SUF3QmhDLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXZCekMsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUM1QixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6Qix1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsMEJBQXFCLEdBQVksSUFBSSxDQUFDO1FBQ3RDLG1CQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFrQixFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdB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UTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb3VudHJ5U2VydmljZSc7XG5cbmludGVyZmFjZSBDb3VudHJ5RGF0YSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGltYWdlOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1tb2JpbGUtZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2JpbGUtZmllbGRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1vYmlsZUZpZWxkc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnkgPSB7fTtcbiAgY291bnQ6IG51bWJlciA9IDA7XG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGhpbnQ6IHN0cmluZyA9ICcnO1xuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIGRpc3BsYXlDb3VudHJ5Q29kZTogYm9vbGVhbiA9IHRydWU7XG4gIGRpc3BsYXlGbGFnOiBib29sZWFuID0gdHJ1ZTtcbiAgZGlzcGxheUNvZGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzaG93Q291bnRyeU5hbWU6IGJvb2xlYW4gPSB0cnVlO1xuICBiZWF1dGlmeU51bWJlcnM6IGJvb2xlYW4gPSB0cnVlO1xuICBjb3VudHJ5V2lzZVZhbGlkYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuICBjb3VudHJ5RGV0YWlsczogQ291bnRyeURhdGFbXSA9IFtdO1xuICBzZWxlY3RlZENvdW50cnk6IENvdW50cnlEYXRhW10gPSBbXTtcbiAgdmFsaWRhdGlvbkZhaWxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIG1vYmlsZU51bWJlcjogc3RyaW5nID0gJyc7XG4gIHF1ZXN0aW9uSWQ6IHN0cmluZyA9ICcnO1xuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMDtcbiAgc2l6ZTogbnVtYmVyID0gMzA7XG4gIHRvdGFsUGFnZXM6IG51bWJlciA9IDA7XG4gIHNlYXJjaEtleTogc3RyaW5nID0gJyc7XG4gIGxhc3RQYWdlOmJvb2xlYW49ZmFsc2U7XG4gIGlzRmlyc3RQYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZhbHVlQXNzaWduZWQoKTtcbiAgfVxuXG4gIHZhbHVlQXNzaWduZWQoKSB7XG4gICAgdGhpcy5jb3VudCA9IHRoaXMucXVlc3Rpb24uY291bnQ7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMucXVlc3Rpb24ucmVxdWlyZWQ7XG4gICAgdGhpcy5oaW50ID0gdGhpcy5xdWVzdGlvbi5oaW50O1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UucGxhY2Vob2xkZXI7XG4gICAgdGhpcy5kaXNwbGF5Q291bnRyeUNvZGUgPVxuICAgICAgdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmRpc3BsYXlDb3VudHJ5Q29kZTtcbiAgICB0aGlzLmRpc3BsYXlGbGFnID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmRpc3BsYXlGbGFnO1xuICAgIHRoaXMuZGlzcGxheUNvZGUgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UuZGlzcGxheUNvZGU7XG4gICAgdGhpcy5zaG93Q291bnRyeU5hbWUgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2Uuc2hvd0NvdW50cnlOYW1lO1xuICAgIHRoaXMuYmVhdXRpZnlOdW1iZXJzID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmJlYXV0aWZ5TnVtYmVycztcbiAgICB0aGlzLmNvdW50cnlXaXNlVmFsaWRhdGlvbiA9XG4gICAgICB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LnZhbGlkYXRpb24uY291bnRyeVdpc2VWYWxpZGF0aW9uO1xuICAgIHRoaXMucXVlc3Rpb25JZCA9IHRoaXMucXVlc3Rpb24uaWQ7XG4gICAgdGhpcy5sb2FkQ291bnRyeSh0aGlzLnF1ZXN0aW9uSWQsIHRoaXMuY3VycmVudFBhZ2UsIHRoaXMuc2l6ZSwgdGhpcy5zZWFyY2hLZXkpO1xuICB9XG5cblxuICBpbml0aWFsaXplQW5zd2VyKCkge1xuICAgIGNvbnN0IFtjb3VudHJ5Q29kZSwgbW9iaWxlTnVtYmVyXSA9IHRoaXMucXVlc3Rpb24/LmFuc3dlcj8uc3BsaXQoJyAnKTtcbiAgICB0aGlzLm1vYmlsZU51bWJlciA9IG1vYmlsZU51bWJlciB8fCAnJztcblxuICAgIGNvbnN0IG1hdGNoZWRDb3VudHJ5ID0gdGhpcy5jb3VudHJ5RGV0YWlscy5maW5kKGNvdW50cnkgPT4gY291bnRyeS52YWx1ZSA9PT0gY291bnRyeUNvZGUpO1xuICAgIGlmIChtYXRjaGVkQ291bnRyeSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkucHVzaChtYXRjaGVkQ291bnRyeSk7XG4gICAgfSAgICAgICAgXG4gIH1cblxuICBvbkNvdW50cnlDaGFuZ2UoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMudXBkYXRlQW5zd2VyKCk7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gIFxuICAgIC8vIFJlZ3VsYXIgZXhwcmVzc2lvbiB0byBhbGxvdyBvbmx5IG51bWJlcnMgYW5kIG11bHRpcGxlIGh5cGhlbnMsIGJ1dCBlbnN1cmUgb25seSBvbmUgaHlwaGVuIGJldHdlZW4gbnVtYmVyc1xuICAgIGNvbnN0IHJlZ2V4ID0gL14oXFxkKykoLVxcZCspKiQvO1xuICBcbiAgICBpZiAoIXJlZ2V4LnRlc3QoaW5wdXQudmFsdWUpKSB7XG4gICAgICAvLyBSZW1vdmUgaW52YWxpZCBjaGFyYWN0ZXJzXG4gICAgICBpbnB1dC52YWx1ZSA9IGlucHV0LnZhbHVlLnJlcGxhY2UoL1teXFxkLV0vZywgJycpO1xuICBcbiAgICAgIC8vIEVuc3VyZSBvbmx5IG9uZSBoeXBoZW4gaXMgcHJlc2VudCBiZXR3ZWVuIG51bWJlcnNcbiAgICAgIGlucHV0LnZhbHVlID0gaW5wdXQudmFsdWVcbiAgICAgICAgLnNwbGl0KCctJylcbiAgICAgICAgLmZpbHRlcigoc2VnbWVudCwgaW5kZXgsIGFycmF5KSA9PiBzZWdtZW50IHx8IGluZGV4ID09PSAwIHx8IGluZGV4ID09PSBhcnJheS5sZW5ndGggLSAxKVxuICAgICAgICAuam9pbignLScpO1xuICAgIH1cbiAgXG4gICAgLy8gVXBkYXRlIHRoZSBtb2RlbFxuICAgIHRoaXMubW9iaWxlTnVtYmVyID0gaW5wdXQudmFsdWU7XG4gICAgY29uc29sZS5sb2coJ251bWJlcicsIHRoaXMubW9iaWxlTnVtYmVyKTtcbiAgICBcbiAgICB0aGlzLnVwZGF0ZUFuc3dlcigpO1xuICB9XG4gIG9uTW9iaWxlTnVtYmVyQ2hhbmdlKCkge1xuICB9XG5cbiAgdXBkYXRlQW5zd2VyKCkgeyAgXG4gICAgaWYodGhpcy5kaXNwbGF5Q291bnRyeUNvZGUpe1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lmxlbmd0aCA+IDAgJiYgdGhpcy5tb2JpbGVOdW1iZXIpIHtcbiAgICAgICAgY29uc3QgY291bnRyeUNvZGUgPSB0aGlzLnNlbGVjdGVkQ291bnRyeVswXS52YWx1ZTtcbiAgICAgICAgdGhpcy5xdWVzdGlvbi5hbnN3ZXIgPSBgJHtjb3VudHJ5Q29kZX0gJHt0aGlzLm1vYmlsZU51bWJlcn1gO1xuICAgICAgfVxuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMucXVlc3Rpb24uYW5zd2VyID0gdGhpcy5tb2JpbGVOdW1iZXI7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVNb2JpbGUoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9ICcnO1xuICBcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAoIXRoaXMubW9iaWxlTnVtYmVyIHx8ICh0aGlzLmRpc3BsYXlDb3VudHJ5Q29kZSAmJiB0aGlzLnNlbGVjdGVkQ291bnRyeS5sZW5ndGggPT09IDApKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSAnVGhpcyBpcyBhIHJlcXVpcmVkIHF1ZXN0aW9uJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVBbnN3ZXIoKTtcbiAgICB9XG4gIH1cblxuICBsb2FkQ291bnRyeShpZDogc3RyaW5nLCBjdXJyZW50UGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNlYXJjaEtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5sb2FkQ291bnRyeURldGFpbHModGhpcy5xdWVzdGlvbklkLCBjdXJyZW50UGFnZSwgc2l6ZSwgc2VhcmNoS2V5KS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGlmICh0aGlzLnRvdGFsUGFnZXMgPT09IDApIHtcbiAgICAgICAgdGhpcy50b3RhbFBhZ2VzID0gZGF0YS5yZXN1bHQudG90YWxQYWdlcztcbiAgICAgIH1cbiAgICAgIHRoaXMubGFzdFBhZ2U9ZGF0YS5yZXN1bHQubGFzdDtcbiAgICAgIHRoaXMuaXNGaXJzdFBhZ2UgPSBkYXRhLnJlc3VsdC5maXJzdDtcbiAgICAgIGxldCBuZXdDb3VudHJpZXM9dGhpcy5jb3VudHJ5U2VydmljZS5wcm9jZXNzQ291bnRyeURldGFpbHMoXG4gICAgICAgIGRhdGEucmVzdWx0LmNvbnRlbnQsXG4gICAgICAgIHRoaXMuZGlzcGxheUZsYWcsXG4gICAgICAgIHRoaXMuZGlzcGxheUNvZGUsXG4gICAgICAgIHRoaXMuc2hvd0NvdW50cnlOYW1lXG4gICAgICApICAgICAgXG5cbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID4gMCkge1xuICAgICAgICB0aGlzLmNvdW50cnlEZXRhaWxzID0gW1xuICAgICAgICAgIC4uLnRoaXMuY291bnRyeURldGFpbHMsXG4gICAgICAgICAgLi4ubmV3Q291bnRyaWVzLmZpbHRlcihpdGVtID0+ICF0aGlzLmNvdW50cnlEZXRhaWxzLnNvbWUoKGV4aXN0aW5nOiBhbnkpID0+IGV4aXN0aW5nLnZhbHVlID09PSBpdGVtLnZhbHVlKSlcbiAgICAgICAgICBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb3VudHJ5RGV0YWlscyA9IFtcbiAgICAgICAgICAuLi5uZXdDb3VudHJpZXMuZmlsdGVyKGl0ZW0gPT4gIXRoaXMuY291bnRyeURldGFpbHMuc29tZSgoZXhpc3Rpbmc6IGFueSkgPT4gZXhpc3RpbmcudmFsdWUgPT09IGl0ZW0udmFsdWUpKSxcbiAgICAgICAgICAuLi50aGlzLmNvdW50cnlEZXRhaWxzXG4gICAgICAgICAgXTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnF1ZXN0aW9uLmFuc3dlcikge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVBbnN3ZXIoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbiAgZ2V0TmV4dFNldE9mSXRlbXMoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQ7XG4gICAgaWYoIXRoaXMubGFzdFBhZ2Upe1xuICAgICAgaWYgKE1hdGguZmxvb3IoZWxlbWVudC5zY3JvbGxIZWlnaHQgLSBlbGVtZW50LnNjcm9sbFRvcCkgPD0gZWxlbWVudC5jbGllbnRIZWlnaHQpIHtcbiAgICAgICAgdGhpcy5sb2FkTW9yZURhdGEoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzRmlyc3RQYWdlICYmIGVsZW1lbnQuc2Nyb2xsVG9wIDw9IDE1MCkge1xuICAgICAgdGhpcy5sb2FkUHJldmlvdXNEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZE1vcmVEYXRhKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSsrO1xuICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPj0gMCkge1xuICAgICAgICB0aGlzLmxvYWRDb3VudHJ5KHRoaXMucXVlc3Rpb25JZCx0aGlzLmN1cnJlbnRQYWdlLCB0aGlzLnNpemUsIFwiXCIpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgbG9hZFByZXZpb3VzRGF0YSgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UtLTtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID49IDApIHtcbiAgICAgICAgdGhpcy5sb2FkQ291bnRyeSh0aGlzLnF1ZXN0aW9uSWQsdGhpcy5jdXJyZW50UGFnZSwgdGhpcy5zaXplLCBcIlwiKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNlYXJjaChzZWFyY2hUZXJtOiBhbnkpIHtcbiAgICBpZiAoc2VhcmNoVGVybSA9PSAnJykge1xuICAgICAgdGhpcy5sb2FkQ291bnRyeSh0aGlzLnF1ZXN0aW9uSWQsdGhpcy5jdXJyZW50UGFnZSwgdGhpcy5zaXplLCBcIlwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmNvdW50cnlEZXRhaWxzID0gW107IFxuICAgICAgdGhpcy5sb2FkQ291bnRyeSh0aGlzLnF1ZXN0aW9uSWQsdGhpcy5jdXJyZW50UGFnZSwgdGhpcy5zaXplLCBzZWFyY2hUZXJtKTtcbiAgICB9XG4gIH1cblxufVxuXG4iLCI8ZGl2IGNsYXNzPVwibWItNSBweC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyIG1iLTJcIj5cbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwicXVlc3Rpb24ucXVlc3Rpb25OdW1iZXJcIj48L2Rpdj5cbiAgICAmbmJzcDsmbmJzcDsgPGxhYmVsPnt7IHF1ZXN0aW9uLnF1ZXN0aW9uIH19PC9sYWJlbFxuICAgID4mbmJzcDtcbiAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzdmctd3JhcHBlciBtYi0yIGhpbnRJY29uXCJcbiAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaGludFwiXG4gICAgICAqbmdJZj1cImhpbnRcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJoaW50U3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAzMCAzMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNMTUgMjYuMjVWMjYuMjVDOC43ODYyNSAyNi4yNSAzLjc1IDIxLjIxMzggMy43NSAxNVYxNUMzLjc1IDguNzg2MjUgOC43ODYyNSAzLjc1IDE1IDMuNzVWMy43NUMyMS4yMTM4IDMuNzUgMjYuMjUgOC43ODYyNSAyNi4yNSAxNVYxNUMyNi4yNSAyMS4yMTM4IDIxLjIxMzggMjYuMjUgMTUgMjYuMjVaXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE1IDE2LjU2MjNWMTYuMjQ5OEMxNSAxNS4yMjg1IDE1LjYzMTIgMTQuNjc0OCAxNi4yNjM3IDE0LjI0OThDMTYuODgxMiAxMy44MzM1IDE3LjUgMTMuMjkxIDE3LjUgMTIuMjkxQzE3LjUgMTAuOTA5OCAxNi4zODEzIDkuNzkxMDIgMTUgOS43OTEwMkMxMy42MTg3IDkuNzkxMDIgMTIuNSAxMC45MDk4IDEyLjUgMTIuMjkxXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE0Ljk5ODggMjBDMTQuODI2MyAyMCAxNC42ODYzIDIwLjE0IDE0LjY4NzUgMjAuMzEyNUMxNC42ODc1IDIwLjQ4NSAxNC44Mjc1IDIwLjYyNSAxNSAyMC42MjVDMTUuMTcyNSAyMC42MjUgMTUuMzEyNSAyMC40ODUgMTUuMzEyNSAyMC4zMTI1QzE1LjMxMjUgMjAuMTQgMTUuMTcyNSAyMCAxNC45OTg4IDIwXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIG1iLTJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUNvdW50cnlDb2RlOyBlbHNlIGZ1bGxXaWR0aElucHV0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTUgY29sLTUgY29sLW1kLTMgcHgtMCBwZS0yIHBzLTJcIj5cbiAgICAgICAgPGxpYi1kcm9wZG93blxuICAgICAgICAgIFtpdGVtc109XCJjb3VudHJ5RGV0YWlsc1wiXG4gICAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgICBbKHNlbGVjdGVkSXRlbXMpXT1cInNlbGVjdGVkQ291bnRyeVwiXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbXNDaGFuZ2UpPVwib25Db3VudHJ5Q2hhbmdlKClcIlxuICAgICAgICAgIChvbkRyb3Bkb3duU2Nyb2xsKT1cImdldE5leHRTZXRPZkl0ZW1zKCRldmVudClcIlxuICAgICAgICAgIChvblNlYXJjaCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAgID48L2xpYi1kcm9wZG93bj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY29sLXhzLTcgY29sLTcgY29sLW1kLTkgaGVpZ2h0IG1vYmlsZUZpZWxkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIk1vYmlsZSBOdW1iZXJcIlxuICAgICAgICBbY2xhc3MuaW52YWxpZF09XCJ2YWxpZGF0aW9uRmFpbGVkXCJcbiAgICAgICAgKGJsdXIpPVwidmFsaWRhdGVNb2JpbGUoKVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwibW9iaWxlTnVtYmVyXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2JpbGVOdW1iZXJDaGFuZ2UoKVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRnVsbC13aWR0aCBpbnB1dCB3aGVuIGRpc3BsYXlDb3VudHJ5Q29kZSBpcyBmYWxzZSAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2Z1bGxXaWR0aElucHV0PlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY29sLTEyIGhlaWdodCBtb2JpbGVGaWVsZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJNb2JpbGUgTnVtYmVyXCJcbiAgICAgICAgW2NsYXNzLmludmFsaWRdPVwidmFsaWRhdGlvbkZhaWxlZFwiXG4gICAgICAgIChibHVyKT1cInZhbGlkYXRlTW9iaWxlKClcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vYmlsZU51bWJlclwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9iaWxlTnVtYmVyQ2hhbmdlKClcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJ2YWxpZGF0aW9uRmFpbGVkXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidmFsaWRhdGlvblN2Z1wiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTIuMDAxIDE2Ljc1QzEyLjEzOSAxNi43NSAxMi4yNTEgMTYuNjM4IDEyLjI1IDE2LjVDMTIuMjUgMTYuMzYyIDEyLjEzOCAxNi4yNSAxMiAxNi4yNUMxMS44NjIgMTYuMjUgMTEuNzUgMTYuMzYyIDExLjc1IDE2LjVDMTEuNzUgMTYuNjM4IDExLjg2MiAxNi43NSAxMi4wMDEgMTYuNzVcIlxuICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBkPVwiTTEyIDIxQzcuMDI5IDIxIDMgMTYuOTcxIDMgMTJDMyA3LjAyOSA3LjAyOSAzIDEyIDNDMTYuOTcxIDMgMjEgNy4wMjkgMjEgMTJDMjEgMTYuOTcxIDE2Ljk3MSAyMSAxMiAyMVpcIlxuICAgICAgICBmaWxsPVwiI0ZGMDAwMFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRjAwMDBcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTIgMTIuNzVMMTIgNy43NVwiXG4gICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjE2XCIgcj1cIjFcIiBmaWxsPVwid2hpdGVcIiAvPlxuICAgIDwvc3ZnPlxuICAgIHt7IHZhbGlkYXRpb25NZXNzYWdlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -18,37 +18,61 @@ export class CountryService {
|
|
|
18
18
|
processCountryDetails(data, displayFlag, displayCode, showCountryName) {
|
|
19
19
|
const countryDetails = [];
|
|
20
20
|
data.forEach((country) => {
|
|
21
|
+
const flag = displayFlag && country.flag ? country.flag : '';
|
|
21
22
|
const name = showCountryName ? country.name || '' : '';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
const isdRoot = country.isd?.root || '';
|
|
24
|
+
const isdSuffixes = country.isd?.suffixes || [];
|
|
25
|
+
if (isdRoot && isdSuffixes.length > 0) {
|
|
26
|
+
isdSuffixes.forEach((suffix) => {
|
|
27
|
+
const isdCode = `${isdRoot}${suffix}`;
|
|
28
|
+
// Special case: Only flag should be displayed, but value must have ISD code
|
|
29
|
+
if (displayFlag && !displayCode && !showCountryName) {
|
|
30
|
+
countryDetails.push({
|
|
31
|
+
value: isdCode,
|
|
32
|
+
label: '',
|
|
33
|
+
image: flag, // Only flag should be displayed
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// Handle all other cases
|
|
38
|
+
let label = '';
|
|
39
|
+
if (showCountryName)
|
|
40
|
+
label += name;
|
|
41
|
+
if (displayCode)
|
|
42
|
+
label += (label ? ' ' : '') + isdCode;
|
|
43
|
+
if (!label)
|
|
44
|
+
label = isdCode; // Ensure label is not empty
|
|
45
|
+
countryDetails.push({
|
|
46
|
+
value: isdCode,
|
|
47
|
+
label: label.trim(),
|
|
48
|
+
image: flag,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
});
|
|
25
52
|
}
|
|
26
|
-
|
|
27
|
-
country.
|
|
28
|
-
|
|
29
|
-
country.isd.suffixes?.length > 0) {
|
|
30
|
-
country.isd.suffixes.forEach((suffix) => {
|
|
31
|
-
const isdCode = `${country.isd.root}${suffix}`;
|
|
53
|
+
else {
|
|
54
|
+
const fallbackCode = isdRoot || country.code || ''; // Fallback if no suffixes
|
|
55
|
+
if (displayFlag && !displayCode && !showCountryName) {
|
|
32
56
|
countryDetails.push({
|
|
33
|
-
value:
|
|
34
|
-
label:
|
|
57
|
+
value: fallbackCode,
|
|
58
|
+
label: '',
|
|
35
59
|
image: flag,
|
|
36
60
|
});
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
let label = '';
|
|
64
|
+
if (showCountryName)
|
|
65
|
+
label += name;
|
|
66
|
+
if (displayCode)
|
|
67
|
+
label += (label ? ' ' : '') + fallbackCode;
|
|
68
|
+
if (!label)
|
|
69
|
+
label = fallbackCode;
|
|
70
|
+
countryDetails.push({
|
|
71
|
+
value: fallbackCode,
|
|
72
|
+
label: label.trim(),
|
|
73
|
+
image: flag,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
52
76
|
}
|
|
53
77
|
});
|
|
54
78
|
return countryDetails;
|
|
@@ -62,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
62
86
|
providedIn: 'root',
|
|
63
87
|
}]
|
|
64
88
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.DataService }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3NlcnZpY2VzL2NvdW50cnlTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFjM0MsTUFBTSxPQUFPLGNBQWM7SUFJekIsWUFBb0IsSUFBZ0IsRUFBVSxXQUF3QjtRQUFsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFIOUQsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBR2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsVUFBa0IsRUFBRSxJQUFZLEVBQUUsSUFBWSxFQUFFLFNBQWlCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSw0QkFBNEIsVUFBVSxTQUFTLElBQUksU0FBUyxJQUFJLGNBQWMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRUQscUJBQXFCLENBQ25CLElBQVcsRUFDWCxXQUFvQixFQUNwQixXQUFvQixFQUNwQixlQUF3QjtRQUV4QixNQUFNLGNBQWMsR0FBa0IsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QixNQUFNLElBQUksR0FBRyxXQUFXLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdELE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO1lBRWhELElBQUksT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7b0JBQ3JDLE1BQU0sT0FBTyxHQUFHLEdBQUcsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDO29CQUV0Qyw0RUFBNEU7b0JBQzVFLElBQUksV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsZUFBZSxFQUFFO3dCQUNuRCxjQUFjLENBQUMsSUFBSSxDQUFDOzRCQUNsQixLQUFLLEVBQUUsT0FBTzs0QkFDZCxLQUFLLEVBQUUsRUFBRTs0QkFDVCxLQUFLLEVBQUUsSUFBSSxFQUFNLGlDQUFpQzt5QkFDbkQsQ0FBQyxDQUFDO3FCQUNKO3lCQUFNO3dCQUNMLHlCQUF5Qjt3QkFDekIsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUNmLElBQUksZUFBZTs0QkFBRSxLQUFLLElBQUksSUFBSSxDQUFDO3dCQUNuQyxJQUFJLFdBQVc7NEJBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQzt3QkFDdkQsSUFBSSxDQUFDLEtBQUs7NEJBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLDRCQUE0Qjt3QkFFekQsY0FBYyxDQUFDLElBQUksQ0FBQzs0QkFDbEIsS0FBSyxFQUFFLE9BQU87NEJBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUU7NEJBQ25CLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUMsQ0FBQztxQkFDSjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLE1BQU0sWUFBWSxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLDBCQUEwQjtnQkFFOUUsSUFBSSxXQUFXLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQ25ELGNBQWMsQ0FBQyxJQUFJLENBQUM7d0JBQ2xCLEtBQUssRUFBRSxZQUFZO3dCQUNuQixLQUFLLEVBQUUsRUFBRTt3QkFDVCxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNmLElBQUksZUFBZTt3QkFBRSxLQUFLLElBQUksSUFBSSxDQUFDO29CQUNuQyxJQUFJLFdBQVc7d0JBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQztvQkFDNUQsSUFBSSxDQUFDLEtBQUs7d0JBQUUsS0FBSyxHQUFHLFlBQVksQ0FBQztvQkFFakMsY0FBYyxDQUFDLElBQUksQ0FBQzt3QkFDbEIsS0FBSyxFQUFFLFlBQVk7d0JBQ25CLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFO3dCQUNuQixLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDLENBQUM7aUJBQ0o7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQzsrR0E1RVUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEuc2VydmljZSc7XG5cbmludGVyZmFjZSBDb3VudHJ5RGF0YSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGltYWdlOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb3VudHJ5U2VydmljZSB7XG4gIHByaXZhdGUgYXBpVXJsOiBzdHJpbmcgPSAnJztcbiAgaGVhZGVyOiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5hcGlVcmwkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5hcGlVcmwgPSBkYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgbG9hZENvdW50cnlEZXRhaWxzKHF1ZXN0aW9uSWQ6IHN0cmluZywgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNlYXJjaEtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYXBpVXJsfS9hcGkvcHVibGljL2pzb24vY291bnRyeS8ke3F1ZXN0aW9uSWR9P3BhZ2U9JHtwYWdlfSZzaXplPSR7c2l6ZX0mc2VhcmNoS2V5PSR7c2VhcmNoS2V5fWApO1xuICB9XG5cbiAgcHJvY2Vzc0NvdW50cnlEZXRhaWxzKFxuICAgIGRhdGE6IGFueVtdLFxuICAgIGRpc3BsYXlGbGFnOiBib29sZWFuLFxuICAgIGRpc3BsYXlDb2RlOiBib29sZWFuLFxuICAgIHNob3dDb3VudHJ5TmFtZTogYm9vbGVhblxuICApOiBDb3VudHJ5RGF0YVtdIHtcbiAgICBjb25zdCBjb3VudHJ5RGV0YWlsczogQ291bnRyeURhdGFbXSA9IFtdO1xuICAgIGRhdGEuZm9yRWFjaCgoY291bnRyeSkgPT4ge1xuICAgICAgY29uc3QgZmxhZyA9IGRpc3BsYXlGbGFnICYmIGNvdW50cnkuZmxhZyA/IGNvdW50cnkuZmxhZyA6ICcnO1xuICAgICAgY29uc3QgbmFtZSA9IHNob3dDb3VudHJ5TmFtZSA/IGNvdW50cnkubmFtZSB8fCAnJyA6ICcnO1xuICAgICAgY29uc3QgaXNkUm9vdCA9IGNvdW50cnkuaXNkPy5yb290IHx8ICcnO1xuICAgICAgY29uc3QgaXNkU3VmZml4ZXMgPSBjb3VudHJ5LmlzZD8uc3VmZml4ZXMgfHwgW107XG4gIFxuICAgICAgaWYgKGlzZFJvb3QgJiYgaXNkU3VmZml4ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpc2RTdWZmaXhlcy5mb3JFYWNoKChzdWZmaXg6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzZENvZGUgPSBgJHtpc2RSb290fSR7c3VmZml4fWA7XG4gIFxuICAgICAgICAgIC8vIFNwZWNpYWwgY2FzZTogT25seSBmbGFnIHNob3VsZCBiZSBkaXNwbGF5ZWQsIGJ1dCB2YWx1ZSBtdXN0IGhhdmUgSVNEIGNvZGVcbiAgICAgICAgICBpZiAoZGlzcGxheUZsYWcgJiYgIWRpc3BsYXlDb2RlICYmICFzaG93Q291bnRyeU5hbWUpIHtcbiAgICAgICAgICAgIGNvdW50cnlEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgICB2YWx1ZTogaXNkQ29kZSwgIC8vIEtlZXAgSVNEIGNvZGUgaW4gdmFsdWVcbiAgICAgICAgICAgICAgbGFiZWw6ICcnLCAgICAgICAvLyBObyB0ZXh0IGluIGxhYmVsXG4gICAgICAgICAgICAgIGltYWdlOiBmbGFnLCAgICAgLy8gIE9ubHkgZmxhZyBzaG91bGQgYmUgZGlzcGxheWVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSGFuZGxlIGFsbCBvdGhlciBjYXNlc1xuICAgICAgICAgICAgbGV0IGxhYmVsID0gJyc7XG4gICAgICAgICAgICBpZiAoc2hvd0NvdW50cnlOYW1lKSBsYWJlbCArPSBuYW1lO1xuICAgICAgICAgICAgaWYgKGRpc3BsYXlDb2RlKSBsYWJlbCArPSAobGFiZWwgPyAnICcgOiAnJykgKyBpc2RDb2RlO1xuICAgICAgICAgICAgaWYgKCFsYWJlbCkgbGFiZWwgPSBpc2RDb2RlOyAvLyBFbnN1cmUgbGFiZWwgaXMgbm90IGVtcHR5XG4gIFxuICAgICAgICAgICAgY291bnRyeURldGFpbHMucHVzaCh7XG4gICAgICAgICAgICAgIHZhbHVlOiBpc2RDb2RlLFxuICAgICAgICAgICAgICBsYWJlbDogbGFiZWwudHJpbSgpLFxuICAgICAgICAgICAgICBpbWFnZTogZmxhZyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBmYWxsYmFja0NvZGUgPSBpc2RSb290IHx8IGNvdW50cnkuY29kZSB8fCAnJzsgLy8gRmFsbGJhY2sgaWYgbm8gc3VmZml4ZXNcbiAgXG4gICAgICAgIGlmIChkaXNwbGF5RmxhZyAmJiAhZGlzcGxheUNvZGUgJiYgIXNob3dDb3VudHJ5TmFtZSkge1xuICAgICAgICAgIGNvdW50cnlEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdmFsdWU6IGZhbGxiYWNrQ29kZSxcbiAgICAgICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgICAgIGltYWdlOiBmbGFnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCBsYWJlbCA9ICcnO1xuICAgICAgICAgIGlmIChzaG93Q291bnRyeU5hbWUpIGxhYmVsICs9IG5hbWU7XG4gICAgICAgICAgaWYgKGRpc3BsYXlDb2RlKSBsYWJlbCArPSAobGFiZWwgPyAnICcgOiAnJykgKyBmYWxsYmFja0NvZGU7XG4gICAgICAgICAgaWYgKCFsYWJlbCkgbGFiZWwgPSBmYWxsYmFja0NvZGU7XG4gIFxuICAgICAgICAgIGNvdW50cnlEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdmFsdWU6IGZhbGxiYWNrQ29kZSxcbiAgICAgICAgICAgIGxhYmVsOiBsYWJlbC50cmltKCksXG4gICAgICAgICAgICBpbWFnZTogZmxhZyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjb3VudHJ5RGV0YWlscztcbiAgfVxufVxuIl19
|
|
@@ -1931,37 +1931,61 @@ class CountryService {
|
|
|
1931
1931
|
processCountryDetails(data, displayFlag, displayCode, showCountryName) {
|
|
1932
1932
|
const countryDetails = [];
|
|
1933
1933
|
data.forEach((country) => {
|
|
1934
|
+
const flag = displayFlag && country.flag ? country.flag : '';
|
|
1934
1935
|
const name = showCountryName ? country.name || '' : '';
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1936
|
+
const isdRoot = country.isd?.root || '';
|
|
1937
|
+
const isdSuffixes = country.isd?.suffixes || [];
|
|
1938
|
+
if (isdRoot && isdSuffixes.length > 0) {
|
|
1939
|
+
isdSuffixes.forEach((suffix) => {
|
|
1940
|
+
const isdCode = `${isdRoot}${suffix}`;
|
|
1941
|
+
// Special case: Only flag should be displayed, but value must have ISD code
|
|
1942
|
+
if (displayFlag && !displayCode && !showCountryName) {
|
|
1943
|
+
countryDetails.push({
|
|
1944
|
+
value: isdCode,
|
|
1945
|
+
label: '',
|
|
1946
|
+
image: flag, // Only flag should be displayed
|
|
1947
|
+
});
|
|
1948
|
+
}
|
|
1949
|
+
else {
|
|
1950
|
+
// Handle all other cases
|
|
1951
|
+
let label = '';
|
|
1952
|
+
if (showCountryName)
|
|
1953
|
+
label += name;
|
|
1954
|
+
if (displayCode)
|
|
1955
|
+
label += (label ? ' ' : '') + isdCode;
|
|
1956
|
+
if (!label)
|
|
1957
|
+
label = isdCode; // Ensure label is not empty
|
|
1958
|
+
countryDetails.push({
|
|
1959
|
+
value: isdCode,
|
|
1960
|
+
label: label.trim(),
|
|
1961
|
+
image: flag,
|
|
1962
|
+
});
|
|
1963
|
+
}
|
|
1964
|
+
});
|
|
1938
1965
|
}
|
|
1939
|
-
|
|
1940
|
-
country.
|
|
1941
|
-
|
|
1942
|
-
country.isd.suffixes?.length > 0) {
|
|
1943
|
-
country.isd.suffixes.forEach((suffix) => {
|
|
1944
|
-
const isdCode = `${country.isd.root}${suffix}`;
|
|
1966
|
+
else {
|
|
1967
|
+
const fallbackCode = isdRoot || country.code || ''; // Fallback if no suffixes
|
|
1968
|
+
if (displayFlag && !displayCode && !showCountryName) {
|
|
1945
1969
|
countryDetails.push({
|
|
1946
|
-
value:
|
|
1947
|
-
label:
|
|
1970
|
+
value: fallbackCode,
|
|
1971
|
+
label: '',
|
|
1948
1972
|
image: flag,
|
|
1949
1973
|
});
|
|
1950
|
-
}
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
}
|
|
1974
|
+
}
|
|
1975
|
+
else {
|
|
1976
|
+
let label = '';
|
|
1977
|
+
if (showCountryName)
|
|
1978
|
+
label += name;
|
|
1979
|
+
if (displayCode)
|
|
1980
|
+
label += (label ? ' ' : '') + fallbackCode;
|
|
1981
|
+
if (!label)
|
|
1982
|
+
label = fallbackCode;
|
|
1983
|
+
countryDetails.push({
|
|
1984
|
+
value: fallbackCode,
|
|
1985
|
+
label: label.trim(),
|
|
1986
|
+
image: flag,
|
|
1987
|
+
});
|
|
1988
|
+
}
|
|
1965
1989
|
}
|
|
1966
1990
|
});
|
|
1967
1991
|
return countryDetails;
|
|
@@ -1995,7 +2019,6 @@ class MobileFieldsComponent {
|
|
|
1995
2019
|
this.validationFailed = false;
|
|
1996
2020
|
this.validationMessage = '';
|
|
1997
2021
|
this.mobileNumber = '';
|
|
1998
|
-
this.filteredCountry = [];
|
|
1999
2022
|
this.questionId = '';
|
|
2000
2023
|
this.currentPage = 0;
|
|
2001
2024
|
this.size = 30;
|
|
@@ -2051,23 +2074,26 @@ class MobileFieldsComponent {
|
|
|
2051
2074
|
}
|
|
2052
2075
|
// Update the model
|
|
2053
2076
|
this.mobileNumber = input.value;
|
|
2077
|
+
console.log('number', this.mobileNumber);
|
|
2054
2078
|
this.updateAnswer();
|
|
2055
2079
|
}
|
|
2056
2080
|
onMobileNumberChange() {
|
|
2057
2081
|
}
|
|
2058
2082
|
updateAnswer() {
|
|
2059
|
-
if (this.
|
|
2060
|
-
|
|
2061
|
-
|
|
2083
|
+
if (this.displayCountryCode) {
|
|
2084
|
+
if (this.selectedCountry.length > 0 && this.mobileNumber) {
|
|
2085
|
+
const countryCode = this.selectedCountry[0].value;
|
|
2086
|
+
this.question.answer = `${countryCode} ${this.mobileNumber}`;
|
|
2087
|
+
}
|
|
2062
2088
|
}
|
|
2063
2089
|
else {
|
|
2064
|
-
this.question.answer =
|
|
2090
|
+
this.question.answer = this.mobileNumber;
|
|
2065
2091
|
}
|
|
2066
2092
|
}
|
|
2067
2093
|
validateMobile() {
|
|
2068
2094
|
this.validationFailed = false;
|
|
2069
2095
|
this.validationMessage = '';
|
|
2070
|
-
if (this.required && (!this.mobileNumber || this.selectedCountry.length === 0)) {
|
|
2096
|
+
if (this.required && (!this.mobileNumber || (this.displayCountryCode && this.selectedCountry.length === 0))) {
|
|
2071
2097
|
this.validationFailed = true;
|
|
2072
2098
|
this.validationMessage = 'This is a required question';
|
|
2073
2099
|
}
|
|
@@ -2137,11 +2163,11 @@ class MobileFieldsComponent {
|
|
|
2137
2163
|
}
|
|
2138
2164
|
}
|
|
2139
2165
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileFieldsComponent, deps: [{ token: CountryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MobileFieldsComponent, selector: "lib-mobile-fields", inputs: { question: "question" }, ngImport: i0, template: "<div
|
|
2166
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MobileFieldsComponent, selector: "lib-mobile-fields", inputs: { question: "question" }, ngImport: i0, template: "<div class=\"mb-5 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <div class=\"input-group mb-2\">\n <ng-container *ngIf=\"displayCountryCode; else fullWidthInput\">\n <div class=\"col-xs-5 col-5 col-md-3 px-0 pe-2 ps-2\">\n <lib-dropdown\n [items]=\"countryDetails\"\n [multiple]=\"false\"\n [(selectedItems)]=\"selectedCountry\"\n (selectedItemsChange)=\"onCountryChange()\"\n (onDropdownScroll)=\"getNextSetOfItems($event)\"\n (onSearch)=\"search($event)\"\n ></lib-dropdown>\n </div>\n <input\n type=\"text\"\n class=\"form-control col-xs-7 col-7 col-md-9 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-container>\n\n <!-- Full-width input when displayCountryCode is false -->\n <ng-template #fullWidthInput>\n <input\n type=\"text\"\n class=\"form-control col-12 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-template>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mobileField{border-radius:6px!important}::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:80%!important}@media (max-width: 992px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 786px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 576px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:39%!important}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$2.DropdownComponent, selector: "lib-dropdown", inputs: ["multiple", "selectedItems", "placeholder", "items", "showCreateNew", "selectedValues", "customButtons", "showBorder", "showSubLabel"], outputs: ["buttonClick", "selectedItemsChange", "onDropdownScroll", "onCreateNew", "onSearch"] }] }); }
|
|
2141
2167
|
}
|
|
2142
2168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileFieldsComponent, decorators: [{
|
|
2143
2169
|
type: Component,
|
|
2144
|
-
args: [{ selector: 'lib-mobile-fields', template: "<div
|
|
2170
|
+
args: [{ selector: 'lib-mobile-fields', template: "<div class=\"mb-5 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <div class=\"input-group mb-2\">\n <ng-container *ngIf=\"displayCountryCode; else fullWidthInput\">\n <div class=\"col-xs-5 col-5 col-md-3 px-0 pe-2 ps-2\">\n <lib-dropdown\n [items]=\"countryDetails\"\n [multiple]=\"false\"\n [(selectedItems)]=\"selectedCountry\"\n (selectedItemsChange)=\"onCountryChange()\"\n (onDropdownScroll)=\"getNextSetOfItems($event)\"\n (onSearch)=\"search($event)\"\n ></lib-dropdown>\n </div>\n <input\n type=\"text\"\n class=\"form-control col-xs-7 col-7 col-md-9 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-container>\n\n <!-- Full-width input when displayCountryCode is false -->\n <ng-template #fullWidthInput>\n <input\n type=\"text\"\n class=\"form-control col-12 height mobileField\"\n [placeholder]=\"placeholder\"\n aria-label=\"Mobile Number\"\n [class.invalid]=\"validationFailed\"\n (blur)=\"validateMobile()\"\n [(ngModel)]=\"mobileNumber\"\n (ngModelChange)=\"onMobileNumberChange()\"\n (input)=\"onInput($event)\"\n />\n </ng-template>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mobileField{border-radius:6px!important}::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:80%!important}@media (max-width: 992px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 786px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:50%!important}}@media screen and (max-width: 576px){::ng-deep .dropdown .dropdown-field .input-field .dropdown_text{height:40px!important;width:39%!important}}\n"] }]
|
|
2145
2171
|
}], ctorParameters: function () { return [{ type: CountryService }]; }, propDecorators: { question: [{
|
|
2146
2172
|
type: Input
|
|
2147
2173
|
}] } });
|