@testgorilla/tgo-ui 3.14.13 → 4.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/components/donut-chart/donut-chart.component.d.ts +2 -2
- package/components/filter-button/filter-button.component.d.ts +2 -2
- package/components/icon/icon-svg-content.d.ts +1 -1
- package/components/table/table.component.d.ts +1 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +731 -715
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +17 -20
- package/projects/tgo-canopy-ui/theme/_palette.scss +2 -1
- package/utils/color-contrast.d.ts +1 -1
- package/esm2022/assets/i18n/da-dk.json +0 -820
- package/esm2022/assets/i18n/de.json +0 -820
- package/esm2022/assets/i18n/en.json +0 -827
- package/esm2022/assets/i18n/es.json +0 -820
- package/esm2022/assets/i18n/fr.json +0 -820
- package/esm2022/assets/i18n/it-it.json +0 -820
- package/esm2022/assets/i18n/ja-jp.json +0 -820
- package/esm2022/assets/i18n/nb-no.json +0 -820
- package/esm2022/assets/i18n/nl.json +0 -820
- package/esm2022/assets/i18n/pl-pl.json +0 -820
- package/esm2022/assets/i18n/pt-br.json +0 -820
- package/esm2022/assets/i18n/sv-se.json +0 -820
- package/esm2022/components/accordion/accordion.component.mjs +0 -135
- package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
- package/esm2022/components/accordion/accordion.model.mjs +0 -2
- package/esm2022/components/ai-feedback/ai-feedback.component.mjs +0 -35
- package/esm2022/components/ai-feedback/ai-feedback.model.mjs +0 -2
- package/esm2022/components/ai-feedback/ai-feedback.module.mjs +0 -20
- package/esm2022/components/alert-banner/alert-banner.component.mjs +0 -198
- package/esm2022/components/alert-banner/alert-banner.component.module.mjs +0 -21
- package/esm2022/components/alert-banner/alert-banner.model.mjs +0 -2
- package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -837
- package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -77
- package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -25
- package/esm2022/components/autocomplete/includes.pipe.mjs +0 -25
- package/esm2022/components/autocomplete/prevent-input.directive.mjs +0 -27
- package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -32
- package/esm2022/components/avatar/avatar.component.mjs +0 -104
- package/esm2022/components/avatar/avatar.component.module.mjs +0 -23
- package/esm2022/components/avatar/avatar.model.mjs +0 -21
- package/esm2022/components/badge/badge.component.mjs +0 -118
- package/esm2022/components/badge/badge.component.module.mjs +0 -20
- package/esm2022/components/badge/badge.model.mjs +0 -39
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -191
- package/esm2022/components/breadcrumb/breadcrumb.component.module.mjs +0 -45
- package/esm2022/components/breadcrumb/breadcrumb.model.mjs +0 -2
- package/esm2022/components/button/button.component.mjs +0 -452
- package/esm2022/components/button/button.component.module.mjs +0 -51
- package/esm2022/components/button/button.model.mjs +0 -2
- package/esm2022/components/card/card.component.mjs +0 -141
- package/esm2022/components/card/card.component.module.mjs +0 -19
- package/esm2022/components/card/card.model.mjs +0 -2
- package/esm2022/components/checkbox/checkbox.component.mjs +0 -336
- package/esm2022/components/checkbox/checkbox.component.module.mjs +0 -28
- package/esm2022/components/checkbox/focus-visible.directive.mjs +0 -40
- package/esm2022/components/checklist/checklist.component.mjs +0 -157
- package/esm2022/components/checklist/checklist.model.mjs +0 -2
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -73
- package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
- package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
- package/esm2022/components/datepicker/date-adapter.mjs +0 -39
- package/esm2022/components/datepicker/datepicker.component.mjs +0 -353
- package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
- package/esm2022/components/datepicker/datepicker.service.mjs +0 -20
- package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
- package/esm2022/components/dialog/dialog.component.mjs +0 -275
- package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
- package/esm2022/components/dialog/dialog.model.mjs +0 -2
- package/esm2022/components/dialog/dialog.service.mjs +0 -36
- package/esm2022/components/divider/divider.component.mjs +0 -65
- package/esm2022/components/divider/divider.component.module.mjs +0 -19
- package/esm2022/components/divider/divider.model.mjs +0 -2
- package/esm2022/components/donut-chart/donut-chart.component.mjs +0 -122
- package/esm2022/components/donut-chart/donut-chart.component.model.mjs +0 -2
- package/esm2022/components/donut-chart/donut-chart.component.module.mjs +0 -20
- package/esm2022/components/dropdown/dropdown.component.mjs +0 -378
- package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
- package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
- package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
- package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
- package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
- package/esm2022/components/empty-state/empty-state.component.mjs +0 -301
- package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
- package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
- package/esm2022/components/field/field.component.mjs +0 -574
- package/esm2022/components/field/field.component.module.mjs +0 -64
- package/esm2022/components/field/field.model.mjs +0 -2
- package/esm2022/components/file-upload/file-upload.component.mjs +0 -307
- package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
- package/esm2022/components/filter-button/filter-button.component.mjs +0 -255
- package/esm2022/components/filter-button/filter-button.component.module.mjs +0 -58
- package/esm2022/components/filter-button/filter-button.model.mjs +0 -2
- package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +0 -254
- package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +0 -42
- package/esm2022/components/icon/icon-svg-content.mjs +0 -491
- package/esm2022/components/icon/icon.component.mjs +0 -178
- package/esm2022/components/icon/icon.component.module.mjs +0 -21
- package/esm2022/components/icon/icon.config.mjs +0 -780
- package/esm2022/components/icon/icon.model.mjs +0 -2
- package/esm2022/components/icon-label/icon-label.component.mjs +0 -74
- package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
- package/esm2022/components/inline-field/inline-field.component.mjs +0 -320
- package/esm2022/components/inline-field/inline-field.component.module.mjs +0 -43
- package/esm2022/components/inline-field/inline-field.model.mjs +0 -2
- package/esm2022/components/logo/logo.component.mjs +0 -165
- package/esm2022/components/logo/logo.component.module.mjs +0 -18
- package/esm2022/components/logo/logo.model.mjs +0 -32
- package/esm2022/components/media-card/media-card.component.mjs +0 -47
- package/esm2022/components/media-dialog/media-dialog.component.mjs +0 -75
- package/esm2022/components/media-dialog/media-dialog.model.mjs +0 -2
- package/esm2022/components/multi-input/multi-input.component.mjs +0 -271
- package/esm2022/components/multi-input/multi-input.component.module.mjs +0 -58
- package/esm2022/components/multi-input/multi-input.model.mjs +0 -2
- package/esm2022/components/multi-input/required-multi-input.validator.mjs +0 -14
- package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -86
- package/esm2022/components/navbar/navbar.component.mjs +0 -212
- package/esm2022/components/navbar/navbar.component.module.mjs +0 -71
- package/esm2022/components/navbar/navbar.model.mjs +0 -2
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -254
- package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -25
- package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
- package/esm2022/components/page-header/page-header.component.mjs +0 -71
- package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
- package/esm2022/components/paginator/paginator.component.mjs +0 -87
- package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
- package/esm2022/components/password-criteria/password.component.mjs +0 -111
- package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
- package/esm2022/components/password-strength/password-strength.component.mjs +0 -93
- package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
- package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
- package/esm2022/components/phone-input/phone-input.component.mjs +0 -354
- package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
- package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
- package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -103
- package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -21
- package/esm2022/components/prompt/prompt.component.mjs +0 -187
- package/esm2022/components/prompt/prompt.model.mjs +0 -2
- package/esm2022/components/prompt/prompt.module.mjs +0 -62
- package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -118
- package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
- package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
- package/esm2022/components/radio-button/radio-button.component.mjs +0 -344
- package/esm2022/components/radio-button/radio-button.component.module.mjs +0 -25
- package/esm2022/components/radio-button/radio-button.model.mjs +0 -2
- package/esm2022/components/rating/half-star.pipe.mjs +0 -23
- package/esm2022/components/rating/rating.component.mjs +0 -106
- package/esm2022/components/rating/rating.component.module.mjs +0 -20
- package/esm2022/components/scale/scale.component.mjs +0 -136
- package/esm2022/components/scale/scale.component.module.mjs +0 -18
- package/esm2022/components/scale-table/scale-table.component.mjs +0 -61
- package/esm2022/components/scale-table/scale-table.model.mjs +0 -2
- package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -111
- package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -22
- package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
- package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -104
- package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -21
- package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
- package/esm2022/components/selectable-card/selectable-card.component.mjs +0 -53
- package/esm2022/components/selectable-card/selectable-card.component.module.mjs +0 -20
- package/esm2022/components/side-panel/side-panel-data-injection-token.mjs +0 -3
- package/esm2022/components/side-panel/side-panel.animations.mjs +0 -26
- package/esm2022/components/side-panel/side-panel.component.mjs +0 -55
- package/esm2022/components/side-panel/side-panel.model.mjs +0 -54
- package/esm2022/components/side-panel/side-panel.service.mjs +0 -98
- package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -105
- package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
- package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
- package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
- package/esm2022/components/skeleton/skeleton.component.mjs +0 -74
- package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
- package/esm2022/components/slider/slider.component.mjs +0 -256
- package/esm2022/components/slider/slider.component.module.mjs +0 -16
- package/esm2022/components/slider/slider.model.mjs +0 -2
- package/esm2022/components/snackbar/snackbar.component.mjs +0 -235
- package/esm2022/components/snackbar/snackbar.component.module.mjs +0 -25
- package/esm2022/components/snackbar/snackbar.model.mjs +0 -2
- package/esm2022/components/snackbar/snackbar.service.mjs +0 -42
- package/esm2022/components/spider-chart/spider-chart.component.mjs +0 -443
- package/esm2022/components/spider-chart/spider-chart.model.mjs +0 -4
- package/esm2022/components/spider-chart/spider-chart.module.mjs +0 -44
- package/esm2022/components/spinner/spinner.component.mjs +0 -84
- package/esm2022/components/spinner/spinner.model.mjs +0 -2
- package/esm2022/components/spinner/spinner.module.mjs +0 -20
- package/esm2022/components/step/step.component.mjs +0 -209
- package/esm2022/components/step/step.component.module.mjs +0 -21
- package/esm2022/components/stepper/stepper.component.mjs +0 -198
- package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
- package/esm2022/components/stepper/stepper.model.mjs +0 -2
- package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
- package/esm2022/components/table/table.component.mjs +0 -273
- package/esm2022/components/table/table.component.module.mjs +0 -61
- package/esm2022/components/table/table.model.mjs +0 -25
- package/esm2022/components/tabs/tab.directive.mjs +0 -63
- package/esm2022/components/tabs/tabs.component.mjs +0 -219
- package/esm2022/components/tabs/tabs.component.module.mjs +0 -23
- package/esm2022/components/tabs/tabs.model.mjs +0 -2
- package/esm2022/components/tag/tag.component.mjs +0 -212
- package/esm2022/components/tag/tag.component.module.mjs +0 -24
- package/esm2022/components/tag/tag.model.mjs +0 -2
- package/esm2022/components/toggle/toggle.component.mjs +0 -190
- package/esm2022/components/toggle/toggle.component.module.mjs +0 -24
- package/esm2022/components/toggle/toggle.model.mjs +0 -2
- package/esm2022/components/tooltip/tooltip-template.directive.mjs +0 -133
- package/esm2022/components/tooltip/tooltip.component.mjs +0 -108
- package/esm2022/components/tooltip/tooltip.component.module.mjs +0 -27
- package/esm2022/components/tooltip/tooltip.model.mjs +0 -8
- package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +0 -80
- package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +0 -43
- package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +0 -109
- package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +0 -52
- package/esm2022/components/validation-error/validation-error.component.mjs +0 -55
- package/esm2022/components/validation-error/validation-error.model.mjs +0 -2
- package/esm2022/components/validation-error/validation-error.module.mjs +0 -20
- package/esm2022/directives/digits-only.directive.mjs +0 -77
- package/esm2022/directives/drag-drop.directive.mjs +0 -55
- package/esm2022/directives/dynamic-component.directive.mjs +0 -40
- package/esm2022/directives/ellipse-text.directive.mjs +0 -51
- package/esm2022/directives/select-text.directive.mjs +0 -40
- package/esm2022/directives/step-line-element.directive.mjs +0 -51
- package/esm2022/models/application-theme.model.mjs +0 -2
- package/esm2022/models/checkbox.model.mjs +0 -2
- package/esm2022/models/colors.model.mjs +0 -78
- package/esm2022/models/keyboard-events.model.mjs +0 -13
- package/esm2022/models/screen-breakpoints.model.mjs +0 -7
- package/esm2022/models/universal-skills-report.model.mjs +0 -33
- package/esm2022/pipes/data-property-getter.mjs +0 -33
- package/esm2022/pipes/has-validation-error.pipe.mjs +0 -27
- package/esm2022/pipes/memoize-func.pipe.mjs +0 -39
- package/esm2022/pipes/name-initials.pipe.mjs +0 -25
- package/esm2022/pipes/truncate.pipe.mjs +0 -34
- package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +0 -31
- package/esm2022/pipes/ui-translate.pipe.mjs +0 -81
- package/esm2022/providers/is-large-tablet.mjs +0 -11
- package/esm2022/providers/is-mobile.mjs +0 -11
- package/esm2022/public-api.mjs +0 -259
- package/esm2022/services/icons.service.mjs +0 -22
- package/esm2022/services/universal-skills.service.mjs +0 -85
- package/esm2022/testgorilla-tgo-ui.mjs +0 -5
- package/esm2022/utils/alert-bar.model.mjs +0 -2
- package/esm2022/utils/alert-bars.utils.mjs +0 -34
- package/esm2022/utils/autocomplete-utils.mjs +0 -78
- package/esm2022/utils/color-contrast.mjs +0 -131
- package/esm2022/utils/hex-to-rgb.mjs +0 -9
- package/esm2022/utils/localization/language.model.mjs +0 -16
- package/esm2022/utils/localization/language.service.mjs +0 -44
- package/esm2022/utils/table.utils.mjs +0 -25
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
|
|
2
|
-
import { UntypedFormControl, } from '@angular/forms';
|
|
3
|
-
import { MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
|
|
4
|
-
import { MatInput } from '@angular/material/input';
|
|
5
|
-
import { MatSelect } from '@angular/material/select';
|
|
6
|
-
import { parsePhoneNumber } from 'libphonenumber-js';
|
|
7
|
-
import { BehaviorSubject, combineLatest, debounceTime, delay, filter, first, map, startWith, Subject, take, tap, } from 'rxjs';
|
|
8
|
-
import { takeUntil } from 'rxjs/operators';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/forms";
|
|
11
|
-
import * as i2 from "@angular/material/core";
|
|
12
|
-
import * as i3 from "@angular/cdk/a11y";
|
|
13
|
-
import * as i4 from "@angular/platform-browser";
|
|
14
|
-
import * as i5 from "@angular/common";
|
|
15
|
-
import * as i6 from "@angular/material/form-field";
|
|
16
|
-
import * as i7 from "@angular/material/select";
|
|
17
|
-
import * as i8 from "@angular/material/input";
|
|
18
|
-
import * as i9 from "ngx-mat-select-search";
|
|
19
|
-
import * as i10 from "../icon/icon.component";
|
|
20
|
-
import * as i11 from "../validation-error/validation-error.component";
|
|
21
|
-
import * as i12 from "../../pipes/ui-translate.pipe";
|
|
22
|
-
import * as i13 from "../../pipes/has-validation-error.pipe";
|
|
23
|
-
import * as i14 from "./join-strings.pipe";
|
|
24
|
-
export class PhoneInputComponent {
|
|
25
|
-
/**
|
|
26
|
-
* Phone number
|
|
27
|
-
*
|
|
28
|
-
* @type {string}
|
|
29
|
-
* @memberof PhoneInputComponent
|
|
30
|
-
*/
|
|
31
|
-
set value(value) {
|
|
32
|
-
this.initialValue = this.initialValue || value;
|
|
33
|
-
try {
|
|
34
|
-
const parsed = parsePhoneNumber(value);
|
|
35
|
-
const formatted = parsed.formatInternational();
|
|
36
|
-
this.selectedCountry = this.getCountryByAlpha2Code(parsed.country) || this.selectedCountry;
|
|
37
|
-
this.form.patchValue({ phone_number: formatted.replace(this.selectedCountry.callingCode, '') });
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
if (value?.length <= 4) {
|
|
41
|
-
this.selectedCountry = this.getCountryByCallingCode(value) || this.selectedCountry;
|
|
42
|
-
}
|
|
43
|
-
this.form.patchValue({ phone_number: value?.replace(this.selectedCountry?.callingCode, '') });
|
|
44
|
-
}
|
|
45
|
-
this.stateChanges.next();
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Country list for select
|
|
49
|
-
*
|
|
50
|
-
* @type {UICountry[]}
|
|
51
|
-
* @memberof PhoneInputComponent
|
|
52
|
-
*/
|
|
53
|
-
set countryList(countryList) {
|
|
54
|
-
this.loadCountries$.next(countryList);
|
|
55
|
-
this.selectedCountry = this.selectedCountry ?? countryList[0];
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Placeholder input
|
|
59
|
-
*
|
|
60
|
-
* @type {text}
|
|
61
|
-
* @memberof PhoneInputComponent
|
|
62
|
-
*/
|
|
63
|
-
set placeholder(value) {
|
|
64
|
-
this.internalPlaceholder = value;
|
|
65
|
-
this.stateChanges.next();
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Input field errors
|
|
69
|
-
*
|
|
70
|
-
* @type {string}
|
|
71
|
-
* @memberof PhoneInputComponent
|
|
72
|
-
*/
|
|
73
|
-
set errors(errors) {
|
|
74
|
-
if (errors) {
|
|
75
|
-
this._errors = errors?.filter(Boolean).map(error => this.sanitizer.bypassSecurityTrustHtml(error));
|
|
76
|
-
this.errorsLength = this.setErrorsLength();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
static { this.nextId = 0; }
|
|
80
|
-
get shouldLabelFloat() {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
get empty() {
|
|
84
|
-
return !!this.form.value;
|
|
85
|
-
}
|
|
86
|
-
get errorState() {
|
|
87
|
-
return this.errorMatcher.isErrorState(this.ngControl.control, null);
|
|
88
|
-
}
|
|
89
|
-
get value() {
|
|
90
|
-
return this.getNumberWithCountryCode();
|
|
91
|
-
}
|
|
92
|
-
get placeholder() {
|
|
93
|
-
return this.internalPlaceholder;
|
|
94
|
-
}
|
|
95
|
-
constructor(ngControl, errorMatcher, fb, focusMonitor, ref, sanitizer, defaultAppTheme) {
|
|
96
|
-
this.ngControl = ngControl;
|
|
97
|
-
this.errorMatcher = errorMatcher;
|
|
98
|
-
this.fb = fb;
|
|
99
|
-
this.focusMonitor = focusMonitor;
|
|
100
|
-
this.ref = ref;
|
|
101
|
-
this.sanitizer = sanitizer;
|
|
102
|
-
this.defaultAppTheme = defaultAppTheme;
|
|
103
|
-
/**
|
|
104
|
-
*
|
|
105
|
-
* Defines the application theme
|
|
106
|
-
*
|
|
107
|
-
* @type {ApplicationTheme}
|
|
108
|
-
* @memberof PhoneInputComponent
|
|
109
|
-
*/
|
|
110
|
-
this.applicationTheme = 'light';
|
|
111
|
-
/**
|
|
112
|
-
* Indicator of the phone input width
|
|
113
|
-
* @property fullWidth
|
|
114
|
-
* @type {boolean}
|
|
115
|
-
* @memberof PhoneInputComponent
|
|
116
|
-
*/
|
|
117
|
-
this.fullWidth = false;
|
|
118
|
-
/**
|
|
119
|
-
* Hide in build errors for Reactive Forms
|
|
120
|
-
*
|
|
121
|
-
* @type {number}
|
|
122
|
-
* @memberof PhoneInputComponent
|
|
123
|
-
*/
|
|
124
|
-
this.hideBuiltInErrors = false;
|
|
125
|
-
/**
|
|
126
|
-
* Hide label in errors
|
|
127
|
-
*
|
|
128
|
-
* @type {number}
|
|
129
|
-
* @memberof PhoneInputComponent
|
|
130
|
-
*/
|
|
131
|
-
this.hideLabelInErrors = false;
|
|
132
|
-
this.countries = new BehaviorSubject([]);
|
|
133
|
-
this.countries$ = this.countries.asObservable();
|
|
134
|
-
this.form = this.fb.group({
|
|
135
|
-
phone_number: new UntypedFormControl(),
|
|
136
|
-
});
|
|
137
|
-
this.controlType = 'phone-number';
|
|
138
|
-
this.loadCountries$ = new BehaviorSubject([]);
|
|
139
|
-
this.countryCode = new BehaviorSubject('US');
|
|
140
|
-
this.stateChanges = new Subject();
|
|
141
|
-
this.selectFilterCtrl = new UntypedFormControl('');
|
|
142
|
-
this.countryFlagSrc = 'assets/svg-country-flags/';
|
|
143
|
-
this.id = `phone-number${PhoneInputComponent.nextId++}`;
|
|
144
|
-
this.describedBy = '';
|
|
145
|
-
this.DEFAULT_COUNTRY_CODE = 'US';
|
|
146
|
-
this.unsubscribeAll$ = new Subject();
|
|
147
|
-
this.trackByFn = (index, value) => value.changingThisBreaksApplicationSecurity;
|
|
148
|
-
if (this.ngControl != null) {
|
|
149
|
-
this.ngControl.valueAccessor = this;
|
|
150
|
-
}
|
|
151
|
-
if (defaultAppTheme) {
|
|
152
|
-
this.applicationTheme = defaultAppTheme;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched or errors
|
|
157
|
-
* to display validation errors that might happen (e.g. required)
|
|
158
|
-
*/
|
|
159
|
-
ngDoCheck() {
|
|
160
|
-
if (this.ngControl?.touched || this.ngControl?.errors) {
|
|
161
|
-
this.ref.markForCheck();
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
ngOnInit() {
|
|
165
|
-
this.loadCountries();
|
|
166
|
-
this.preSelectCountry();
|
|
167
|
-
this.subscribeToFocusEvents();
|
|
168
|
-
}
|
|
169
|
-
setErrorsLength() {
|
|
170
|
-
if (!!this._errors) {
|
|
171
|
-
return this._errors.filter(err => !!err).length > 0;
|
|
172
|
-
}
|
|
173
|
-
return false;
|
|
174
|
-
}
|
|
175
|
-
setDescribedByIds(ids) {
|
|
176
|
-
this.userAriaDescribedBy = ids.join(' ');
|
|
177
|
-
}
|
|
178
|
-
writeValue(phoneNumber) {
|
|
179
|
-
if (phoneNumber) {
|
|
180
|
-
this.value = phoneNumber;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
registerOnChange(fn) {
|
|
184
|
-
this.onChange = fn;
|
|
185
|
-
}
|
|
186
|
-
registerOnTouched(fn) {
|
|
187
|
-
this.onTouch = fn;
|
|
188
|
-
}
|
|
189
|
-
setDisabledState(isDisabled) {
|
|
190
|
-
if (isDisabled) {
|
|
191
|
-
this.form.disable();
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
this.form.enable();
|
|
195
|
-
}
|
|
196
|
-
this.disabled = isDisabled;
|
|
197
|
-
this.stateChanges.next();
|
|
198
|
-
this.ref.markForCheck();
|
|
199
|
-
}
|
|
200
|
-
ngOnDestroy() {
|
|
201
|
-
this.focusMonitor.stopMonitoring(this.input);
|
|
202
|
-
this.focusMonitor.stopMonitoring(this.select);
|
|
203
|
-
this.stateChanges.complete();
|
|
204
|
-
this.unsubscribeAll$.next();
|
|
205
|
-
this.unsubscribeAll$.complete();
|
|
206
|
-
}
|
|
207
|
-
onOptionsSelected(value) {
|
|
208
|
-
this.setCountry(value);
|
|
209
|
-
}
|
|
210
|
-
onInput(value) {
|
|
211
|
-
this.value = (this.selectedCountry?.callingCode ?? '') + value;
|
|
212
|
-
this.onChange(this.value);
|
|
213
|
-
}
|
|
214
|
-
filteredCountryTrackByMethod(index, el) {
|
|
215
|
-
return el.alpha2Code;
|
|
216
|
-
}
|
|
217
|
-
setCountry(country) {
|
|
218
|
-
if (country) {
|
|
219
|
-
this.selectedCountry = country;
|
|
220
|
-
}
|
|
221
|
-
this.value = this.getNumberWithCountryCode();
|
|
222
|
-
this.onChange(this.value);
|
|
223
|
-
}
|
|
224
|
-
getNumberWithCountryCode() {
|
|
225
|
-
const nationalNumber = this.form.value?.phone_number;
|
|
226
|
-
return nationalNumber ? (this.selectedCountry?.callingCode ?? '') + nationalNumber : '';
|
|
227
|
-
}
|
|
228
|
-
subscribeToFocusEvents() {
|
|
229
|
-
const selectAndInputFocus$ = combineLatest([
|
|
230
|
-
this.focusMonitor.monitor(this.select),
|
|
231
|
-
this.focusMonitor.monitor(this.input),
|
|
232
|
-
]).pipe(takeUntil(this.unsubscribeAll$), debounceTime(10));
|
|
233
|
-
selectAndInputFocus$.subscribe(([selectFocus, inputFocus]) => {
|
|
234
|
-
this.focused = !!(selectFocus || inputFocus);
|
|
235
|
-
this.stateChanges.next();
|
|
236
|
-
});
|
|
237
|
-
selectAndInputFocus$.pipe(take(1)).subscribe(() => {
|
|
238
|
-
this.onTouch();
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
preSelectCountry() {
|
|
242
|
-
this.setDisabledState(true);
|
|
243
|
-
combineLatest([
|
|
244
|
-
this.countries$.pipe(filter(countries => countries.length > 0), first()),
|
|
245
|
-
this.countryCode,
|
|
246
|
-
])
|
|
247
|
-
.pipe(map(([countries, selectedCountry]) => {
|
|
248
|
-
if (!this.initialValue) {
|
|
249
|
-
const country = this.getCountryByAlpha2Code(selectedCountry) || this.getCountryByAlpha2Code(this.DEFAULT_COUNTRY_CODE);
|
|
250
|
-
this.setCountry(country);
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
this.value = this.initialValue;
|
|
254
|
-
}
|
|
255
|
-
this.setDisabledState(false);
|
|
256
|
-
this.ref.markForCheck();
|
|
257
|
-
}))
|
|
258
|
-
.subscribe();
|
|
259
|
-
}
|
|
260
|
-
getCountryByAlpha2Code(alpha2Code) {
|
|
261
|
-
return this.countries.value.find(country => country.alpha2Code === alpha2Code);
|
|
262
|
-
}
|
|
263
|
-
getCountryByCallingCode(callingCode) {
|
|
264
|
-
return this.countries.value.find(country => country.callingCode === callingCode);
|
|
265
|
-
}
|
|
266
|
-
loadCountries() {
|
|
267
|
-
const searchText$ = this.selectFilterCtrl.valueChanges.pipe(debounceTime(100), startWith(''));
|
|
268
|
-
combineLatest([this.loadCountries$, searchText$])
|
|
269
|
-
.pipe(takeUntil(this.unsubscribeAll$), tap(([countries, searchText]) => {
|
|
270
|
-
const searchTextLowerCase = searchText.toLowerCase();
|
|
271
|
-
const filteredCountries = countries
|
|
272
|
-
.filter(option => option.name.toLowerCase().includes(searchTextLowerCase) ||
|
|
273
|
-
option.alpha2Code.toLowerCase().includes(searchTextLowerCase) ||
|
|
274
|
-
option.callingCode.toLowerCase().includes(searchTextLowerCase))
|
|
275
|
-
.sort((optionA, optionB) => (optionB.name.startsWith(searchText) ? 1 : -1));
|
|
276
|
-
this.countries.next(filteredCountries);
|
|
277
|
-
}), delay(1), tap(() => {
|
|
278
|
-
const countryFound = this.getCountryByAlpha2Code(this.selectedCountry?.alpha2Code);
|
|
279
|
-
this.selectedCountry = countryFound || this.selectedCountry;
|
|
280
|
-
this.ref.markForCheck();
|
|
281
|
-
}))
|
|
282
|
-
.subscribe();
|
|
283
|
-
}
|
|
284
|
-
disableClick(ev) {
|
|
285
|
-
ev.preventDefault();
|
|
286
|
-
ev.stopPropagation();
|
|
287
|
-
}
|
|
288
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PhoneInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.ErrorStateMatcher }, { token: i1.UntypedFormBuilder }, { token: i3.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i4.DomSanitizer }, { token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
289
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PhoneInputComponent, selector: "ui-phone-input", inputs: { value: "value", countryList: "countryList", placeholder: "placeholder", disabled: "disabled", required: "required", applicationTheme: "applicationTheme", fullWidth: "fullWidth", errors: "errors", hideBuiltInErrors: "hideBuiltInErrors", hideLabelInErrors: "hideLabelInErrors" }, host: { properties: { "attr.disabled": "this.disabled", "attr.theme": "this.applicationTheme", "id": "this.id", "class.floated": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
|
|
290
|
-
{
|
|
291
|
-
provide: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,
|
|
292
|
-
useValue: { overlayPanelClass: 'phone-number-autocomplete' },
|
|
293
|
-
},
|
|
294
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true, read: ElementRef, static: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled || disabled, 'full-width': fullWidth }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate | async }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <img [height]=\"20\" [width]=\"24\" [attr.src]=\"countryFlagSrc + selectedCountry?.alpha2Code?.toLowerCase() + '.svg'\"\n [alt]=\"'Country flag ' + selectedCountry?.alpha2Code?.toLowerCase()\">\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select' + ' ' + applicationTheme\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <div class=\"country-option\">\n <img [height]=\"20\" [width]=\"24\" [attr.src]=\"countryFlagSrc + country?.alpha2Code?.toLowerCase()! + '.svg'\"\n [alt]=\"'Country flag ' + country?.alpha2Code?.toLowerCase()!\">\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </div>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\" [label]=\"hideLabelInErrors ? null : ('COMMON.PHONE_NUMBER' | uiTranslate | async)\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.full-width{width:100%}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url('data:image/svg+xml,<svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z\" fill=\"currentColor\"/>%0A</svg>%0A');background-size:cover;width:16px;height:16px}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url('data:image/svg+xml,<svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z\" fill=\"currentColor\"/>%0A</svg>%0A');background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti", "recreateValuesArray"], outputs: ["toggleAll"] }, { kind: "directive", type: i9.MatSelectSearchClearDirective, selector: "[ngxMatSelectSearchClear]" }, { kind: "component", type: i10.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i11.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "touchedOn", "errorMessage", "label", "applicationTheme"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i13.HasValidationErrorPipe, name: "hasValidationError" }, { kind: "pipe", type: i14.JoinStringsPipe, name: "joinStrings" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
295
|
-
}
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PhoneInputComponent, decorators: [{
|
|
297
|
-
type: Component,
|
|
298
|
-
args: [{ selector: 'ui-phone-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
299
|
-
{
|
|
300
|
-
provide: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,
|
|
301
|
-
useValue: { overlayPanelClass: 'phone-number-autocomplete' },
|
|
302
|
-
},
|
|
303
|
-
], template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled || disabled, 'full-width': fullWidth }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate | async }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <img [height]=\"20\" [width]=\"24\" [attr.src]=\"countryFlagSrc + selectedCountry?.alpha2Code?.toLowerCase() + '.svg'\"\n [alt]=\"'Country flag ' + selectedCountry?.alpha2Code?.toLowerCase()\">\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select' + ' ' + applicationTheme\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <div class=\"country-option\">\n <img [height]=\"20\" [width]=\"24\" [attr.src]=\"countryFlagSrc + country?.alpha2Code?.toLowerCase()! + '.svg'\"\n [alt]=\"'Country flag ' + country?.alpha2Code?.toLowerCase()!\">\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </div>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\" [label]=\"hideLabelInErrors ? null : ('COMMON.PHONE_NUMBER' | uiTranslate | async)\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.full-width{width:100%}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url('data:image/svg+xml,<svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z\" fill=\"currentColor\"/>%0A</svg>%0A');background-size:cover;width:16px;height:16px}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url('data:image/svg+xml,<svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z\" fill=\"currentColor\"/>%0A</svg>%0A');background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"] }]
|
|
304
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
305
|
-
type: Optional
|
|
306
|
-
}, {
|
|
307
|
-
type: Self
|
|
308
|
-
}] }, { type: i2.ErrorStateMatcher }, { type: i1.UntypedFormBuilder }, { type: i3.FocusMonitor }, { type: i0.ChangeDetectorRef }, { type: i4.DomSanitizer }, { type: undefined, decorators: [{
|
|
309
|
-
type: Optional
|
|
310
|
-
}, {
|
|
311
|
-
type: Inject,
|
|
312
|
-
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
313
|
-
}] }], propDecorators: { value: [{
|
|
314
|
-
type: Input
|
|
315
|
-
}], countryList: [{
|
|
316
|
-
type: Input
|
|
317
|
-
}], placeholder: [{
|
|
318
|
-
type: Input
|
|
319
|
-
}], disabled: [{
|
|
320
|
-
type: HostBinding,
|
|
321
|
-
args: ['attr.disabled']
|
|
322
|
-
}, {
|
|
323
|
-
type: Input
|
|
324
|
-
}], required: [{
|
|
325
|
-
type: Input
|
|
326
|
-
}], applicationTheme: [{
|
|
327
|
-
type: HostBinding,
|
|
328
|
-
args: ['attr.theme']
|
|
329
|
-
}, {
|
|
330
|
-
type: Input
|
|
331
|
-
}], fullWidth: [{
|
|
332
|
-
type: Input
|
|
333
|
-
}], errors: [{
|
|
334
|
-
type: Input
|
|
335
|
-
}], hideBuiltInErrors: [{
|
|
336
|
-
type: Input
|
|
337
|
-
}], hideLabelInErrors: [{
|
|
338
|
-
type: Input
|
|
339
|
-
}], input: [{
|
|
340
|
-
type: ViewChild,
|
|
341
|
-
args: [MatInput, { read: ElementRef, static: true }]
|
|
342
|
-
}], select: [{
|
|
343
|
-
type: ViewChild,
|
|
344
|
-
args: [MatSelect, { read: ElementRef, static: true }]
|
|
345
|
-
}], id: [{
|
|
346
|
-
type: HostBinding
|
|
347
|
-
}], shouldLabelFloat: [{
|
|
348
|
-
type: HostBinding,
|
|
349
|
-
args: ['class.floated']
|
|
350
|
-
}], describedBy: [{
|
|
351
|
-
type: HostBinding,
|
|
352
|
-
args: ['attr.aria-describedby']
|
|
353
|
-
}] } });
|
|
354
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Bob25lLWlucHV0L3Bob25lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLGtCQUFrQixHQUVuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLEdBQUcsRUFFSCxTQUFTLEVBQ1QsT0FBTyxFQUNQLElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQjNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7O09BS0c7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxZ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LEVBQUUsZ0NBQWdDOzRCQUN6QyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSwyQkFBMkIsRUFBRTt5QkFDN0Q7cUJBQ0Y7OzBCQTJLRSxRQUFROzswQkFBSSxJQUFJOzswQkFNaEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7eUNBdkt0RCxLQUFLO3NCQURSLEtBQUs7Z0JBdUJPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQWNOLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFTRyxRQUFRO3NCQUFoQixLQUFLO2dCQVdOLGdCQUFnQjtzQkFGZixXQUFXO3VCQUFDLFlBQVk7O3NCQUN4QixLQUFLO2dCQVNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBU08sTUFBTTtzQkFBbEIsS0FBSztnQkFhRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBUUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQW9CQyxLQUFLO3NCQURYLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdoRCxNQUFNO3NCQURaLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4RCxFQUFFO3NCQURELFdBQVc7Z0JBSVIsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGVBQWU7Z0JBS1UsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgcGFyc2VQaG9uZU51bWJlciB9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkZWxheSxcbiAgZmlsdGVyLFxuICBmaXJzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IFVJQ291bnRyeSB9IGZyb20gJy4vcGhvbmUtaW5wdXQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1waG9uZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiAncGhvbmUtbnVtYmVyLWF1dG9jb21wbGV0ZScgfSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgLyoqXG4gICAqIFBob25lIG51bWJlclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHRoaXMuaW5pdGlhbFZhbHVlIHx8IHZhbHVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IHBhcnNlZC5mb3JtYXRJbnRlcm5hdGlvbmFsKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShwYXJzZWQuY291bnRyeSEpIHx8IHRoaXMuc2VsZWN0ZWRDb3VudHJ5O1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBwaG9uZV9udW1iZXI6IGZvcm1hdHRlZC5yZXBsYWNlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAodmFsdWU/Lmxlbmd0aCA8PSA0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5QnlDYWxsaW5nQ29kZSh2YWx1ZSkgfHwgdGhpcy5zZWxlY3RlZENvdW50cnk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHBob25lX251bWJlcjogdmFsdWU/LnJlcGxhY2UodGhpcy5zZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3VudHJ5IGxpc3QgZm9yIHNlbGVjdFxuICAgKlxuICAgKiBAdHlwZSB7VUlDb3VudHJ5W119XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgY291bnRyeUxpc3QoY291bnRyeUxpc3Q6IFVJQ291bnRyeVtdKSB7XG4gICAgdGhpcy5sb2FkQ291bnRyaWVzJC5uZXh0KGNvdW50cnlMaXN0KTtcbiAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID8/IGNvdW50cnlMaXN0WzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIGlucHV0XG4gICAqXG4gICAqIEB0eXBlIHt0ZXh0fVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmludGVybmFsUGxhY2Vob2xkZXIgPSB2YWx1ZTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBpbnB1dCBpcyBkaXNhYmxlZFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kaXNhYmxlZCcpXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBpcyByZXF1aXJlZCBvciBub3RcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKVxuICBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogSW5kaWNhdG9yIG9mIHRoZSBwaG9uZSBpbnB1dCB3aWR0aFxuICAgKiBAcHJvcGVydHkgZnVsbFdpZHRoXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgX2Vycm9yczogU2FmZUh0bWxbXTtcbiAgLyoqXG4gICAqIElucHV0IGZpZWxkIGVycm9yc1xuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IGVycm9ycyhlcnJvcnM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgdGhpcy5fZXJyb3JzID0gZXJyb3JzPy5maWx0ZXIoQm9vbGVhbikubWFwKGVycm9yID0+IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVycm9yKSk7XG4gICAgICB0aGlzLmVycm9yc0xlbmd0aCA9IHRoaXMuc2V0RXJyb3JzTGVuZ3RoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgaW4gYnVpbGQgZXJyb3JzIGZvciBSZWFjdGl2ZSBGb3Jtc1xuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGlkZUJ1aWx0SW5FcnJvcnMgPSBmYWxzZTtcblxuICAvKipcbiAgICogSGlkZSBsYWJlbCBpbiBlcnJvcnNcbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhpZGVMYWJlbEluRXJyb3JzID0gZmFsc2U7XG5cbiAgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgcHJpdmF0ZSBjb3VudHJpZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJQ291bnRyeVtdPihbXSk7XG4gIHByb3RlY3RlZCBjb3VudHJpZXMkID0gdGhpcy5jb3VudHJpZXMuYXNPYnNlcnZhYmxlKCk7XG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBwaG9uZV9udW1iZXI6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgfSk7XG4gIHByb3RlY3RlZCBjb250cm9sVHlwZSA9ICdwaG9uZS1udW1iZXInO1xuICBwcm90ZWN0ZWQgdXNlckFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcbiAgcHJvdGVjdGVkIGxvYWRDb3VudHJpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVSUNvdW50cnlbXT4oW10pO1xuICBwcm90ZWN0ZWQgY291bnRyeUNvZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ1VTJyk7XG4gIHByb3RlY3RlZCBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcm90ZWN0ZWQgZm9jdXNlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHNlbGVjdEZpbHRlckN0cmwgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcbiAgcHJvdGVjdGVkIGVycm9yc0xlbmd0aDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvdW50cnlGbGFnU3JjID0gJ2Fzc2V0cy9zdmctY291bnRyeS1mbGFncy8nO1xuXG4gIEBWaWV3Q2hpbGQoTWF0SW5wdXQsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBpbnB1dDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0LCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2VsZWN0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASG9zdEJpbmRpbmcoKVxuICBpZCA9IGBwaG9uZS1udW1iZXIke1Bob25lSW5wdXRDb21wb25lbnQubmV4dElkKyt9YDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0ZWQnKVxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZGVzY3JpYmVkQnkgPSAnJztcblxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5mb3JtLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNYXRjaGVyLmlzRXJyb3JTdGF0ZSh0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbCwgbnVsbCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJXaXRoQ291bnRyeUNvZGUoKTtcbiAgfVxuXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFBsYWNlaG9sZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsVmFsdWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0NPVU5UUllfQ09ERSA9ICdVUyc7XG4gIHByaXZhdGUgaW50ZXJuYWxQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb3VudHJ5OiBVSUNvdW50cnk7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGVycm9yTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWFyayBjb21wb25lbnQgdmlldyBhcyBkaXJ0eSB3aGVuIHRvdWNoZWQgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG1hcmtBc1RvdWNoZWQvbWFya0FsbEFzVG91Y2hlZCBvciBlcnJvcnNcbiAgICogdG8gZGlzcGxheSB2YWxpZGF0aW9uIGVycm9ycyB0aGF0IG1pZ2h0IGhhcHBlbiAoZS5nLiByZXF1aXJlZClcbiAgICovXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5uZ0NvbnRyb2w/LmVycm9ycykge1xuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkQ291bnRyaWVzKCk7XG4gICAgdGhpcy5wcmVTZWxlY3RDb3VudHJ5KCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb0ZvY3VzRXZlbnRzKCk7XG4gIH1cblxuICBzZXRFcnJvcnNMZW5ndGgoKTogYm9vbGVhbiB7XG4gICAgaWYgKCEhdGhpcy5fZXJyb3JzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZXJyb3JzLmZpbHRlcihlcnIgPT4gISFlcnIpLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJBcmlhRGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpO1xuICB9XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblRvdWNoOiAoKSA9PiB2b2lkO1xuXG4gIHdyaXRlVmFsdWUocGhvbmVOdW1iZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChwaG9uZU51bWJlcikge1xuICAgICAgdGhpcy52YWx1ZSA9IHBob25lTnVtYmVyO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gICAgfVxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuaW5wdXQpO1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuc2VsZWN0KTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25PcHRpb25zU2VsZWN0ZWQodmFsdWU6IFVJQ291bnRyeSkge1xuICAgIHRoaXMuc2V0Q291bnRyeSh2YWx1ZSk7XG4gIH1cblxuICBvbklucHV0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlID0gKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Py5jYWxsaW5nQ29kZSA/PyAnJykgKyB2YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZmlsdGVyZWRDb3VudHJ5VHJhY2tCeU1ldGhvZChpbmRleDogbnVtYmVyLCBlbDogVUlDb3VudHJ5KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWwuYWxwaGEyQ29kZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q291bnRyeShjb3VudHJ5OiBVSUNvdW50cnkgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGNvdW50cnkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0TnVtYmVyV2l0aENvdW50cnlDb2RlKCk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TnVtYmVyV2l0aENvdW50cnlDb2RlKCkge1xuICAgIGNvbnN0IG5hdGlvbmFsTnVtYmVyID0gdGhpcy5mb3JtLnZhbHVlPy5waG9uZV9udW1iZXIgYXMgc3RyaW5nO1xuICAgIHJldHVybiBuYXRpb25hbE51bWJlciA/ICh0aGlzLnNlbGVjdGVkQ291bnRyeT8uY2FsbGluZ0NvZGUgPz8gJycpICsgbmF0aW9uYWxOdW1iZXIgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9Gb2N1c0V2ZW50cygpIHtcbiAgICBjb25zdCBzZWxlY3RBbmRJbnB1dEZvY3VzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLnNlbGVjdCksXG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuaW5wdXQpLFxuICAgIF0pLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSwgZGVib3VuY2VUaW1lKDEwKSk7XG5cbiAgICBzZWxlY3RBbmRJbnB1dEZvY3VzJC5zdWJzY3JpYmUoKFtzZWxlY3RGb2N1cywgaW5wdXRGb2N1c10pID0+IHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9ICEhKHNlbGVjdEZvY3VzIHx8IGlucHV0Rm9jdXMpO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH0pO1xuXG4gICAgc2VsZWN0QW5kSW5wdXRGb2N1cyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZVNlbGVjdENvdW50cnkoKSB7XG4gICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHRydWUpO1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5jb3VudHJpZXMkLnBpcGUoXG4gICAgICAgIGZpbHRlcihjb3VudHJpZXMgPT4gY291bnRyaWVzLmxlbmd0aCA+IDApLFxuICAgICAgICBmaXJzdCgpXG4gICAgICApLFxuICAgICAgdGhpcy5jb3VudHJ5Q29kZSxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW2NvdW50cmllcywgc2VsZWN0ZWRDb3VudHJ5XSkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsVmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50cnkgPVxuICAgICAgICAgICAgICB0aGlzLmdldENvdW50cnlCeUFscGhhMkNvZGUoc2VsZWN0ZWRDb3VudHJ5KSB8fCB0aGlzLmdldENvdW50cnlCeUFscGhhMkNvZGUodGhpcy5ERUZBVUxUX0NPVU5UUllfQ09ERSk7XG4gICAgICAgICAgICB0aGlzLnNldENvdW50cnkoY291bnRyeSBhcyBVSUNvdW50cnkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbml0aWFsVmFsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShhbHBoYTJDb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXMudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuYWxwaGEyQ29kZSA9PT0gYWxwaGEyQ29kZSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvdW50cnlCeUNhbGxpbmdDb2RlKGNhbGxpbmdDb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXMudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuY2FsbGluZ0NvZGUgPT09IGNhbGxpbmdDb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZENvdW50cmllcygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5zZWxlY3RGaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApLCBzdGFydFdpdGgoJycpKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubG9hZENvdW50cmllcyQsIHNlYXJjaFRleHQkXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICB0YXAoKFtjb3VudHJpZXMsIHNlYXJjaFRleHRdKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VhcmNoVGV4dExvd2VyQ2FzZSA9IHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZENvdW50cmllcyA9IGNvdW50cmllc1xuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgb3B0aW9uID0+XG4gICAgICAgICAgICAgICAgb3B0aW9uLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0TG93ZXJDYXNlKSB8fFxuICAgICAgICAgICAgICAgIG9wdGlvbi5hbHBoYTJDb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dExvd2VyQ2FzZSkgfHxcbiAgICAgICAgICAgICAgICBvcHRpb24uY2FsbGluZ0NvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0TG93ZXJDYXNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNvcnQoKG9wdGlvbkEsIG9wdGlvbkIpID0+IChvcHRpb25CLm5hbWUuc3RhcnRzV2l0aChzZWFyY2hUZXh0KSA/IDEgOiAtMSkpO1xuICAgICAgICAgIHRoaXMuY291bnRyaWVzLm5leHQoZmlsdGVyZWRDb3VudHJpZXMpO1xuICAgICAgICB9KSxcbiAgICAgICAgZGVsYXkoMSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgY291bnRyeUZvdW5kID0gdGhpcy5nZXRDb3VudHJ5QnlBbHBoYTJDb2RlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Py5hbHBoYTJDb2RlKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IGNvdW50cnlGb3VuZCB8fCB0aGlzLnNlbGVjdGVkQ291bnRyeTtcbiAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRpc2FibGVDbGljayhldjogRXZlbnQpIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgdHJhY2tCeUZuID0gKGluZGV4OiBudW1iZXIsIHZhbHVlOiBhbnkpID0+IHZhbHVlLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk7XG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICBbY29sb3JdPVwiKGVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgJiYgbmdDb250cm9sPy50b3VjaGVkICkpID8gJ3dhcm4nIDogJ2FjY2VudCdcIlxuICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBmb3JtLmRpc2FibGVkIHx8IGRpc2FibGVkLCAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCB9XCJcbj5cbiAgPG1hdC1sYWJlbD57eyAnQ09NTU9OLlBIT05FX05VTUJFUicgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jIH19IDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvbWF0LWxhYmVsPlxuXG4gIDxkaXYgbWF0UHJlZml4IGNsYXNzPVwiY291bnRyeVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzZWxlY3RlZC1mbGFnXCIgbWF0UHJlZml4ICpuZ0lmPVwic2VsZWN0ZWRDb3VudHJ5XCI+XG4gICAgICA8aW1nIFtoZWlnaHRdPVwiMjBcIiBbd2lkdGhdPVwiMjRcIiBbYXR0ci5zcmNdPVwiY291bnRyeUZsYWdTcmMgKyBzZWxlY3RlZENvdW50cnk/LmFscGhhMkNvZGU/LnRvTG93ZXJDYXNlKCkgKyAnLnN2ZydcIlxuICAgICAgICAgICBbYWx0XT1cIidDb3VudHJ5IGZsYWcgJyArIHNlbGVjdGVkQ291bnRyeT8uYWxwaGEyQ29kZT8udG9Mb3dlckNhc2UoKVwiPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjc2VsZWN0XG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uT3B0aW9uc1NlbGVjdGVkKCRldmVudC52YWx1ZSlcIlxuICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ291bnRyeVwiXG4gICAgICBbZGlzYWJsZU9wdGlvbkNlbnRlcmluZ109XCJ0cnVlXCJcbiAgICAgIFtwYW5lbENsYXNzXT1cIidwaG9uZS1udW1iZXItc2VsZWN0JyArICcgJyArIGFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgW25nQ2xhc3NdPVwieyBvcGVuZWQ6IHNlbGVjdC5wYW5lbE9wZW4gfVwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj57eyBzZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlIH19PC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICA8bWF0LW9wdGlvbj5cbiAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaFxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWxlY3RGaWx0ZXJDdHJsXCJcbiAgICAgICAgICBuZ0RlZmF1bHRDb250cm9sXG4gICAgICAgICAgcGxhY2Vob2xkZXJMYWJlbD1cIlwiXG4gICAgICAgICAgbm9FbnRyaWVzRm91bmRMYWJlbD1cIlwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWktaWNvbiBuZ3hNYXRTZWxlY3RTZWFyY2hDbGVhciBzaXplPVwiMjRcIiBbbmFtZV09XCInQ2xvc2UtaW4tbGluZSdcIj48L3VpLWljb24+XG4gICAgICAgIDwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJpZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGZpbHRlcmVkQ291bnRyeVRyYWNrQnlNZXRob2RcIiBbdmFsdWVdPVwiY291bnRyeVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudHJ5LW9wdGlvblwiPlxuICAgICAgICAgICAgPGltZyBbaGVpZ2h0XT1cIjIwXCIgW3dpZHRoXT1cIjI0XCIgW2F0dHIuc3JjXT1cImNvdW50cnlGbGFnU3JjICsgY291bnRyeT8uYWxwaGEyQ29kZT8udG9Mb3dlckNhc2UoKSEgKyAnLnN2ZydcIlxuICAgICAgICAgICAgICAgICBbYWx0XT1cIidDb3VudHJ5IGZsYWcgJyArIGNvdW50cnk/LmFscGhhMkNvZGU/LnRvTG93ZXJDYXNlKCkhXCI+XG4gICAgICAgICAgICA8c21hbGw+e3sgJGFueShbY291bnRyeT8ubmFtZSwgJygnICsgY291bnRyeT8uY2FsbGluZ0NvZGUgKyAnKSddKSB8IGpvaW5TdHJpbmdzIDogJyAnIH19PC9zbWFsbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGlucHV0XG4gICAgKGlucHV0KT1cIm9uSW5wdXQoZm9ybS5nZXQoJ3Bob25lX251bWJlcicpIS52YWx1ZSlcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cInBob25lX251bWJlclwiXG4gICAgKGNsaWNrKT1cImRpc2FibGVDbGljaygkZXZlbnQpXCJcbiAgICBbbmdTdHlsZV09XCJ7IG9wYWNpdHk6IGRpc2FibGVkID8gMC41IDogMSB9XCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIG1hdElucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAvPlxuXG4gIDxtYXQtaGludCBjbGFzcz1cImVycm9yXCIgKm5nSWY9XCJlcnJvcnNMZW5ndGggfHwgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlcnJvcnNMZW5ndGhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlcnJvcnNcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgX2Vycm9yczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgIDx1aS1pY29uIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbbmFtZV09XCInRXJyb3InXCI+PC91aS1pY29uPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImVycm9yXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dWktdmFsaWRhdGlvbi1lcnJvciAqbmdJZj1cIm5nQ29udHJvbCAmJiAhaGlkZUJ1aWx0SW5FcnJvcnNcIiBbbmdDb250cm9sXT1cIm5nQ29udHJvbFwiIFtsYWJlbF09XCJoaWRlTGFiZWxJbkVycm9ycyA/IG51bGwgOiAoJ0NPTU1PTi5QSE9ORV9OVU1CRVInIHwgdWlUcmFuc2xhdGUgfCBhc3luYylcIj48L3VpLXZhbGlkYXRpb24tZXJyb3I+XG5cbiAgPC9tYXQtaGludD5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { PhoneInputComponent } from './phone-input.component';
|
|
4
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
5
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
7
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
-
import { JoinStringsPipe } from './join-strings.pipe';
|
|
9
|
-
import { MatInputModule } from '@angular/material/input';
|
|
10
|
-
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
|
11
|
-
import { IconComponentModule } from '../icon/icon.component.module';
|
|
12
|
-
import { SpinnerComponentModule } from '../spinner/spinner.module';
|
|
13
|
-
import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
|
|
14
|
-
import { ValidationErrorModule } from '../validation-error/validation-error.module';
|
|
15
|
-
import { HasValidationErrorPipe } from '../../pipes/has-validation-error.pipe';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
export class PhoneInputComponentModule {
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PhoneInputComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
19
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PhoneInputComponentModule, declarations: [PhoneInputComponent, JoinStringsPipe], imports: [CommonModule,
|
|
20
|
-
MatProgressSpinnerModule,
|
|
21
|
-
ReactiveFormsModule,
|
|
22
|
-
MatSelectModule,
|
|
23
|
-
MatIconModule,
|
|
24
|
-
MatInputModule,
|
|
25
|
-
NgxMatSelectSearchModule,
|
|
26
|
-
IconComponentModule,
|
|
27
|
-
SpinnerComponentModule,
|
|
28
|
-
UiTranslatePipe,
|
|
29
|
-
ValidationErrorModule,
|
|
30
|
-
HasValidationErrorPipe], exports: [PhoneInputComponent] }); }
|
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PhoneInputComponentModule, imports: [CommonModule,
|
|
32
|
-
MatProgressSpinnerModule,
|
|
33
|
-
ReactiveFormsModule,
|
|
34
|
-
MatSelectModule,
|
|
35
|
-
MatIconModule,
|
|
36
|
-
MatInputModule,
|
|
37
|
-
NgxMatSelectSearchModule,
|
|
38
|
-
IconComponentModule,
|
|
39
|
-
SpinnerComponentModule,
|
|
40
|
-
ValidationErrorModule] }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PhoneInputComponentModule, decorators: [{
|
|
43
|
-
type: NgModule,
|
|
44
|
-
args: [{
|
|
45
|
-
declarations: [PhoneInputComponent, JoinStringsPipe],
|
|
46
|
-
exports: [PhoneInputComponent],
|
|
47
|
-
imports: [
|
|
48
|
-
CommonModule,
|
|
49
|
-
MatProgressSpinnerModule,
|
|
50
|
-
ReactiveFormsModule,
|
|
51
|
-
MatSelectModule,
|
|
52
|
-
MatIconModule,
|
|
53
|
-
MatInputModule,
|
|
54
|
-
NgxMatSelectSearchModule,
|
|
55
|
-
IconComponentModule,
|
|
56
|
-
SpinnerComponentModule,
|
|
57
|
-
UiTranslatePipe,
|
|
58
|
-
ValidationErrorModule,
|
|
59
|
-
HasValidationErrorPipe,
|
|
60
|
-
],
|
|
61
|
-
}]
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBb0IvRSxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixpQkFqQnJCLG1CQUFtQixFQUFFLGVBQWUsYUFHakQsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixzQkFBc0IsYUFiZCxtQkFBbUI7Z0hBZ0JsQix5QkFBeUIsWUFkbEMsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFFdEIscUJBQXFCOzs0RkFJWix5QkFBeUI7a0JBbEJyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQztvQkFDcEQsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGhvbmVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBKb2luU3RyaW5nc1BpcGUgfSBmcm9tICcuL2pvaW4tc3RyaW5ncy5waXBlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcbmltcG9ydCB7IEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vc3Bpbm5lci9zcGlubmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBVaVRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91aS10cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JNb2R1bGUgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9yL3ZhbGlkYXRpb24tZXJyb3IubW9kdWxlJztcbmltcG9ydCB7IEhhc1ZhbGlkYXRpb25FcnJvclBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9oYXMtdmFsaWRhdGlvbi1lcnJvci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUGhvbmVJbnB1dENvbXBvbmVudCwgSm9pblN0cmluZ3NQaXBlXSxcbiAgZXhwb3J0czogW1Bob25lSW5wdXRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE5neE1hdFNlbGVjdFNlYXJjaE1vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlLFxuICAgIFNwaW5uZXJDb21wb25lbnRNb2R1bGUsXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxuICAgIFZhbGlkYXRpb25FcnJvck1vZHVsZSxcbiAgICBIYXNWYWxpZGF0aW9uRXJyb3JQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ291bnRyeSBpbnRlcmZhY2UgSVNPIDMxNjYgKG1pbnVzIG51bWVyaWMgY29kZSBhbmQgYWxwaGEzQ29kZSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVSUNvdW50cnkge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFscGhhMkNvZGU6IHN0cmluZztcbiAgY2FsbGluZ0NvZGU6IHN0cmluZztcbn1cbiJdfQ==
|