@seniorsistemas/angular-components 16.6.4 → 16.7.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.
Files changed (48) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +822 -55
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/country-phone-picker/country-phone-picker.component.d.ts +47 -0
  6. package/components/country-phone-picker/country-phone-picker.module.d.ts +2 -0
  7. package/components/country-phone-picker/country-phone-picker.service.d.ts +10 -0
  8. package/components/country-phone-picker/index.d.ts +3 -0
  9. package/components/country-phone-picker/models/country-phone-data.d.ts +5 -0
  10. package/components/country-phone-picker/models/index.d.ts +3 -0
  11. package/components/country-phone-picker/models/ordination.d.ts +5 -0
  12. package/components/country-phone-picker/models/phone-selection-data.d.ts +6 -0
  13. package/components/country-phone-picker/resources/countries.d.ts +2 -0
  14. package/esm2015/components/country-phone-picker/country-phone-picker.component.js +231 -0
  15. package/esm2015/components/country-phone-picker/country-phone-picker.module.js +25 -0
  16. package/esm2015/components/country-phone-picker/country-phone-picker.service.js +43 -0
  17. package/esm2015/components/country-phone-picker/index.js +4 -0
  18. package/esm2015/components/country-phone-picker/models/country-phone-data.js +1 -0
  19. package/esm2015/components/country-phone-picker/models/index.js +2 -0
  20. package/esm2015/components/country-phone-picker/models/ordination.js +7 -0
  21. package/esm2015/components/country-phone-picker/models/phone-selection-data.js +1 -0
  22. package/esm2015/components/country-phone-picker/resources/countries.js +227 -0
  23. package/esm2015/components/file-upload/file-upload.module.js +2 -2
  24. package/esm2015/locale/fallback.js +227 -0
  25. package/esm2015/public-api.js +3 -1
  26. package/esm2015/seniorsistemas-angular-components.js +53 -52
  27. package/esm5/components/country-phone-picker/country-phone-picker.component.js +250 -0
  28. package/esm5/components/country-phone-picker/country-phone-picker.module.js +28 -0
  29. package/esm5/components/country-phone-picker/country-phone-picker.service.js +46 -0
  30. package/esm5/components/country-phone-picker/index.js +4 -0
  31. package/esm5/components/country-phone-picker/models/country-phone-data.js +1 -0
  32. package/esm5/components/country-phone-picker/models/index.js +2 -0
  33. package/esm5/components/country-phone-picker/models/ordination.js +7 -0
  34. package/esm5/components/country-phone-picker/models/phone-selection-data.js +1 -0
  35. package/esm5/components/country-phone-picker/resources/countries.js +227 -0
  36. package/esm5/components/file-upload/file-upload.module.js +2 -2
  37. package/esm5/locale/fallback.js +227 -0
  38. package/esm5/public-api.js +3 -1
  39. package/esm5/seniorsistemas-angular-components.js +53 -52
  40. package/fesm2015/seniorsistemas-angular-components.js +743 -4
  41. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  42. package/fesm5/seniorsistemas-angular-components.js +769 -5
  43. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  44. package/locale/fallback.d.ts +1 -0
  45. package/package.json +5 -1
  46. package/public-api.d.ts +2 -0
  47. package/seniorsistemas-angular-components.d.ts +52 -51
  48. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -0,0 +1,47 @@
1
+ import { ElementRef, EventEmitter, OnInit } from "@angular/core";
2
+ import { FormControl, ControlValueAccessor } from "@angular/forms";
3
+ import { TranslateService } from "@ngx-translate/core";
4
+ import { PhoneSelectionData } from "./models/phone-selection-data";
5
+ import { CountryPhoneData, Ordination } from "./models";
6
+ import { CountryPhonePickerService } from "./country-phone-picker.service";
7
+ export declare class CountryPhonePickerComponent implements OnInit, ControlValueAccessor {
8
+ private readonly countryPhonePickerService;
9
+ private readonly translate;
10
+ private readonly eRef;
11
+ value: PhoneSelectionData;
12
+ onChange: (value: PhoneSelectionData) => {};
13
+ onTouched: (value: PhoneSelectionData) => {};
14
+ selectedItem: CountryPhoneData;
15
+ currentItemIndex: number;
16
+ countriesList: CountryPhoneData[];
17
+ filteredCountriesList: CountryPhoneData[];
18
+ phone: FormControl;
19
+ filter: FormControl;
20
+ private _open;
21
+ private offsetTop;
22
+ constructor(countryPhonePickerService: CountryPhonePickerService, translate: TranslateService, eRef: ElementRef);
23
+ writeValue(value: PhoneSelectionData): void;
24
+ registerOnChange(onChange: (value: PhoneSelectionData) => {}): void;
25
+ registerOnTouched(onTouched: (value: PhoneSelectionData) => {}): void;
26
+ countries: string[];
27
+ ordination: Ordination;
28
+ selected: EventEmitter<CountryPhoneData>;
29
+ phoneInput: ElementRef;
30
+ onClickout(event: MouseEvent): void;
31
+ ngOnInit(): void;
32
+ tabindex: number;
33
+ onKeydown(event: KeyboardEvent): void;
34
+ get open(): boolean;
35
+ set open(open: boolean);
36
+ onBlur(): void;
37
+ onSelectItem(country: CountryPhoneData): void;
38
+ onCleanFilter(): void;
39
+ onPhoneInputFocus(): void;
40
+ getMask(): string;
41
+ getPlaceholder(): string;
42
+ private _getSelectedCountryDefault;
43
+ private _filterCountries;
44
+ private _moveToUp;
45
+ private _moveToDown;
46
+ private _applyMask;
47
+ }
@@ -0,0 +1,2 @@
1
+ export declare class CountryPhonePickerModule {
2
+ }
@@ -0,0 +1,10 @@
1
+ import { TranslateService } from "@ngx-translate/core";
2
+ import { CountryPhoneData } from "./models/country-phone-data";
3
+ import { Ordination } from "./models/ordination";
4
+ export declare class CountryPhonePickerService {
5
+ private readonly translate;
6
+ constructor(translate: TranslateService);
7
+ getCountries(ordination: Ordination): CountryPhoneData[];
8
+ private sortAlphabetically;
9
+ private sortAlphabeticallyDescending;
10
+ }
@@ -0,0 +1,3 @@
1
+ export { CountryPhonePickerModule } from "./country-phone-picker.module";
2
+ export { CountryPhonePickerComponent } from "./country-phone-picker.component";
3
+ export * from "./models/index";
@@ -0,0 +1,5 @@
1
+ export interface CountryPhoneData {
2
+ id: string;
3
+ ddi: string;
4
+ mask: string | string[];
5
+ }
@@ -0,0 +1,3 @@
1
+ export { CountryPhoneData } from "./country-phone-data";
2
+ export { PhoneSelectionData } from "./phone-selection-data";
3
+ export { Ordination } from "./ordination";
@@ -0,0 +1,5 @@
1
+ export declare enum Ordination {
2
+ NO = "no",
3
+ AZ = "az",
4
+ ZA = "za"
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface PhoneSelectionData {
2
+ id: string;
3
+ ddi: string;
4
+ value: string;
5
+ rawValue: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ import { CountryPhoneData } from "../models/country-phone-data";
2
+ export declare const countries: CountryPhoneData[];
@@ -0,0 +1,231 @@
1
+ var CountryPhonePickerComponent_1;
2
+ import { __decorate } from "tslib";
3
+ import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, OnInit, ViewChild } from "@angular/core";
4
+ import { FormControl, NG_VALUE_ACCESSOR } from "@angular/forms";
5
+ import { TranslateService } from "@ngx-translate/core";
6
+ import { Ordination } from "./models";
7
+ import { CountryPhonePickerService } from "./country-phone-picker.service";
8
+ let CountryPhonePickerComponent = CountryPhonePickerComponent_1 = class CountryPhonePickerComponent {
9
+ constructor(countryPhonePickerService, translate, eRef) {
10
+ this.countryPhonePickerService = countryPhonePickerService;
11
+ this.translate = translate;
12
+ this.eRef = eRef;
13
+ this.currentItemIndex = 0;
14
+ this.phone = new FormControl("");
15
+ this.filter = new FormControl("");
16
+ this._open = false;
17
+ this.offsetTop = 0;
18
+ this.ordination = Ordination.NO;
19
+ this.selected = new EventEmitter();
20
+ this.tabindex = 0;
21
+ this._filterCountries = (value) => {
22
+ if (!value) {
23
+ this.filteredCountriesList = this.countriesList;
24
+ }
25
+ else {
26
+ this.filteredCountriesList = this.countriesList.filter((country) => {
27
+ const countryName = this.translate.instant(`platform.angular_components.country_name_${country.id}`);
28
+ return countryName.toLowerCase().includes(value.toLowerCase());
29
+ });
30
+ }
31
+ };
32
+ }
33
+ writeValue(value) {
34
+ this.value = value;
35
+ }
36
+ registerOnChange(onChange) {
37
+ this.onChange = onChange;
38
+ }
39
+ registerOnTouched(onTouched) {
40
+ this.onTouched = onTouched;
41
+ }
42
+ onClickout(event) {
43
+ if (!this.eRef.nativeElement.contains(event.target)) {
44
+ this.open = false;
45
+ }
46
+ }
47
+ ngOnInit() {
48
+ var _a;
49
+ const countries = this.countryPhonePickerService.getCountries(this.ordination);
50
+ this.filter.valueChanges.subscribe(this._filterCountries);
51
+ if ((_a = this.countries) === null || _a === void 0 ? void 0 : _a.length) {
52
+ this.countriesList = countries.filter((country) => this.countries.includes(country.id));
53
+ }
54
+ else {
55
+ this.countriesList = countries;
56
+ }
57
+ this.filteredCountriesList = this.countriesList;
58
+ this.selectedItem = this._getSelectedCountryDefault();
59
+ this.phone.valueChanges.subscribe((value) => {
60
+ this.value = {
61
+ id: this.selectedItem.id,
62
+ ddi: this.selectedItem.ddi,
63
+ rawValue: value !== null && value !== void 0 ? value : "",
64
+ value: value ? `${this._applyMask(value)}` : "",
65
+ };
66
+ this.onChange(this.value);
67
+ });
68
+ }
69
+ onKeydown(event) {
70
+ if (event.key === "Enter" || event.key === " ") {
71
+ if (this.open) {
72
+ this.selectedItem = this.countriesList[this.currentItemIndex];
73
+ this.selected.emit(this.selectedItem);
74
+ }
75
+ this.open = !this.open;
76
+ }
77
+ else if (event.key === "Escape") {
78
+ this.open = false;
79
+ }
80
+ else if (event.key === "ArrowDown") {
81
+ this._moveToDown();
82
+ }
83
+ else if (event.key === "ArrowUp") {
84
+ this._moveToUp();
85
+ }
86
+ }
87
+ get open() {
88
+ return this._open;
89
+ }
90
+ set open(open) {
91
+ this._open = open;
92
+ if (!open) {
93
+ this.phoneInput.nativeElement.focus();
94
+ }
95
+ }
96
+ onBlur() {
97
+ this.open = false;
98
+ this.currentItemIndex = this.countriesList.indexOf(this.selectedItem);
99
+ }
100
+ onSelectItem(country) {
101
+ this.open = false;
102
+ this.selectedItem = country;
103
+ this.phone.setValue("");
104
+ this.currentItemIndex = this.countriesList.indexOf(this.selectedItem);
105
+ this.selected.emit(this.selectedItem);
106
+ }
107
+ onCleanFilter() {
108
+ this.filter.setValue("");
109
+ }
110
+ onPhoneInputFocus() {
111
+ this.open = false;
112
+ }
113
+ getMask() {
114
+ const mask = this.selectedItem.mask;
115
+ if (Array.isArray(mask)) {
116
+ return !this.value || this.value.value.length <= mask[0].length - 1
117
+ ? mask[0] // fixo
118
+ : mask[1]; // celular
119
+ }
120
+ else {
121
+ return mask;
122
+ }
123
+ }
124
+ getPlaceholder() {
125
+ return this.getMask().replace(/9/g, "");
126
+ }
127
+ _getSelectedCountryDefault() {
128
+ if (!this.countriesList.length) {
129
+ throw new Error("No country loaded");
130
+ }
131
+ const filteredByBr = this.countriesList.filter((country) => country.id === "br");
132
+ return filteredByBr.length ? filteredByBr[0] : this.countriesList[0];
133
+ }
134
+ _moveToUp() {
135
+ if (this.currentItemIndex == 0) {
136
+ return;
137
+ }
138
+ this.currentItemIndex--;
139
+ const selectList = document.querySelector(".select-list");
140
+ const item = selectList.children[this.currentItemIndex];
141
+ if (item.offsetTop - selectList.offsetTop <= this.offsetTop) {
142
+ this.offsetTop -= 45;
143
+ selectList.scrollTo(0, this.offsetTop);
144
+ }
145
+ }
146
+ _moveToDown() {
147
+ if (this.currentItemIndex >= this.countriesList.length - 1) {
148
+ return;
149
+ }
150
+ this.currentItemIndex++;
151
+ const selectList = document.querySelector(".select-list");
152
+ const item = selectList.children[this.currentItemIndex];
153
+ if (item.offsetTop - selectList.offsetTop > this.offsetTop + 180) {
154
+ this.offsetTop += 45;
155
+ selectList.scrollTo(0, this.offsetTop);
156
+ }
157
+ }
158
+ _applyMask(value) {
159
+ let mask;
160
+ if (Array.isArray(this.selectedItem.mask)) {
161
+ const rawMask = this.selectedItem.mask[0].replace(/[^0]/g, "");
162
+ mask = value.length <= rawMask.length
163
+ ? this.selectedItem.mask[0] + "\0"
164
+ : this.selectedItem.mask[1] + "\0";
165
+ }
166
+ else {
167
+ mask = this.selectedItem.mask;
168
+ }
169
+ let tokens = "";
170
+ let replace = "";
171
+ let acumulador = 0;
172
+ let contador = 0;
173
+ for (const token of mask) {
174
+ if (isNaN(parseInt(token))) {
175
+ if (acumulador) {
176
+ tokens += `(\\d{${acumulador}})`;
177
+ replace += `$${++contador}`;
178
+ acumulador = 0;
179
+ }
180
+ if (token !== "\0") {
181
+ replace += token;
182
+ }
183
+ }
184
+ else {
185
+ acumulador++;
186
+ }
187
+ }
188
+ tokens = `^${tokens}*`;
189
+ return this.phone.value.replace(new RegExp(tokens), replace);
190
+ }
191
+ };
192
+ CountryPhonePickerComponent.ctorParameters = () => [
193
+ { type: CountryPhonePickerService },
194
+ { type: TranslateService },
195
+ { type: ElementRef }
196
+ ];
197
+ __decorate([
198
+ Input()
199
+ ], CountryPhonePickerComponent.prototype, "countries", void 0);
200
+ __decorate([
201
+ Input()
202
+ ], CountryPhonePickerComponent.prototype, "ordination", void 0);
203
+ __decorate([
204
+ Output()
205
+ ], CountryPhonePickerComponent.prototype, "selected", void 0);
206
+ __decorate([
207
+ ViewChild("phoneInput", { static: true })
208
+ ], CountryPhonePickerComponent.prototype, "phoneInput", void 0);
209
+ __decorate([
210
+ HostListener("document:click", ["$event"])
211
+ ], CountryPhonePickerComponent.prototype, "onClickout", null);
212
+ __decorate([
213
+ HostBinding("attr.tabindex")
214
+ ], CountryPhonePickerComponent.prototype, "tabindex", void 0);
215
+ __decorate([
216
+ HostListener("keydown", ["$event"])
217
+ ], CountryPhonePickerComponent.prototype, "onKeydown", null);
218
+ CountryPhonePickerComponent = CountryPhonePickerComponent_1 = __decorate([
219
+ Component({
220
+ selector: "s-country-phone-picker",
221
+ template: "<div class=\"country-phone-picker\">\n <div class=\"phone-input\">\n <div class=\"drop\" (click)=\"open = !open\">\n <span class=\"drop-flag\" [ngClass]=\"'fi fi-' + selectedItem.id\">\n </span>\n <span class=\"drop-icon fas fa-caret-down\"></span>\n </div>\n <p class=\"phone-ddi\">{{ selectedItem.ddi }}</p>\n <input\n #phoneInput\n type=\"tel\"\n autofocus\n [mask]=\"getMask()\" \n [placeholder]=\"getPlaceholder()\"\n [formControl]=\"phone\"\n (focus)=\"onPhoneInputFocus()\" />\n </div>\n <div *ngIf=\"open\" class=\"dropdown\">\n <div class=\"search\">\n <input\n class=\"search-field\"\n type=\"text\"\n [formControl]=\"filter\">\n <span class=\"search-icon fas fa-search\"></span>\n <span\n class=\"search-clear fa fa-times\"\n (click)=\"onCleanFilter()\"></span>\n </div>\n <ul class=\"select-list\">\n <li\n *ngFor=\"let country of filteredCountriesList; let i = index;\"\n class=\"select-option\"\n [ngClass]=\"{ 'select-option--focused': i == currentItemIndex }\"\n (click)=\"onSelectItem(country)\">\n <span\n class=\"select-option__flag\"\n [ngClass]=\"'fi fi-' + country.id\">\n </span>\n <span class=\"select-option__name\">\n {{ \"platform.angular_components.country_name_\" + country.id | translate }}\n </span>\n <span class=\"select-option__ddi\">\n {{ country.ddi }}\n </span>\n </li>\n </ul>\n </div>\n</div>",
222
+ providers: [{
223
+ provide: NG_VALUE_ACCESSOR,
224
+ useExisting: CountryPhonePickerComponent_1,
225
+ multi: true,
226
+ }],
227
+ styles: [".country-phone-picker .phone-input{background-color:#fff;border:1px solid #d8d8d8;border-radius:4px;display:-ms-flexbox;display:flex}.country-phone-picker .phone-input .drop{-ms-flex-align:center;align-items:center;cursor:pointer;display:-ms-flexbox;display:flex}.country-phone-picker .phone-input .drop .drop-flag{margin-left:12px}.country-phone-picker .phone-input .drop .drop-icon{font-size:12px;margin:0 8px}.country-phone-picker .phone-input .phone-ddi{margin:8px 0}.country-phone-picker .phone-input input{border:none;-ms-flex-positive:1;flex-grow:1;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:400;line-height:150%;margin-left:8px}.country-phone-picker .phone-input input:focus{color:#697882;outline:0}.country-phone-picker .dropdown{background-color:#fff;border-radius:4px;box-shadow:0 4px 5px #00000033;padding:4px 0;position:absolute;margin:2px 0;z-index:999999}.country-phone-picker .dropdown .search{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;padding:8px 12px}.country-phone-picker .dropdown .search .search-field{border:1px solid #d8d8d8;border-radius:4px;-ms-flex-positive:1;flex-grow:1;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:400;height:36px;line-height:150%;padding:0 32px 0 8px}.country-phone-picker .dropdown .search .search-icon{color:#333;font-size:12px;position:relative;right:24px}.country-phone-picker .dropdown .search .search-clear{color:#333;cursor:pointer;font-size:1rem}.country-phone-picker .dropdown .select-list{list-style:none;max-height:234px;min-width:360px;max-width:100vw;overflow:scroll;padding:0}.country-phone-picker .dropdown .select-list .select-option{cursor:pointer;display:-ms-flexbox;display:flex;padding:12px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.country-phone-picker .dropdown .select-list .select-option .select-option__flag{margin-right:12px}.country-phone-picker .dropdown .select-list .select-option .select-option__name{margin-right:.5rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.country-phone-picker .dropdown .select-list .select-option .select-option__ddi{color:#697882;font-size:14px;font-family:\"Open Sans\",sans-serif;font-weight:400;line-height:150%}.country-phone-picker .dropdown .select-list .select-option--focused,.country-phone-picker .dropdown .select-list .select-option:hover{background-color:#e5eaea}"]
228
+ })
229
+ ], CountryPhonePickerComponent);
230
+ export { CountryPhonePickerComponent };
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxXQUFXLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFvQixVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFZM0UsSUFBYSwyQkFBMkIsbUNBQXhDLE1BQWEsMkJBQTJCO0lBZXJDLFlBQ29CLHlCQUFvRCxFQUNwRCxTQUEyQixFQUMzQixJQUFnQjtRQUZoQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFaN0IscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBR3JCLFVBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QixXQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUF3QmYsZUFBVSxHQUFlLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFH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RUFBRSxJQUFJO2FBQ2IsQ0FBQzs7S0FDSixDQUFDO0dBQ1csMkJBQTJCLENBeU92QztTQXpPWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcblxuaW1wb3J0IHsgUGhvbmVTZWxlY3Rpb25EYXRhIH0gZnJvbSBcIi4vbW9kZWxzL3Bob25lLXNlbGVjdGlvbi1kYXRhXCI7XG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVEYXRhLCBPcmRpbmF0aW9uIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlIH0gZnJvbSBcIi4vY291bnRyeS1waG9uZS1waWNrZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiBcInMtY291bnRyeS1waG9uZS1waWNrZXJcIixcbiAgIHRlbXBsYXRlVXJsOiBcIi4vY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wiLi9jb3VudHJ5LXBob25lLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiXSxcbiAgIHByb3ZpZGVyczogW3tcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IENvdW50cnlQaG9uZVBpY2tlckNvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIENvdW50cnlQaG9uZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgcHVibGljIHZhbHVlOiBQaG9uZVNlbGVjdGlvbkRhdGE7XG4gICBwdWJsaWMgb25DaGFuZ2U6ICh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSA9PiB7fTtcbiAgIHB1YmxpYyBvblRvdWNoZWQ6ICh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSA9PiB7fTtcblxuICAgcHVibGljIHNlbGVjdGVkSXRlbTogQ291bnRyeVBob25lRGF0YTtcbiAgIHB1YmxpYyBjdXJyZW50SXRlbUluZGV4ID0gMDtcbiAgIHB1YmxpYyBjb3VudHJpZXNMaXN0OiBDb3VudHJ5UGhvbmVEYXRhW107XG4gICBwdWJsaWMgZmlsdGVyZWRDb3VudHJpZXNMaXN0OiBDb3VudHJ5UGhvbmVEYXRhW107XG4gICBwdWJsaWMgcGhvbmUgPSBuZXcgRm9ybUNvbnRyb2woXCJcIik7XG4gICBwdWJsaWMgZmlsdGVyID0gbmV3IEZvcm1Db250cm9sKFwiXCIpO1xuXG4gICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG4gICBwcml2YXRlIG9mZnNldFRvcCA9IDA7XG5cbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlOiBDb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IGVSZWY6IEVsZW1lbnRSZWYsXG4gICApIHsgfVxuXG4gICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKTogdm9pZCB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICB9XG5cbiAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFBob25lU2VsZWN0aW9uRGF0YSkgPT4ge30pOiB2b2lkIHtcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgIH1cblxuICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKHZhbHVlOiBQaG9uZVNlbGVjdGlvbkRhdGEpID0+IHt9KTogdm9pZCB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgIH1cblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBjb3VudHJpZXM6IHN0cmluZ1tdO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIG9yZGluYXRpb246IE9yZGluYXRpb24gPSBPcmRpbmF0aW9uLk5PO1xuXG4gICBAT3V0cHV0KClcbiAgIHB1YmxpYyBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPENvdW50cnlQaG9uZURhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBAVmlld0NoaWxkKFwicGhvbmVJbnB1dFwiLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgcHVibGljIHBob25lSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25DbGlja291dChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgaWYgKCF0aGlzLmVSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgY29uc3QgY291bnRyaWVzID0gdGhpcy5jb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlLmdldENvdW50cmllcyh0aGlzLm9yZGluYXRpb24pO1xuICAgICAgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh0aGlzLl9maWx0ZXJDb3VudHJpZXMpO1xuXG4gICAgICBpZiAodGhpcy5jb3VudHJpZXM/Lmxlbmd0aCkge1xuICAgICAgICAgdGhpcy5jb3VudHJpZXNMaXN0ID0gY291bnRyaWVzLmZpbHRlcigoY291bnRyeSkgPT4gdGhpcy5jb3VudHJpZXMuaW5jbHVkZXMoY291bnRyeS5pZCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgIHRoaXMuY291bnRyaWVzTGlzdCA9IGNvdW50cmllcztcbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsdGVyZWRDb3VudHJpZXNMaXN0ID0gdGhpcy5jb3VudHJpZXNMaXN0O1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLl9nZXRTZWxlY3RlZENvdW50cnlEZWZhdWx0KCk7XG5cbiAgICAgIHRoaXMucGhvbmUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZEl0ZW0uaWQsXG4gICAgICAgICAgICBkZGk6IHRoaXMuc2VsZWN0ZWRJdGVtLmRkaSxcbiAgICAgICAgICAgIHJhd1ZhbHVlOiB2YWx1ZSA/PyBcIlwiLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlID8gYCR7dGhpcy5fYXBwbHlNYXNrKHZhbHVlKX1gIDogXCJcIixcbiAgICAgICAgIH07XG4gICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIEBIb3N0QmluZGluZyhcImF0dHIudGFiaW5kZXhcIilcbiAgIHB1YmxpYyB0YWJpbmRleCA9IDA7XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIsIFtcIiRldmVudFwiXSlcbiAgIHB1YmxpYyBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09IFwiRW50ZXJcIiB8fCBldmVudC5rZXkgPT09IFwiIFwiKSB7XG4gICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuY291bnRyaWVzTGlzdFt0aGlzLmN1cnJlbnRJdGVtSW5kZXhdO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgIH1cbiAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xuICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuICAgICAgICAgdGhpcy5fbW92ZVRvRG93bigpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiKSB7XG4gICAgICAgICB0aGlzLl9tb3ZlVG9VcCgpO1xuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgZ2V0IG9wZW4oKSB7XG4gICAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgIH1cblxuICAgcHVibGljIHNldCBvcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuX29wZW4gPSBvcGVuO1xuXG4gICAgICBpZiAoIW9wZW4pIHtcbiAgICAgICAgIHRoaXMucGhvbmVJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICB9XG5cbiAgIHB1YmxpYyBvbkJsdXIoKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleCA9IHRoaXMuY291bnRyaWVzTGlzdC5pbmRleE9mKHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgIH1cblxuICAgcHVibGljIG9uU2VsZWN0SXRlbShjb3VudHJ5OiBDb3VudHJ5UGhvbmVEYXRhKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gY291bnRyeTtcbiAgICAgIHRoaXMucGhvbmUuc2V0VmFsdWUoXCJcIik7XG4gICAgICB0aGlzLmN1cnJlbnRJdGVtSW5kZXggPSB0aGlzLmNvdW50cmllc0xpc3QuaW5kZXhPZih0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICB0aGlzLnNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xuICAgfVxuXG4gICBwdWJsaWMgb25DbGVhbkZpbHRlcigpIHtcbiAgICAgIHRoaXMuZmlsdGVyLnNldFZhbHVlKFwiXCIpO1xuICAgfVxuXG4gICBwdWJsaWMgb25QaG9uZUlucHV0Rm9jdXMoKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgIH1cblxuICAgcHVibGljIGdldE1hc2soKSB7XG4gICAgICBjb25zdCBtYXNrID0gdGhpcy5zZWxlY3RlZEl0ZW0ubWFzaztcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWFzaykpIHtcbiAgICAgICAgIHJldHVybiAhdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLnZhbHVlLmxlbmd0aCA8PSBtYXNrWzBdLmxlbmd0aCAtIDFcbiAgICAgICAgICAgID8gbWFza1swXSAvLyBmaXhvXG4gICAgICAgICAgICA6IG1hc2tbMV07IC8vIGNlbHVsYXJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICByZXR1cm4gbWFzaztcbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIGdldFBsYWNlaG9sZGVyKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWFzaygpLnJlcGxhY2UoLzkvZywgXCJcIik7XG4gICB9XG5cbiAgIHByaXZhdGUgX2dldFNlbGVjdGVkQ291bnRyeURlZmF1bHQoKSB7XG4gICAgICBpZiAoIXRoaXMuY291bnRyaWVzTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGNvdW50cnkgbG9hZGVkXCIpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWx0ZXJlZEJ5QnIgPSB0aGlzLmNvdW50cmllc0xpc3QuZmlsdGVyKChjb3VudHJ5OiBDb3VudHJ5UGhvbmVEYXRhKSA9PiBjb3VudHJ5LmlkID09PSBcImJyXCIpO1xuXG4gICAgICByZXR1cm4gZmlsdGVyZWRCeUJyLmxlbmd0aCA/IGZpbHRlcmVkQnlCclswXSA6IHRoaXMuY291bnRyaWVzTGlzdFswXVxuICAgfVxuXG4gICBwcml2YXRlIF9maWx0ZXJDb3VudHJpZXMgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgdGhpcy5maWx0ZXJlZENvdW50cmllc0xpc3QgPSB0aGlzLmNvdW50cmllc0xpc3Q7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgdGhpcy5maWx0ZXJlZENvdW50cmllc0xpc3QgPSB0aGlzLmNvdW50cmllc0xpc3QuZmlsdGVyKChjb3VudHJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudHJ5TmFtZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYHBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb3VudHJ5X25hbWVfJHtjb3VudHJ5LmlkfWApIGFzIHN0cmluZztcbiAgICAgICAgICAgIHJldHVybiBjb3VudHJ5TmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgfSk7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgX21vdmVUb1VwKCkge1xuICAgICAgaWYgKHRoaXMuY3VycmVudEl0ZW1JbmRleCA9PSAwKSB7XG4gICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleC0tO1xuXG4gICAgICBjb25zdCBzZWxlY3RMaXN0OiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnNlbGVjdC1saXN0XCIpO1xuICAgICAgY29uc3QgaXRlbSA9IHNlbGVjdExpc3QuY2hpbGRyZW5bdGhpcy5jdXJyZW50SXRlbUluZGV4XTtcblxuICAgICAgaWYgKGl0ZW0ub2Zmc2V0VG9wIC0gc2VsZWN0TGlzdC5vZmZzZXRUb3AgPD0gdGhpcy5vZmZzZXRUb3ApIHtcbiAgICAgICAgIHRoaXMub2Zmc2V0VG9wIC09IDQ1O1xuICAgICAgICAgc2VsZWN0TGlzdC5zY3JvbGxUbygwLCB0aGlzLm9mZnNldFRvcCk7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgX21vdmVUb0Rvd24oKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50SXRlbUluZGV4ID49IHRoaXMuY291bnRyaWVzTGlzdC5sZW5ndGggLSAxKSB7XG4gICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleCsrO1xuXG4gICAgICBjb25zdCBzZWxlY3RMaXN0OiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnNlbGVjdC1saXN0XCIpO1xuICAgICAgY29uc3QgaXRlbSA9IHNlbGVjdExpc3QuY2hpbGRyZW5bdGhpcy5jdXJyZW50SXRlbUluZGV4XTtcblxuICAgICAgaWYgKGl0ZW0ub2Zmc2V0VG9wIC0gc2VsZWN0TGlzdC5vZmZzZXRUb3AgPiB0aGlzLm9mZnNldFRvcCArIDE4MCkge1xuICAgICAgICAgdGhpcy5vZmZzZXRUb3AgKz0gNDU7XG4gICAgICAgICBzZWxlY3RMaXN0LnNjcm9sbFRvKDAsIHRoaXMub2Zmc2V0VG9wKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBfYXBwbHlNYXNrKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIGxldCBtYXNrO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkSXRlbS5tYXNrKSkge1xuICAgICAgICAgY29uc3QgcmF3TWFzayA9IHRoaXMuc2VsZWN0ZWRJdGVtLm1hc2tbMF0ucmVwbGFjZSgvW14wXS9nLCBcIlwiKTtcbiAgICAgICAgIG1hc2sgPSB2YWx1ZS5sZW5ndGggPD0gcmF3TWFzay5sZW5ndGhcbiAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZEl0ZW0ubWFza1swXSArIFwiXFwwXCJcbiAgICAgICAgICAgIDogdGhpcy5zZWxlY3RlZEl0ZW0ubWFza1sxXSArIFwiXFwwXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgbWFzayA9IHRoaXMuc2VsZWN0ZWRJdGVtLm1hc2s7XG4gICAgICB9XG5cbiAgICAgIGxldCB0b2tlbnMgPSBcIlwiO1xuICAgICAgbGV0IHJlcGxhY2UgPSBcIlwiO1xuICAgICAgbGV0IGFjdW11bGFkb3IgPSAwO1xuICAgICAgbGV0IGNvbnRhZG9yID0gMDtcblxuICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBtYXNrKSB7XG4gICAgICAgICBpZiAoaXNOYU4ocGFyc2VJbnQodG9rZW4pKSkge1xuICAgICAgICAgICAgaWYgKGFjdW11bGFkb3IpIHtcbiAgICAgICAgICAgICAgIHRva2VucyArPSBgKFxcXFxkeyR7YWN1bXVsYWRvcn19KWA7XG4gICAgICAgICAgICAgICByZXBsYWNlICs9IGAkJHsrK2NvbnRhZG9yfWA7XG4gICAgICAgICAgICAgICBhY3VtdWxhZG9yID0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRva2VuICE9PSBcIlxcMFwiKSB7XG4gICAgICAgICAgICAgICByZXBsYWNlICs9IHRva2VuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFjdW11bGFkb3IrKztcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdG9rZW5zID0gYF4ke3Rva2Vuc30qYDtcbiAgICAgIHJldHVybiB0aGlzLnBob25lLnZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCh0b2tlbnMpLCByZXBsYWNlKTtcbiAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from "@angular/core";
3
+ import { CommonModule } from "@angular/common";
4
+ import { ReactiveFormsModule } from "@angular/forms";
5
+ import { TranslateModule } from "@ngx-translate/core";
6
+ import { NgxMaskModule } from "ngx-mask";
7
+ import { CountryPhonePickerService } from "./country-phone-picker.service";
8
+ import { CountryPhonePickerComponent } from "./country-phone-picker.component";
9
+ let CountryPhonePickerModule = class CountryPhonePickerModule {
10
+ };
11
+ CountryPhonePickerModule = __decorate([
12
+ NgModule({
13
+ imports: [
14
+ CommonModule,
15
+ TranslateModule,
16
+ ReactiveFormsModule,
17
+ NgxMaskModule.forRoot(),
18
+ ],
19
+ declarations: [CountryPhonePickerComponent],
20
+ exports: [CountryPhonePickerComponent],
21
+ providers: [CountryPhonePickerService],
22
+ })
23
+ ], CountryPhonePickerModule);
24
+ export { CountryPhonePickerModule };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQWEvRSxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtDQUFJLENBQUE7QUFBNUIsd0JBQXdCO0lBWHBDLFFBQVEsQ0FBQztRQUNQLE9BQU8sRUFBRTtZQUNOLFlBQVk7WUFDWixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLGFBQWEsQ0FBQyxPQUFPLEVBQUU7U0FDekI7UUFDRCxZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztRQUMzQyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztRQUN0QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztLQUN4QyxDQUFDO0dBQ1csd0JBQXdCLENBQUk7U0FBNUIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gXCJuZ3gtbWFza1wiO1xuXG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlIH0gZnJvbSBcIi4vY291bnRyeS1waG9uZS1waWNrZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gICBpbXBvcnRzOiBbXG4gICAgICBDb21tb25Nb2R1bGUsXG4gICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgTmd4TWFza01vZHVsZS5mb3JSb290KCksXG4gICBdLFxuICAgZGVjbGFyYXRpb25zOiBbQ291bnRyeVBob25lUGlja2VyQ29tcG9uZW50XSxcbiAgIGV4cG9ydHM6IFtDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnRdLFxuICAgcHJvdmlkZXJzOiBbQ291bnRyeVBob25lUGlja2VyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvdW50cnlQaG9uZVBpY2tlck1vZHVsZSB7IH0iXX0=
@@ -0,0 +1,43 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from "@angular/core";
3
+ import { TranslateService } from "@ngx-translate/core";
4
+ import { countries } from "./resources/countries";
5
+ import { Ordination } from "./models/ordination";
6
+ let CountryPhonePickerService = class CountryPhonePickerService {
7
+ constructor(translate) {
8
+ this.translate = translate;
9
+ }
10
+ getCountries(ordination) {
11
+ switch (ordination) {
12
+ case Ordination.AZ:
13
+ return this.sortAlphabetically();
14
+ case Ordination.ZA:
15
+ return this.sortAlphabeticallyDescending();
16
+ case Ordination.NO:
17
+ default:
18
+ return countries;
19
+ }
20
+ }
21
+ sortAlphabetically() {
22
+ return countries.sort((a, b) => {
23
+ const aName = this.translate.instant(`platform.angular_components_${a.id}`);
24
+ const bName = this.translate.instant(`platform.angular_components_${b.id}`);
25
+ return aName.localeCompare(bName);
26
+ });
27
+ }
28
+ sortAlphabeticallyDescending() {
29
+ return countries.sort((a, b) => {
30
+ const aName = this.translate.instant(`platform.angular_components_${a.id}`);
31
+ const bName = this.translate.instant(`platform.angular_components_${b.id}`);
32
+ return bName.localeCompare(aName);
33
+ });
34
+ }
35
+ };
36
+ CountryPhonePickerService.ctorParameters = () => [
37
+ { type: TranslateService }
38
+ ];
39
+ CountryPhonePickerService = __decorate([
40
+ Injectable()
41
+ ], CountryPhonePickerService);
42
+ export { CountryPhonePickerService };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxJQUFhLHlCQUF5QixHQUF0QyxNQUFhLHlCQUF5QjtJQUNuQyxZQUE2QixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFJLENBQUM7SUFFdEQsWUFBWSxDQUFDLFVBQXNCO1FBQ3ZDLFFBQVEsVUFBVSxFQUFFO1lBQ2pCLEtBQUssVUFBVSxDQUFDLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNwQyxLQUFLLFVBQVUsQ0FBQyxFQUFFO2dCQUNmLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDOUMsS0FBSyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ25CO2dCQUNHLE9BQU8sU0FBUyxDQUFDO1NBQ3RCO0lBQ0osQ0FBQztJQUVPLGtCQUFrQjtRQUN2QixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFtQixFQUFFLENBQW1CLEVBQUUsRUFBRTtZQUNoRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRTVFLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyw0QkFBNEI7UUFDakMsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBbUIsRUFBRSxDQUFtQixFQUFFLEVBQUU7WUFDaEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUU1RSxPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0gsQ0FBQTs7WUEvQjBDLGdCQUFnQjs7QUFEOUMseUJBQXlCO0lBRHJDLFVBQVUsRUFBRTtHQUNBLHlCQUF5QixDQWdDckM7U0FoQ1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuXG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVEYXRhIH0gZnJvbSBcIi4vbW9kZWxzL2NvdW50cnktcGhvbmUtZGF0YVwiO1xuaW1wb3J0IHsgY291bnRyaWVzIH0gZnJvbSBcIi4vcmVzb3VyY2VzL2NvdW50cmllc1wiO1xuaW1wb3J0IHsgT3JkaW5hdGlvbiB9IGZyb20gXCIuL21vZGVscy9vcmRpbmF0aW9uXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlIHtcbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7IH1cblxuICAgcHVibGljIGdldENvdW50cmllcyhvcmRpbmF0aW9uOiBPcmRpbmF0aW9uKSB7XG4gICAgICBzd2l0Y2ggKG9yZGluYXRpb24pIHtcbiAgICAgICAgIGNhc2UgT3JkaW5hdGlvbi5BWjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnRBbHBoYWJldGljYWxseSgpO1xuICAgICAgICAgY2FzZSBPcmRpbmF0aW9uLlpBOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydEFscGhhYmV0aWNhbGx5RGVzY2VuZGluZygpO1xuICAgICAgICAgY2FzZSBPcmRpbmF0aW9uLk5POlxuICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBjb3VudHJpZXM7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgc29ydEFscGhhYmV0aWNhbGx5KCk6IENvdW50cnlQaG9uZURhdGFbXSB7XG4gICAgICByZXR1cm4gY291bnRyaWVzLnNvcnQoKGE6IENvdW50cnlQaG9uZURhdGEsIGI6IENvdW50cnlQaG9uZURhdGEpID0+IHtcbiAgICAgICAgIGNvbnN0IGFOYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgcGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzXyR7YS5pZH1gKTtcbiAgICAgICAgIGNvbnN0IGJOYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgcGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzXyR7Yi5pZH1gKTtcblxuICAgICAgICAgcmV0dXJuIGFOYW1lLmxvY2FsZUNvbXBhcmUoYk5hbWUpO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIHByaXZhdGUgc29ydEFscGhhYmV0aWNhbGx5RGVzY2VuZGluZygpOiBDb3VudHJ5UGhvbmVEYXRhW10ge1xuICAgICAgcmV0dXJuIGNvdW50cmllcy5zb3J0KChhOiBDb3VudHJ5UGhvbmVEYXRhLCBiOiBDb3VudHJ5UGhvbmVEYXRhKSA9PiB7XG4gICAgICAgICBjb25zdCBhTmFtZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYHBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50c18ke2EuaWR9YCk7XG4gICAgICAgICBjb25zdCBiTmFtZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYHBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50c18ke2IuaWR9YCk7XG5cbiAgICAgICAgIHJldHVybiBiTmFtZS5sb2NhbGVDb21wYXJlKGFOYW1lKTtcbiAgICAgIH0pO1xuICAgfVxufSJdfQ==
@@ -0,0 +1,4 @@
1
+ export { CountryPhonePickerModule } from "./country-phone-picker.module";
2
+ export { CountryPhonePickerComponent } from "./country-phone-picker.component";
3
+ export * from "./models/index";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb3VudHJ5LXBob25lLXBpY2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUvRSxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ291bnRyeVBob25lUGlja2VyTW9kdWxlIH0gZnJvbSBcIi4vY291bnRyeS1waG9uZS1waWNrZXIubW9kdWxlXCI7XG5leHBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb3VudHJ5LXBob25lLXBpY2tlci5jb21wb25lbnRcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2luZGV4XCI7Il19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1kYXRhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY291bnRyeS1waG9uZS1waWNrZXIvbW9kZWxzL2NvdW50cnktcGhvbmUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb3VudHJ5UGhvbmVEYXRhIHtcbiAgIGlkOiBzdHJpbmcsXG4gICBkZGk6IHN0cmluZyxcbiAgIG1hc2s6IHN0cmluZyB8IHN0cmluZ1tdLFxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { Ordination } from "./ordination";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb3VudHJ5LXBob25lLXBpY2tlci9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENvdW50cnlQaG9uZURhdGEgfSBmcm9tIFwiLi9jb3VudHJ5LXBob25lLWRhdGFcIjtcbmV4cG9ydCB7IFBob25lU2VsZWN0aW9uRGF0YSB9IGZyb20gXCIuL3Bob25lLXNlbGVjdGlvbi1kYXRhXCI7XG5leHBvcnQgeyBPcmRpbmF0aW9uIH0gZnJvbSBcIi4vb3JkaW5hdGlvblwiOyJdfQ==
@@ -0,0 +1,7 @@
1
+ export var Ordination;
2
+ (function (Ordination) {
3
+ Ordination["NO"] = "no";
4
+ Ordination["AZ"] = "az";
5
+ Ordination["ZA"] = "za";
6
+ })(Ordination || (Ordination = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL21vZGVscy9vcmRpbmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDbkIsdUJBQVMsQ0FBQTtJQUNULHVCQUFTLENBQUE7SUFDVCx1QkFBUyxDQUFBO0FBQ1osQ0FBQyxFQUpXLFVBQVUsS0FBVixVQUFVLFFBSXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gT3JkaW5hdGlvbiB7XG4gICBOTyA9IFwibm9cIixcbiAgIEFaID0gXCJhelwiLFxuICAgWkEgPSBcInphXCIsXG59Il19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtc2VsZWN0aW9uLWRhdGEuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb3VudHJ5LXBob25lLXBpY2tlci9tb2RlbHMvcGhvbmUtc2VsZWN0aW9uLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGhvbmVTZWxlY3Rpb25EYXRhIHtcbiAgIGlkOiBzdHJpbmc7XG4gICBkZGk6IHN0cmluZztcbiAgIHZhbHVlOiBzdHJpbmc7XG4gICByYXdWYWx1ZTogc3RyaW5nO1xufVxuIl19